запуск завтра
14.1K members
232 photos
9 videos
3 files
736 links
Будни технического директора @samatg (ex-CTO Meduza, Bookmate, RAWG, Pure)

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

Чатик @ctodailychat
Download Telegram
to view and join the conversation
И вот вам экслюзивное фото чемпионов мира специально для этого телеграм-канала. Сразу после пяти часов тяжелой борьбы.
МГУ победили, решили 10 задач! Ещё медали у МТФИ и ВШЭ. Три комплекта в один город — кажется, впервые в истории.

Финал 2020 будет проходить в Москве в МФТИ, отличный повод сходить поболеть за наших. Интересно, почему в Питер ни одной медали?

Ну и хочется сказать про организацию — и смех и грех. Твиттер непонятный, сайт сделан стремно, награждение срежессировано странно, трансляция так себе. Я понимаю, что соревнования не такие популярные как футбол, но это же, черт побери, ACM ICPC. Надеюсь, продюсером финала в Москве будет Эрнст и мы покажем миру, как круто проводить праздники.
Нашёл классный способ выбрать по одному представителю из группы в SQL.



SQL — cтруктурированный язык запросов, изначально — SEQUEL, «структурированный английский язык запросов» к базам данных родом из 1974го (да, IBM). Почти все технари и аналитики на нем описывают, какие столбцы и строки из таблиц мы хотим получить, как их отфильтровать, отсортировать и преобразовать.

В SQL мы описываем не что сделать, но какой результат мы хотим получить (декларативная парадигма программирования). Большинство программирования в мире происходит по-другому: мы перечисляем компьютеру, какие шаги нужно выполнить (императивная модель). Переключиться на другой режим мышления непросто. Порой при написании большого запроса я чувствую, что «мозги скрипят» - как при решении математической задачи.

Умение пользоваться различными парадигмами, осознанно выбирать более подходящую в данный момент — то, что отличает по-настоящему крутого специалиста. Учите SQL! В конце концов, думать над запросами просто приятно :)

Продакты и аналитики! Научитесь SQL и сможете сами, без программиста отвечать на многие вопросы про проект.

Вот четыре супер классных интерактивных курса (бесплатно без СМС): побогаче, полапидарнее, с довольно сложными задачами в конце и очень красивыми фабулами.

В мои годы таких курсов не было, так что я учился по официальной документации PostgreSQL. Это один лучших технических текстов, что я видел (хороший русский перевод).



На сладкое для заинтересованных:
- хороший туториал по написанию своей базы данных, где разобраны основные концепции на примере клона SQLite;
- доклад создателя SQLite о том, как работают базы данных (ютуб): подача так себе, но в теме чувак разбирается очень хорошо, поэтому интересно.
NYTimes начал бороться с обходом пейвола! Просит выйти из -сумрака- приватного режима. При этом в телефоне всё работает как и раньше.
Западные коллеги попросили прокомментировать «закон об изоляции Рунета», принятый вчера Госдумой. Я прочитал закон и приложенные документы на официальном сайте Госдумы. Четыре тысячи слов такого русского языка, что хочется пойти прополоскать глаза.

Согласно закону, мы с вами заплатим за некие «технические средства противодействия угрозам» (они буквально так их называют). Правительство выдаст эти коробочки операторам связи. Операторы установят их в своих сетях. В случае «угрозы безопасности», государство будет «контролировать» работу сетей напрямую. Все резонно замечают, что это «рубильник интернета на случай проблем», но меня этот рубильник пугает не сильно.

Самая ужасная часть закона находилась в двух последних абзацах первой версии закона и не упоминалась в пояснительной записке. Там говорится, что провайдеры перестают нести ответственность за блокировки сайтов при работе этих коробочек. Это означает, что коробочки будут осуществлять блокировку сайтов. Сейчас государство поддерживает «список запрещенных сайтов», но каждый провайдер сам решает, как именно технически блокировать тот или иной ресурс. Формально, список запрещенных сайтов доступен только провайдерам. В реальности кто-то из них постоянно сливает эту базу в открытый доступ; вот тут она обновляется каждые 15 минут. Мы с вами точно знаем, что от нас хочет скрыть наше правительство и частенько это становится новостью само по себе (эффект Стрейзанд).

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

Это очень опасно для свободы интернета в России.

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

