Самат Галимов

Oct 2017

  • Классная подборка фотографий советских control rooms. В основном это пульты управления гидро и атомными электростанциями. http://blog.presentandcorrect.com/27986-2

    Беззастенчиво прорекламирую ещё один свой канал, где я собираю фотки проводочков https://t.me/cabling

Sep 2017

  • Google запрещает домашнему помощнику Amazon Echo Show показывать Youtube-ролики, а ведь именно для ютуб-роликов рецептов помощник c экраном и делали. CloudFlare на этом фоне запускает white-label платформу для хранения, кодирования, доставки и проигрывания видео (аналитика и монетизация включены).

    Эти новости хорошо сочетаются.

    Только сила Youtube, к сожалению, в эффекте социальной сети и всех этих подписках/trending now. На этом поле конкурентов нет и быть, наверное, не может (PornHub не в счет). Яндекс, например, свернул все свои эксперименты с Яндекс.Видео. У меня был культурный шок, когда я увидел, что Яндекс представляет свои сервисы через Youtube Live. Добром такая монополия не кончится.

  • Кстати, если хотите самый красивый, «элитный» телефон, то ваш выбор - Mi Mix, а не рогатый iPhone X.

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

    http://www.mi.com/en/mix

  • Facebook изменит лицензию на React, откажется от «+patents».

    React - популярная библиотека для разработки сайтов и мобильных приложений. Ей всего 4 года и она находится в стадии активного роста числа пользователей-разработчиков. Сайт Медузы сделан на реакте, в том числе. Основной разработчик - Facebook (кстати, один из крупных контрибьютеров - русский - Дэн Абрамов).

    В 2014 FB изменил лицензию со стандартной Apache 2.0 (можно все включая коммерческое применение) на «BSD (то же самое) + патенты». В середине июля Apache Foundation запретил использование реакта во всех своих проектах. 19 августа фейсбуке опубликовал ответ, где рассказал, какая их лицензия хорошая и вообще, «моя корова, что хочу то и делаю». Вот тут уже пригорело у многих. Automattic (создатели Wordpress, четверть всех сайтов в интернете) опубликовали публичный отказ от React, пошла движуха в других компаниях и open source проектах.

    Смысл patents clause в том, что Facebook сохраняет за собой патенты на технологии, лежащие в основе реакта. Он даёт вам право пользоваться этими патентами, пока вы не подадите на фейсбук в суд за нарушение ваших собственных патентов. Как только вы подаёте на фб в суд за патенты - право пользоваться патентами реакта превращается в тыкву и юристы фейсбука не оставляют от вас камня на камне.

    Понятно, что сидящим на крякнутой винде и собирающим клиентские бинарники из GPL-библиотек это все кажется «с жиру бесятся». Но вспомните, какие миллионы долларов и буквально судьбы компаний решались в суде Google v. Oracle (гугл обвинили в копипесте джавы в андроиде), как Linux завоевал своё место под солнцем из-за судебной тяжбы AT&T c FreeBSD (Линус говорил, что не стал бы писать свою ОС, если бы у него был доступ к BSD, а его не было именно из-за судебного injunction) или как Google купил Motorola Mobility как раз из-за патентов.

    Интересно в истории другое - вчера вечером Facebook объявил, что отказывается от Patents clause и возвращается к стандартной лицензии, разрешающей коммерческое использование. Умение признавать ошибки так публично заслуживает уважения.

    https://code.facebook.com/posts/300798627056246

  • 2 дня назад DigitalOcean (модный молодежный хостер) запустил свой object storage, с API как у Amazon S3. Называется DigitalOcean Spaces.

    Большинство вызовов AWS S3 работают as is, заменой base url, но некоторые вызовы не поддерживаются.

    Хороший tutorial и очень хорошие цены: 5$ в месяц за 250GB хранилища и 1TB трафика, дальше каждый гигабайт хранилища стоит 2 цента, а каждый гигабайт трафика — 1 цент. Примерно в 40 раз дешевле Amazon S3.

  • Кулстори про эстимейты.

    IBM взялась запрограммировать систему управления зарплатами госслужащих в Канаде.

    Начальная стоимость первого этапа разработки была 5.7 миллиона долларов. За 6 лет контракт претерпел 39 изменений. Стоимость проекта на текущий момент - 185 миллионов долларов.

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

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

    Нужен месье (или мистер, у них там в Канаде с этим сложно) Навальный, чтобы рассказать, как хорошо живут топы IBM и лично лапка Джастин Трюдо.

    Вот так вот. Дедлайны нарушены, продукта нет. Запуск завтра.

    http://www.cbc.ca/news/canada/ottawa/phoenix-ibm-contract-union-pay-government-1.4295827

  • http://blog.lunarlogic.io/2017/effective-collaboration-superstar-developers/

  • Рассказываем, как устроены подкасты в Медузе https://dev.meduza.io/eff4c68d24f2

  • Русские хакеры© представят на BlackHat Europe доклад об уязвимости Intel ME. Уязвимости, позволяющей взломать выключенный компьютер.

    Intel ME - специальный компьютер внутри компьютера. Включенный постоянно, пока железо воткнуто в сеть питания, постоянно слушающий сетевые соединения на предмет команд от управляющего центра. Это технология, нужная крупным корпорациям для менеджмента десятков тысяч машин одновременно.

    Intel не даёт официального способа выключить Intel ME. Исследователи недавно разобрались, как это можно сделать. Оказывается, Intel добавил такую возможность специально для NSA, но никому кроме NSA не рассказал.

    И вот теперь критическая уязвимость на BlackHat. Ну как будто могло быть по-другому.

    Учитывая, что в анонсе говорят об ошибке в AMT 11+, речь идет о новой уязвимости, а не об эксплуатации INTEL-SA-00075 от 1 мая.

    И да, у AMD то же самое, называется AMD Secure Processor.

    Гроб гроб кладбище.

  • Помните Equifax?

    Они в своем твите случайно дали ссылку не на свой сайт, а на фишинговую страницу. АААА

    https://mobile.twitter.com/thesquashSH/status/910512164938665984

    Спасибо @Skammer за наводку.

  • Прямо сейчас часть корневых серверов .io вместо правильных NS-ответов (списка серверов, на которых вы хостите свои DNS-записи) возвращает тыкву.

    Из-за этого могут не открываться сайты в зоне .io, например, meduza.io

    Всего два месяца назад у них обнаружили уязвимость, через которую можно было сделать MitM атаку на все домены зоны, а теперь вот это. Руки бы поотрывать и передать зону в управление Verisign.

    Обсуждение вот тут https://news.ycombinator.com/item?id=15293578

  • Подкасты Медузы.

    2 месяца дизайна, 1 месяц программирования.

    Первый проект, в котором:

    • мы работаем с большими медиа-файлами (кеш на edge-серверах нашего CDN увеличился почти в два раза) и сохраняем их на клиентах (оффлайн-прослушивание!);

    • сделали «богатые» пуши (кнопка play прямо внутри пуш-уведомления!);

    • забрали старые выпуски из внешнего сервиса (Simplecast) и импортировали их в собственный бэкенд (и не потеряли статистику по пути);

    • сделали свою хитрую бэкенд-статистику, потому что нормальной коробочной статистики в индустрии подкастов не существует в принципе;

    • добавили ретину на клиенты (посмотрите на эти прекрасные обложки подкастов);

    • позволяем взаимодействовать с материалами прямо с главной страницы, не заходя в них.

    Этот список можно продолжать. Это просто самый крупный запуск Медузы на текущий момент. Mobile Web, Desktop Web, Android, iOS, iTunes Podcasts — все платформы поддерживаются в полном объеме.

    1 продакт, 2 дизайнера и 8 разработчиков. Магия!

    Ilya Krasilshchik Nastya Yarovaya Виктор Ходак

    Боря Горячев Anton Byrna Andrey Skopintsev Kirill Balyasnikov Артемий Гарин Max Rovnov Dmitry Zakharov

    Вы — лучшие!

    Завтра будет обстоятельный пост на medium, как это всё устроено.

  • Этот блог называется запуск завтра, а у нас на самом деле завтра запуск самого крупного проекта Медузы so far.

    Приложения в сторах раскатываются по читателям, письмо рассылки сверстано. Осталось сделать импорт записей из одной внешней системы в наш собственный бэкенд и влючить ручку API.

    Каждый запуск — как экзамен в универе, перед ним страшно, даже если всё приготовил и знаешь предмет 🙈

  • Гениальный фишинг с использованием Extended Validation Certificates.

    https://0.me.uk/ev-phishing/

    Частенько вспоминаю, как получал этот самый EV для Букмейта и Медузы. Больше не буду этого делать. Только Let’s Encrypt, только хардкор.

  • История с руководителями телеграма — классический выпуск «пусть говорят». 1 канал, дарю идею.

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

    Рейтинг, кому стоит доверять: 3. людям с авторитетом 2. организациям с процедурами и авторитетом 1. математике.

    Уж насколько я не люблю шапочки из фольги, но для личной переписки использую iMessage. Так я могу быть уверен, что один сошедший с ума инженер не сможет получить доступ к моей личной переписке. Спланированная атака со стороны Apple — гораздо менее вероятное событие в моей модели угроз.

    Если вы не готовы доверять и Apple — берите Signal (iOS, Android), он насколько близок к доверию к математике, насколько допустимо здравым смыслом.

  • Новый iOS - просто лапка. Крупнее, удобнее. Анимации очень приятные и, кажется, о чудо - телефон стал работать быстрее, чем раньше.

    Немного печально наблюдать за тем, как Microsoft, придумавшая Metro для Windows phone, убила этот язык у себя на телефонах. Apple же последовательно перенимает хорошие детали из Metro, так что через пару итераций мы увидим дальнего потомка Windows Phone 7, уже без детских болезней.

    Я начал расстраиваться, что зрение садится, но посмотрел на iOS 11 и понял, что все будет ок. Дизайнеры Apple тоже не молодеют. Сравните эти приложения погоды в iOS 10 и 11. Больше тысячи слов.

  • А вот программа, в которой работает автор Игры престолов (ок, автор серии Песни льда и пламени;) https://youtu.be/5kYfsP_WKLY?t=3m22s

  • Составляем карту технологических зависимостей Медузы.

    Это схема того, где искать поломку, если что-то вдруг идет не так. Продуктов и сервисов становится так много, что в скоро связи между ними перестанут помещаться в голову без препаратов.

    Посередине слева — полный список «пользовательских view»: то, откуда можно читать Медузу. Web, iOS, Android, Instant Articles, etc. 20 пунктов.

    Ряд сверху — список зависимостей для каждого View. Зависимости есть от внутренних сервисов и от внешних.

    Завтра будем составлять список зависимостей для внутренних сервисов — там уже будут базы данных, серверы и прочие низкоуровневые элементы.

    Где лучше составлять такие схемы? Я пока остановился на Scapple. Кстати, эта же компания уже много лет производит очень мощную программу для писателей Scrivener — ведь не всем писателям нравится WordStar.

  • Apple улучшил механизм установки бета-билдов iOS для разработчиков.

    Скачиваешь маленький файл профиля из Member Center и всё, обновление приезжает как обычно, через OTA. Там уже Golden Master — тот же код, что пойдет в публичный запуск, просто готовый заранее, для разработчиков.

    Никакого тебе шаманства с iTunes, классно.

    Если вы не компьютерщик — не рекомендую пока обновляться, в AppStore половина программ в большей или меньшей степени сломаны, все спешно клепают обновления.

  • Очень классный рассказ, как 25 тысячам фанатов Мэрилина Мэнсона отправили персонализированное письмо с видео их дома со спутника.

    Тут и обработка видео, и дешевая рассылка писем, всё как мы любим.

    Такие необычные «спецпроекты» — совсем другой режим работы, чем при разработке продукта. Наличие таких проектов бодрит. Когда идут потоком — выматывают.

    https://medium.com/@leemartin/wkwyfl-43879e3348ac

  • @vote

    Интеграциями не пользуюсь, но комичу – 108

    👍👍👍👍👍👍👍 48%

    Пользуюсь – 69

    👍👍👍👍 30%

    Не комичу – 50

    👍👍👍 22%

    👥 227 people voted so far.

  • Делаю откат Trello за логотип. Как вы наверняка знаете, корпорация добра/зла Atlassian (создатель Jira) год назад купила Trello и вот представила первую интеграцию.

    К Bitbucket-репозиторию (Bitbucket это конкурент Github от Atlassian) теперь можно привязать Trello-board https://blog.bitbucket.org/2017/09/13/say-trello-to-boards-in-bitbucket/

    Power-upы для привязки бранчей и коммитов из bitbucket в трелло были с марта, теперь вот появился более удобный способ открыть борд прямо в битбакете.

    А вы пользуетесь этим «трекингом коммитов в таск-менеджерах»?

  • Pirate Bay тестирует новую модель монетизации. В некоторые страницы на сайте встроен небольшой java-script код, который начинает майнить криптовалюту Monero, используя ресурсы компьютера пользователя - загрузка CPU возрастает до 60-80%, пока страница открыта. Подробнее: http://bit.ly/2hao4ie

    Сколько может приносить подобный метод? Сделаем простой расчет:

    1) Большинство компьютеров выдают хешрейт 20-100 H/s при майнинге Монеро на CPU (http://bit.ly/2f3psCM), для простоты усредним до 50 H/s.

    2) Это примерно 30$ за год непрерывного майнинга (http://bit.ly/2ftlc07). Скрипт загружает процессор не полностью, возьмем консервативно 50% - получаем 15$ в год.

    3) Посещаемость домена thepiratebay.org согласно Similarweb - 315.6 млн визитов в месяц средней продолжительностью 5:17 минут. Т.е. все пользователи в сумме проводят на сайте 3172 года каждый месяц.

    4) Перемножим общее время на 15$ и получим доход 47.5 тыс $ в месяц. Естественно, с учетом высокой волатильности на криптовалютном рынке эта сумма может значительно колебаться от месяца к месяцу.

    Итого: такой скрипт не сможет приносить больших доходов для владельцев сайтов. Например, https://cointelegraph.com/, один из самых популярных ресурсов о блокчейне и криптовалютах с 8.7 млн визитов в месяц в среднем по 3 минуты (Similarweb) смог бы зарабатывать только 700 долларов в месяц - один пресс-релиз на сайте стоит дороже (0.5 BTC или 1800$ по текущему курсу).

    Однако для Pirate Bay и других сайтов с большой посещаемостью, для которых традиционные возможности монетизации закрыты или ограничены, это может стать неплохим дополнительным источником доходов для поддержания их работы. По крайней мере это намного больше, чем 9$ в день за счет пожертвований в биткоинах, которые сайт получал по состоянию на май 2016 года (http://bit.ly/2xqTB9t).

  • Классный пост в продолжение темы оплаты сервисов за счёт читательского майнинга. За наводку спасибо @a_andryuhin

  • Chrome начнёт требовать HTTPS при подключении к сайтам .dev. Google зарегистрировал себе этот TLD и почему-то решил добавить .dev в HSTS preload list хромиума.

    Сам грешен, использую meduza.dev для разработки. Теперь придётся переезжать на некрасивый, но закреплённый стандартом meduza.test

    https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

  • ОЗОЛОТИМСЯ https://coin-hive.com/documentation/miner

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

    Вообще, не так уж и плохо, если вместо просмотра адской рекламы, я буду платить электричеством и процессорным временем. Или плохо - батарейка-то на телефонах мелкая. Эх.

    Привлекает, что это прямой платеж за время, проведённое на сайте и то, что он не требует никакой настройки/работы со стороны посетителей. Такое же, только без экстремального выедания батарейки - был бы идеал.

  • Помните, как при покупке в интернет-магазине условных кроссовок, они потом преследуют вас по всему интернету?

    В iOS 11 Apple ограничит third-party cookies 24 часами, так что кроссовки будут преследовать вас не более суток. У индустрии бомбит не по-детски.

    Интересно, что Facebook и Google это практически не затронет — почти все видят кнопку Like или ищут что-то в Гугле хотя бы раз в день.

    http://www.adweek.com/digital/every-major-advertising-group-is-blasting-apple-for-blocking-cookies-in-the-safari-browser/

  • Трелло вчера представил десктопное приложение для Мака, для винды обещают выпуститься сегодня.

    Судя по шрифтам, это webkit, а не хром — значит будет хорошее энергопотребление. Внутри хорошие шорткаты (скопировать урл текущей карточки, например) и работает вставка картинок из буфера обмена, которая пока что сломана в сафари. Ну и приятно, что можно делать Cmd+Tab.

    Из минусов — в хроме я сейчас использую экстеншен Shortcuts for trello, который даёт мне возможность быстро копировать карточки. Тут его, к сожалению, нет.

  • Помните, как расистскому сайту Daily Stormer (DS) отказывали в регистрации DNS и хостинге все приличные сервисы? Их последним прибежищем был CloudFlare. СF деактивировал их аккаунт в тот момент, когда DS начал намекать, что мол CloudFlare их защищает, потому что согласен с их позицией.

    Меня очень впечатлил пост основателя и директора CloudFlare Мэтью Принса, который он опубликовал на следующий день после выключения DS. Мэтью пишет, что его пугает та концентрация силы, которая у него есть. DDoS-снуть любой сайт — очень дешево. Единственный способ защитить свой сайт — спрятаться за крупный CDN вроде CloudFlare. Если крупные CDN отказывают тебе в помощи — то всё, можешь считать, что в интернете твоей позиции уже нет (первый же недовольный просто снесет тебя DDoS’ом).

    Мэтью предлагает обсудить, как должна происходить цензура в сети. На уровне создателя контента? Хостинга? Регистратора? Социальных сетей и поисковых систем?

    Для многих интернет-долгожителей сеть была местом неограниченной свободы. Отчасти, как мне кажется, от того, что многие сетевики были из академической среды, отчасти — от технической децентрализации старой сети. Уже несколько лет, как я не позволяю себе говорить «это интернет, детка, тут могут послать наху%».

    С каждым днем сеть становится всё более централизованной и бюрократизированной. И на уровне платформ (Facebook, VK с их сложными правилами модерации vs независимые сайтики прошлого) и на уровне технической сети (крупные CDN с архитектурой зезды vs пиринг независимых провайдеров). Пространство свободы сужается, интернет уже не тот фронтир, что раньше. Увы и ах.

  • Любой онлайн-сервис рано или поздно хочет поиск. Потом к вам приходят с «почему не при запросе X не показывается Y» и всё, пошло-поехало.

    Эпической полноты инструкция про этот самый поиск https://medium.com/startup-grind/what-every-software-engineer-should-know-about-search-27d1df99f80d

    Хорошая статья просто для понимания объема проблемы, если вдруг вас попросят сделать свой кастомный поиск.

    Предваряя вопрос — в Медузе ElasticSearch, давно хотим прикрутить Yandex XML Search API, всё никак руки не дойдут.

  • Власть IT-мега-корпораций меня пугает. FAMGA: Facebook, Apple, Microsoft, Google и Amazon контролируют практически всю цифровую жизнь планеты. При этом, в отличие от государств не имеют даже видимости прозрачности и подконтрольности обществу.

    Вот свежая история-страшилка. Журналист-ученый исследует судебное дело Челси Мэннинг, смертные приговоры и многое другое. Данные многих лет исследований хранит в Google Docs. Youtube блокирует её видео по спорным претензиям → блокирует Youtube аккаунт, а потом — и основной Google аккаунт со всеми гугл-доками. Брр.

    https://alexaobrien.com/archives/3647

    Кажется, пора как с телефонными сетями — считать, что крупнейшие онлайн-сервисы — это уже в каком-то смысле public goods и регулировать их соответствующим образом.

  • Доброе утро!

    Помните бюро кредитных историй Equifax? То, из которого утекли данные американцев.

    Угадайте логин и пароль в онлайн-систему управления их аргентинским отделением?

    Правильно, admin/admin

    https://krebsonsecurity.com/2017/09/ayuda-help-equifax-has-my-data/

  • Тем временем, Facebook выкинул поддержку Instant Articles из Messenger.

    «Вот это поворот»

    https://www.theverge.com/2017/9/12/16293938/facebook-drops-instant-articles-feature-messenger

  • Отлаживаем отправку статистики из мобильных приложений.

    Делаем на сервере tail -f /sv/log/nginx/access.log | grep ‘stat/put’ | grep 92. и видим пустоту, хотя если оставить только первый grep — то всё нормально. Это мы пытаемся в реальном времени вывести на экран все обращения к определенным ссылкам на сервере с определенных IP-адресов.

    Оказывается, дело в буферизации и добавление параметра –line-buffered к grep’у решает проблему.

    Век живи — век учись.

  • iOS разработчик из восхитительного Basecamp рассказывает, как они делают мобильные приложения.

    Для всех страниц есть фоллбек в webview сайта, многие нативные штуки делаются динамически на основе данных из веба. Это позволяет выкатывать новые фичи одновременно на обоих платформах в режиме webview (не теряя при этом приятных нативных деталей), а потом довозить нативную поддержку.

    Интересный способ делать “нативные” кросс-платформенные мобильные приложения. Особенно мне понравилось утверждение, что веб/нативное - не бинарное отношение, а целый спектр возможностей.

    https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25

  • В Америке сильно бомбит история про взлом агенства кредитных историй Equifax. В руки злоумышленников попали персональные данные 143 миллионов клиентов.

    Причем бомбит история на порядок сильнее, чем более крупные аналогичные кражи из Yahoo, Sony и прочих.

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

    В Штатах, корректное предоставление этой связки данных о человеке в большом числе случаев считается достаточным, чтобы доказать, что ты и есть этот самый человек. Интернет-банки, мобильные операторы — только представьте, как можно развлечься, имея на руках такую кучу поддельных личностей.

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

    Проблемы первого мира.

  • А там, глядишь, и Mi A1 подоспеет. Вы только представьте, очень крутой телефон от Xiaomi (две 12 мегапиксельные камеры с 2x оптическим зумом, хороший экран, металлический корпус) за 200 долларов.

    В рамках проекта Android One Google гарантирует чистоту реализации Android’а, ставит марку качества и предоставляет обновления безопасности в течении 2 лет.

    Эта коллаборация Xiaomi и Google — страшная смесь.

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

  • Купил вчера Android телефон в редакцию, для тестирования секретного проекта Медузы (самая большая наша разработка so far).

    Motorola Moto G4, отличный Android телефон с 2 симками, поддержкой Android 8 и стоит всего 150 евро.

    Так вот, утром он обновил свой Android 6 и навремя затих. В обед обновился до Android 7, а теперь вот уже пару часов подряд скачивает и устанавливает обновления для Android 7, перезагружался раза 3.

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

    Если ищете Android телефон для того, чтобы познакомиться с этой платформой, то Moto G4 — идеальный выбор.

  • Condé Nast рассказывает, как они сделали AMP для своих медиа.

    Condé Nast владеет многими медиа (GQ, The New Yorker, Vanity Fair, Vogue, Wired, Ars Technica и другие), но использует для всех них общую админку Copilot (landing, UI toolkit). Фронтенды для всех этих медиа отдельные, но все построены на одной технической базе, на nodejs.

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

    В самом AMP — никакой магии, отдельный сервис (тоже на node/react), который преобразует markdown в amp и отдает готовый html через SSR.

    https://technology.condenast.com/story/the-why-and-how-of-google-amp-at-conde-nast

  • Алексей Иванов из Dropbox (ex-Yandex) опубликовал просто титаническую статью про оптимизацию веб-сервера — текстовую версию своего вчерашнего доклада с NginxConf 2017 (видео пока нет).

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

    Во первых, это отличный чеклист по оптимизации.

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

    Я легко могу себе представить, как выходит книга в серии животных O’Reilly, написанная на основе этой статьи.

    https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/

    P.S. Обратите внимание на кнопку “We’re hiring”, ненавязчиво висящую в левом верхнем углу на протяжении всей статьи и последний абзац — вот это job marketing, который я уважаю.

  • Вчера мне пришло удивительное письмо:

    *Мой друг в составе команды исследователей шельфа северного ледовитого океана сейчас «болтается» в *, чуть западнее острова N на корабле Z. В море им быть ещё минимум два месяца. Говорит, без новостей с большей земли пухнет голова. У них есть интернет, через спутниковый телефон, но канал очень узкий. Если это не сложно для вашего технического отдела, не могли бы организовать отправку дайжеста новостей на электронную почту текстом в архиве на электронную почту xxx@xxx.ru размером письма не более 100 кБ?

    Письма Вечерней Медузы за последнюю неделю весят в среднем 50-70KB. Львиная доля объема — код, что позволяет выглядеть письмам одинаково во всех почтовых клиентах; это почище кроссбраузерной верстки.

    Давайте попробуем убрать всю красоту и оставим только текст и минимальные выделения. Текст ниже — для компьютерщиков. TL;DR: «вот так, с помощью нехитрых приспособлений…»

    Откуда мы будем получать событие об отправке письма? Подойдет webhook в mailchimp, через который мы рассылаем вечерку. Настроим простенькое приложение webhook, которое будет ждать события, а при его получении — запускать нашу программу.

    Что в самой программе? Зная ID почтовой рассылки мы можем через API мейлчимпа получить тело письма. Но оно не особо красивое и вычищать его не хочется. Как насчет API Медузы? И вправду, в plaintext версии письма последняя ссылка — всегда на это же письмо на сайте. Например, вот вчерашнее письмо https://meduza.io/brief/2017/09/05/vechernyaya-meduza.

    Добавляем api/v3/ в адрес новости после имени сервера и получаем адрес API https://meduza.io/api/v3/brief/2017/09/05/vechernyaya-meduza. Тут уж есть поля .root.mail.subject и body, которые содержат тему и тело письма, без лишних стилей. Отлично, вычленяем нужные поля с помощью утилиты парсинга json jq и схлопываем их вместе в готовый email.html файл утилитой cat.

    Как отправить получившееся письмо? У сервиса отправки писем Amazon Simple Email Service есть отличный SMTP-интерфейс и я как раз недавно нашел программу sendemail (не путать с sendmail, которая позволяет отправлять письма через SMTP из командой строки.

    Теперь исследователь севера каждый вечер будет получать «высушенную» версию Вечерней Медузы весом всего 15КБ.

    А вы можете подписаться на красивую, сверстанную с любовью Вечерку в почте или в телеграм-канале @meduzaevening и узнавать новостную повестку дня за пару минут.

  • Исследователи нашли нашли серьезную уязвимость в эстонском e-id, позволяющую выступать от имени держателя e-id незаконно. Пока идет починка, не сообщается, какая именно это уязвимость. Президент страны обещает сделать заявление по этому поводу сегодня же https://medium.com/e-residency-blog/heres-what-e-residents-need-to-know-about-the-potential-security-vulnerability-d31a128726f5

    Мне очень нравится, что они называют «потенциальной уязвимостью» то, что не эксплуатировали хакеры.

    Это как называть «потенциальным автомобилем» машину, на которой не успели поездить покупатели.

  • Этот чувак бьет в самое сердце. Я меня уже выработалась слепота на маркетологический булшит на лендингах стартапов, наподобие баннерной слепоты на рекламу https://medium.com/@kasperkubica/for-the-love-of-god-please-tell-me-what-your-company-does-c2f0b835ab92

    Меняете жизнь людей к лучшему с помощью технологий? Не делайте так, пожалуйста. Пишите как есть.

Aug 2017

  • Project Shield — бесплатный CDN/Anti-DDoS для защиты свободы слова от Google выкатил обновление. Теперь публично доступны JS-challenge, IP-rate limiting и инвалидация кеша (пока без API).

    CloudFlare Galileo всё ещё самый мощный и бесплатный для медиа, но *пусть расцветают сто цветов * — больше провайдеров хороших и разных.

  • Идеальный механизм удаления проектов в Google Cloud Platform.

    При нажатии на «удалить» проект перемещается в корзину на месяц и выключается, так что ты сразу замечаешь, если от него что-то зависело.

    Всем администраторам на почту приходит письмо, одним кликом по ссылке в котором можно восстановить удаленный случайно проект. 🌷

  • В пятницу вечером в Японии сломался интернет. Настолько сломался, что министерство внутренних дел начало разбирательство.

    BGPMon подробно объяснил, что случилось и я без зазрения совести ниже перескажу эту историю.

    Помните, как в 2008 году пакистанский провайдер пытался заблокировать YouTube и случайно сломал его для большей части интернета? Это произошло из-за той же технологи, из-за которого японцы лишись интернета на прошлой неделе.

    BGP - протокол, с помощью которого провайдеры обмениваются

    «картами связности», говорят друг-другу, как можно отправить сообщение на любой компьютер в интернете.

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

    В 2008 Пакистанцы объявили, что пакеты в YouTube теперь ходят через них (чтобы потом их тихонько “дропать”, то есть делать вид, что их и не было - классический способ блокировки). Скорее всего, они собирались так сказать только своим пользователям, но сообщение случайно утекло во внешний мир и скоро весь интернет пытался получить доступ к ютубу через Пакистан (безуспешно).

    В пятницу произошла менее драматическая, но не менее опасная ситуация с Гуглом. Гугл пирится с огромным числом провайдеров, иначе YouTube и поиск не работали бы так быстро. Для того, чтобы трафик от гугла «ходил» напрямую и случайно не завернул через посредника, провайдеры анонсируют свои адреса гуглу специальным образом, имеющим наивысший приоритет. Около полудня пятницы, Гугл, случайно транслировал все эти приватные анонсы крупному провайдеру Verizon. Ошибка длилась 10 минут.

    По-умолчанию, BGP-роутеры передают почти все анонсы соседям - так формируется связность интернета. Verizon - не исключение. Эти приватные анонсы быстро распространились и гуляли по BGP-сети ещё добрых полчаса.

    Провайдеры стали пытаться передать данные друг-другу через цепочку Verizon-Google. Google вообще не занимается транзитом, а Verizon не рассчитывал на такие объемы. Многие остались без связи.

    BGP - одна из технологий, во многом построенная на доверии профессионалов друг-к-другу. Тем болезненнее, когда они ошибаются.

  • Кстати, если вас бесит энергопотребление Google Chrome под Mac — попробуйте Safari Technology Preview, он работает достаточно быстро (порой кажется даже шустрее Chrome) и при этом гуманно относится к батарее.

  • Сегодня вышла вторая статья за 8 дней, в которой разработка помогла журналистскому расследованию.

    При подготовке первой, вместо классического инструмента поиска связей ЕГРЮЛ использовалась база данных RIPE. Вы знали, что она хранит историю правок 10 лет, но пользоваться ею можно только через линуксовый whois?

    Для сегодняшей статьи про стихи Бастрыкина мы лопатили version log википедиии и пробивали IP адреса.

    Синергия 🙊

  • А у вас есть запасной канал интернета на такие вот случаи?

    Есть, не работаю в медиа – 300

    👍👍👍👍👍👍👍 44%

    Нету, не работаю в медиа – 288

    👍👍👍👍👍👍👍 42%

    Есть, я работаю в медиа – 44

    👍 6%

    Не знаю – 31

    👍 5%

    Нету, работаю в медиа – 23

    👍 3%

    👥 686 people voted so far.

  • Про совпадения.

    Прямо сейчас Серебреников в наручниках в зале суда в Москве. Медуза ведет онлайн.

    За 5 минут до начала трансляции что-то происходит со связностью между Lattelecom и Amazon (пару минут всё отлично, пару минут пакеты не ходят совсем). Редакция замечает это, в первую очередь, по недоступности Slackа.

    Мы переключаем uplink на резервный LTE-роутер от LMT (латышский аналог МТС). Всё хорошо, пока редакторы не пытаются зайти на HTTP-сайты (смотрю нехорошим взглядом на tass.ru и interfax.ru). Происходит мистический 302 редирект на 192.168.8.2, который не грузится. Времени на поиск причины нет, решаем заплаткой с Chrome Data Saver (де-факто, VPN).

    Оказалось, что LTE-роутер хочет обновить прошивку, делает DPI HTTP-сессий (но не HTTPS) и заменяет ответ сервера на 302 редирект. Из-за того, что таких запросов много — его веб-сервер не выдержал и ничего не отдавал. Одна из редакторов оказалась достаточно терпеливой, чтобы дождаться загрузку админки, я кликнул там «не сообщать об этом больше» и проблема решилась окончательно.

    Прямо сейчас редакция работает через LTE-точку и это довольно магически. Насколько же это крутая технология, что офис из более чем 20 человек может спокойно пользоваться uplink обычного бытового LTE-модема.

    Ах да, только что мой провайдер написал, что изменил роуты и всё должно стать ок, но я, пожалуй, дождусь конца трансляции.

  • Если вам нужен эмулятор Android под MacOS и вы ещё не знаете о Genymotion — то вот пошаговая инструкция (включая то, как установить Google Play Services и Google Play) https://gist.github.com/gsamat/762dbba85d131640d536044afa8a94c4

Jul 2017

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

    Хорошие книги - совсем другое дело.

    На Humble bundle идёт распродажа комплекта книг по информационной безопасности. За 1$ - 4 книги, одна из них про социальную инженерию, когда эксплуатируют доверчивость человеческой натуры. За 8$ - еще 5 книг, среди них - каноническая книга самого известного хакера Кевина Митника - The Art of Deception, тоже про “социалку”. За 15$ - ещё 5 книг. В том числе библия информационной безопасности от Брюса Шнайера, прекрасного автора, стоявшего у истоков современной криптографии. В этом же наборе книга про физическое проникновение (обещают научить вскрывать базовые замки!).

    Книги про социалку не требуют специального технического образования, это non-fiction. Будет потом что рассказать на вечеринке. Книга Брюса будет понятна технарям и, как мне кажется, является обязательным чтением для всех IT-специалистов.

    Распродажа заканчивается через 2 дня, не пропустите. Часть собранных средств идёт на благотворительность.

    https://www.humblebundle.com/books/cybersecurity-wiley

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

    Мы переработали схему. Теперь, при первом открытии сайта показываются системные шрифты, а при всех следующих заходах — наши. Без каких-либо дерганий.

    Оптимизация веба для скорости — бесконечно большая и интересная тема. Мы пока выбираем 80% процентов профита, достигаемые первыми 20% труда.

  • Помните, телеграм объявлял конкурс на лучший Instant View Templates для тысячи сайтов? Они всё никак не предоставят результаты и не запушат эти шаблоны в продакшен.

    Пока что, единственный способ показать свои страницы в Instant View — запостить их по хитрой ссылке t.me/iv?url=…&rhash=…. Именно так мы и хотим сделать для запуска красивой «Вечерней Медузы » в телеграме. На конкурс прислали почти 150 шаблонов, казалось бы — бери и пользуйся хоть сейчас. Проблема в том, что rhash шаблона знает только его создатель.

    Уважаемые авторы, подавшие свои шаблоны на конкурс — скиньте мне свой исходный код, пожалуйста. Приславший лучший шаблон до завтрашнего вечера (18:00 по Москве) получит неизменную бутылку рижского бальзама и мега-набор стикеров (физических, не телеграмных).

    Проверить свой шаблон можно на тестовом материале: https://meduza.io/brief/2017/07/17/testovaya-vechernyaya-meduza-so-vsemi-vozmozhnymi-vyrazitelnymi-sredstvami

  • На свете есть два крутых платежных провайдера для интернет-компаний, Braintree и Stripe. Обе компании обрабатывают карточки, являются посредником между вашим сайтом/приложением и платежными системами MasterCard/Visa.

    Оба они, конечно, из Америки и начали работать с компаниями из Европы относительно недавно — финтех мир он такой. России в списке поддерживаемых стран, конечно, нет и с текущими развитием событий, наверное, не появится. Речь идет о стране юрлица-получателя денег; покупатели ваших товаров могут быть почти отовсюду, список стран под эмбарго OFAC совсем маленький (Северная Корея, Иран, ещё 5 неинтересных стран и Белоруссия).

    Stripe пытается решить “проблему не-США мира”, запустив программу Atlas. За тысячу долларов они регистрируют для вас бизнес в штате Делавер, в котором инкорпорирована половина интернет компаний планеты.

    А повод написать про это у меня такой: посмотрите на список стран, в которых не работает Atlas Stripe. Мы в хорошей компании 🤦‍♂️

Jun 2017

  • Утренняя кулстори. Мой рижский провайдер берет внешний интернет у Lattelecom. Это местный аналог Ростелекома, крупнейший в Латвии, остатки советского наследия.

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

    После нашей просьбы Латтелеком перестроили маршруты для указанных адресов, обойдя злобных буратин, но сколько таких адресов я не заметил?

    Это очень похоже на блокировку YouTube в 2008 году, когда Пакистан объявил, что ютуб нынче хостится в Исламабаде и большая часть сетевого оборудования им поверила.

    Сложновато с цифровым суверенитетом в системе, придуманной для максимальной отказоустойчивости (в случае советской ядерной атаки, в том числе).

  • Хорошая статья про роль техдира от CTO Zapier.

    Из-за врожденной любви к рефлексии я много думаю на эту тему

    Основная мысль статьи: до 12 технарей в команде ещё можно быть программистом и менеджером одновременно. Потом нужно выбрать то, что приносит тебе больше удовольствия - решать технические проблемы самому или помогать это делать другим.

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

    https://zapier.com/engineering/startup-cto/

  • Ну что, теперь в России заблокировали google.ru

    В реестре он был с 2016 года, но теперь зачем-то попал в реальную выгрузку, по которой провайдеры осуществляют блокировку (как будто нужно исполнять все законы, а не делать как получается).

    Тролололо

  • Про AdSense рекламу в AMP:

    1. используйте DFP, не бахайте напрямую AdSense, иначе наедитесь потом во время теракта. AdSense не даёт возможности отключить рекламу динамически никак. В DFP это делается за секунду.

    2. В DFP не нужно вставлять никаких AdSense кодов, это два лишних запроса, тормоза = плохо. Просто поставьте галочку Maximize revenue of unsold and remnant inventory with AdSense внутри DFP. Отчеты будут внутри DFP, деньги — внутри AdSense аккаунта.

  • Крупное открытие для меня — то, насколько крутой редактор кода Visual Studio Code. От Microsoft, бесплатный, быстрый и очень мощный.

    Такого внимания к деталям я уже давно не видел, прямо чувствуешь, что о тебе позаботились. При открытии проекта на Go, например, он предлагает установить 100500 экстеншенов (одним кликом мышки!) и превращается в полноценное IDE — выглядит как магия.

    https://code.visualstudio.com/

  • несколько часов ковыряния в документации, чтобы понять, что функционал ещё не доступен публично и нужно делать по-старинке :

  • Насчет журналистской солидарности, в отсутствии которой меня уличают (https://t.me/mediasrachi/736) . Журналисты не при чем (неуиновны).

    Налицо или халтура разработки: не протестировали ничего толком, не подготовились к нагрузке; или некомпетентность руководства, когда к разработке приходят с запросом «сколько тебе нужно времени, чтобы это было готово завтра?».

    Извините, если выглядело как наезд, это не так. Это была серия постов «смотрите, как не нужно делать».

    Запуск больших проектов — сложно и больно, но зато, в теории, есть время подготовиться. Супер-важно, чтобы руководство понимало, что «у меня всё работает» не равно «можно запустить на 100 тысяч пользователей». Ответственность разработки — объяснить важность тестирования. Вот вам бесплатный хороший кейс, на который можно ссылаться.

  • Осторожнее с ES в AWS (вкратце: ничего хорошего) https://read.acloud.guru/things-you-should-know-before-using-awss-elasticsearch-service-7cd70c9afb4f

    У нас в Медузе с эластиком love-hate отношения. Пока работает — просто супер, хочешь что-то поменять — пиши пропало.

  • Рассказываем, как переписали почти всё Android приложение и что из этого вышло (для программистов).

    Спойл: статьи открываются быстрее, крешится меньше, программировать проще.

    Ура Андроиду!

    https://dev.meduza.io/%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B5-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BC%D0%B5%D0%B4%D1%83%D0%B7%D1%8B-%D0%BF%D0%BE%D0%B4-android-dda1902fff69

  • Хороший список паролей для перебора, причем с годным планом развития и нормальными ментейнерами https://github.com/berzerk0/Probable-Wordlists

  • Ааа http://www.windows93.net/

    Извините, тут больше ничего не скажешь.