Новое

страница 54 из 170

Помните историю, как израильская компания NSO Group продавала услуги взлома телефонов, когда среди жертв были министры, правозащитники и личные враги арабских шейхов? Там фигурировал взлом айфонов через уязвимость в сообщениях.

Достаточно знать номер жертвы и все — получаешь полный удаленный контроль над телефоном.

Google project zero опубликовал технический анализ этого взлома.

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

Автор вспоминает корабли в бутылке, а у меня в ушах звучит вот эта ирландская песня.

Как замечает Project zero, раньше мы думали, что такое умеют делать только спецслужбы некоторых государств (Россия, Америка, Израиль, Китай), теперь видим, что подобное оружие создают и частные компании, которые торгуют им на рынке.

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

В облаке Amazon AWS опять проблемы и это задело Slack — популярный рабочий мессенджер, так что если он у вас глючит — «дело не в офисном интернете».

У всех крупных онлайн платформ есть так называемый Status page, в котором инженеры отражают «здоровье сервиса». Ходят слухи, что в Amazon инженеров наказывают за то, что их сервис отметился на этой странице. К чему это приводит — довольно очевидно. Вот ребята сделали юмористический и чуть более удобный «правдивый статус Амазона».

Кстати, вот инструкция Apple о том, как делать компьютерные интерфейсы для людей. Прям буквально, начиная от общего поведения приложения и заканчивая оптимальным размером отдельных кнопок: Apple Human Interface Guidelines.

Аналогичные гайдлайны от Microsoft для Windows-программ и от Google — про Android.

Увлекательное чтиво, даже если ты не дизайнер.

Совершенно космическая стилизация современных программ вроде зума и слека в интерфейсе macOS 9 Classic 1999 года. Не просто скриншоты, а целое видео, где автор ведет свою ежедневную работу в «интерфейсах прошлого», UI-кит (набор строительных блоков) для дизайн-инструмента фигмы и супер классный лендос. Современное искусство! Должен признаться, что часть старых интерфейсов выглядит удобнее, чем современные ;)

«В России второй день не выдают права и не регистрируют автомобили. Серверы ГИБДД залило водой».

Во первых, помещение для серверов, которое залило водой — в 2021 году звучит как нонсенс. Современный дата-центр — это не амбар, в котором серверы стоят под трубами с водой и потолок протекает. Рекомендую эпизод нашего подкаста про дата-центры, чтобы стало понятно, почему это звучит как бред.

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

Разработчики Unreal engine хвастаются тем, что умеет их новейший игровой движок. Это основа, на которой работает больша́я часть современных видеоигр. Для примера они сделали интерактивное демо про Матрицу — воссоздали некоторые культовые сцены, то, как Нео уклоняется от пуль, например. В создании демо участвовали Киану Ривз, Кэрри-Анна Мосс (Тринити) и Лана Вачовски.

Конечный продукт — это не видеоролик (хотя видео и можно посмотреть на ютубе), а интерактивная «игра»-демо, которая рисуется обычной современной видеоприставкой «на лету». Фотореализм главных персонажей, реалистичность огромного города, поведения тысяч людей и машин в городе, точность освещения, взаимодействие машин с дорогой, свет, тени и взрывы — всё это в качестве, которое раньше было только в кино. В фильмах спецэффекты готовятся целыми командами, работа над минутой видео может занять месяцы и целые суперкомпьютеры. Здесь же всё происходит «на лету», на обычной домашней приставке 🤯

Бонус для тех, кому пофиг на компьютерную графику: интервью Киану Ривз и Кэрри-Анны Мосс изданию The Verge по поводу этого проекта. Интервью очень душевное. Момент, когда Киану Ривз вполне разумно рассуждает о будущем порно, а Кэрри-Анна Мосс закатывает глаза «надеюсь, я до этого не доживу» ❤️

Поисковых систем в мире меньше, чем компаний, которые запускают ракеты. Нам легко получить любую информацию в интернете одним кликом, а инженерам надо поддерживать базу данных с миллиардами веб-страниц и находить среди них нужные за доли секунды. О том, как компьютер понимает наши запросы и выбирает для них ответы говорим с руководителем Яндекс.Поиска Максимом Загребиным.

Слушайте и подписывайтесь: Apple, Google, Яндекс, Spotify, Castbox, Overcast, веб-версия.

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

