Книжный куб
11.7K subscribers
2.75K photos
6 videos
3 files
2.05K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Giiker Decipher (Рубрика #ForKids)

Я стал фанатом игрушек от компании Giiker - они очень приятные тактильно, а также в них просто интересно играть. Так на эту игрушку-дешифратор подсел мой пятилетний сын Кирилл, с которым мы перед сном теперь играм в загадывание кода, а потом разгадывание по очереди. Суть это игры в том, что у нас есть 4 слота, в которых загадан цветовой код. У нас есть 7 попыток на то, чтобы отгадать его. И загадывание и отгадывание в игре управляется оранжевой крутилкой, которую можно нажимать для того, чтобы установить код или проверить его. Собственно, есть опция играть вдвоем или одному против компьютера, а также можно играть в direct или non-direct версию (первая попроще). В direct версии мы выбираем зашифрованную последовательность и нажимаем проверить - дальше приходит ответ:
- Если огонек под цветом не горит, то цвета нет
- Если огонек горит белым, то цвет есть, но он расположен не в правильном месте
- Если огонек горит зеленым, то значит мы угодали цвет этого квадратика

Эта логика достаточно простая, но есть усложненная версия non-direct, которая посложнее и интереснее.
В общем, как уже стало понятно, мне эта игрушка нравится и моему сыну тоже, поэтому я и вам могу ее рекомендовать.

#Brain #Game #SelfDevelopment #Security
🔥159👍6👎1
[1/2] Nvidia’s Explosive Rise from Zero to Trillions (Рубрика #Documentary)

С большим интересом я посмотрел этот документальный фильм рассказывает впечатляющую историю превращения Nvidia из стартапа на грани банкротства в компанию стоимостью $3 триллиона . Фильм охватывает путь от основания в 1993 году до текущего доминирования в области AI . Мне было интересно посмотреть, а какие этапы проходила компания и какие выводы можно почерпнуть нам как инженерам и техническим руководителям

Основание и первые годы
Nvidia была основана тремя инженерами - Дженсеном Хуангом, Крисом Малачовски и Кёртисом Примом - которые познакомились работая в Sun Microsystems и LSI Logic . Легендарная встреча состоялась в ресторане Denny's в Сан-Хосе, где за чашками кофе они обсуждали будущую компанию день за днем . Их ставка была на 3D-графику для PC и видеоигр, хотя на тот момент они даже не видели персональный компьютер . Название Nvidia произошло от латинского слова "invidia" (зависть), а также от сокращения NV ("next version"), которое основатели использовали при сохранении файлов . С начальным капиталом всего $40,000 и последующим финансированием $20 млн от Sequoia Capital, они начали свой путь .

Провал и чудесное спасение
Первый продукт NV1 (1995) оказался катастрофой: из 250,000 чипов, отправленных партнёру Diamond Multimedia, вернулось 249,000 . Проблемы были в том, что чип использовал quadratic primitives вместо triangle primitives, которые стали стандартом Microsoft DirectX, плюс был слишком дорогим . После отмены контракта с Sega на NV2, у компании осталось финансирование только на один месяц зарплат . Riva 128 (август 1997) стал продуктом, спасшим Nvidia - за четыре месяца он продался тиражом в миллион единиц, в отличие от NV1, который продал едва тысячу . С тех пор в компании существует неофициальный девиз: "Мы всегда в 30 днях от банкротства". Интересно, что в моем первом компьютере был чип riva tnt2, то есть я познакомился с творчеством ребят еще до начала 21 века:)

Прорыв и IPO
GeForce 256 (1999) стал первым в мире GPU с программируемым ускорителем - это был прорыв в концепции ускоренных вычислений . В январе 1999 года Nvidia провела IPO, что дало компании больше капитала и публичности . Следующим большим шагом стал контракт с Microsoft на $200 млн на разработку чипов для оригинального Xbox .

Поворот к AI
Самое интересное решение было принято в середине 2000-х: релиз CUDA в 2006 году - платформы параллельных вычислений, которая позволила использовать GPU не только для графики . Профессор Стэнфорда Эндрю Нг вспоминает, что уже в 2008 году его студенты экспериментировали с CUDA для deep learning и получали ускорение в 10-100 раз . Это был огромный риск: в конце 2000-х никто не знал, станет ли AI прибыльным . Nvidia приняла решение о масштабной трансформации компании, добавляя затраты, нанимая людей и отвлекая внимание от основного бизнеса в gaming и компьютерной графике . Хуанг описал это как "wholesale pivot" - полную переориентацию всей компании .

Интересно, что у меня был коллега в МФТИ, которого мы взяли пилить всякие веб-сайты, а он парарллельно занимался CUDA по научной траектории и в какой-то момент сказал нам ариведерчи и ушел заниматься CUDA фултайм.

Дальше карта AI пошла хорошо - в 2012 году случился AlexNet и произошел старт “современного AI”. NVIDIA прямо отмечает, что прорыв AlexNet стал спусковым крючком эры modern AI, и GPU оказался в центре этой волны. А про инсайты и выводы из этой документалки мы поговорим в следующий раз.

#Documentary #Infrastructure #AI #ML #Engineering #Software #Leadership #Startup #DistributedSystems
🔥104👍3
[2/2] Nvidia’s Explosive Rise from Zero to Trillions (Рубрика #Documentary)

Продолжая рассказ про историю Nvidia надо отметить инсайты фильма, которые пришли ко мне после его просмотра

1️⃣ Платформа съедает продукт
NVIDIA выиграла не только “чипом”, а тем, что сделала программируемую платформу: CUDA - это не “одна библиотека”, а экосистема (компилятор, тулкит, профилинг, библиотеки). В итоге возникает “липкость” и сетевой эффект вокруг железа - редкость для hardware‑бизнеса.
2️⃣ Ставка на рынки с нулевым размером может быть рациональной
Большие pivots компании (3D‑графика для PC, потом AI) - это ставки на “zero‑billion dollar markets”. То есть не про хайп, а про умение увидеть будущий сдвиг вычислительной парадигмы.
3️⃣ Программируемость = мультипликатор
GeForce 256 была важна не только как ускорение рисования, а как шаг к программируемому ускорителю. Дальше из этого выросла CUDA и общие вычисления
4️⃣ Инженерная дисциплина под давлением решает
История “у нас один шанс на tape‑out” и ускорение цикла разработки - это не романтика, а практическая управленческая инженерия: сокращать feedback loop любой ценой.
5️⃣ AI‑инфраструктура - это “система систем”
DGX (системы) + Mellanox (сеть) = понимание, что для AI важны не только FLOPS, но и: память, интерконнект, сеть, софт‑стек, инструменты, поставки. Собственно Mellanox был куплен Nvvidia за $7 млрд в 2020 году, когда ребята поняли, что им этого не хватает.

Для технических лидеров мне кажется полезным будет подумать над такими тезисами

1) Стратегия вычислений = стратегия бизнеса
Если у вас AI‑фичи в roadmap - у вас появляется новый ресурс: GPU‑время/память/интерконнект, и этим нужно управлять как бюджетом и SLA.

2) Платформенная команда - это не роскошь
Нужны люди/команда, которые делают “внутренний CUDA” вашей компании:
- Шаблоны пайплайнов,
- Инфраструктура обучения/инференса,
- Наблюдаемость (стоимость, утилизация, узкие места),
- Guardrails по качеству/безопасности.

