запуск завтра
27.7K subscribers
326 photos
34 videos
3 files
1.2K links
Будни технического директора @samatg (ex-CTO Meduza, Bookmate, RAWG, Pure)

«Закрытие Parse и куда с него переехать», очередной лонгрид «как программируют в NASA» и прочие ссылки с hackernews. Ну и истории, конечно.

Чатик @ctodailychat

Рекламу не продаю
Download Telegram
​​Оказывается, что Googlebot не умеет ES6.

Объяснение для тех, кто не теряет лучшие годы жизни на SEO и поэтому ничего не понял:

Гугл не анализирует html страниц, а рендерит их на гигантских серверных фермах на основе движка Chrome. Он делает это, чтобы «черные SEO-шники» не мухлевали с html-содержимым, показывая поисковым роботам одно (годный контент), а обычным пользователям — другое (рекламу дженерик виагры). Что мешает отдавать разный контент с сервера на основе user agent и как гугл это отслеживает — мне неясно.

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

Проверить, нормально ли рендерится ваш сайт в гугле, можно в специальном инструменте Fetch as Google.
Когда продакт попросил добавить сортировку игр по рейтингу

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

Интересно, что IMDb не раскрывает свой алгоритм рейтингования, чтобы не накручивали, а для top-250 используют Bayesian estimate.
«Retention» - удержание людей, чтобы они не перестали пользоваться сервисом. Вот хороший немецкий онлайн-банк N26 прислал мне 10 евро, чтобы я не портил им показатели перед инвесторами 🤷 безумный мир
Я вчера уволил троих программистов из семерых в команде. Чувствовал, что лягу и умру, но нет. Проснулся сегодня и ещё жив.

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

В любом случае, пост не про то, как мы делаем стартап, а про то, что трое отличных программистов и дизайнер ищут работу:
- Саша — фронтендер, неплохо понимает про продукт и имеет опыт управления людьми и дизайна (remote);
- Сережа — космический фронтендер (знает haskell!), чуть подкачать умение общаться с людьми и будет senior (Харьков или remote);
- Артем — идеальный начинающий бэкендер (3 курс плехановки), с горящими глазами и нормальным умением общаться с коллегами (Москва или remote);
- Эрлан — хороший дизайнер интерфейсов, умеет продумывать логику и не забывать при этом детали (remote).

Фронт у нас на react с SSR, Redux, Webpack и прочим стандартным набором, а бэкенд — на Python Django DRF с postgres, Celery и крупным парсингом внешних интернетов. Подробные рекомендации и контакты парней — в личке @samatg.
Привет! С новым годом, друзья. Давно не писал — у меня был тяжелый период в личной жизни, я старался не распылять силы. Слава богу, что есть семья и друзья, которые поддерживают в трудные времена. Попробую потихонечку выгрузить то, что «писал в стол», ведь конец года был богат событиями и открытиями. Начнем с хорошей (и свежей) новости:
Github разрешил создавать приватные репозитории бесплатно (3 участника максимум). Github — главное хранилище исходного кода и одна из крупнейших социальных сетей для программистов. Их недавно купил Microsoft за 7.5 миллиардов долларов, так что любые изменения — очень интересны.

Хорошо, что теперь меньше необходимости пользоваться Bitbucket и Gitlab. Это клоны Github с бесплатными приватными репозиториями, но менее популярные, с чуть худшим дизайном и меньшим количеством интеграций из коробки.

Жаль, что это приведет к меньшей открытости. Не только конкретного кода, но и мета-информации вроде популярности языков программирования. Сейчас на гитхабе можно найти много незаметных интересных репозиториев, например, разных файлов конфигураций. В будущем, многие подобные личные репозитории будут создаваться приватными.
P.S. Анонс был сделан на день ранее планируемого срока, так что фичу пришлось запускать вспешке. Чувак хотел сделать отложенный пост в официальном wordpress-блоге, но по ошибке указал дату в прошлом и система просто запостила новость вместо того, чтобы ругнуться. ВИНОВАТ ДИЗАЙНЕР
​​Неделю делаем важный для нас проект — рейтинговалку игр, доступную анонимным пользователям. Неделю обсуждали логику работы, необходимый бэкенд и фронтенд, нарисовали дизайны и написали часть кода.

