• TikTok могут заблокировать в США и Австралии из-за угрозы национальной безопасности
    0
    Это вы сейчас так пошутили или вам СМИ такое как правду впаривают?

    А вы по существу возразите. Вот что там поменялось в курсе развития за прошлые четыре года?


    Кандидатов выдвигают сами избиратели.

    Вообще не так. Кандидатов в президенты в США принципиально выдвигают только партии, назначением путём голосований среди членов партии. Технически это не закреплено в их Конституции, просто так сложилось. Непартийные избиратели вообще не имеют права голоса в выборе кандидатур — как максимум, в некоторых штатах их мнение могут принять во внимание при определении списка кандидатов. А могут и не принять, т.к. Orange Man Dab.


    Более того, и в самих выборах избиратели даже не выбирают президента — popular vote в США также не имеет прямой силы, а президента выбирают отдельно выбранные выборщики (та ещё фразочка, да?) от штатов. Есть только полугласное соглашение между несколькими штатами, согласно которому все выборщики от штата, участвующего в соглашении, должны будут отдать свои голоса за кандидата, выигравшего popular vote — но даже при этом всём я не думаю, что есть какие-то явные негативные последствия для выборщика, который соглашение нарушит.

  • Mozilla временно отключила сервис отправки файлов Firefox Send: через него передавали зловреды
    0
    ничто не помешает криминалу использовать кастомный клиент, который просто будет при заливании файлов передавать случайное значение вместо реального хеша оригинального файла.

    Но несовпадающие хеши будут звоночком о возможной неблагонадёжности файла при скачивании, поэтому в решении исходной проблемы добавление хеша всё равно поможет.

  • Самый ужасный день в компании Slack
    0

    Тоже хороший показатель итоговой полезности костылей, прикрученных сбоку, если подумать.

  • TikTok могут заблокировать в США и Австралии из-за угрозы национальной безопасности
    +2

    Американцы так-то уже проголосовали за Трампа, который обещал "разогнать этот рассадник непристойности в правительстве", построить стену и сделать Америку великой (снова). И вот, спустя четыре года, воз и ныне там, и даже курс развития не особо сменился. Значит что? Значит выбор в своей сути чисто фиктивный, иллюзия. И, кстати, за Сандерса, в каком-то смысле, там тоже не разрешили голосовать — его не выдвинули кандидатом от демократов в этих выборах, самостоятельно выдвигаться он не захотел, а до следующей гонки уже может и не дотянуть, да хотя бы в силу возраста.


    UPD: на самом деле самые важные политические выборы в Америке — на местах, локально, IMHO. Что там творят федералы дело десятое, у них по большинству вопросов просто таки связаны руки, и это совершенно правильно и оправдано.

  • Часть опций в автомобилях BMW будет продаваться программно по подписке, например, подогрев сидений
    0

    Видимо, не зря в России хотят радуги запрещать, ой не зря.
    /srcsm

  • Разработчики ядра Linux планируют заменить часть терминов в коде на нейтральные названия
    0

    Он говорит про федеральную политику и про как там плохо живётся беспартийным. Но кроме федеральной политики там есть ещё множество уровней, и вот какие такие принципы "победитель получает всё" мешают партии зелёных получить "всё" на выборах, где "всё" — это места в управление какой-нибудь деревни? Что именно им помешает последовательно занять каждую деревню в районе, потом в соседнем районе, дойти так до округа, потом штата, группы штатов и так далее?
    Конечно, так дольше, чем полным составом войти в демократов и уже оттуда переделывать демократов по своему образу и подобию (как, видимо, и делают коммунисты). Но речь о принципе.

  • Разработчики ядра Linux планируют заменить часть терминов в коде на нейтральные названия
    0
    вы должны будете выбрать тот из двух «клубов», который для вас более выгоден.

    Но разве нет там местечковых идейных партий, и разве не могут они, хоть в теории, вырасти до значимого игрока, постепенно?

  • Разработчики ядра Linux планируют заменить часть терминов в коде на нейтральные названия
    +2
    Дело не в том, что «никого не волнует». Дело в том, что большинство разобщено, а меньшинства пестрят различными организованными группами активистов. При этом тактика активизма такая, чтобы на начальных этапах вылавливать из большинства небольшие группки людей (которые будут меньшинством по отношению к активистам) и убеждать их говорить нужные вещи и принимать правильные решения (а не то). Со временем срабатывает эффект спирали молчания, и каждый индивид из большинства начинает считать, что большинство делает и думает как хотят активисты.
  • Разработчики ядра Linux планируют заменить часть терминов в коде на нейтральные названия
    +1
    Ну да, это я для простоты примера. В реальности конечно куда чаще будет разговор о том, кто из Alice и Bob больший «еретик» (сиречь bigot, см. «the left eats itself»), и градус еретичности будет обратно пропорционален «прогрессивности» публичных заявлений.
  • Как скачать файл порциями?
    0
    Программистам на Java всё это каждый раз тоже делать не нужно, и это тоже будет в библиотеке.

    А для file_get_contents в Java всегда можно и вот так сделать:
    byte[] content  = new URL("...").openStream().readAllBytes();

    или так

    try (var output = new FileOutputStream("output_file")) {
        new URL("...").openStream().transferTo(output);
    }

    Как и ваши варианты, грузить будет как придётся, без контроля с вашей стороны.
  • Билл Гейтс обвинил социальные сети в распространении теорий заговора
    +2

    Там смешно было, кстати.
    Насколько помню, это метание с мнениями про полезность масочного режима исполняла сама ВОЗ.
    Так вот, есть маленькое новостное агентство, у них есть серия репортажей про рекомендации от ВОЗ. И, кажется, на фейсбуке — забанили один из их репортажей в той серии. За fake news. Когда ВОЗ в очередной раз изменила показания.

  • Google просит ИБ-сообщество отказаться от терминов Black\White Hat и заменить их на нейтральные
    0

    Но были же робкие предложения давать право голоса даже нелегалам. Вот это вот как иначе понимать, если не попытки импорта электората?
    А сильное желание устроить электронные выборы в 2020-м? Тут вот в комментариях к статье чуть ли не доказательство, что электронные системы принципиально нужны чтобы чего-нибудь шальное в урну подбросить.
    Рыбой это всё пахнет, вот что. Несвежей.

  • Вероятно, хватит рекомендовать «Чистый код»
    0

    Так в том и проблема, что для пользовательских запросов нет надёжного способа сказать, какой будет план, пока уже жареные петухи не начнут прицеливаться. Там уже анализ идёт на боевых данных и серверах, благо индексы не меняют сути запроса. Даже на каждом сервере в итоге могут быть немного разное индексирование, как раз из-за конкретного распределения данных на шарде.


    Но вон индексацию по блобам jsonb у нас внутри как-то исследовали и выпустили внутреннюю ноту, чтоб ни-ни — jsonb только в проекцию, но не в предикаты. Подробности найти тяжело, но видимо тогда совсем там плохо было.

  • Вероятно, хватит рекомендовать «Чистый код»
    0

    Я говорил чуть про другое — когда из десяти слоёв undo при добавлении ещё одного слоя получается снова десять (или меньше), просто в каком-нибудь слое N будет лежат результат объединения слоёв N и N-m. Именно такая операция будет деструктивна к undo, зато позволит сэкономить на вычислениях.

  • Разработчики ядра Linux планируют заменить часть терминов в коде на нейтральные названия
    +1

    "Почему" — видимо, потому, что действует Спираль молчания, помноженная на желание переплюнуть остальных.
    Как-то так:
    Alice: я усыновила трёх африканских детей!
    Bob: пфф-ф, а я усыновил уже четырёх, и собираюсь усыновить пятого
    Alice идёт оформлять ещё три свидетельства на усыновление

  • Вероятно, хватит рекомендовать «Чистый код»
    0

    А чем принципиально та ситуация вверху отличается от "вот у нас есть WHERE по этим колонкам"? И то, и другое, с точки зрения базы, одинаковой важности запросы. Ну может один чаще повторяется — и то не уверен. Полностью статичный WHERE чаще всего используются внутренним кодом, а намного чаще кому-то "просто спроситьпосмотреть", и во многих системах с RDBMS фильтрация позволяет добавлять свои критерии в некоторых пределах.
    Да, реальное распределение данных в создании индекса — не единственный момент, который нужно учитывать, его всегда нужно умножать на условный вес запросов по таким данным.
    Я против этой идеи и возражал — там в цитате "по пользовательским данным", а надо — "по пользовательским запросам". Такой вариант точнее, но даже если запросы динамически делают пользователи, лучший индекс будет учитывать не просто по каким полям фильтруют, но ещё и как данные реально лежат, и по каким критериям их дискриминировать.

  • Вероятно, хватит рекомендовать «Чистый код»
    0

    Ломка данных опциональна, на самом деле. Например для того же рисования есть порог, при котором несколько "слоёв" имеет смысл объединить, чтобы не гонять доступ к пикселям через совсем уж толстые слои обёрток — потому что каждый слой будет требовать вычислительных расходов на каждую операцию доступа.

  • Вероятно, хватит рекомендовать «Чистый код»
    0
    Если у вас индексы внезапно начинают формироваться динамически на основнаии пользовательских данных

    Позвольте, но на основании чего ещё их формировать? Цель создания индекса — это ускорить некоторый класс запросов. И если после создания индекса оказывается, что на реальных данных дискриминатор индекса производит такие же вложенные циклы, как если бы этого индекса совсем не было — то индекс не нужен, совсем — даже если с точки зрения логики для этого типа фактов индексирование именно по этому полю выглядит логично. Например, если у вас в таблице события есть индекс по типу события — ну, логично ведь? Потом оказывается, что все сто миллионов событий на практике имеют тип "день рождения" (и других событий там вообще нет) — то вы с этого индекса поимеете только небольшое замедление при добавлении новой строки события (на пересчёт индекса).

  • Вероятно, хватит рекомендовать «Чистый код»
    +3
    ну смотрите, у вас есть копирование. Причем картинки, тяжеловесного объекта. Вы всерьез считаете, что это всегда хорошо?

    Так ведь никто и не заставляет сразу же делать копирование. Для широкого класса операций (в том числе на картинках) можно результатом mirrored() вернуть нечnо, что ведёт себя как отзеркаленная картинка, но на деле просто осуществляет трансляцию координат из оригинального изображения при доступе. А например image.mirrored().mirrored() вообще вернёт image. Да даже с рисованием поверх этой картинки можно такие фокусы проворачивать, если операция рисования на самом деле создаёт только слой поверх оригинального изображения, а основной массив пикселей остаётся лежать как был.
    Более того — в первой редакции этого кода можно и пожрать память, получить уже какой-то рабочий код, который умеет что-то делать с картинками, а потом начинать без изменения API его оптимизировать введением лени, отображений, трансляторов, определять когда нужно спекать эти отображения вместе, а когда не стоит, и прочую "магию".

  • Google просит ИБ-сообщество отказаться от терминов Black\White Hat и заменить их на нейтральные
    0

    Или же они как раз в курсе этой особенности, и на мозоль давят намеренно.
    От таких идей у меня скоро шапочка от фольги отрастёт, но ведь сломанные часы правы дважды в сутки, а борцы с расизмом — никогда. С другой стороны, настоящее предназначение системы — это то, что она делает, а тут система заботливо взращивает расизм.

  • Google просит ИБ-сообщество отказаться от терминов Black\White Hat и заменить их на нейтральные
    0
    Так к dark претензий нет, только к black.

    Это только пока. Достаточно всего лишь одной удачной pr-кампании, и dark станет синонимом black, и да начнётся новый виток балета.
    Вон с символом ОК получилось, и тут получится.

  • Рекламодатели бойкотируют Facebook, акции компании дешевеют
    0

    Продолжайте проводить параллели. 100 лет те буржуи наверняка что-то делали, чтобы защищать угнетённых. Что делают белые профессора, когда вопят о рассизмусе? Насколько это сопоставимо?

  • Язык программирования Go тоже очищают от «расистских» терминов
    0

    Но тогда у хороших учителей пропадает стимул делать из плохой школы хорошую — ведь если школа больше не плохая, они могут потерять до двух третей дохода.

  • Рекламодатели бойкотируют Facebook, акции компании дешевеют
    0

    Ну как-то вроде 60 лет назад и призывы съесть всех белых не звучали так громко — там больше было что-то на тему "мы все человеческая раса, мы все равны". Потому именно сейчас, именно в этой ветке — речь именно про 2020-й.

  • Рекламодатели бойкотируют Facebook, акции компании дешевеют
    0

    Необязательно именно хуже. Ещё требуется показать, как именно попытки белых профессоров говорить всем в округе, что технические термины оскорбляют угнетённых — действительно приносят самим угнетённым хоть какое-то благо.
    Я лично считаю, что, в ряде случаев, с такими союзниками и враги не требуются.

  • Рекламодатели бойкотируют Facebook, акции компании дешевеют
    +2

    Слышал недавно притчу об одном районе в американском городке. Там в каждой витрине магазина висит флаг движения BLM с соответствующими лозунгами. Знаете, почему? Как говорят владельцы витрин: если флага нет, то витрину разбивают.


    Подробностей сходу представить не могу, но если будет нужно — попробую поискать и дам ссылку, где слышал саму притчу.

  • Microsoft удвоит число темнокожих в своем руководстве
    +1
    Чёрные != свиньи

    Да. Но если некая свинья, что называется, happens to be black, то выселить её наверняка не получится, так как любые попытки можно истолковать в том числе как расизм — и именно такое истолкование будет в интересах самих выселяемых, к примеру.

  • Спасибо за собеседование, мы ответим о нашем решении… сейчас
    +1

    Вы как-то по-прежнему смотрите только с позиции владельца процесса, даже когда я явно предложил смотреть с позиции пользователя.
    Tight feedback loop — это благо для вас как пользователя процесса собеседования, и практики собеседования из статьи выше направлены на его затягивание потуже. С точки зрения разработчика IDE тоже может быть невыгодно делать демона-компилятора, ведь программист, который его напишет, потом попросит зарплату или даже премию.
    Если вам так удобнее — смотрите на исходную статью тоже как на попытку Додо "залочить как можно больше" людей на своих технологиях собеседования — ведь если их способ понравится кандидатам больше, у Додо будет преимущество в назначении собеседований, при прочих равных.

  • Спасибо за собеседование, мы ответим о нашем решении… сейчас
    0
    Приведите конкретные кейсы в которых static без const приведет к ошибкам.

    Мы же про настройки? Тогда смена настроек пользователем во время пока приложение что-то выполняет в фоне. Состояние-то вроде одно, но вот один поток читает оттуда одно значение, а соседний — уже другое. Далее в зависимости от важности настройки, вплоть до порчи данных.


    если я вообще не обращаюсь к глобальным состояниям из фоновых потоков.

    А откуда обращаетесь? Глобальное состояние — оно на то и глобальное, что к нему обращаются из любого места в приложении.


    Вы тестируете сущность А, которая работает с моком B. Вы так не поймаете ошибки, специфичные для связки сущности A и реального UI.

    Чтобы тестировать связь А с реальным UI — для начала нужно быть уверенным, что А в принципе работает верно. А как это сделать, если любой тест проверяет только UI-специфичные связки? У меня вот для этого есть мок реального UI, с ожиданиями определённой реакции от А на раздражители заданной формы. А у вас?


    вся логика на беке

    Если так, то откуда берётся необходимость иметь настройки и хранилище? Грузите по проводу и показывайте, грузите и показывайте. А всё о чём мы тут говорили будет применимо к беку без изменений (кроме UI).


    И большая часть приложения — взаимодейтсвие с этими api. В итоге вам даже с clean architecture придется переписать всю реализации, за исключением кода который предназначен для связки этих реализаций.

    Если типичное приложение всего лишь связывает несколько реализаций вместе и ничего при этом не приносит — то такое приложение не нужно, IMHO. А вот если приносит — то именно то, что оно в себе приносит нового и является ценностью для пользователя, которую имеет смысл сохранить при переезде.

  • Рекламодатели бойкотируют Facebook, акции компании дешевеют
    0

    Справедливости ради, с работы нынче действительно выгоняют за мысли. Но разумеется не любые, а только неугодные правильным людям. Кому-то можно пропагандировать геноцид правильных геномов, а кого-то другого уволят и за то, что на расслабленной руке он держал согнутый указательный палец при помощи большого пальца и в результате получился знак "ОК".

  • Рекламодатели бойкотируют Facebook, акции компании дешевеют
    0

    Уж не знаю, как это изменить, зато точно знаю — если съесть всех белых, то ничего не поменяется.

  • Рекламодатели бойкотируют Facebook, акции компании дешевеют
    0
    Собственный сайт, например

    К сожалению, тоже не поможет. При желании доберутся и до хостера, а некоторые хостеры ещё и отработают в упреждение, и потом отчитаются в твиттере, как отловили и ликвидировали опасного -иста.

  • Рекламодатели бойкотируют Facebook, акции компании дешевеют
    0
    Поясните, пожалуйста, как вы это видите на основе примера. Что значит это «ничего».

    А то и значит. Когда люди полоскали Activision Blizzard за решение поддержать иностранную политику Китая, компания сделала ровно ничего, чтобы как-то исправить положение. И было ей за это в итоге тоже ничего.

  • «Особенность» Вконтакте
    0
    А ответ на все один «простите извините, мы случайно»

    Да, именно. "Пообещали больше не попадаться".

  • Cложный код или история одного интервью
    0

    Настоящих папок только пять (или шесть, как посмотреть): /core/service/handler/rule/condition

  • Спасибо за собеседование, мы ответим о нашем решении… сейчас
    0
    Ну да, главная помеха переноса ios приложения под windows это же реализация настроек.

    Передёргиваете. Если вы даже для реализации настроек будете переписывать код, то что уж там говорить про остальное? Вы же натурально говорите, что проще и дешевле выкинуть ваш код и написать заново.


    Приложение написанное на swift\objc никогда не будет перенесено под windows, только если написать отдельное приложение с нуля.

    Ну извините, я как-то не знал, что это вообще невозможно написать транслятор со swift на другие платформы. Я-то кросс-платформенные приложения разрабатываю, поэтому в моём мире никогда нельзя делать такие категоричные заявления. У вас видимо пока можно, но на каком основании вы только ваш участок называете адекватным?


    А если человек не видит различия между static и const, то кто он?

    Никакое глобально видимое состояние не должно быть открыто к изменениям, следовательно всё что static должно быть и const — мы же не хотим усложнять архитектуру, вводя кучу мьютексов и семафоров? Расследование гонки — это вам не две сущности вместо одной.


    Адекватные люди пишут тесты там где написание тестов дешевле отлова ошибок, появляющихся без тестов

    Адекватные люди знают, что один запуск CI-сервера с тестами всегда будет дешевле, чем гонять толпу индусов и тестировать всё руками. А если тестировать на пользователях, это вообще дорога в никуда, и легко делает пустое место даже из монополистов. Вы никогда не заметите, что автотесты стали дешевле тестирования на пользователях, пока не будет уже слишком поздно.


    только для того чтобы тестировать бизнес-логику

    Это вот серьёзно сейчас было? Только бизнес-логику и имеет смысл тестировать — остальное тестируется параллельно с бизнес-логикой. Впрочем, я уже вижу, что изначальное моё предположение было верным — вы адекватный разработчик, и просто сразу пишете всё без багов.


    порождает ошибки связанные с этими конкретными реализациями, которые тестами не поймаешь вообще.

    Сильное утверждение. Докажите.


    Так как основной источник ошибок в мобильных приложениях это системный код UI

    Ещё одно сильное утверждение. С вас ещё одно доказательство.


    а КАК и главное ЗАЧЕМ они делаются вы не понимаете.

    Так просветите. А то ведь я даже не сказал, зачем и как, но вы уже решили, будто я не понимаю. Не иначе, это работает ваша интуиция адекватного разработчика.

  • Язык программирования Go тоже очищают от «расистских» терминов
    0

    "Ненастоящие шотландцы", значит.


    официальный BLM как движение никаким образом не «нравится расизм»

    Неправда. Организации официально нравится racial affirmative action, что уже расизм — а ведь официальная позиция любой организации будет такая, что не подкопаться — но не в этом случае, так как сама центральная идея основана на расовой неравноценности. А уж неофициально там вплоть до "это поле только для чернокожих! BLM!", это и многое другое можно увидеть не особо напрягаясь например в захваченных кварталах Сиэттла.

  • Спасибо за собеседование, мы ответим о нашем решении… сейчас
    +1
    реализации настроек и подмены этих вещей в рантайме — так вообще нулевая

    И тесты нормальные разработчики конечно же не пишут? А то так-то подмена настроек в рантайме это задача каждого теста.


    Поэтому сделает хранилище синглтоном

    Нет никакой проблемы сделать хранилище синглетоном, и при этом весь по-прежнему иметь интерфейс Storage отдельно от SqlLiteStorage.


    а настройки вообще статиками.

    Если настройки не меняются — это константы, а не настройки.


    Что будет если реализацию хранилища всетаки придется сменить? Ну потратить немного времени чтобы переписать внутрянку класса Storage

    При этом нормальный разработчик выкинет реализацию SqlLiteStorage — а это сделает приложение неработоспособным на системах, где живёт SQLite. Особенно это видно на другом вашем примере — если Settings нет, а есть только IOSPrefsSettings — у вас нет и не может быть версии под Windows. А когда вы сделаете версию под Windows — у вас пропадёт версия под IOS, ведь прежнюю реализацию вы только что выкинули. А ещё у вас нет и никогда не будет версии Settings, которую можно настроить в ходе тестов, потому что чтобы такая версия появилась, вам придётся выкинуть версии для Windows и IOS. Но, видимо, компетентные проектировщики всегда пишут без багов, и ничего не нужно тестировать.

  • Язык программирования Go тоже очищают от «расистских» терминов
    +1
    Было два состояния — нравится расизм или не нравится. Быть последователем — это третье состояние, наследующее от не_нравится.

    Но ведь большинству последователей BLM нравится расизм. Как быть с ними? Они какое-то своё состояние, или просто попадают в "нравится расизм"?

  • Язык программирования Go тоже очищают от «расистских» терминов
    0
    А фигли, столько трудов потратили за последние десятки лет, чтоб откатить в стороны полной свободы капиталлов и демократии доллара (где 1 доллар = 1 голос).

    Я вообще ничего не понял.

    Попробую угадать, о чем это было: в старые добрые времена партия демократов действительно куда больше уделяла внимания проблемам конкретных граждан или хотя бы малого бизнеса, так как куда меньше республиканцев брала денег от лоббистов. Лавочку прикрыли, кажется, во времена Клинтона — тогда демократы уподобились республиканцам, и начали тоже продвигать интересы лобби большого бизнеса. В результате получилось, что на мнение проблемы обычных американцев (включая как жителей гетто, так и средний класс) стало всем наплевать. Люди не дураки, и что их не слушают — заметили. Создался политический вакуум, который постепенно заполнили радикальные идеи, и… дальше вроде мы все знаем.