3) Управляйте vendor lock‑in как риском, а не как идеологией
CUDA‑экосистема реально мощная - и именно это даёт NVIDIA рычаг.
- Оставляйте “точки выхода” (абстракции, ONNX/portable‑слои где уместно, контрактные тесты производительности),
- Держите план B по инфраструктуре (облако/он‑прем/альтернативные ускорители),
- Фиксируйте метрики стоимости/латентности как продуктовые KPI.

4) "Полный стек" важнее "самого быстрого GPU"
- Покупка Mellanox и ставка на DGX - хороший сигнал: производительность AI‑системы часто упирается в сеть/IO/оркестрацию, а не в “ещё 10% TFLOPS”.

🧐 После просмотра можно пройтись по таком мини‑чеклист для команды
1. Посчитать стоимость 1 GPU‑часа (или inference‑1000 req) и сделать её видимой.
2. Ввести профилирование как обязательный шаг перед релизом ML‑фич.
3. Определить, где вам нужна "портируемость", а где можно идти в максимальную оптимизацию под конкретный стек.
4. Проверить узкие места: сеть, storage, батчинг, очереди.
5. Обновить hiring/skill‑matrix: нужен ли вам performance engineer / ML systems engineer?
6. Зафиксировать “exit strategy” от критических зависимостей (не завтра, но чтобы она была на бумаге).