И только в пятницу вечером, наш фронтендер Рома сказал «блок-схему бы». Начали рисовать схему в draw.io, пошарив экран и тут же всплыли все дырки в логике.

Блок схемы — супер-важный инструмент, организует мозги. Рекомендую draw.io (хранит схемы в google docs, бесплатный) или lucidchart.com (чуть поудобнее, но в бесплатном режиме не больше 60 объектов на странице).
​​Самое интересное в последнее время — стыдное.

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

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

— Прилетела тонна трафика на главную с видео-роликами, а стандартная конфигурация Cloudflare, оказывается, не кеширует видео — попали на деньги в Amazon S3. Переписываюсь теперь с ними, надеюсь, скостят часть счета. Стоимость казалась константой, пока не произошел резкий всплеск трафика.

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

Спасибо Гаджи, что подсказал, что нечего стыдиться. И спасибо Британскому музею, который не постеснялся признаться, что шумерская ваза из третьего тысячелетия до нашей эры, на самом деле — наконечник боевой булавы, который они все эти годы держали перевернутым вниз головой.
Чувак делает бота для сабреддита, где рекомендуют игры. Главред в рамках партизанского маркетинга постучался к нему в личку и предложил использовать данные rawg.io (у нас самая большая в мире база метаданных игр).

Я рассказал, как работает наше API, он указал на пару багов в поиске (нет поиска без багов и гугл-пророк его), мы в очередной раз подкрутили настройки Elasticа, он заопенсорсил питон-обертку для API. В общем, обычная рабочая ситуация: у любого нужного людям проекта рано или поздно появляются неофициальные API-клиенты, написанные энтузиастами.

И тут он пишет в дискорде:

> good news from my end, i asked my IT teacher if it was okay to further develop RAWG python wrapper as a graded project
> that means i don't have another project and i can focus on rawgpy

Всё это время я не знал, что он школьник! Интернет-переписка уравнивает детей и подростков в правах со «взрослыми» и это прекрасно.

Вспомнил Севу — школьника из Москвы, с которым мы делали ботов для Медузы. После 9го класса он бросил школу, переехал в Питер и теперь руководит командой разработки экспериментальных продуктов в Вконтакте (ребята, которые запустили Клевер).

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

