медуза

Пост гордости:

Отдел быстрого повесточного программирования в лице Alexander Polivanov, Alexey Prilepskiy и Виктор Ходак сделал карту протестов. Логарифмическая шкала для цветов, качественные геометки, данные, обновляемые в реальном времени.

Хочу отметить скорость разработки, немыслимую ещё год назад.

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

Спасибо большое ОВД-Инфо за данные, причем в технологичном формате (API), обновляемые в риал-тайме — очень приятный пример сотрудничества.

https://meduza.io/feature/2017/06/07/protestnaya-karta-rossii

Эдуард Лернер — папа моего школьного товарища, крутого безопасника Эмиля Лернера.

Эдуард Юльевич профессиональный математик. Он читал нам лекции (про случайные блуждания пьяницы домой) в летней математической школе Квант на берегу Волги, когда я был в 7 классе — это год 2004, наверное. С тех пор я от Эдуарда Юльевича ничего не слышал.

4 дня назад, в понедельник, на мою личную почту приходит письмо, где ЭЮ предлагает Медузе три математические задачи. Письмо вызывает ожидаемую ажитацию редакции в слеке. Самое крутое, что Катя Кронгауз мгновенно говорит, что это игра, а главред Ваня даёт добро. Катя заказывает иллюстрации, ЭЮ переписывает решения более простым языком и вот уже сегодня серьезные математические задачи на главной Медузы!

https://meduza.io/feature/2018/03/16/faktorial-programmy-navalnogo-i-neprilichno-dolgoe-pravlenie

TEAMWORK

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

So in other words, out of 5 backup/replication techniques deployed none are working reliably or set up in the first place.

Guys, don't be too hard on yourself. Все мы там были. Несколько месяцев назад аналогичная история произошла в медузе - монга двухлетней давности оказалась без бэкапов. Обнаружили мы это после того, как случайно удалили не тот сервер в админке хостера.

Единственный способ быть уверенным, что все в порядке - попробовать поднять реплику продакшена без продакшена, тестировать не бэкапы, а recovery plan.

Наслаждайтесь: https://docs.google.com/document/d/1GCK53YDcBWQveod9kfzW-VCxIABGiryG7_z_6jHdVik/pub

Полтора года назад мы сделали игру «футбольный менеджер».

Plug-n-play движка из этой механики сделать не получается — уж очень все игры разные, но минимальными ресурсами разработки получается делать вот такие крутые проекты:

https://meduza.io/games/perezhit-tyurmu-maloy-krovyu

Кстати, если вы умеете js (react, node, вот это всё) и не чураетесь верстки — можем сделать пару проектов вместе. Пишите мне на samat@meduza.io— перед новым годом очень много проектов.

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

Мой друг в составе команды исследователей шельфа северного ледовитого океана сейчас «болтается» в **, чуть западнее острова 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 и узнавать новостную повестку дня за пару минут.

Небольшое субботнее чтение о том, как мы сделали интерактивную карту хрущевок, которые собираются снести власти Москвы.
Внутри скрейпинг сайтов, геокодирование и Яндекс.Карты. «Пара часов жизни компьютерщиков в новостном медиа».
https://dev.meduza.io/как-мы-полюбили-хрущевки-d46018b9c021