#Documentary #Infrastructure #AI #ML #Engineering #Software #Leadership #Startup #DistributedSystems
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3👍2
Dyad - local‑first AI app builder: как Lovable/Bolt, только на своем компьютере (Рубрика #AI)

Я как-то уже рассказывал про продукт Lovable, этакий "AI app builder", в котром написал запрос → получил изменения кода → увидел превью → опубликовал на прод. Собственно, то Dyad делает ровно этот цикл, но локально. В самом репозитории Dyad прямо позиционируется как local/open‑source альтернатива Lovable/v0/Bolt (и в целом - альтернативный путь по сравнению с облачными платформами).

Кстати, про подход local-first я тоже уже рассказывал, когда делал саммари на документалку и в dyad есть все признаки этого подхода
- Код и проект у вас на диске: без "платформенной клетки", можно импортировать/экспортировать и свободно переходить между Dyad и обычным dev‑workflow
- Bring your own keys: вы сами подключаете нужных провайдеров и модели (OpenAI/Google/Anthropic и т.д.), без принудительного вендор‑лок‑ина
- Расширяемость: можно добавлять инструменты через MCP‑серверы и жить на шаблонах (templates) под разные JS‑стеки

Функциональность Dyad похожа на Lovable и включает в себя
- Full‑stack приложения через Supabase: быстро подключить базу, auth и server functions
- Security review на базе AI: запускаете проверку, получаете находки с уровнями критичности и можете попросить AI исправить конкретную проблему; правила проверки можно подкрутить через SECURITY_RULES.md
- Автоматическое versioning: каждое AI‑редактирование - это новая версия; по сути это git‑коммит. Можно открыть список версий и “restore” до последнего удачного состояния (механика похожа на git revert, история при этом не теряется)
- Публикация: “publish anywhere” - GitHub/Vercel или ваш стек

Если говорить про архитектуру, то это устроено следующим образом
Dyad - это electron‑приложение:
- UI живёт в renderer process,
- Доступ к файловой системе и "применение изменений" - в main process,
- Общение идёт через IPC

Ключевой трюк AI-редактирования в том, что модель отвечает не "просто текстом", а в XML‑подобном формате команд. UI стримит и красиво показывает ответ, а затем main‑процесс (через response processor) применяет команды к проекту: создать/изменить/удалить файлы, добавить npm‑пакеты и т.п.
Отдельно отмечается, что Dyad не стремится быть максимально "агентным" как Cursor, потому что сложные agentic‑циклы быстро становятся дорогими - поэтому чаще это “один запрос → один аккуратный проход”, с опциональным авто‑фиксом TypeScript ошибок.

Подробнее про архитектуру проекта можно прочитать на сайте system-design.space, куда я выложил подробный разбор с картинками и визуализациями.

#AI #Engineering #Software #Architecture #DistributedSystems #Agents #ML
83🔥2
Inside Argo: Automating the Future (Рубрика #DevOps)

Если у вас Kubernetes в проде, то этот фильм про опенсорс проект может принести пользу - это история того, как Argo вырос из workflow‑движка в набор инструментов для автоматизации деплоев и процессов вокруг них (Workflows / CD / Rollouts / Events). В кадре появляются ключевые люди, что стояли у истоков Argo и которые в 2017 году запустили Argo и как вокруг него постепенно появлялось community и набор связанных инструментов. Также мы видим почему GitOps + Argo стали де‑факто стандартом для "предсказуемых" деплоев в cloud‑native мире.

Для инженеров просмотр может быть интересен, так как
- Это не "маркетинг инструмента, а кейсы взросления опенсорса: комьюнити, мейнтейнерство, стандарты качества/безопасности, и как из внутренней разработки получается индустриальный инструмент
- Это про масштаб: Argo прошёл путь CNCF Incubating (2020) → Graduated (2022), и CNCF отмечает сильную индустриальную динамику принятия инструмента (adoption)

На практике этот инструмент позволяет разработчикам иметь меньше ручных релизов и “магии” в пайплайнах → больше декларативности, повторяемости и отладки через Git как source of truth. А руководителям платформенных команд это дает понимание, что delivery‑контур - это продукт. Инструменты типа Argo ценны ровно настолько, насколько вы вкладываетесь в guardrails, стандарты и поддержку внутренней платформы.

P.S.
Более подробный разбор в моей статье на system-design.space.

#Kubernetes #DevEx #PlatformEngineering #Software #Architecture #DistributedSystems
6👍3🔥1
Two decades of Git: A conversation with creator Linus Torvalds (Рубрика #Software)

Интересный рассказ Линуса Торвальдаса о том, как 20 лет назад, в апреле 2005-го, Линус за 10 дней накатал первую версию Git. Он сделал это потому, что у разработчиков ядра Linux отобрали любимый инструмент (BitKeeper). Git родился из боли: CVS Линус терпеть не мог, SVN считал «тем же CVS». Он признаётся, что изначально писал Git "под себя", не парясь об удобстве для других.

Линус всего несколько месяцев сам поддерживал Git, а уже к осени 2005 передал бразды другому разработчику – Junio Hamano (он и по сей день мейнтейнер). Торвальдс вернулся к любимому детищу (ядру Linux), а Git зажил своей жизнью. Постепенно что-то переключилось в сообществе: через пару лет народ распробовал инструмент. Особенно помог приток молодых разработчиков, для которых Git стал первой системой контроля версий. Вместо возни с устаревшим CVS они с удовольствием юзали Git и удивлялись, почему раньше было иначе. В итоге Git взлетел и практически монополизировал рынок VCS – сейчас, по словам Линуса, порядка 98% проектов на нём. Даже дочь Торвальдса однажды сказала ему, что в университетской лабе его знают больше как автора Git, а не Linux 😅.

Ключевые идеи и фишки Git следующие

1️⃣ Распределённость
В Git нет главного репозитория, каждый клонированный репо - полноценный. Это не просто философия, а огромное практическое удобство: разработчик может работать локально без центрального сервера, а при надобности выложить код куда угодно (GitHub и появился благодаря этой идее). Как мне кажется, это local-first приложение by design.
2️⃣ Скорость и масштабируемость
Git проектировался под гигантский Linux-репозиторий, поэтому все операции (патчи, слияния) должны быть быстры. Линус шутит, что применить 100 патчей должно быть делом секунд – «не надо успевать пить кофе, пока ждёшь».
3️⃣ Надёжность данных
Каждый коммит и объект помечаются крипто-хешем (SHA-1): это больше про защиту от случайной порчи или ошибок, чем про безопасность. Такая проверка целостности на каждом шаге отличала Git от предыдущих систем (в BitKeeper, например, были слабее CRC/MD5 и не всё покрывали).
4️⃣ Простота ядра
В основе Git всего несколько концепций (объекты, индексы, ветки), за счёт этого первую версию удалось написать быстро и она до сих пор совместима (почти полностью) с нынешней. Всё сложное вынесено либо “наверх” (в командный интерфейс, скрипты), либо появилось позже.

Интересно, что Линус, вдохновляясь философией Unix, нарочно не копировал привычные команды CVS – делал по-своему, даже названия дал другие (commit-tree, index и т.д.), чем вызывал баталии на почтовых списках. Но он сознательно ломал устои: слишком уж его раздражали старые подходы, хотелось кардинально другой инструмент.

Вообще, история Git - это отличный пример, как разработчик решает свою проблему, а в результате меняет индустрию. Линус просто хотел продолжать разрабатывать ядро, не мучаясь с отвратительным инструментом, - и из этого родился Git, без которого сейчас не мыслят работу ни разработчики, ни тимлиды. Порой действительно стоит взять и сделать «как надо», даже если изначально продукт сырой и неудобный: если в основе заложены верные принципы, сообщество подтянется и доведёт до ума. Мы видим, как открытые инструменты побеждают закрытые (BitKeeper канул в лету, Git царит).

Торвальдс отмечает, что теперь вокруг Git выросла экосистема, которая решает проблемы, о которых он и не думал. Например, появились расширения для больших файлов и монорепозиториев (привет корпорациям) – изначально Git не планировался для этого, но жизнь заставила. Интересна его мысль о трекере задач/багов: сейчас у каждого хостинга своя система issues, и Линусу хочется единого открытого стандарта (чтобы не было привязки к конкретному сервису). Возможно, это намёк сообществу, где ещё есть простор для инноваций 😉.

#Management #Leadership #PlatformEngineering #Software #SoftwareDevelopment #Architecture #Processes
11🔥7👍4🎉2
How McKinsey Plans to Survive AI (and Reinvent Consulting) (Рубрика #AI)

Интересный получасовой эпизод подкаста HBR IdeaCast, в котором Adi Ignatius (HBR) разговаривает с Bob Sternfels (Global Managing Partner / фактически CEO McKinsey). Основная мысль крутится вокруг того, что AI - это на 30–50% "технология", а остальное - это оргдизайн и процессы. Если "прикрутить LLM поверх старого процесса", то будет локальная автоматизация, но не системный рост throughput.

Я смотрел с большим интересом и забрал себе следующие инсайты, которые применимы и к разработке софта

1️⃣ Барьер не в модели, а в организации
Колодцы, лишние handoff’ы, слои согласований съедают эффект AI сильнее, чем качество промпта.
2️⃣ "Human + agent" - это новая единица производительности
У McKinsey внутри нарратив про десятки тысяч "агентов" и движение к "1 агент на человека" (правда, в интервью не ясно, а что такое "агент", поэтому не ясно с чем сравнивать цифры). То есть агентов включают в состав рабочей силы и отмечают рост их количества.
3️⃣ Коммодитизация аналитики → ценность уходит в outcomes
Если анализ становится дешевле, побеждает тот, кто доставляет результат и умеет "подписаться" под эффект. Внутри компаний это аналогично: меньше "сколько тикетов закрыли", больше "какой outcome улучшили".
4️⃣ Найм/рост: resilience + обучаемость > идеальные оценки
А
этот пункт про изменения критериев найма сотрудников внутри McKinsey. Раньше они искали отличников, а потом поняли, что успех лучше предсказывают не отличные оценки, а успешное преодоление кризиов - лучша взять того, кто падает-встаёт, умеет учиться и работать с людьми.
5️⃣Скорость побеждает, даже если ошибок больше - при хорошем восстановлении
Тут есть прямая параллель с хорошими инженерными практиками: маленькие батчи, feature flags, наблюдаемость, быстрый rollback → снижаете cost of mistakes и можете быть быстрее.

Если как-то переносить инсайты на советы инженерам, то получим примерно следующее
1)Перестаньте использовать AI как "магическую кнопку". Стройте конвейер: Agent → PR → quality gates → human review (тесты/линтеры/security‑сканы не отменяются).
2) Ищите, где агент убирает handoff, а не “ускоряет написание текста”. Начинайте с end‑to‑end потока (value stream).
3) Прокачивайте навыыки из второй волны: judgment + альтернативы + контрпримеры. Просите модель не "ответ", а "риски/проверки/что может пойти не так"

Для техлидов это значит следующее
1) Думайте про AI как про операционную трансформацию, а не набор пилотов.
2) Выберите 2-3 процесса и переделайте их целиком (например: triage → fix → deploy).
3) Мерьте результат outcomes‑метриками + баланс скорости/стабильности: DORA (lead time, deploy freq, MTTR, change fail rate) + DevEx/SPACE (чтобы “ускорение” не выжгло команду).
4) Управляйте агентами как продуктами: inventory + ownership + audit: (кто владелец, какие данные видит, какие инструменты вызывает, какие гейты обязаны проходить).

