Новое

страница 115 из 174

Что-то я всё про индустрию и совсем мало про технологии. Интересная статья про то, как The Outline (очень модное медиа) программируют свой сайт на Elixir. Вкратце — никаких фронтенд-фреймворков, генерируют html в Phoenix шаблонах, где нужно — пишут руками чуть-чуть джаваскрипта (для комментариев, например) и включают turbolinks. Страницы отдаются менее чем за 90 миллисекунд, за счет этого не нужен никакой CDN, можно делать динамический контент на каждого пользователя.

Вот такие технари нужны в медиа. Шебутные, желающие пробовать новое и при этом делающие реальный продукт, а не витающие в облаках.

Прям чувствуется воздух свободы в этой статье.

IBM купила RedHat за 34 миллиарда долларов, на 60% больше, чем она торговалась на бирже в пятницу. Redhat — одни из основных разработчиков Linux, которые умудряются продавать свой дистрибутив и его поддержку за реальные деньги крупным корпорациям. Этакий микро-Microsoft из мира Linux.

Все согласны с тем, что это признание IBM в том, что дела у них так себе и что они прохлопали Cloud.

Эксперты расходятся в мнениях, получится у IBM использовать эту сделку как спасательный круг или нет.

Stratchery считает, что основная причина покупки — OpenShift, группа программ, которые позволяют делать свои собственные облака и делать hybrid, когда часть вычислений на собственном железе, а часть у облачного провайдера. И предсказывает, что ничего у IBM не получится из-за менеджмента.

Cringely, гораздо лучше понимающий синего гиганта, считает, что глава Redhat станет директором IBM. Текущей CEO уже перевалило за 60, а главе Redhat исполнилось 51, это как раз возраст, когда IBM увольняет и нанимает директоров, соответственно. Боб предсказывает, что текущие 7 уровней менеджмента сократят до 3-4, по пути сменятся все продажники, и вообще, IBM опять станет местом, где будет круто работать. Только если они опять всё не про-бут. Аминь. История спасения — гораздо более мощный сюжет, чем медленная смерть героя.

Проблема вагонетки — интересная этическая задача, которая принимает практическую важность из-за машин без водителя. Классическая формулировка такая: вагонетка едет по рельсам и скоро задавит пять людей; вы можете переключить стрелку и тогда вагонетка задавит только одного человека на запасном пути. Переключите ли вы стрелку?

В случае автомобилей без водителя, нам нужно выбрать, что мы хотим заранее, на этапе программирования машины. Кого спасти — ребенка или старика? Пассажира (aka владельца машины) или пешехода? Отдельный интересный вопрос — кто должен принимать эти решения? Производитель машины? Её покупатель? Общество?

В 2014 году, исследователи из MIT запустили онлайн-программу, где можно попереключать стрелки вагонетки самому. The Moral Machine стала виральной и за 4 года в ней сделали 40 миллионов моральных выборов люди из 233 стран мира. Ученые проанализировали данные и опубликовали статью в Nature на прошлой неделе.

Люди разных культур дают разные ответы на эти вопросы. Французы, например, ценят детей больше стариков, китайцы — наоборот, а эстонцам всё равно. Там много интересных наблюдений, рекомендую прочитать краткий пересказ результатов исследования в MIT Technology Review.

Этого нет в исследовании, но самые страшные, как мне кажется, китайцы — они, видимо, встроят в машины базу данных социального рейтинга и будут минимизировать суммарную потерю оного. Хочешь жить — повышай свою «полезность обществу». Что значит полезный обществу?

Попробуйте поиграть с The Moral Machine сами. Вот какой первый вопрос выпал мне (я считаю, что мужчины и женщины одинаково ценны, так что пусть едет прямо, как ехал):

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

Всем, кто опасается взлома, я даю точно такой же совет. Ещё пинкод должен быть достаточно сложный и iCloud аккаунт привязан на зарубежную почту с хорошим паролем, без возможности сброса по номеру телефона.

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

Закончим день хорошей новостью: анонимус доказал новую нижную оценку длины строки, включающей в себя все перестановки N элементов (superpermutation). Копия оригинального треда с 4chan, пересказ в fandom wiki /sci, более формальный пересказ в почтовой рассылке и наконец аккуратная pdf от Jay Pantone.

Друзья подсказывают, что это просто Перельману надоело лишнее внимание и топология (а ещё он, судя по всему, любит аниме).

Гугл хочет зарабатывать как 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. И всё, пользовательский интернет станет на порядок безопаснее. В интересное время живем, товарищи!