будни

В интернете мало вещей, которые нельзя восстановить после утраты. Недавно я узнал об одной такой неочевидной вещи — привязке домена к бизнес-аккаунту в Фейсбуке.

Привязка домена важна, если вы хотите отслеживать конверсии на сайте при покупке рекламы в Фейсбуке, в свете последних изменений в iOS.

Мы рекламируем подписку на сноб в Фейсбуке и отслеживать реальные покупки на сайте важно для настройки эффективной рекламной кампании. Без привязки домена этого не сделать.

Стоит потерять доступ к тому бизнес-аккаунту, к которому привязан домен — и все, вы больше никогда не сможете его отвязать и перепривязать к другому аккаунту. Во всяком случае, я не смог. На форуме поддержки Фейсбука сотни вопросов, как это сделать, все с ответом «найдите владельца того аккаунта, к которому привязан домен и попросите его отвязать». А что делать, если я не могу его найти? Я писал в официальную поддержку фейсбука, писал даже представителю Фейсбука в России. Никто не может (или не хочет) помочь. Они не могут даже помочь определить, кто владеет тем аккаунтом, к которому привязан домен.

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

В результате, мы выяснили, что владелец аккаунта всё это время был с нами (просто потерял его в списке), но нервов мы потрепали изрядно. Внимательно следите за привязкой домена в Фейсбуке и будьте здоровы.

Наблюдаю странное поведение Google Chrome пушей, отправленных через Google Firebase Messaging (через топики). Сообщения либо доходят до части пользователей с задержкой, а не мгновенно, как обычно, либо не доходят вовсе (на моих данных пока сложно сказать точно).

Буду очень благодарен, если кто-то поделится наблюдениями — может быть пожалуемся в Firebase вместе.

Вот так выглядит запись подкаста в полевых условиях.

Мой любимыми микрофон Samson Q2U подключен напрямую к ноутбуку, а уже в микрофон воткнуты обычные наушники, чтобы слышать в них не только собеседника, но и свой голос.

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

На картинке — диаграмма направленности звука этой модели, спереди много, по бокам и сзади — меньше.

На графике можно разглядеть перевёрнутое сердце — такие микрофоны называют кардиодными.

Раньше я пытался записывать подкаст на диктофон Zoom H1n. У него диаграмма звука всенаправленная, как у свечки, которая светит во все стороны.

На диаграмме — круг.

Я чуть с ума не сошёл в попытке найти дома место, где не будет слышно эха (отражения голоса от стен), а ещё крики детей микрофон улавливал через капитальные стены и жена начала меня ненавидеть. Коллеги рассказывают, что записываются в шкафу с одеждой — мол одежда гасит эхо, а стенки глушат внешние звуки. А ну нафиг.

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

Пара отличий моей «домашней студии» от «походной»: в больших наушниках, в которых лучше слышно свой голос, во внешней звуковой плате (Behringer UMC202HD), чтобы было куда эти наушники воткнуть и куче кабелей, чтобы связать это все вместе. А ещё штатив для микрофона и коробки из икеи, чтобы писаться стоя.

Многие подкастеры пишутся на айфон в носке. Это норм тема — у айфона хороший микрофон, носок действует как поп-фильтр и сглаживает взрывные согласные. Главное — найти стопку книг, чтобы телефон лежал поближе ко рту.

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

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

Раз уж про мессенджеры и работу: на прошлой неделе главный рабочий мессенджер Slack объявил о повышении цен: c 8 долларов в месяц за сотрудника до 8,75$.

Я узнал об этом случайно от знакомых, потому что у нас в компании единственный корпоративный чат — в телеграме, с фоточками котов, собак, ежей, оленей и прочих домашних животных.

Почти вся наша рабочая коммуникация — асинхронная, в Basecamp. Стоит Basecamp 99$ в месяц вне зависимости от числа проектов и сотрудников.

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

Я переводил несколько команд в Basecamp и хоть это и не просто, результат того стоит.

Успевают программисты и дизайнеры больше, а устают — меньше. Рекомендую.

Картинка из 2015 для разрыва шаблона.

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

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

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

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

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

Мой друг в составе команды исследователей шельфа северного ледовитого океана сейчас «болтается» в **, чуть западнее острова N на корабле Z. В море им быть ещё минимум два месяца. Говорит, без новостей с большей земли пухнет голова. У них есть интернет, через спутниковый телефон, но канал очень узкий. Если это не сложно для вашего технического отдела, не могли бы организовать отправку дайжеста новостей на электронную почту текстом в архиве на электронную почту [email protected] размером письма не более 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 и узнавать новостную повестку дня за пару минут.

В начале недели, в чатике курса product.degree студенты спрашивали, «как мотивировать программистов». Я пытался объяснить, что технари - тоже люди и все стандартные методики применимы, «но есть специфика» и дальше я использовал «описательную речь».

Пример - гораздо лучше.

Максиму нужен NAS. Это «сетевое хранилище», в которое можно выгрузить файлы по сети, а ещё оно умеет само скачивать торренты, пока компьютер выключен.

Макс просит совета в нашем чате «бывших программистов Букмейта». Все дружно рекомендуют производителя Synology, типа «все само работает».

Сегодня утром пришёл отзыв. Он отчасти шуточный, но идея - верная

Хотите предложить услуги подрядчика - так и пишите, стесняться нечего; почти всем техдиректорам нужны внятные подрядчики в запасе

Никогда ещё я не работал так много, как в последние 2 недели.

Первые месяцы в Медузе были похожими, но тогда я очень сильно боялся. Боялся испортить отношения с программистами, боялся совершить ошибку. Это, конечно, мешало работать в полную силу (и занимало большУю часть моей психотерапии). В результате я мало делегировал.

Теперь я боюсь меньше. Ставлю вопросы ребром, увольняю, выражаю недовольство и хвалю. Причин изменения поведения три: 1) я теперь знаю, что из любой ситуации есть выход, 2) нет смысла врать и притворяться, лучше говорить как знаю и как чувствую, 3) я довольно много повидал всяких технических штук и продуктовой работы, не боги горшки обжигают, как-нибудь прорвемся. Ещё одна важная причина — Рома (владелец бизнеса) не дает скучать и жестко, но справедливо спрашивает :)

Моя задача сейчас — это сделать из 16 специалистов (3 iOS, 2 Android, 3 бэкендеров, 3 фронтендеров, 2 дизайнеров, 2 тестировщиков и сисадмина) крутую продуктовую команду. Команда, в отличие от набора специалистов, решает задачи сообща, слаженно.

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

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

Недостаточно высказать эти лозунги. Нужно каждый день предлагать, требовать, не забывать контролировать обещания, выслушивать критику, тюнить процесс, правила игры. Это трудно, но безумно увлекательно. И я начинаю замечать первую положительную обратную связь. Такой кайф!

Коллеги - технические руководители, давайте встретимся поговорим, поделимся опытом. Хочу устроить неформальный митап в Москве. Пара докладов и общение за едой. Записывайтесь в формочку, договоримся о дате и формате.