#AI #Engineering #Leadership #Devops #Productivity #Management
🔥107👍3
"Engineers are becoming sorcerers" | The future of software development with OpenAI's Sherwin Wu (Рубрика #AI)

Очередной интересный выпуск Lenny’s Podcast, в котором Ленни общается со Sherwin Wu, который руководит инженерией OpenAI API / Developer Platform. Sherwin описывает сдвиг роли инженера: от того, чтобы "писать код" к тому, чтобы «управлять флотом AI‑агентов» и принимать инженерные решения на более высоком уровне абстракции.

Основные инсайты беседы такие
1️⃣ Codex стал стандартом
~95% инженеров OpenAI используют его ежедневно; работа всё чаще = управление “флотом” 10–20 параллельных AI‑агентов. Кстати, я тоже в восторге от Codex - это просто бомба. С ним я могу не просто обсудить архитектурные вопросы (которые мало с кем могу обсудить на работе), с ним я могу дальше еще и реализовать эти изменения - это просто magic
2️⃣ Ревью автоматизируется
OpenAI пишет, что Codex автоматически ревьюит почти каждый PR, и это помогает мерджить ~+70% PR в неделю.
3️⃣ Скорость процесса важнее "кода руками"
Ребята обсуждают кейс, где code review сократили с 10–15 до 2–3 минут.
4️⃣ Разрыв продуктивности растёт
"AI power users" уезжают вперёд; ближайшие 12–24 месяца - редкое окно, чтобы прокачаться, пока роль инженера не изменилась окончательно.
5️⃣ "Models will eat your scaffolding for breakfast"
Н
е стройте продукт/архитектуру вокруг временных костылей текущих моделей - они быстро исчезают.
6️⃣ Для техлидов/EM
Меньше контроля строк кода, больше оркестрации агентов + качества процесса + измерения ROI; отдельно обсуждают, почему многие enterprise‑внедрения AI сейчас дают отрицательный ROI.