И не забивайте на предложения незнакомцев поучаствовать в вашем проекте на добровольных началах, даже если это не увеличивает ЕБИТДу сегодня. Когда-нибудь, на другом конце провода могут оказаться ваши дети.
Новость оказалась лажей, приношу свои извинения :( Нытье про проблему и хаки — 100% в силе.

—————

MasterCard вводит два новых правила, защищающие покупателей от нежелательных списаний:

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

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

Дополнительная боль — что отказаться от рекурентного (регулярного) платежа с банковской карты просто обратившись в банк — невозможно. Нужно достучаться до продавца, чтобы он отменил списание со своей стороны. Вот, например NYTimes, в котором для того, чтобы завести подписку — достаточно ввести данные карты на сайта, а чтобы отказаться — нужно звонить по телефону (!) и пройти 6 кругов ада.

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

Интересно, что в Британии есть закон, защищающий покупателей. Там банки обязаны отключить регулярное списание по запросу клиента. Вот бы нам такое! У нас ведь любят всё регулировать — это как раз пример, где регулирование будет полезно, тем более пример Британии («западный партнер») показывает, что технически это реализуемо. Я писал несколько лет назад предложение в российский центробанк, но мне никто не ответил :(

Когда новое правило заработает — Mastercard не пишет. У меня есть несколько админских аккаунтов в платежной Braintree, так что, скорее всего, я получу от них письмо, когда правила доедут до продавцов.

Ну и главный вопрос — будет ли это новое правило Mastercard покрывать подписки в Apple AppStore и Google Play Store? Есть тут кто из Mastercard прояснить ситуацию? Все журналисты перепечатали новость один в один. Вот бы хоть один задал ньюсмейкеру релеватные вопросы :(
​​Слек — один из главных рабочих инструментов «IT и медийных профессий» — поменял логотип. Я не настоящий сварщик, но чувствую сильный запах старперства и упадка в новом лого (да и различается он хуже, чем старый), а вот профессиональное мнение Сережи Сурганова.

А вот свастона не вижу, а уж за 4 года в Латвии я научился их хорошо различать, тут есть даже национальная мета-свастика.

P.S. Интересно, что многие пытаются, но нормального конкурента в области рабочего чата у Слека нет. Слишком много мелочей нужно учесть и аккуратно реализовать — жуткая работа, как по мне. Кайф, что они могут тестировать крутые новые штуки на выборках разумного размера. Жаль, что делают они это очень редко.
Amazon две недели разбирался и ответил, что простит половину счета за трафик, который мы случайно нагенерили в конце года. Cloudflare простил весь счет за трафик в указанном периоде. УРА!

Не стесняйтесь просить помощи. Люди и компании вполне могут пойти вам навстречу.

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

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

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

То, что депутатов в их маргинальных, неумных и просто вредных идеях поддерживают Яндекс и Mail.ru — стыдно.
Мастеркард крупно накололся, а The Verge сделал работу журналиста.

Новые правила Mastercard будут относится только к физическим товарам :( Как можно было допустить такую ошибку в пресс-релизе компании стоимостью 206 миллиардов долларов? Не боги горшки обжигают.

Центробанк РФ, твой шанс! И даже депутаты! Вот он, полезный закон.

Спасибо Денису Золотареву за наводку. Приношу вам свои извинения, дорогие подписчики.
​​Американский суд постановил в течении 10 дней раскрыть множество внутренних документов фейсбука из судебной тяжбы 2012-2016 годов.

На картинке — пример внутренней переписки, использовавшейся в суде. Двое сотрудников в 7 фраз решают, что нечего возвращать 6500$, которые подросток потратил на игры внутри фб. В отличие от апсторов Apple и Google, фб не требовал ввода пароля родителя для подтверждения покупок. Другой документ: один из сотрудников описал процесс оспаривания списания как «бесконечный цикл вопросов».

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

Закон большой, но нас интересуют два пункта. Так называемые Article 11 и Article 13.

Осторожно, ниже идет моя левацкая точка зрения. Если хотите почитать более взвешенный взгляд на ситуацию (но сильно длиннее) — вот неплохой обзор от Quartz (11, 13) и хороший обзор A13 от юриста.

Article 11 про то, что гугл должен будет платить новостникам за заголовок, лид (короткий текст) и картинки новостей, которые размещает у себя на страницах результатов поиска. Гугл пугает, что будет показывать новости вот так (спойлер — никак). Понятно, что Google не хочет делиться деньгами с журналистами. Ну а че, журналисты писали новости, гугл зарабатывал деньги — нормальное ведь разделение труда? Что это они вдруг денег захотели, холопы? Важно, что этот пункт затрагивает не только Гугл, но все платформы, где есть ссылки на другие сайты и сниппеты (заголовок-первая строчка-картинка) этих ссылок. То есть все сайты вообще. Противники называют его «налогом на ссылки» и утверждают, что он сломает интернет (а не только из бизнес-модель). Все платформы против, издатели за.

Article 13 — про то, что ютуб, фб и прочие инстаграмы будут нести финансовую ответственность за копирайт (говоря очень просто — авторские отчисления) почти всего контента, представленного у них на платформе и будут обязаны ввести так называемые Upload filters, которые будут блокировать нелегальный контент на этапе загрузки. Сложно представить, к чему это приведет, ведь роботы не умеют определять, на какой ролик есть авторские права, а на какой нет. Это ядерная бомба. Все «стандартные борцы за свободу» типа EFF против, копирасты за.

Самый смак — это всё активно обсуждается прямо сейчас (следующий раунд переговоров — 21 января) и сказать, за что именно будут голосовать парламентарии в марте-апреле — пока нельзя. До конца января парламентарии должны согласовать финальный текст. Кипишь стоит знатный. С GDRP, к сожалению, пока получился по большому счету пшик. Посмотрим, как пойдет с этим новым законом.
​​Сказка на ночь для взрослых!

Рассказ «The route of a text messsage» (путь смски) — про путешествие смски «я тебя люблю». Он описывает последовательность событий, которые переводят движения пальцев жены писателя в фотоны света, попадающие в глаза автора. Вы узнаете, как работают тач-скрины, почему в смсках 160 символов, что значит Super AMOLED и даже увидите видео, где Фейнман объясняет концепцию радио на примере жучка, плавающего в бассейне.

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

Кстати, классический вопрос на собеседованиях для сисадминов — «что происходит, когда вы набираете google.com в строке браузера и нажимаете enter на клавиатуре?». Ответ и дальнейшее его обсуждение покажет, как глубоко инженер разбирается в технологиях, хорошо ли он умеет обсуждать проблемы с другими технарями и способен ли видеть за деревьями лес. Достаточно полный ответ на этот вопрос состоит из 24 глав и занимает 10 страниц A4.
Илон Маск собирается открыть интернет-провайдера. Как вы можете догадаться, это будет не районная сеть, которая кидает «сопли» между крышами 9-этажек.

Он планирует построить сеть из 7500 (!) спутников Земли, которые будут поддерживать связь друг-с-другом с помощью лазеров. В прошлом месяце SpaceX получила разрешение FCC (американский брат Роскомнадзора) на запуск 7500 спутников на низкую околоземную орбиту (в 2018 вокруг Земли было 1900 рабочих спутников).

В новой сети обещают latency (задержка, измеряется в миллисекундах, не путать с «шириной канала», измеряемой в мегабитах в секунду) на уровне оптических кабелей, за счёт того, что спутники будут расположены очень близко к земле — на высоте 550 км. Расчетная задержка сигнала от Лондона до Нью-Йорка и обратно (RTT) — всего 46 миллисекунд (текущая оптика — 76ms). То есть можно будет играть в контру и доту практически в любой точке планеты, включая высокие широты (предоставление интернета на Аляске было одним из условий выдачи лицензии).

Через обычный (геостационарный, высота 35 тысяч километров) спутниковый интернет сложно даже скайпом пользоваться (RTT около секунды). Интересно, что у компании O3b уже работает сеть из 16 спутников на высоте 8 тысяч километров — и там приличные 140 ms RRT. Имя этой компании расшифровывается как other 3 billions, отсылая к 3 миллиардам людей, у которых пока нет интернета; один из инвесторов — гугл. Кстати, по этой же ссылке хорошее объяснение, что такое latency и почему он важен.

Вот я думаю, как у Маска будет с работой на территории Китая, России, Ирана и прочих? Блокировки же, суверенитет, стратегическая инфраструктура. Я писал этот пост ещё в прошлом году и хотел закончить фразой «КОСМОС!», а получилось вот так. Извините :(
Вот офигенная визуализация проекта Starlink. Обратите внимание на красные лучи — это лазеры, которыми спутники будут поддерживать связь с «соседями» и создадут сеть вокруг планеты.
Почему я не веду анонимные каналы. Чуваки раскрывают автора @horse_js (лошадь джаваскрипта, популярный анонимный твиттер про язык программирования javascript) используя базовый анализ вида «когда он твитит (часовой пояс), кого ретвитит, Android или iOS, самые частые ключевые слова». Этих 4 параметров было достаточно, чтобы найти довольно вероятного автора твиттера.

Смешно, что примерно с такой же долей уверенности можно сказать, что это «расследование» — качественная реклама облачных сервисов Microsoft. Оба «следователя» работают в Microsoft (developer advocate, for gods sake), берут комментарии у ученого из Microsoft, дают красиво сверстанные ссылки на два облачных сервиса Microsoft и даже «раскрытый» автор твиттера — сотрудник Microsoft.

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

Спасибо Леше Гусеву за наводку на эту историю.