Жутко разозлился сегодня на гостя во время интервью для подкаста. Я спросил о деньгах, и от того, что и как ответил гость, меня просто вынесло. В самом начале 2-часового интервью. Конечно, гостю я это прямо не высказал (это всё-таки не психотерапия, да?!) и весь первый час терял время.

Формально я задавал вопросы, гость типа отвечал, слова говорились, но гость не раскрывался, истории не рассказывал.

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

Тут у меня что-то кликнуло, я понял, что дело не в плохости гостя, а в том, что я не принимаю его. Более технически — что-то из того, что он сказал, так сильно срезонировало во мне, мне стало так больно, что я защитился от этого, от него, отгородился.

И произошло чудо. Я слова не сказал (думаю, я изменился в лице), как гость ожил — у него изменилось лицо, он начал говорить с интересом, рассказывать истории. Интервью заработало!

Про чувства может показаться очень абстрактной, даже эзотерической материей, но «работает или не работает интервью» — штука объективная, четко видная.

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

На прошлой неделе я встретился с инвестором Кириллом Беловым и узнал, как работают венчурные фонды, что и как нужно питчить инвестору, как оценить стоимость стартапа и какие IT-тренды ждут нас в ближайшем будущем.

Любимые редакторы сделали из 2 часового разговора 65 минутный эпизод. Слушайте на всех платформах: Apple, Google, Яндекс, Spotify, Castbox, Overcast, веб-версия. Открытая запись целиком доступна на ютубе.

Это — финальный эпизод 5 сезона. Сейчас мы уйдем на небольшой перерыв и вернемся с новыми выпусками. То, что начиналось как эксперимент, за эти два года стало важной частью моей жизни. Спасибо Лике Кремер, что предложила 2 года назад начать подкаст, Юле Яковлевой — за гениальную редактуру, Паше Боровкову — за то, что у нас всегда всё по плану, Нине Мамотиной — за идеальное качество звука. Андрею Борзенко, что редактировал подкаст в первом сезоне, когда мы придумали формат. Вы — команда мечты. Полтора месяца назад к нам присоединилась младший редактор Ира Хант — добро пожаловать!

Всего этого не было бы без вас, дорогие слушатели. Спасибо вам! Мы командой подкаста хотим узнать о вас побольше, что вам нравится и не нравится, что вы хотите изменить, кого пригласить в гости. «Финальный вопрос» в конце каждого эпизода появился именно после ваших отзывов, что подкаст обрывается слишком внезапно. Ждем новых комментариев и ваших ответов вот в этом опросе. Ну и ещё раз СПАСИБО!

Закончил на днях технический аудит очередного клиента. Хочу поделиться историей, которую вижу буквально в каждом втором случае.

Начинается новый бизнес, сильно завязанный на софте. Первое время, все классно: один программист — хорошо, два — почти в два раза лучше. 10 программистов — можно делать вещи, о которых раньше и помыслить было нельзя.

Через 3-6 лет в компании уже 50 разработчиков. Продукт при этом практически не развивается, фичи доставляются разработкой в продакшен со скорость улитки. Добавьте к этому зарплаты разработчиков в 100-400 тысяч в месяц и вы можете представить, что чувствует бизнес. Почему так?

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

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

В общем, искать виноватого смысла нет, а варианты решений следующие:

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

2. Если же вам нужно развивать то, что есть — то впереди вас ждут пот и слёзы.

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

Нужно отдавать технические долги и приводить код в порядок. Технически, есть несколько основных подходов и обычно используется их комбинация. Подход первый: выделить изолированный кусочек проекта и переписать его «начисто», минимально затрагивая остальные части. Подход второй: начать писать тесты поверх функциональности, которая есть. И тд и тп. Это — исключительно сложная инженерная работа. В несколько раз сложнее, чем написать аналогичный проект с нуля. Плюс в том, что вы так потеряете меньше знаний, который вложили в продукт за эти годы.

Организационно, вам придётся выделять на это адское количество времени и сил. Речь о 30-50% времени ваших инженеров. Результаты, в плане увеличения скорости разработки, вы увидите через месяцы в лучшем случае. Другого пути я не знаю.

Также, имеет смысл добавить в команду новых опытных бойцов. Дело тут не только в технической компетентности, но и в отсутствии психологических «долгов», свежести и незамутненности взгляда, в четком мандате на перемены. Желательно, чтобы человек уже имел опыт подобного рефакторинга.

В общем, это — путь смелых.

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

Приведение этого процесса в порядок — отдельная работа, но об этом — в следующий раз.