Новое

страница 112 из 170

Гугл хочет зарабатывать как Apple, продавая зарядки к телефонам Pixel за 80$ при том, что на рынке они стоят 10-25$. Android-пользователи к такому не привыкли и возмущаются. Relax, enjoy & welcome to the club! Мы с техникой Apple всегда так жили :)

Ключевые разработчики SQLite — христиане. Когда несколько корпораций потребовали Code of Conduct (правила поведения в сообществе разработки), то они не долго думая переняли устав Святого Бенедикта (Ⅴ век). Участники проекта предсказывали, что это плохо кончится. Прошло полгода, новость дошла до Hacker News и особо буйные борцы за социальную справедливость уже точат вилы в твиттере.

Вспоминается, как из Drupal выгнали одного из ключевых разработчиков из-за его излишней приверженности нетрадиционным BDSM-практикам.

Другое движение, которое хочется упомянуть в связи с CoC - воинствующий отказ от терминологии master-slave (господин-раб). Это классические термины в технологиях, которые появились задолго до компьютеров, описывают отношение ведущих и ведомых сущностей. Часть американцев считает, что эти слова нужно запретить, потому что они напоминают о рабстве чёрного население соединенных штатов.

Свежий представитель этой борьбы - недавняя история с Redis. Разработчик-итальянец сначала бодро разложил борцов в мощном памфлете (рекомендую прочитать оригинал): «вместо того, чтобы насаждать свои американские правила речи остальному миру, лучше, перестаньте убивать негров». Потом ему написал DHH (супер авторитетный программист, создатель Ruby on Rails, опять же рекомендую прочитать тред в оригинале) и другие классные пацаны. В результате он решил, что поменяет термины в проекте ради сообщества (servant leader, yo), но в ответ добавил в redis команду LOLWUT, которая 1) не имеет ничего общего с базами данных 2) работает быстро (можно запускать в продакшене!) 3) показывает что-то красивое и меняется с каждым релизом. Такой вот протест.

У меня по отношению ко всему этому «social justice» два противоположных мнения.

С одной стороны, наше общество жестко дискриминирует бедных, черных, женщин, инвалидов и вообще все меньшинства†. А я за равенство возможностей. Хочет моя дочка быть программистом — хочу, чтобы ей это было не сложнее, чем моему сыну. А сыну моего бедного знакомого — не сложнее, чем сыну богатого. Я поддерживаю affirmative action (обратную, позитивную дискриминацию), когда дают преференции неграм, чтобы им было проще попасть в топовые универы, например. При прочих равных я возьму на работу женщину-программиста, а не мужчину. Потому что женщина в коллективе — это человек с совсем другим опытом. Чем больше разного опыта в коллективе — тем он сильнее.

С другой стороны, мне противна трансгендер, которая ходит с этим своим «contributor covenant» и пытается выгнать людей из проектов, которым те отдали большую часть своей жизни, из-за твитов в их личном твиттере. Причем делает это так, что сначала втихую проталкивает принятие правил: «вы же против зла и за добро?!», а дальше использует махровую бюрократию и крючкотворство, озвучивая безумно высокие стандартны поведения, которым сама не соответсвует. Вспоминается анекдот про трусы и крестик. И вообще, по её твит-стормам видно, что у девушки серьезные проблемы с психикой, которые она транслирует наружу вместо того, чтобы решать их в себе.

В третьих, понятно, что статус-кво не меняется «приятными людьми». Он меняется борцами, которые делают всем неприятно. Сложная тема, много всего намешано, прямо слой за слоем. При этом, никто не пытается вести приличную дискуссии. Истину (и спокойствие в своей душе) никто не ищет, все набегают сотней троллей и закидывают навозом противника. Грустно за этим наблюдать. Классно, что в телеграме нет комментариев, иначе под этим постом был бы АД на земле. Если хотите почитать одно из самых уважительных обсуждений на тему CoC — вот 500 комментариев в трекере Ruby. Там общалось настоящее сообщество, которому больше 20 лет.

† Самый знаменитый пример — «blind audition», вот первоначальное исследование 1997 (!) года.

В Firefox Nightly и в Cloudflare подвезли поддержку Encrypted SNI. Это рокот канонады, которая скоро накроет Роскомнадзор и остальных клоунов, блокирующих интернет.

(не-техническое описание в следующем абзаце) При установлении HTTPS соединения, клиент в незашифрованном виде передает серверу имя домена, с которым хочет установить TLS-соединение, это называется Server Name Indication, SNI. Пидоры (в плохом смысле этого слова) из Роскомнадзора парсят эту информацию (то, что называется Deep Packet Inspection, DPI) и блокируют неугодные сайты. Encrypted SNI шифрует имя домена, так что владелец канала увидит только IP-адрес и порт. Если сайт хостится на крупном CDN (типа Cloudflare), то у атакующего не будет другого выхода, кроме блокирования крупных частей интернета по IP-адресам.