История с «русским национальным файрволом» меня пугает гораздо больше. До сих пор вся эта тема с блокировками была довольно смешной, теперь она становится серьезной и опасной. Есть пример Китая, где блокировки работают очень хорошо. Благодаря этому закону, аналогичная инфраструктура появится и у нас. А уж включить её потом и подкрутить постепенно гайки — дело техники :(

P.S. Финальный лол: «экономическое обоснование», где указано, что принятие закона «не потребует расходов из федерального бюджета». Ага, инфраструктуру феи принесут.
​​Всю свою карьеру я стеснялся и стыдился того, что не умею профессионально программировать (я начинал админом, так что unix однострочники не в счет). Я говорил, что хочу научиться, покупал книжки, но дальше пары страниц, примеров и вечеров дело не шло.

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

С радостью представляю первую программу, которой пользуются больше 3 человек. Издательский дом «Комитет» запустил публичное API для комментариев на своих сайтах tj.ru, vc.ru и dtf.ru. DTF.ru — сайт про игры и другие развлечения, так что на выходных я запрогал для него бота. Бот отвечает информацией об игре, если взять её имя в квадратные скобки. Спасибо техдиру комитета Илье за хорошее API и помощь в тестировании. Эта история бы не состоялось без Дениса из Комитета и главреда RAWG Сережи. Коллаборация!

Мне не стыдно показать исходный код публично; наверное, потому, что я не профессиональный программист. Код работает, вы можете использовать его как основу для своих ботов. Буду благодарен, если подскажете, что можно сделать лучше (python, github).

Кстати, у RAWG хорошая обвязка API под питон (написанная немецким студентом), так что если хотите поделать что-то с играми — не стесняйтесь.

Да здравствует свобода от внутренних ограничений! Ура.
​​Весь мир сходит с ума по подкастам. Цукерберг запустил свой подкаст (очень плохой, вот видео из которых нарезали звук: 1, 2), даже Mailchimp на странице логина рекомендует послушать свой подкаст про «сильных женщин, не опустивших руки».

Важная новость из этого мира — запуск Luminary. Это Нью-Йоркский стартап, в который уже вкачали 100 миллионов долларов. Netflix в мире подкастов. Подписка в 8$ в месяц даёт доступ к эксклюзивам, созданным самой компанией и не доступным нигде, кроме приложения Luminary. Обещают 40 таких эксклюзивных подкастов от звездных ведущих.

А теперь представьте, что у Netflix есть бесплатная версия, которая позволяет смотреть видео с других видео-платформ типа ютуба. Luminary делает похожую вещь.

Почти все подкасты в мире доступны по RSS и монетизируются на рекламных аудио-врезках. Зная адрес, можно послушать подкаст в любом приложении на выбор. Похоже на то, как зная адрес сайта можно открыть его в любом веб-браузере — Chrome, Firefox или Safari. Прорывный Anchor (купленный недавно Spotify), добавляет разные интерактивные возможности, доступные только в приложении, но публикует RSS, так что послушать базовую запись можно где хочешь.

Luminary аккуратно засасывает все публичные подкасты, но свои наружу не отдает 💩. Понятно, что многим это не нравится. New York Times, выпускающий самый популярный в мире подкаст Daily, Gimlet с гениальным Reply All и многие другие потребовали убрать свои подкасты из Luminary.

Ещё одна неприятная деталь — Luminary отдавал аудио-файлы сторонних подкастов со своих серверов, чем лишал создателей и той минимальной аналитики по прослушиваниям, что у них есть. Много всего не предусмотрели чуваки, слабый запуск признаёт сам CEO.

Посмотреть Luminary самому можно в американском, британском, канадском или австралийском апсторе и google play. Ещё есть веб-версия (!), для работы которой достаточно любого бесплатного VPN для Chrome (даже Hola справится, только не забудьте потом её удалить, а то будет сосать личные данные почем зря).

Индустрия подкастов имела выручку всего в 314 миллионов долларов в 2017, оценки PwC на 2020 год — 1.6 миллиарда. Впереди много интересного.
Про рекламу в подкастах: я привык, что это квази-нативочка, которую зачитывают ведущие.

Представьте себе мой шок, когда в книжном подкасте the Guardian, эпизод начался с объявления Правительства Её Величества всем британцам, живущим в Латвии. Что-то там про брекзит.

Я быстро добрался до дома, залез в rss-поток подкаста и выяснил, что они пользуются платформой aCast, которая, очевидно, умеет гео-таргетированную рекламу. Идея простая, таргетированными баннерами в вебе никого не удивишь уже лет 20, да и склеить персональный аудио-файл каждому подписчику на лету не бином Ньютона, но в подкастах я это встретил впервые.

Мы с вами присутствуем при зарождении нового пространства. Наверное, похожие чувства испытывали пользователи веба в 90е.
Сколько стоит сделать сайт?

Вот компания Hertz (аренда автомобилей, годовая выручка 10 миллиардов долларов) отдала подрядчику 32 миллиона долларов за 2 года и сайта в результате не получила.

Иск Hertz к Accenture (крупнейшая консалтинговая/аутсорсинговая компания, годовая выручка 41 миллиард долларов) (pdf) читается как увлекательный рассказ.

Там, конечно, оба молодцы — Hertz, например, отдал роль владельца продукта (product owner) подрядчику, хотя это одна вещь, которая точно должна быть на стороне заказчика. Accenture в какой-то момент выкинул из проекта владельца продукта и главного разработчика, заменив их менее опытными специалистами.

Грустите в этот прекрасный теплый пятничный вечер, что ничего не успеваете в срок или что подрядчик идиот? Знайте, что на один такой иск приходятся тысячи больших проваленных проектов.

P.S. На Hackernews объявился программист, которого за небольшое время до описываемых выше событий уволили из Hertz, заменив всю внутреннюю разработку аутсорсом в Индии. CIO тогда получил бонус в 7 миллионов долларов за «оптимизацию расходов». 🎩
Амнезия Гелл-Мана: «Я читаю статью в газете на тему, в которой являюсь экспертом. Журналист не знает базовых фактов и путает причину со следствием. Но стоит мне начать читать статью на тему, в которой я не разбираюсь, как я думаю, что журналист понимает, о чем он пишет».

Факт: Apple управляет стором и сам же выставляет приложения в нем; налицо конфликт интересов, который ярко проявился в случае со Spotify.

Журналистика от New York Times: «Apple Cracks Down on Apps That Fight iPhone Addiction» [Apple наступает на приложения, борющиеся с телефонной зависимостью].



Айфоны безопаснее Android потому что каждое приложение для айфона проходит ручной контроль сотрудниками Apple. Ни одна программа не может вылезти из своей «песочницы» и украсть данные или нагадить другому приложению.

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

Порой, компаниям нужно обойти эти защитные механизмы на устройствах сотрудников. Ожидается, что этим занимаются специалисты, понимающие, что они делают и зачем. Специально для них разработаны Configuration Profiles которые позволяют мониторить трафик, управлять другими программами, сбрасывать пинкод и даже удаленно очищать устройство (часть Mobile Device Management), и Developer enterprise program, в котором нет никаких ограничений на то, что будут делать программы.

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

Насколько я понимаю, Apple закрывали глаза на нарушения, пока у них не было адекватной замены, да и внимания к ним было мало. Потом они сделали родной Screen time (экранное время) и случился скандал с фейсбуком.

Пока Apple каленым железом выжигает такие программы из апстора — я буду рекомендовать журналистам и политическим активистам использовать айфоны.

Касперский, кстати, в марте подал жалобу на Apple в ФАС на эту же самую тему — их приложение Kaspersky Safe Kids использовало Configuration profiles для мониторинга трафика и контроля приложений, Apple потребовал это прекратить.

P.S. Хотел поделиться скриншотом своего Screen time, но открыл, ужаснулся и застыдился. Загляните в свой, можете найти много интересного.
​​Космическая история: фронтендеры Ютуба убили Internet Explorer 6, без согласования с руководством разместив баннер «мы скоро перестанем поддерживать этот браузер, поставьте что-нибудь посвежее» в июле 2009.

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

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

В 2009, IE6 ненавидили уже все фронтендеры без исключения. Практически сразу после запуска баннера на Youtube, фронтендеры Google Docs использовали пример Ютуб как обоснование для того, чтобы выкатить такой же баннер на Google Docs (все думали, «вряд ли Ютуб провернул такое без соответствующих согласований»). Иронично, но когда о баннере узнали в руководстве ютуба, они решили, что это просто копия баннера с Google Drive («и кто-то наверняка согласовал это ранее»).

Когда правда вскрылась — было уже поздно, баннер был практически на всех сайтах в интернете, а IE6 —обречен. Цель оправдывает средства.

Рассказывает один из участников заговора (там есть, как отреагировали юристы и PR-щики). 💎
В процессорах Intel нашли 5 серьезных уязвимостей, аналогичных spektre и meltdown.

Ниже будет два поста, этот - практический.

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

На практике, эксплуатация уязвимости через браузер занимает некоторое время (не факт, что вы будете так долго зависать на стремном сайте) и заплатки от Intel, Microsoft и Linux позволяют усложнить её реализацию.

До Spektre и Meltdown, уязвимостями процессоров занимались десяток человек на планете. Теперь это горячая тема и внимания и бюджетов в этой области на порядки больше. Скорее всего, это не последняя уязвимость.

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

К сожалению, цифровая гигиена у нас на уровне средних веков. Включите везде 2-факторную аутентификацию, используйте менеджер паролей (я люблю 1Password), устанавливайте все обновления, настройте бекапы и вы будете защищены от 99% цифровых проблем. На практике все четыре правила не выполняет почти никто. Только поэтому цифровые болезни имеют серьёзный эффект.

Берегите себя, мойте руки перед едой.
Перейдём к развлекательной части.

Во первых, нужно отдать должное PR-департаменту Intel. Первую уязвимость обнаружили и сообщили о ней Intel в июне 2018. Да, год назад. Потом ее нашёл еще один независимый исследователь. Потом были все новые уязвимости. Intel умудрились не дать им выходить по мере обнаружения, но скомпоновать публикацию в один «пакет». Публика пакетно поохает-поахает и забудет через две недели. Представьте, если бы новости о таких серьёзных уязвимостях выходили каждые 4 месяца в течении года? Цукербергу есть чему поучиться у Intel. Справедливости ради, тут сыграла роль безупречная этика ученых-исследователей (да и правительства наверняка приложили руки, CERT-центры не зря хлеб едят).

Во вторых, получается, что настоящая компьютерная безопасность - это старый добрый airgapped (без связей со внешним миром) компьютер. Более практичная опция на текущий момент - айпад или айфон, но это уже давно понятно и без процессоров. У ARM-процессоров найдено меньше таких дырок (и они все-же менее «умные», чем процессоры от Intel).

В третьих, очень жду замеров производительности после применения всех необходимых патчей. Ходят слухи, что нужно выключать гипертрединг, а это почти поделить производительность надвое. Это должно ударить по облакам (они не смогут отмахнуться и посоветовать поставить менеджер паролей), придётся покупать больше железа для компенсации проседания производительности после применения патчей и может быть даже предоставлять больше возможности «вынести вычисления на изолированный процессор». Интересно, как отреагируют крупные игроки, начнут ли более активно покупать AMD и/или ARM? Стоит ли прикупить акции AMD?

В четвёртых, верю, что Intel медленно загнутся не из-за плохого пиара, а от того, что продолбали мобильный рынок и от того, что AMD работают как не в себя. Жалко, компания-эпоха.
​​О, 10 тысяч подписчиков, очень приятно! Спасибо, что читаете.

Кстати, если вдруг пропустили: в телеграме наконец-то появилась возможность сложить чаты и каналы в папочку. Достаточно потянуть пункт из списка налево (свайп).

Папочка называется архив, но подписки никуда не денутся, просто перестанут смешиваться с перепиской.

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

Очень интересно, какая доля пользователей телеграма воспользуется этой функцией и как она повлияет на метрики вовлечения: количество минут, которые мы тратим на чтение каналов, количество просмотров, которые получают каналы. Последнюю метрику можно получить даже не работая в телеграме - достаточно внимательно изучить публичные метрики, используя АПИ. Если вдруг увидите такой анализ или захотите его провести - напишите, пожалуйста.

Если бы телеграм зарабатывал деньги на рекламе - понижение этих метрик было бы проблемой. А так мы можем только гадать, какие у Павла Дурова планы. Интересно!

P.S. Павел очень любит хвастаться, что вотсап у телеграма все тырит, а вот «архив» у вотсапа появился сильно раньше. Ну и пусть, главное, чтобы пользоваться было удобно.
​​Медуза наконец-то разделила мобильную и десктопную главные. Раньше была проблема, что на десктопе помещается очень много материалов (в ширину), а в мобиле получается три экрана подряд старых материалов на одну и ту же тему.

Интересно, как теперь выглядит админка, где их обе собирают.

Все обсуждают красивый ли новый стиль, я в этом не спец; поздравляю с запуском!

P.S. Интересно, что теперь блокировщик рекламы под iOS ломает работу сайта при доскролле до конца статьи. Не думаю, что специально так сделали, но чинить, я думаю, никто не будет ;)

