Будни технического директора новостного стартапа. «Закрытие Parse и куда с него переехать», очередной лонгрид «как программируют в NASA» и прочие ссылки с hackernews. Ну и истории, конечно.
Обычно мы записываем час-полтора разговора, из которых святые звукорежиссер и редактор делают получасовой эпизод. Если бы был патреон с «авторскими версиями», с минимальной редакторуй — вы бы подписались?
В гостях: Самер Фатайри — главный по ML в adjust.com, одной из главных компаний по атрибуции мобильного трафика и Петя Ромов, который в своем стартапе GOSU.ai помогает геймерам лучше играть в доту (не шутка).
Запись летняя, так что я очень много смеюсь в микрофон, зато гости классные, рассказывают интересные вещи и звукорежиссер в этот раз сделал крутую интерактивную врезку и ending.
Ссылки из подкаста (даже те, что не вошли в финальную версию): - курс по машинному обучению для школьников, где анализируют ДОТУ! - русское slack сообщество по машинному обучению open data science — лучшее в мире - мощная школа анализа данных Яндекса, если хотите заняться ML всерьез - у нашего партнера, онлайн-школы Яндекс.Практикум тоже есть курс по ML - голуби учатся распознавать рак.
Nginx — один из главных русских экспортных IT-продуктов. Этой программой пользуются самые крупные сайты на свете, а саму компанию полгода назад купил американский гигант F5 за 670 миллионов долларов.
Сегодня Rambler предъявил претензии на эту программу. В офисе Nginx в Москве обыски. Ходят слухи, что основатели компании задержаны.
Да, Игорь Сысоев работал на Rambler, когда писал nginx. Допустим, там есть нерешенные вопросы с правами. Хотя, не представляю себе ситуации, когда F5 купил Nginx за 670 миллионов и не провел внимательный due diligence. Но зачем обыск в офисе? Зачем задержания?
Стыдно, что наше государство раз за разом говорит «сделали что-то ценное? валите не задерживаясь, пока не отобрали».
Две недели назад я нанял в Пьюр ведущего бэкенд разработчика — Антона. За это время Антон вник в проект, сделал так, чтобы серверы не умирали при повторных запросах от клиентов, почти доделал несколько важных задач для борьбы с мошенниками (выпустим большое обновление приложений ещё до Нового года) и наметил план по дальнейшему наведению порядка.
Перед нами амбициозная задача — технический перезапуск бэкенда, которым пользуются сотни тысяч человек. Параллельно мы хотим запилить классные новые возможности — например, аудио и видео-звонки с масками.
Начнем мы с самых основ — с построения удобной среды разработки: настройка рабочего окружения бэкенд-разработчика должна занимать несколько минут, а не дней (docker, клон продакшен базы с вычищенными персональными данными, etc.)
Далее, заменим старую и неподдерживаемую систему фоновых задач gearman на celery и переедем на python3.
А вот дальше начинается круть: полный аудит текущих мобильных приложений и новая версия API, свободная от легаси. Самый сок: сейчас большая часть данных о пользователе хранится в json-ах внутри одной таблицы «users» — мы её распилим на кусочки. Меняем систему доставки обновлений на клиенты с long-polling на вебсокеты (заодно выпиливаем mongo с сотней гигабайт мусора).
Если всё это звучит для вас не как шум, а как интересные задачи и вызов — пишите мне в личку или на [email protected]. Обязательный список: django, celery, aiohttp (можно хотеть изучить, нужен для бэкенда чатов), postgres. Приложите код, который вы считаете лучшим в своей жизни.
Минусы: - задачи часто меняются - процесс ещё не устаканен - нужно много прогать
Плюсы: - можно участвовать в формулировке задач - есть тестировщики и хороший сисадмин (devops) - удаленка - вы будете работать с АНТОНОМ ШУРАШОВЫМ.
Это система управления проектами и система общения, которую я использую в работе. Почти вся переписка, большинство проектной документации, задачи и договоренности Pure хранятся именно в ней.
Basecamp — не идеальный инструмент. В нем нет канбан доски как в трелло, в которой удобно двигать задачки по статусам от «идея» до «готово». В нем нет кастомных представлений как в жире, в которых удобно посмотреть все iOS-баги, находящиеся в тестировании и назначенные на определенного человека. В нем нет мощного чата, как в слеке (ох как хочется затегать группу!). В нем нет красивого редактора, как в Notion, даже таблицу в задачу не заведешь. В нем нет древовидных комментариев, как в жире и Confluencе, а ведь так хочется ответить на определенный комментарий в треде). И уж конечно это не супер футуристичная бесконечная коллаборативная доска как Miro.
Любым инструментом можно поддержать практически любой процесс разработки. Разница в том, какое поведение инструмент поощряет, а какое — наказывает, делает неудобным. В этом плане я доверяю создателям Basecamp.
Я хочу вести разработку как создатели Basecamp — качественно, стабильно, интересно, с уважением ко всем участникам процесса. Мне интересна тема ответственности и в Basecamp она очень важна.
Если вам стало интересно, как это — вот несколько книг, объясняющих их подход: - методология разработки — Shape Up; - одна из главных книг про удаленную работу — REMOTE; - как не сгореть на работе — It Doesn't Have to Be Crazy at Work!
Мессенджер Signal рассказывает, как они работают над возможность выкинуть кого-то из группового чата.
Да, вы не ослышались. Это мессенджер, в котором невозможно удалить человека из группового чата.
Любой мессенджер — это десятки компромиссов между безопасностью и удобством пользования. Signal во всех спорных ситуациях выбирает безопасность.
Во всех остальных мессенджерах владелец сервера может как минимум посмотреть, кто с кем переписывается и в каких группах состоит. В Signal эта информация скрыта от владельца сервера [1, 2].
Это защита на случай, если серверы Signal взломают или государство выпишет им судебный ордер на выдачу данных.
Дуров говорит, что Telegram не взломают потому что они крутые; и не заставят выдать данные юридически, потому что он устроил адскую схему из компаний в разных юрисдикциях, владеющих частями друг-друга.
Signal решает подобные проблемы технически, без внесения компоненты доверия. Для этого улучшения групповых чатов они попросили авторов доработать криптографический алгоритм, придуманный учеными всего несколько лет назад! Это примерно как если бы для строительства здания привлекли ученых физиков, которые открыли новый закон, который позволил сделать колонны необычной формы.
Вот бы команде Signal десятую долю инженерных способностей направить в дизайн и интерфейсы — цены бы этой программе не было!
Мне очень близка тема безопасного, анонимного общения. Мы наведем базовый технический порядок в Pure, чтобы быстро работал и не глючил, а потом скопируем техническую начинку Signal максимально. Предвкушаю момент, когда буду объяснять «у нас в приложении самый безопасный анонимный мессенджер на свете, которым удобно пользоваться. А ещё знакомства для взрослых».
Выпускаем эпизод раз в неделю по четвергам, длительность - 35 минут. Записываем часа полтора-два, дальше мощная редактура. Над подкастом работают редактор, продюсер и звукорежиссёр.
Первый выпуск про техдирство, второй про безопасность.
Private Internet Access - самый известный VPN-провайдер, который не хранит практически никакой информации о том, какие сайты вы посещали. Хороший способ обходить блокировки, классный VPN.
Этот бизнес купила израильская компания, известная тем, что она помогала преступникам распространять и монетизировать вирусы. Компания недавно сменила руководство и название; обещает, что теперь они используют полученные знания для того, чтобы сделать PIA ещё лучше. Доверять ли им - решать вам.
Пара старых надежных VPN провайдеров: IVPN и mullvad. Хороший список и сравнение плюсов минусов разных VPN тут.
P.S. Многие продавцы VPN нагоняют страху и обещают защиту от ужасов интернета. Не ведитесь. Обычному человеку VPN помогает обходить блокировки сайтов. В остальном польза от него минимальная, а вред реален - замедление доступа в интернет и лишний расход батарейки. Безопасности он вам почти не добавит. VPN может добавить приватности, но в этом плане лучше совсем без VPN, чем с плохим. Лучше потратьте силы и время на включение двухфакторной аутентификации, это реально повышает безопасность.
Magic Leap — стартап, в которой вкачали 2 миллиарда долларов и от которого ждали чуда в области дополненной реальности.
Рекламные ролики были вот такие крутые. А получили мы в результате неплохие, но не убойные очки дополненной реальности, в которых на стекла проецируется картинка. Ожидаемо, что продали они всего 6000 устройств. Про то, как неумело компания отбивается от медиа в длинной статье The Information.
Почему Magic Leap удалось собрать столько денег, ничего не показывая на публику? Чувак в комментариях HN рассказывает: демо Magic Leap для инвесторов ТАКОЕ, что все кто его пробовали мгновенно начинают верить в проект. В прототипе проецировали картину на сетчатку напрямую, в обход промежуточного слоя, «очков». По слухам, решение занимало целую комнату компьютеров и сенсоров для одного человека. Радикально уменьшить размер этой прорывной технологии у них не получилось и тогда они решили сделать обычные очки.
Тем временем, Microsoft в прошлом месяце наконец-то выпустили устройство дополненной реальности Hololens 2. Стоят такие очки 3500$ и делают его не для домашних развлечений, а для работы — заводов и инженеров. А ещё министерство обороны США закупает их на полмиллиарда долларов. Все кто пробовал отзываются очень положительно, вот хороший обзор The Verge.
The Information приводит следующие оценки рынка AR/VR: в 2019 году будет продано 500 тысяч AR устройств и 7 миллионов устройств с VR. 7 миллионов — это уже интересно. Если не пробовали AR/VR — не откладывайте, за этим будущее.
Сегодня вот хороший разработчик сказал, что уходит в другую компанию. Мне очень больно - думаю, что это из-за моих ошибок.
Одна из озвученных причин - что я игнорировал его несогласие. Он несколько раз говорил, что не видит impact (пользы) в паре задач, а я замял этот вопрос. Не будьте как я, решайте подобные вопросы от разработчиков тем или иным способом не откладывая.
Второй эпизод подкаста — про безопасность. Трое хакеров делятся, как взломать, заработать и не сесть и как защититься.
С Эмилем и Каримом мы вместе участвовали в школьных соревнованиях по программированию. Тогда они были на голову сильнее меня в решении задач, а теперь стали одними из лучших хакеров России. Карим руководит безопасностью в Mail.ru. Третий гость — Омар Ганиев, член одной из сильнейших команд хакеров и владелец своей компании, оказывающей услуги информационной безопасности.
Этот эпизод мы записывали в мае. Спасибо редактору Андрею Борзенко, звукорежиссёру Павлу Цурикову и продюсеру Паше Боровкову за терпение. Вы вытащили эпизод из 2 часов безудержного гоготания в микрофон перемежающегося «эту информацию нужно запикать». 💪 Насколько хорошо у нас получилось — решать вам.
О том, почему наши телефоны определяют местоположение в безумных городских условиях за доли секунды и как всем этом участвуют гугл, эпл и убер я расскажу в следующий раз.
Для дополнительного чтения рекомендую прекрасную статью про GPS и книжку, в которой очень подробно описано, как сделать GPS-приемник самому (amazon, libgen).
Если вы говорите на русском и занимаетесь космосом — напишите мне, пожалуйста. Хочу сделать выпуск подкаста про программирование для космоса. 🎙
5. Для корректной работы системы, нам нужно знать время на часах спутников и их положение с невообразимой точностью. 2 наносекунды в день и 10 сантиметров (при скорости в 14 тысяч километров в час). Такая точность недостижима простым измерением — данные с наземных станций накапливаются продолжительное время для того, чтобы с помощью черной магии определить, куда внести поправку — в часы или в положение. В мире всего несколько организаций, владеющих этой магией. В июле, европейская система Галилео не работала почти неделю — из-за ошибки в программе на земле они потеряли информацию о поправках и им пришлось перезапускать все рассчеты с нуля, в холодном режиме. Евросоюз засекретил результаты работы правительственной комиссии, но в сеть утекли слайды с презентации и там видно, что чуваки сломали 4 системы одновременно и только так вывели из строя пепяку стоимостью 10 миллиардов евро.
Обычно эту технологии называют GPS по имени американской военной ситемы, запущенной в ещё 1978 году (сегодня её поддерживают ВВС США). На деле большинство современных телфонов получают сигнал ещё от 3 систем глобальной навигации: европейской Galileo, китайской BeiDou и русской ГЛОНАСС. У японцев и индусов есть свои локальные системы, в которых просто меньше спутников, скорее всего ваш телефон умеет принимать сигнал Японской QZSS.
У каждой страны свои, независимые системы, потому что а вдруг война?
Очередная классная технология, которую мир финансируют через военные бюджеты.
На фото супер современный спутник ГЛОНАСС-К, который, судя по слухам, не смогут произвести из-за санкций (внутренние компоненты покупаются на западе).
На высоте 20 тысяч километров, со скоростью 14 тысяч километров в час летят навигационные спутники Земли.
Если бы у нас было достаточно хорошее зрение - мы бы видели 16 таких спутников над своими головами все время. Четыре американских, четыре китайских, четыре европейских и 4 русских.
Все они несут на борту атомные часы и непрерывно вещают точное время и свое точное местоположение. Скорость радиоволн примерно одинаковая, а вот расстояние от нашего телефона до разных спутников - разное. Поэтому сигналы от разных спутников доходят до телефона с разной задержкой. На основе разницы между этими задержками телефон определяет наше место на карте.
Как именно? Базовый принцип такой: представьте, что вы знаете расстояние от себя до одной точки. Вбейте в эту точку гвоздик и примотайте нитку той длины, насколько вы далеко от точки. Если крутить нитку вокруг гвоздика - получается окружность. Вы где-то на этой окружности. Представьте, что теперь вы знаете своё расстояние ещё до одной точки - у неё своя окружность. Две окружности обычно пересекаются в двух точках. Чтобы понять, какая из этих двух точек ваша - потребуется расстояние до третей точки. Вывод — расстояние до трех точек определяет ваше местоположение. На картинке — настоящие уравнения из вашего телефона
1. Спутники летят очень быстро и согласно специальной теории относительности, их время идёт чуть медленнее, чем наше. 2. При этом мы ближе к земле, а спутники - дальше. Согласно общей теории относительности, рядом с тяжелым обьектом время идёт медленнее - то есть у спутника оно быстрее, чем у нас. В результате, часы на спутнике идут на 38 микросекунд в день медленнее, чем на земле. Это кажется мелочью, но если не сделать поправку на этот эффект, то для определения расстояний, в день накопится разница в 10 километров. Это — самое заметное применение теории относительности Эйнштейна.
На картинке — искривление пространственно-временного континуума, в котором мы живем на поверхности Земли.