Приведу аналогию с телефонными разговорами. На сегодняшний день, многие сайты не имеют своего телефонного номера (IP адреса), а пользуются общими номерами арендодателя (CDN типа Cloudflare). Это значит, что сотни тысяч сайтов используют один и тот же номер. Шифрование разговора при этом включается только после того, как вы скажете секретарю арендодателя, какой сайт вам нужен. Товарищ майор (Роскомнадзор) слушает все разговоры и обрывает ваш звонок, как только слышит имя запрещенного сайта. Новая технология позволит включить шифрование уже на этапе разговора с секретарем, так что у товарища майора не будет возможности блокировать отдельные сайты — только крупные части интернета целиком по номеру телефона (IP-адресу).

Технически, это гениальное в своей простоте решение сложной задачи. Специальный ключ домена хранится в оговоренной DNS-записи. Клиент забирает из DNS ключ и вместо ClientHello server_name делает ClientHello encrypted_server_name. Никто кроме целевого сервера не сможет расшифровать, какое имя домена просил пользовать. Понятно, что для того, чтобы это всё работало, нам нужен безопасный DNS. Тут на выручку приходит DNS over HTTPS (DoH), который уже поддерживается как минимум тремя крупными провайдерами: Google, Cloudflare и Verizon. Я до сих пор не понимаю, почему РКН не блокирует неугодные сайты через DNS (если кто знает причину — расскажите, пожалуйста), но с распространением в клиентах поддержки DoH, этот вектор атаки остается в прошлом.

Я думаю, что в перспективе 2-5 лет, власти России встанут перед выбором — двигаться по «китайскому сценарию», заблокировав внешний интернет скопом (и оставив только белые списки) или перестать блокировать точечно сайты, потому что это слишком неэффективно. Ой нет, извините, можно ещё делать хорошую мину при плохой игре и продолжать спускать деньги бюджета на бутафорию. Это — самый вероятный сценарий.

Очень жду, когда поддержка ESNI и DoH приедет в Google, AWS, Chrome, iOS и Android. И всё, пользовательский интернет станет на порядок безопаснее. В интересное время живем, товарищи!

Atlassian переписали Jira с нуля, используя все облачные сервисы AWS (ааа, вот это язык). По пути причесали интерфейс и добавили новые полезные инструменты. Вот пост-анонс с перечислением основных фичей и ютуб-анонс, довольно детальный, прям на onboarding tutorial похож.

Получившая новая жира очень даже симпатичная, выглядит как приличная программа для управления разработкой, а не как источник страданий, которым она была многие годы для сотен тысяч разработчиков. Ходят слухи, что она не тормозит! Возможность включать/выключать отдельные блоки функций явно слизана с бейзкемпа и это очень хорошо. Roadmaps прям хотелось бы утащить в Basecamp, а то сейчас мы их делаем в, прости господи, Google Spreadsheets и Teamweek.

Если вы пользуетесь Trello — рекомендую посмотреть на свежую жиру. Фильтры в ней сделаны даже получше, чем в Trello, а swimlanes — вообще магия. Сам я только недавно примкнул к свидетелям бейзкемповым, так что искушения не испытываю.

Менеджеры и инженеры из Atlassian вступают в переписку в комментариях Hacker News, это хороший признак для любого продукта. Вот образцовый ответ от руководителя проекта Jira, когда клиент (пользователь) на него напрыгнул. Приятно, наверное, отвечать «большинство этих проблем исправлены в версии, которую мы выпустили сегодня» :)

Теракты интересны политикам (засветиться в медиа, сказав очередную х-йню) и медиа (трафоний!).

Вчера на дорогах России погибли 53 человека, поранились 466 (из них 56 — дети) (гибдд.рф). За прошлый год, на дорогах умерли 19 088.

Сложно представить себе даже тысячу, не то что 19 тысяч. Про большие числа есть гениальная статья wait but why, так что я за 10 минут подготовил для себя в скетче сравнение. Один кружочек — одна жизнь. Слева, 20 погибших вчера в колледже. Справа, погибшие за год на дорогах. Красными отмечены те 53, что погибли на дорогах вчера.

Очередная жуткая статья от The Atlantic о детском ютубе (они все жуткие). На этот раз, рассказанная через историю успеха индийского ChuChu TV. Чуваки начали с того, что сделали флеш-ролик для своей дочки и увидели, как сильно она залипает. Выложили его на ютуб и мгновенно получили 300 тысяч просмотров. Сделали ещё пару роликов, к ним пришел ютуб и сказал «ну вы блин даёте» и после этого они основали компанию. Сейчас у их основного канала больше 20 миллионов подписчиков, а у видео — больше 20 миллиардов (да, миллиардов) просмотров.

Меня в статье задело очень точное замечание, что принимать решения на основе цифр — способ сделать вид, что не принимаешь решения; это было сказано в контексте того, что сейчас ChuChu делают и приличные ролики тоже, но ютуб продолжает рекомендовать ранний треш на основе «метрик».

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

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

Github представил своё CI-решение GitHub Actions. Интересно посмотреть на него поближе, можно ли будет им заменить circleCI. Пока есть лендос, чуть документации и возможность записаться в очередь на бету. Возможность соединять блоки стрелочками мышкой выглядит многообещающе.

Пока московская часовая зона спала, ютуб успел полежать с 4:41 до 6 утра — 1ч и 21м, если верить официальному аккаунту. Никогда такого не видел. Интересно узнать, что у них там случилось; пока подробностей 0. Если бы был такой тотализатор — я бы поставил на то, что опять сеть упала из-за ошибок конфигурации.