Upd: сайт ломался не только с блокировщиками и его уже починили. Спасибо!
Microsoft и Sony объединят силы в создании облачной гейминговой платформе, будут вместе бороться с Google Stadia.

Microsoft и Sony — создатели и владельцы двух главных конкурирующих приставок — PlayStation и Xbox. Совместная работа — неслыханное дело.

Ох, жарко будет!



Ключевой вопрос в облачном гейминге — latency [wiki] (более узко — input lag [wiki]). Это важный в программирование, UX и управление термин, для которого я не знаю хорошего перевода на русский. Лучший аналог — время ожидания, задержка. Это время, которое игра НЕ отвечает на ваши действия.

Это время, которое проходит между нажатием на кнопку и отображением действия на экране (или звуком в динамиках, и говорят, что задержка в человеческом мозге для аудио ниже, чем для видео). Консенсус, кажется [wiki], в том, что задержка больше 200 миллисекунд (1/5 секунды) мешает играть, а задержка в 60 мс малозаметна. Средняя игра на приставке имеет задержку в 67-133 миллисекунды. Прямо сейчас мой рижский домашний интернет достукивается до ближайшего сервера гугла за 15 миллисекунд (8.8.8.8, благодаря сетевой магии этот адрес почти всегда отвечает ближайшим сервером). RTT (время туда-обратно) = 30 миллисекунд. Звучит реалистично!