Что сделать команде для того, чтобы попробовать новый процесс
- Ввести паттерн: spec → агент → тесты → PR → авто‑ревью → human‑approve.
- Усилить “контракт качества”: тесты/линтеры/статанализ, маленькие PR, чек‑листы.
- Начать мерить: lead time PR / время ревью / дефекты после мерджа - иначе AI останется "игрушкой".

Это очень перекликается с тренд отчетом на этот год от Anthropic про агентское будущее программирования, о котором я уже рассказывал.
В общем, все это напоминает цитату Уильяма Гибсона
Будущее уже наступило. Просто оно еще неравномерно распределено


P.S.
Я всегда хотел находиться в той части, где настоящее максимально тесно переплетается с будущим, поэтому в этом году сильно сменил карьерный трек, но об этом как-нибудь в следующий раз ...

#AI #Engineering #Software #Management #Leadership #Startup #LLM #ML #Architecture
🔥117👍5
The Man Who Revolutionized Computer Science With Math (Рубрика #DistributedSystems)

В этом видео Лэсли Лэмпорт за 8 минут рассказывает про специальную теорию относительности, причинность и распределённые системы, а также как это все свзяано между собой. Это видео - короткое интервью Quanta Magazine где он объясняет смысл своей классической фразы
Вы понимаете, что пользуетесь распределенной системой, когда поломка компьютера, о существовании которого вы даже не подозревали, приводит к останову всей системы, а для вас - к невозможности выполнить свою работу
Но лучше сначала расскзать, а чем известен Лэсли Лампорт, который получил премию Алана Тьюринга (аналог Нобелевской, но в информатике). За ним числятся
- Lamport clocks + happens‑before: как упорядочивать события без «общих часов»
- Paxos и replicated state machine: фундамент отказоустойчивых кластеров/хранилищ
- LaTeX: де‑факто стандарт научной вёрстки
- TLA+: спецификации + model checking, чтобы ловить дизайн‑баги до кода

Самое вкусное в этом интервью - это рассказ про связь специальной теории относительности из физики и теории распределенных систем из информатики. Мне как учившемуся на Физтехе очень понравилась эта часть про мультидисциплинарность и пользу физики (хотя я учился на факультете прикладной математики, но физика у нас выдавалась всем так, чтобы никто не ушел обиженным от того, что ее недополучил). Так вот, в СТО (специальной теории относительности) нет универсального "сейчас": наблюдатели могут спорить, что было раньше. Но они не спорят о причинности - событие A может повлиять на B только если сигнал (не быстрее света) мог дойти от A до B. И Лэсли Лэмпорт перенес это 1‑в‑1 в распределённые системы:
- Нет глобального времени (латентности, дрейф, партиции)
- Зато есть причинный частичный порядок: "могла ли информация из A повлиять на B"
В итоге, в распределёнке важнее порядок, совместимый с причинностью, чем "точные таймстемпы". Отсюда появились логические часы, тотальный порядок поверх частичного и согласованная эмуляция одной последовательной state machine несколькими узлами. В общем, я раньше не знал как Лэсли к этому всему пришел, а тут узнал и понял, что действительно это блестящая игра разума.

Но если возвращаться на грешную землю, то можно почерпнуть такие инсайты для инженеров и технических руководителей
- Programming ≠ coding. Код - последняя миля. До него должны появиться модель поведения и явные допущения (сеть, сбои, порядок сообщений, часы).
- "Алгоритм без доказательства - гипотеза". Даже если вы не пишете формальные доказательства, TLA+/модель‑чекер часто ловят те баги, которые тестами почти не поймать.
- Ищите причинность. Когда спорите о порядке операций в БД/кэше/очереди - спрашивайте не "который час был раньше", а "какая информация могла попасть куда".

Ну и отдельный момент про любимый алгоритм Лэсли "Bakery (mutual exclusion)". Здесь метафора пекарни работает так: каждый процесс берёт «номерок», и в критическую секцию входит минимальный (при равенстве - по id). В оригинальной работе он даже отмечает, что такие "номерки" можно реализовать распределённо: хранить у владельца процесса и читать по сети.
Красота в том, что алгоритм корректен даже при очень слабых предположениях о памяти: чтение, пересекающееся с записью, может вернуть произвольный "мусор", а докатазательство всё равно работает. Лэмпорт понял это, когда дописывал доказательство - это отличный аргумент, зачем вообще писать спецификации/доказательства: они находят свойства, которых вы "не закладывали".

#DistributedSystems #Software #Engineering #Architecture #Leadership #SystemDesign
7🔥6👍3
История Linux и UNIX! Кто породил ВСЕ современные системы! (Рубрика #Engineering)

Интересное видео про историю операционных систем от канала PRO Hi‑Tech, из которого хорошо видно, что в истории unix или gnu linux победила не "одна фича", а сочетание идей + институтов (люди, лицензии, стандарты, сообщества). Из таймлана развития событий видно, что многие технологии приняли участие в ходе этой истории
- 1969: Unix в Bell Labs - простые абстракции под жёсткие ограничения (знаменитые пайпы и простые инструменты, что ждут на вход текст и )
- 1973: переписывание на C → переносимость как стратегия (переносимость между разным железом)
- 1984: BSD + TCP/IP → Unix становится “родным” для сетей
- 1988: POSIX → общий контракт совместимости среди зоопарка Unix
- 1991: Linux (ядро) → недостающий пазл для свободной системы (ядро экосистемы GNU)
- 1993+: Debian/*BSD → управление качеством, релизами, пакетами
- 2000–2008: Darwin/macOS и Android → Unix‑подход уходит в массовые платформы (на Android и в основу Mac)

Из всей этой истории можно сделать определенные выводы, что полезны и в продуктовой разработке
- Переносимость = драйвер экосистемы. Инвестируйте в стабильные API/ABI и “тонкий слой” платформенной специфики
- "Файл/процесс/pipe" → сила простых контрактов. Малые утилиты и композиция = предок современных микросервисов и пайплайнов
- Фрагментация лечится стандартами. POSIX появился не из любви к бюрократии, а чтобы снизить стоимость переносимости
- Open‑source ≠ анархия. Сообщества выживают за счёт governance, CI, правил релизов и ответственности за интеграцию
- Лицензия - архитектурное решение. Она определяет, кто и как может вкладываться, монетизировать и форкать
- "Ядро" ≠ "продукт". Дистрибуция/SDK/пакеты/политики поставки часто важнее самого kernel

Для технических лидеров это можно приземлить на набор полезных по моему мнению советов
- Зафиксируйте "поверхность контрактов": публичные API/CLI/форматы, SLA, обратная совместимость
- Постройте конвейер принятия вкладов: code review → CI → релизные ветки → rollback
- Разделяйте владельцев: ядро/платформа vs userland vs дистрибуция/поставка
- Не верьте красивым нарративам на слово: проверяйте даты/причины решений - история любит упрощения (посмотрите оригинальный фильм и почитайте доки - составьте свое мнение)

Более подробный разбор есть на моем сайте system-design.space.

#Engineering #Documentary #Architecture #Software #DistributedSystems #Leadership
9👍5🔥2
Дискуссия с Гришей Скобелевым про подготовку к System Design Interview (Рубрика #Architecture)

Завтра, 21 февраля, в 11 часов утра по Москве мы с Гришей из клуба { между скобок } решили собраться и поговорить про подготовку к System Design Interview и про то, как я дошел до жизни такой, что собрал сайт system-design.space

Мы точно обсудим вопросы, что есть в программе встречи
• Почему книга не лучший формат для System Design
• Как меняются ожидания на интервью
• Какие ошибки чаще всего допускают кандидаты
• Что на самом деле проверяют на System Design интервью
• Как отличить «рисование кубиков» от настоящего архитектурного мышления
• Какие темы обязательно нужно понимать senior / staff инженеру

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

Встречаемся завтра c кофе ☕️ в 11:00 на YouTube

#SystemDesign #Architecture #DistributedSystems #Career #Interview #Engineering
6👍6🔥2