Сделали картографическую игру с Альфа-Банком — вводишь свой текущий адрес и он кидает тебя в аналогичное место в городе мечты https://meduza.io/games/uznayte-gde-by-vy-zhili-v-gorode-svoey-mechty
Проект с использованием Google Maps — каждый раз страх не влезть в бесплатный лимит «100 тысяч API запросов в сутки».
Позвонил в этот раз в гугл, спросил — что делать, если запросов больше. Говорят, лицензия на миллион запросов в год (не в сутки) стоит 10 тысяч евро. Теперь вы тоже об этом знаете 🙈
Наш Android-разработчик Артемий сделал виджет для приложения Медузы ❤️
Показывает курсы $, € и биткоинов, ленту новостей можно скроллить внутри, а высоту — регулировать.
Интересное открытие — Android не поддерживает кастомные шрифты в виджетах, так что мы руками рендерим новости и передаем в виджет картинку 🔫
Виджет экономно относится к батарейке телефона — обновляется только при выключении-включении экрана.
https://play.google.com/store/apps/details?id=io.meduza.android
Провели фейслифт шер-картинок.
🖌 Настя Яровая 🛠 Кирилл Балясников, Боря Горячев
Отдельное спасибо ВК, что начали поддерживать мета-тег vk:image. Это позволило сделать специальные, более узкие картинки для Вконтакте, а то стандартные фейсбучные там обрезаются.
Продолжаем изобретать велосипеды. В этот раз мы запрогали свой собственный buffer.com с преферансом и поэтессами.
Антихайп — система постинга в соцсети. Вы видите перед собой столбцы соцсетей, в которые можно «затянуть» материалы Медузы (и написать подводку, если это не сделал автор материала прямо на странице редактирования статьи). Готово. Периодичность постинга регулируется, при необходимости можно отправить пост в соцсеть мгновенно. И да, оно умеет работать с видео, то есть заливаешь видео в Монитор (основную админку Медузы), затягиваешь его в Антихайпе и вуаля — нативное Facebook video уже в лентах подписчиков. Пока что поддерживаем Facebook, Twitter и Вконтакте.
Elixir + React в руках Бори Горячева и Никиты Комаркова творят чудеса. Это один из проектов, которые не только запрограммировал, но и придумал Боря. Также, в этот раз, у нас был выделенный член редакции в команде — Султан отвечал за тестирование и обсуждение продукта с редакцией.
Подробное описание: https://medium.com/meduza-how-it-works/c8e1b76b0983
Выпустили книгу, сделали для неё лендинг https://special.meduza.io/book/
Хороший повод рассказать, как мы делаем такие страницы.
У нас есть git-репа static, пуш в master-ветку которого триггерит пулл на сервере, раздающем всю папку в meduza.io/static. Так отдаются страницы типа «О проекте», много разных временных файлов и спецпроекты.
Если спецпроекту нужен красивый адрес — создается nginx роут в домене special.meduza.io. Пример — конференция «Шторм» и книга «Как жить».
Обратите внимание, мы не используем отдельные домены для каждого проекта. Заведении новых доменов, выпуск SSL-сертификатов, включение anti-DDoS механизмов, когда нужно быстро переключить IP адреса — слишком много задач для автоматизации. В результате вся user-facing Медуза живет на двух доменах: основной meduza.io для читателей и mdza.io для коротких ссылок.
Каждая игра — отдельное приложение. Они встраиваются внутрь сайта Медузы как iframe. При этом мобильные приложения открывают игры как webview. Получается следующая схема: нативное приложение → webview с сайтом → iframe с игрой.
При начале дрега игра посылает postMessage сообщение сайту, он в свою очередь дергает java через jsBridge. Приложение блокирует скролл для этого webview. На дроп прокидывается обратное событие на разблокирование скролла.
И всё это — для красивых тестов.
Вот и первое открытие: в фб можно было выбрать continuous stream.
У обычных лайвов лимит продолжительности 4 часа, у continious live — без ограничений. При этом continious stream не даёт пуш уведомлений и продвинутой статистики вроде concurrent viewers.
Стандартный софт для трансляций (vMix) имеет встроенную опцию трансляции в фб, но создает обычный лайв и не даёт выбрать continuous stream. Имейте в виду.
Уровень защиты не супер, но от случайных прохожих защищает ок и работает независимо от железа, никакие особые сенсоры не нужны.
Читать полностью…Дал интервью про работу.
В тексте нет активных ссылок, а Deadline реально классная книжка, рекомендую (Букмейт, МиФ).
Впервые в жизни накатал жалобу в ICANN на регистратора доменных имен (nic.io). Чувствую себя заправским сутягой. Чуваки не дают перенести домен медуза.io (кириллицей, да) и не отвечают на тикеты поддержки.
FAQ по переносу доменов к другому регистратору тут https://www.icann.org/resources/pages/name-holder-faqs-2017-10-10-en, там же ссылка на форму для жалоб.
Собираю все домены в namecheap.com. Кажется, это самый приличный регистратор на сегодняшний день.
UPD. мне тут много кто пишет, что у них тоже проблемы с nic.io — не ждите, жалуйтесь в ICANN, там довольно жесткие правила.
Статус-страница ovh тоже лежит, но за развитием событий можно следить в твиттере основателя https://twitter.com/olesovhcom
Читать полностью…Технический отдел Condé Nast сделал нейросеть, которая определяет бренд сумки по фотке. Gucci, Prada, Louis Vuitton, вот это всё
ААА
technology.condenast.com/story/handbag-brand-and-color-detection
Помните, в августе в Японии ломался интернет из-за утекших роутов?
Вчера была похожая история, на этот раз в Штатах у Level3 https://www.wired.com/story/how-a-tiny-error-shut-off-the-internet-for-parts-of-the-us/
Меня больше всего поразил момент, когда он показал исходный код шейдеров для эффекта «планета в огне» прямо внутри этой самой доски. Это покруче, чем все Siri и прочие AI вместе взятые. Это чёрт побери интерфейс будущего из фантастического фильма.
Ха, про фильмы: оказывается, что у американской киноакадемии есть премия за выдающиеся технические достижения (жаль, она не называется оскар), и Кен Перлин получил её за текстуру (sic!). Perlin Noise. Шум, делающий компьютерную графику более реальной.
Кстати, Артемий любит возиться с автомобилями.
В прошлую его командировку в Ригу мы поспорили, что его ютуб-канал про автомобили не наберет 5000 подписчиков к 5 июня. Я очень хочу проиграть.
https://www.youtube.com/watch?v=skadYJcXBUU&lc=
Добавили в AMP-версию «подвал под материалами», собираемый редакцией как главная.
Да, это «читайте также» в мире AMP.
https://www.ampproject.org/ru/docs/reference/components/amp-list
Кстати, интересная деталь — как мы храним токены для соцсетей. Их, как вы понимаете, дофига. Хочется:
1. иметь возможность легко посмотреть и отредактировать токены в рантайме;
2. иметь защиту от того, чтобы запостить со стейджинга в продакшен.
Мы решили хранить их в основной базе данных проекта (pg), но с перфиксом env (production | staging). Таким образом, эти токены легко редактировать real-time. При этом нет опасности, что при импорте продакшен данных на стейджинг мы начнем фигачить тестовые статусы в основной паблик. И ноль дополнительных зависимостей. Достаточно элегантно, мне кажется.
Буду очень рад, если кто-то подскажет простую централизованную систему хранения секретов. Сейчас мне кажется, что, ничего проще Vault от HashiCorp нет и в любой мало-мальски большой компании без этой дополнительной зависимости (и сложности) не обойтись :(
«Триумф коробочек или обсессия порядком». Думаю у всех техдиров есть желание разложить всё по полочкам. Разбирать кладовки — мой guilty pleasure
Читать полностью…Тот момент, когда больше чем через год узнаешь, что твой провайдер не имел кабельного доступа в здание и предоставлял интернет через радиоканал 🙈
Читать полностью…Больше года не могли починить перетаскивание в Android вебвью. Наконец сделали, даже запилили пруф на радостях. Что там за магия — следующим сообщением.
Читать полностью…Трансляция одновременно в ютуб, фейсбук и в вк
https://www.youtube.com/watch?v=5dZqCKdos0A
« — Чувак делал похожие штуки, но стесняется вам написать, есть ли работа? Вот его резюме…»
Вот это я понимаю командная работа 💪
(работа нашлась)
Главный китайский мессенджер WeChat при регистрации предлагает включить голосовую авторизацию. Прямо как в старых фильмах про будущее.
Читать полностью…Ровно раз в год мне звонит Dropbox.
Спрашивает, не надумали ли мы купить бизнес-аккаунт. Я объясняю, что личные аккаунты стоят в несколько раз дешевле, что у нас всего 2 дизайнера и мы больше похожи на семейный бизнес и всякий data ownership нам пока не нужен.
Мы желаем друг-другу хорошего дня и вешаем трубку. Через год сейлз звонит мне опять.
Такие вот отношения на расстоянии.
Две независимые 20kV линии питания и вся оптика до основных площадок обмена трафиком в Европе — не очень частая ситуация. Тем более хороший повод повторить основные правила.
Идеальная схема — когда запросы идут параллельно на две площадки у двух не-аффилированных провайдеров (не два ДЦ у одного и того же провайдера, а прямо разные компании). Админ в Букмейте был из старой гвардии Яндекса и поддерживал такое. В таком сетапе падение одного провайдера проходит незаметно для читателей. Это обычно сложно технически и стоит денег по ресурсам.
Чуть похуже — горячая замена (опять же у отдельного провайдера). Это когда есть копия полностью рабочего сервиса, которая стоит ждет своего времени. В этом случае вы упадете, но минут на 10. Это проще технически, но стоит денег — половина железа «простаивает».
Уровень пониже – иметь систему, позволяющую быстро развернуть сетап у другого провайдера. Договор или аккаунт с нормальными лимитами, система управления конфигами типа ansible и тд и тп. Ну и свежие бэкапы, конечно же. В этом случае ожидаемый простой — часы.
В противном случае – молимся, постимся и слушаем радио Радонеж при каждом падении :(
Упал OVH. Кажется, первопричина — электричество, дальше легла вся оптика, недоступны все три дата-центра.
Недоступны Ведомости, Росбалт, Знак.ком.
Лучи поддержки коллегам.
У каждого свой подход к сообщениям и уведомлениям.
Мой подход следующий:
1. Не трогать письма и уведомления, на которые не хочешь реагировать. Не кликать, не архивировать, не удалять. Посмотрел заголовки и пока. Анти zero inbox;
2. Выключать уведомления (режим do not disturb), если нужно сконцентрированно поработать. Такая возможность есть и в компьютере тоже;
3. Выключать badge count - красные шарики, показывающие, что есть непрочитанные сообщения. Они имеют удивительно сильное влияние на психику и вы поразитесь, насколько меньше будете открывать приложения на телефоне, если выключите им badge count. Особенно это касается мессенджеров. Вы не пропустите ничего важного - новые сообщения все равно отобразятся в Notification Center. Эту настройку приходится делать отдельно для каждого приложения в iOS, но только один раз.
Про то, как быстро отписаться от всех друзей в ФБ я уже писал, но у этого есть и обратная сторона - алгоритмы поймут, что вы не сидите на сайте и перестанут показывать ваши посты кому-либо. Наказывают.
Возможно, такой хардкор нужен только увлекающимся людям со слабым самоконтролем. Я по-другому чувствую себя собакой Павлова, которой пускают слюну включением лампочки.
Другой чувак посмотрел на эту программу и сделал такое же, но только для нейросетей, посмотрите видео сами и согласитесь, что с доской и мелом было бы существенно хуже: https://www.youtube.com/watch?v=Ijqkc7OLenI
Восхитительный вечер.
Кен Перлин показывает кусочек программы, которую он разработал для обучения студентов. Программа — что-то вроде интерактивной доски, в которой можно грубо, схематично нарисовать маятник, а компьютер его распознает и маятник начнет качаться. Рядом можно нарисовать «уголочек», связать с ним маятник и «уголок» превратится в ось координат, на которой побежит живой график качения маятника. Да что я вам рассказываю, смотрите сами: https://youtu.be/xuzrF_82z7U?t=32m40s
Читать полностью…