Вы не поверите, но для российских игроков даже тут в дело вступает Роскомнадзор. Захотят ли Google и Sony держать эти серверы в России? Как отразятся на игре дополнительные задержки, если ближайшие серверы будут в Европе?



Возможность не покупать приставку и поиграть немножко в AAA-эксклюзивы [wiki] меня лично очень привлекает. Это как не покупать машину и кататься на Яндекс.Такси. Наконец-то!
Ходят слухи (пикабу, хабр), что Яндекс вчера случайно удалил виртуальные серверы клиентов в своем облаке (человеческий фактор).

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

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

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

Интересно, там было затронуто так мало машин, что они не видят видят причин официально комментировать? Классическое «это затронуло 0.004% клиентов и вот что мы сделали, чтобы такого больше не случилось» — тоже часть работы.
Для контраста: StackOverflow, главный сайт вопросов-ответов для программистов и не только, на прошлой неделе взломали. VP of Engineering публикует короткий пост, буквально «на выходных нас взломали, данные вроде целы, экстренно конопатим дырки, напишем как разберемся до конца».
Яндекс выкатил пресс-релиз на Роеме. В таймлайне не указано, когда они уведомили пользователей о проишествии, а ведь поддержка — один из параметров, по которому мы выбираем хостинг.

«Мы уже работаем над формированием мер для предотвращения повторения подобного инцидента в будущем и в ближайшее время проинформируем о дальнейших шагах всех пользователей.»

Интересно, будет ли более подробный post mortem в этом информировании?

P.S. А ведь было время, когда Яндекс говорил отличным русским языком; помню, студентом мечтал там работать в том числе из-за языка на сайте (древнегреческое «красивый не может быть плохим»). Эх.

Upd: ну наконец-то приличный текст от руководителя Яндекс.Облака. Был бы я журналистом — продолжил бы долбить про «считаете ли вы нормальным писать пользователям об удалении их сервера через 6 часа, а не сразу же», но думаю, что эта история и так заняла слишком много внимания и нечего так напрыгивать на национальное достояние. ❤️ спокойной ночи
StackOverflow продолжает рассказывать, как их поломали и что они делают для того, чтобы защититься в будущем.

Не забывают по пути объяснять, какие они молодцы и как у них все правильно устроено. Качественный PR.
​​Журналист Коммерсанта объясняет отказ раскрыть источник тем, что источник - высокопоставленный силовик и в случае раскрытия журналист опасается за свою семью. Журналистика в России, 2019.