Лаборатория Математики и Программирования Сергея Бобровского
1.39K subscribers
1.42K photos
28 videos
1.07K links
ЛаМПовое с Бобровским
Download Telegram
.

Облако драгоценностей за неделю.

Приватный клуб.

Любимая темка: монолиты против микросервисов :) В 100500-й раз про это.
Времена, когда микросервисы были ответом на все вопросы, закончились года три назад, хотя эффект от ошибочных архитектурных решений ощущается подчас только сейчас.

Для донов-начинающих:


9 самых больших ошибок, которые совершают 98% начинающих на собеседованиях по программированию...

Чему, куда и как учиться и развиваться начинающим в ИТ в 2026-м?
Разбор сегодняшней ситуации по профессиям
+ подборка старых разборов (устарели немного лишь в технических деталях)

Я заметил такую закономерность, что чем больше человек сам планирует *заранее* свою схему обучения программированию, тем сильнее бывает его итоговое разочарование. Люди больше времени тратят на обучение кодированию, чем обучению как пользоваться собственными мозгами...

Продолжаю набор на занятия для начинающих с полного/около нуля, 6 мест закончились за 23 минуты. (я хотел только 2 человека взять, но вк затупил, не присылает оповещения; заглядываю в чат, а там... :)

Для донов-неначинающих:

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

(все старые материалы для донов быстро сгорают)


=

Новые материалы для ментатов Лаборатории.

В СильныеИдеи добавлен материал "141) 5 законов DI".
Разберём один из стратегических постов по использованию DI для классов со множеством зависимостей от гуру .NET development and architecture...

В курс карьеры добавлен 134-й материал "Чему учиться в 2026-м?" Для начинающих.

=

"ЛаМПовое":
Сериал "Дзен и искусство ухода за Arch Linux". 1. Storage Stack (уровень хранения данных)
"Гарри Поттер и Методы Математического Мышления". Глава 4. Договор с реальностью.

Мы здесь, потому что это трудно. 💪🏻

=

Вырвите свои вопросы из породившей их почвы, и вы увидите клубок спутанных корней. Вопросов стало куда больше!
ментат-дзенсуффист "Дюна"

p.s. весна заблокирована до установки всеми Макса (Макс, иди нахуй)
4327😁2
На днях говорил что
"Никто не знает, как IT будет выглядеть через 2-3 года, но я почти уверен, что роль человека точно перестанет сводиться к координатору работы множества агентов через md-файлики. Скорее ситуация будет ровно обратная: сами агенты тоже уйдут под капот, и мы вернёмся к простому чату."

и вот на эту тему уже мем появился :)

Забудьте всю эту чушь про AI, все эти agents md и skills md, и оркестровку, и планирование, и всё такое прочее. Это не имеет никакого значения, это фактически та же возня с настройкой IDE и шорткатами vim. Да, приятно что-то настраивать, и это может даже немного помочь. Но нейронки становятся все лучше, включая в себя многие агентские паттерны. Сегодняшние "хитрости" лишь отвлекают ваше внимание от грозно надвигающегося завтрашнего дня.

Сосредоточьтесь на том, что *не* меняется:

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

Ментатам я этот процесс усиливаю через формализацию, но в целом и эта схема будет давать результат в обычном чате с AI куда лучше, нежели самый продвинутый агентский фреймворк, которому по вы сути предлагаете самостоятельно додумываться до сотен нюансов, которые вы и сами не можете сформулировать даже в своей голове, не говоря уж о тексте в физическом мире :)

upd. Спрашивают, любые курсы по инженерии агентов — развод гоев? По сути 💯 , но тупой hr/менеджерский мэйнстрим хочет сегодня от каждого этот "скилл", поэтому знать его надо, а "изучать" проще на курсах конечно.
40👍11💯7
Аналитики Rankfender изучили кодовые базы 100 стартапов, которые сталкивались с проблемой масштабируемости. Схема ухода в даун в 85% были почти одинаковой :)

Месяцы 1-6: Всё работает. Быстрые релизы. Довольные клиенты. Нет времени на архитектуру.

Месяцы 7-12: Прогресс замедлился. Появились странные ошибки. Девизом стало "Исправим это позже".

Месяцы 13-18: Каждая новая фича нарушала работу трех других существующих. Деплой стал крайне тяжёлым процессом.

Месяцы 19-24: Наняли больше программистов :) Чтобы они хотя бы просто поддерживали проэкт в текущем состоянии. Про новые фичи пришлось забыть.

24 месяца: В реальности осталось только два варианта: переписать систему с нуля, или наблюдать, как она медленно умирает )))

=

Однако, попробуй-ка объяснить это своему CTO :)
Ответом будет глупенькое "тыжпрограммист" "тыжпрофессионал".
3518👍3
.

5-й сериал Programming in Large: продолжение
(на основе СильныхИдей для ментатов)

Предыдущие сериалы:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-26
4. Software Design с акцентом на Programming in Large
Кто хочет взять все пять, подождите, сделаю бандл со скидкой.

17 материалов, 79 файлов, 170 тыс. знаков чистого текста.
Цена 2,500 рублей
(завтра повысится) 2,900 рублей.

=>

Проектные требования или проектная онтология?

Прежде всего, всегда исходите из того, что "требования заказчика" всегда надо воспринимать как "фантастические представления заказчика о требованиях" :)

О пользе формальных спецификаций
Когда здесь остановиться? Как вообще правильно думать о соотношении абстрактной спецификации Abstract с нашей реализацией Impl?

Можно ли генерировать код из спецификаций?
Особенно с учётом последних достижений LLM? Нет, вы не можете это делать... Но есть и хорошие новости.

И снова про тесты и TDD
Какой бы алгоритм ни был скрыт внутри функции Foo, он полностью непрозрачен, поэтому тест не справляется со своей базовой ролью спецификации и документации...

Функциональная архитектура - что это?
Максимально простое определение функционального программирования, из которого естественно вытекает и понятие функционального проектирования...

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

Инварианты и качественный код
Понятие инварианта (некоего логического утверждения, истинного всегда в процессе работы программы, например, "скорость объекта Кот не может превышать 100 км/ч") неотделимо от качественного кода.
Идея в том, что инвариант может быть нарушен только в том случае, если в вашей программе есть ошибка.

Формальный подход к рефакторингу
Подсказка: новая версия Foo должна быть инвариантна старой по своему интерфейсу...

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

Состояние -- это время
Абстракции -- это (почти) всегда про (виртуальное) время! А мы его эксплицитно учитываем крайне редко.

Не путаем DI и ADT
В любом случае всегда надо стремиться снижать coupling, а с DI получается, что вроде как зависимости явно описываются и внедряются в классы. Но так как с помощью DI мы можем легко заменять реализации зависимостей, получается, что внедрение зависимостей через интерфейсы способствует инкапсуляции, поскольку делается акцент на использовании интерфейсов вместо конкретных реализаций...

Анти-Visitor
В предыдущих выпусках мы разбирали, насколько хорош паттерн Visitor ("Всё, что вы знаете об ООП, неверно", "Ключевой паттерн Visitor в ООП и ФП"), но и у него конечно имеется своя тёмная сторона, о которой необходимо знать...

Глобальные ошибки эмерджентности
Интеграционные и сквозные тесты дорогие и медленные, и "покрыть" ими обычно удаётся лишь малую часть пространства состояний программы. Но глобальная корректность вообще никак не следует из локальной корректности...

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

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

Как и зачем разграничивать рабочие процессы
Agile называет это гибкостью, однако в реальной работе спринты не особо помогают избавиться от бардака...

Техническая вишенка в заключение :)
Микросервисы должны умереть

=> Programming in Large: продолжение <=
328👍2👌2
Программисты общаются в слаке и жире, и затем программируют в своей ide. Где-то между этими двумя вещами контекст перестаёт корректно существовать. При каждой такой полуформальной передаче информации происходит утечка, и каждая такая утечка обходится дорого. Это стабильно растущий налог на хрупкий контекст, и ваша команда платит его каждый день.

Собственно, с чего ещё лет 30 назад начинал любой уважающий себя "консультант по оптимизации бизнес-процессов"? Прежде всего выстраивал в организации жёсткий документооборот с прописыванием ролей.

Была такая "Золушка" НТЦ ИРМ (и сейчас кстати работает, смотрю), отчёты шли на стол Лужкову, три цвета выделялись выводы, и те подразделения, кто выделялся красным, ужасно паниковали, реально )

Я откуда знаю? Писал про них статьи в 90-е, а местным пацанам немного помогал в освоении IBM Lotus Notes -- реально платформа была топчик 🔥 но потом говномикрософт 💩своим мега-баблом тотально продвинул в Россию свои "решения", как хорошо, что его больше нету, хоть бы никогда и не было больше.

...А сегодняшние тимлиды CTO CEO такие "что это?? нафиг нам не надо, инфоцыганство" 🙈

Ну ок)
😁4253
🔥 ТЫ ПИШЕШЬ КОД, НО МИР РУШИТСЯ? 🔥

Знакомо? заказчик приносит «требования», которые на поверку — фантастический роман с элементами бреда. Ты делаешь «как просили», а в проде — кот летит на скорости 200 км/ч, инварианты горят, а космические лучи добивают последние биты. 💀

ДРУЗЬЯ, ХВАТИТ ВЫЖИВАТЬ В ХАОСЕ.

Я собрал всё, что реально работает, когда программа весит не 100 строк, а 100500. Никакой магии. Только то, что отделяет сеньора-огрызка от инженера, который спит спокойно.

🟢 Почему тесты — это ложь и самообман, если не понимать одной простой вещи про непрозрачность. TDD не спасёт, если алгоритм внутри — чёрный ящик. Но я расскажу, как сделать его прозрачным.

🟢 Функциональная архитектура — не про «всё immutable». А про то, как сделать побочные эффекты ручными и управляемыми. Да-да, ФП не запрещает side effects, он их приручает. Наконец-то.

🟢 Инварианты — это не страшное слово из матана. Это «кот не едет быстрее 100 км/ч». Если нарушился — значит, у тебя баг. И точка. Я покажу, как ловить такие нарушения на Берегу.

🟢 Рефакторинг по-взрослому: новая версия функции не имеет права ломать старый интерфейс. Звучит банально? А теперь добавь сюда время, состояние и абстракции — и получишь настоящий ад. Или дзен. Смотри внутрь.

🟢 ООП как способ повторного использования? Мечта, которая превратилась в кошмар. Мы не просто не решили проблему — мы ещё сильнее запутались. А DI и ADT путают все подряд. Я распутаю.

🟢 Visitor — мощный, но опасный. У него есть тёмная сторона. Я её покажу. И да, анти-Visitor существует.

🟢 Глобальные ошибки эмерджентности — это когда каждая деталь работает идеально, а вместе — полный разнос. Интеграционные тесты дорогие, юнит-тесты бесполезны. Как выжить? Есть способ.

🟢 Исключения: «просто не вызывайте функцию с пустой коллекцией» — это ответ джуниора. А что делать, когда таких вызовов тысячи? Ответ внутри.

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

ЭТО НЕ ТЕОРЕТИЧЕСКИЙ ТРЁП.

Это хардкорная польза без воды. Ты перестанешь гадать «а правильно ли я строю архитектуру?» и начнёшь просто брать и делать. С инвариантами, явным временем, управляемыми эффектами и без страха перед эмерджентностью.

💰 Цена — как чашка кофе (с пироженкой). Польза — экономия нервов, дедлайнов и карьеры.

(силлабус гайда)

Ставь 🔥 если тоже ловил кота на скорости 200 км/ч.
И переходи по ссылке — там твой новый уровень работы с большим кодом.

🚀 Жми сюда: Programming in Large: продолжение

После 11:59 по Гринвичу я закрываю доступ к гайду по текущей цене 2,500 рублей, и через минуту верну его обратно за 999 999 999 долларов. Шучу, не так уж и много. Но, вероятно, примерно вдвое больше.
😁34❤‍🔥106🔥6👍2
AI-компании абсолютно не стремятся к научному прогрессу на благо человечества, а строят мировые империи для извлечения прибыли и захвата тотальной власти, используя риторику об AGI как стандартный развод гоев.

Следите за руками.

1. Определение AGI меняется в зависимости от аудитории. Нам рассказывают, что это чудо-помощник и автоматический программист; инвесторам -- что это проект с доходом $100 млрд; правительству -- что это спасение от рака и бедности.

2. Бумер Сэм Альтман в своё время уволился, потому что внутри компании бумеры (ускорение разработки AGI) воевали против думеров (сторонники безопасности). А вернулся (вернулась:) Альтман потому, что безопасники вдрызг проиграли.

3. В Кении, на Филиппинах и т.д. работники за копейки размечают травматичный контент (насилие, жестокость), чтобы ЖПТ выглядел безопасным.

4. ЦОДы потребляют огромное количество воды и электричества, вызывая протесты от Чили до Аризоны.

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

6. Судьба разоблачителей.

Сучир Баладжи найден мёртвым после публичной критики OpenAI, где работал исследователем.

Миранк Шарма (экс-руководитель отдела AI-безопасности Anthropic) уволился, заявив, что "мир в опасности", и сейчас получает PhD в поэзии.

Том Каннингем (бывший экономист и дата-сайентист OpenAI) уволился, обвинив компанию в превращении отдела экономических исследований в "пропагандистский рупор" (систематическое замалчивание внутренней критики и превращение исследовательских отделов в инструменты PR, когда речь заходит о негативных социальных или экономических последствиях AI).

Таких примеров множество.

=

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

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

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

75% предприятий малого и среднего бизнеса в любимой Российской Федерации бедствуют без средств для развития, при этом прибыль банкиров составляет 3-4 трлн рублей ежегодно.

"Ни штатно, ни валко": "В 2025 году банки перешли к сокращению численности сотрудников... в отдельных случаях снижение численности доходило до 40%.... В Сбербанке указали на «системную трансформацию бизнеса» через последовательное внедрение автоматизации и AI-решений в деятельность компаний..."

Думайте.

"Счастливы наши близкие, умершие раньше нас."
-- Александр Сокуров, "Записная книжка режиссёра" 2026
1🤯32109🤔4👍3
Про инди-хакерство.

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

Typeform, компания стоимостью в миллиард долларов - это всего лишь HTML-оболочка. Cursor - это GPT-оболочка. Любой создаваемый вами информационный продукт связан с платформой, на которой вы его создаёте, и когда искусственный интеллект станет неотличимым от облачного решения, каждое программное обеспечение в интернете станет оболочкой.

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

Ваше преимущество не в том, что вы делаете то, чего не может сделать искусственный интеллект. Это проигрышная игра. Ваше преимущество в том, что вы делаете с искусственным интеллектом то, что только вам пришло бы в голову делать. Искусственный интеллект делает профессиональные человеческие знания более ценными, а не менее!

Я например придумал, как завязать способности и знания AI по математике и cs на мой опыт и ум так, чтобы оказывать уникальные консультации по функциональным архитектурам, когда я по неким методикам, которые никому не показываю (лайт-версии впрочем ментатам доступны) беру на вход некую архитектурную проблему, и выдаю несколько достаточно "оптимальных" вариантов решения, не имеющих аналогов в мэйнстриме. Условный PhD по математике с хорошими архитектурными знаниями (что по большому счёту крайняя редкость даже в мире в целом), конечно, тоже вполне может придумать что-то подобное :)

=

Искусственный интеллект сделал всех быстрыми. Любой может создать курс. Любой может написать контент в блог. Любой может скопировать что угодно и кого угодно.

Но очень немногие люди не поддаются копированию. Очень немногие люди потратили десятилетия на то, чтобы развить настолько тонкий вкус, что никому и в голову не придёт пытаться копировать нюансы и детали, благодаря которым это работает.

(это, конечно, не тончайший намёк на меня :) скорее это намёк на мою симуляцию намёка, которая удалась лучше, чем я сам)

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

Проводил сегодня набор мидлов-сеньоров в Лабораторию, за две минуты записалось 7 человек: я даже не успел набор быстро закрыть, хотел только двух ребят взять. Ну и куда мне столько? Не представляю, когда теперь следующий набор неначинающих будет (предыдущий был более года назад...), возможно, теперь только в 2027-м. Впрочем, мне больше нравится вариант бесконечно ужесточать правила занятий, чтобы быстрее выпиливать любого, похожего по утиной типизации на слабомотивированного :)

Но к сожалению, в целом мои возможности сильно ограничены физически, и чем дальше, тем уже будет только хуже (никаких помощников или партнёрства не будет в Лаборатории принципиально); как вариант, читайте гайды по СильнымИдеям.
26❤‍🔥104👍1
Сегодня самые низкие ставки, которые когда-либо были, и скорее всего что когда-либо будут, в плане создания своего IT-бизнеса. Особенно если вам 20-25 лет.

В любом случае, вы либо добьетесь успеха (2%), либо приобретёте ещё более интересный и впечатляющий опыт (98%), чем если бы вы просто работали с 9 до 18. Пока всё, что вам это стоит --только время и усилия, которые в ваши 20+ лет стоят дёшево. Неудача в таком возрасте также даёт вам значительно больше времени и настроя на то, чтобы собраться с мыслями и начать всё заново, чем неудача в последующие десятилетия вашей жизни, поскольку с возрастом цена неудачи становится сильно больше.
Для меня например сейчас неудача будет означать абсолютный жизненный крах :)

Каждый инди-хакер должен публично рассказывать о том, что он создаёт, поскольку произойдет одно из двух, и оба варианта хороши:
А) то, что вы создаёте, становится успешным, и в этом случае рассказ об этом -- отличная реклама;
Б) то, что вы создаёте, терпит неудачу, и в этом случае вы понимаете, что всем на вас пофиг и абсолютно наплевать, и это побуждает вас пробовать что-то новое и не обращать внимания на чужое мнение.

...и однажды те же самые люди, которые сегодня называют вас глупыми, однажды спросят: как ты это сделал??
53
Гарри Поттер и Методы Математического Мышления
Книга 1. Гарри Поттер и Неорганический Интеллект.
Глава 5. Правила сборки мира.

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

p.s. Это просто праздник какой-то!!1 Мы ждали HoMM 8 10 лет!
Моя продуктивность вот-вот взлетит до небес:
вышла Heroes of Might and Magic: Olden Era

Я приписываю 90% того, что сделал в жизни, любви к играм ❤️
46🔥2
Ну, с Днём Труда!

А вы что, сейчас реально не работаете (на себя)??

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

=

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

База: вам придётся существенный объём ресурсов (время деньги) вкладывать в маркетинг продвижение продажи рекламу. Такого чтобы сделал продукт - написал о нём пару постов в соцсети - и набежали покупатели, не может быть в принципе.

Ты будешь обречён на дорогой внешний трафик.

В любом бизнесе три ключевые проблемы:
где взять клиентов
где взять клиентов
где взять клиентов

:)

Даже в Стиме куда выкладываешь свою игру, есть мощные внутренние алгоритмы продвижения, но они работают только когда ты приводишь внешней рекламой людей на страничку игры, и они её активно добавляют в вишлисты. А если конверсия плохая, то быстро деградируют её. И также по сути в маркетплейсах наподобие плагинов для VS, думаю что и для SaaS есть свои МП. А что толку?

И это плохая новость: если хотите идти классическим путём "делаю свой сервис/продукт", вам придётся гораздо больше чем разработкой, заниматься темками продаж, что программисты традиционно очень не любят. И даже если переступите через себя, столкнётесь с множеством других нюансов. Например вы будете неприятно удивлены когда узнаете что сегодня минимальная цена одного папищека в Максе с рекламы -- 100 рублей.

Хорошая новость что например в VK клиентов дохуа (и уже и в Максе, пока правда в мягких женских нишах - кулинария фитнес ноготочки здоровье эзотерика), десятки (если не сотни) тысяч заказов каждый день только через рекламные агентства проходят. А запустить рекламу там 10 минут. Всё работает так же как и 10 лет назад, просто теперь гоев клиентов надо прогревать не днями/неделями, а месяцами, больше касаний требуется.

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

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

Из сегодняшнего чата (сеньор), вот прям под это напрашивается! :)

"...на вторую работу выхожу с понедельника.
Также продолжаю ходить по собесам, остался финал в * и * + финал в (ВОТВАСЯ-1).
За это время сами написали два тимлида, с которыми успел поработать в (ВОТВАСЯ-2), зовут к себе теперь в другие компании)"
1👍3177❤‍🔥3
Первым шагом к решению 98% ваших жизненных проблем станет покупка абонемента в тренажёрный зал или на ММА. Пишите хороший код, поднимайте тяжести, и занимайтесь борьбой
(хоть ты боксёр хоть каратист но для борца ты лишь артист),
и всё в вашей жизни станет чётко.
1🏆4713😁10😇2🐳1
Циклополитоп (cyclic polytope) -- яндекс да и гугл выдают всего одну ссылочку на ВШМ МФТИ :)
(выпуклый многогранник в многомерном пространстве, который строится особым образом (все грани -- симплексы (треугольнички)) и обладает рядом замечательных уникальных свойств).

На первый взгляд вроде фиговинка фиговинкой )

Ну это потому, что для нашей размерности 3 циклополитолоп тривиален; вся круть начинается на высоких размерностях.

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

А так как по Upper Bound Theorem (максимизация числа граней) паттерн матчинг с алгебраическими типами даёт полиномиальный рост от числа конструкторов типа (наихудший случай), через функторы сворачиваем многомерную структуру в обобщённый обход (fold/traverse) "циклополитопа" вместо явного перечисления всех "граней" поведения.

Получился такой оригинальный взгляд на классические функциональные паттерны, поясняю ментатам в Функциональных архитектурах, уже доступно.
41🤯10🥰4🤔1
А вы что, сейчас реально не работаете (на себя)??

Абсолютный секрет успеха в инди-хакерстве, о котором вам никогда не расскажут "ссаные кураторы" на онлайн-курсах, а только гуру :)

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


Трудно объяснить, насколько больше мотивирует работать на себя, а не на дядю. Компании вознаграждают сотрудников, которые явно преуспевают, в лучшем случае через год (и то если вам повезет, и то максимум на 15%), в то время как работая на себя, вы можете пожинать плоды мгновенно.

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

Ну или идите ко дну и при этом побольше нойте о своих уникальных проблемах -- с работой, с девушкой, со здоровьем бла бла бла.

Чем комфортнее вам сейчас, тем менее комфортными вы будете в будущем. Стремитесь всегда к дискомфорту. Жизнь становится намного интереснее, когда ваша склонность к ответственному риску возрастает.

Сун Сан (78-й учитель в линии передачи учения от Будды) любил повторять нерадивым: «Тогда я ударю вас своей палкой тридцать раз!»
408🐳4
Ментаты кто занимается по треку "Элитный программист", в частности по Monk Mode, нередко жалуются, как тяжело расстаться со смартфоном. Сильно тянет проверить уведомления, "залипнуть в соцсети" и т.д. Сейчас в частности готовлю следующий материал "Физика высокой продуктивности", где эту тему рассмотрим. Тут много всяких вариантов и трактовок, я например использую такой простой лайфхак, что заглядываю в некоторый интересненький канал в телеграме, только когда в нём набирается достаточно много сообщений, мягкий вариант - 10. В результате из многих десятков каналов, которые я раньше постоянно сканировал, за день ну может быть десяток однократно просмотрю, это 10 минут. Но при этом в телегу можно заглядывать уже с целью "не набрался ли где-то десяток", чтобы дать мозгу иллюзию что всё так же под контролем :)

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

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

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

Недаром йоги первой базовой практикой дают сидячую медитацию: посиди хотя бы полчаса спокойно, но не думай о проблемах и внешнем мире, а попытайся наоборот ум успокоить так, чтобы он помолчал. Для западного человека даже 5 минут побыть так с самим собой в молчании, страшное испытание :)
Некоторые мои знакомые всю свою жизнь забивают непрерывной активностью, чтобы буквально ни на минуту не остаться в покое и тишине и помолчать, абсолютно экстравертированы. Но искать опору во внешнем мире -- самая хрупкая схема из всех возможных, мир обязательно обманет...

Понаблюдайте за собою и увидите, что большая часть времени проходит у нас именно в пустомыслии и блуждании мыслей.
Свт. Феофан Затворник
448👍4🙏1🐳1
.

Облако драгоценностей за неделю.

Приватный клуб.

Факты 20206-го года: рынок ИТ серьёзно обострился, и больше нету смысла рассказывать красивые сказки про микросервисы. Компании начали без стеснения делиться историями о том, как они "вернулись к монолитам".

Для донов-начинающих:


Многие начинающие разработчики думают, что они разобрались в бэкенде, едва смогли написать несколько эндпоинтов на Django или Spring.
Вы возвращаете какой-то JSON, возможно, подключаете базу данных, и вам кажется, что вы можете идти работать джуниором.
Но самое сложное начинается только тогда, когда появляются реальные пользователи, и ваш сервер должен обеспечивать соблюдение бизнес-правил...

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

Для донов-неначинающих:

Возобновляю спустя год набор на занятия для неначинающих (миддлы сеньоры), 7 мест закончились за 2 минуты.

86. Дополнительная сложность -- мать всех запашков кода
Суть качества кода заключается в чистом выражении заложенных в него идей. Чтобы создать код, который достигнет такого уровня и такого качества, я должен понимать суть проекта до весьма небольших деталей так же глубоко, как и его автор. Поможет ли тут самый продвинутый AI?

Продолжение трека "Элитный программист":
37) Как справляться с некомпетентными новичками
К программистам придираются далеко не только нетехнические менеджеры и офисные начальники. Я уже сбился со счёта, сколько раз наблюдал, как опытные программисты возмущаются глупыми ошибками, которые допускали младшие разработчики. Но это тоже ситуация, с которой можно справиться, взяв ответственность на себя.

(все старые материалы для донов быстро сгорают)


=

Новые материалы для ментатов Лаборатории.

В СильныеИдеи добавлен материал "142) Анализируем твои правки алгоритмически".
O(N) принято рассматривать в первую очередь для оценки производительности алгоритмов. Однако почему бы не расширить область применения этой оценки непосредственно на архитектурные вопросы?

В курс карьеры добавлен 135-й материал "Как сеньора едва не выжили из Microsoft"
Мои менеджеры среднего звена однажды предложили уволить меня, а я узнал об этом лишь через несколько месяцев после того, как это случилось...

В раздел "Элитный программист" добавлен материал
93) Физика топовой продуктивности - 4
...Тринадцать часов спустя, добавив к своей стопке ещё одну книгу, Стивен Котлер встал, пошёл почистить зубы, и отправился спать. Он прочитал три книги от корки до корки.
На следующее утро он рассказал мне о прочитанном, и его память была поразительной. Он видел закономерности, которые невозможно было увидеть без такого длительного погружения.
Deep work -- это длящиеся и длящиеся и длящиеся часы чистого фокуса...

=

"ЛаМПовое":
Дзен и искусство ухода за Arch Linux.
3. Display Protocols детальнее.

"Гарри Поттер и Методы Математического Мышления".
Глава 5. Правила сборки мира.

=

Лаборатория идёт со скоростью самых лучших ментатов. 💪🏻
(продолжаю бесконечное ужесточение правил занятий :)

=

В этом и состоит ценность ментатов: паттерны и система, всё это выстраивается в цельные блоки.
"Капитул Дюны"
362
Просили пояснить за инди-хакерство, что это??

Вначале был VS Code + Copilot, созданные огромными коллективами Github + Microsoft.

Затем Copilot был побит Cursor-ом, созданным командой, составлявшей примерно 1/100 от численности создателей Copilot.

Затем Cursor был побит Claude Code, который был создан двумя программистами Anthropic, чья команда по сей день насчитывает около 20 человек.

OpenClaw был создан Питером Стейнбергером соло.

Это оно.
👍416🐳3
Ну, с Днём Шифровальщика!
йухан иди скам

Миллиардер Алекс Карп (CEO компании Palantir, которая разрабатывает софт для ЦРУ, АНБ, ФБР, Пентагона, Европола, топ банков итд.), на днях заявил:

В эпоху ИИ выживут только две категории людей:

1. Люди с рабочими профессиями (электрики, сантехники) — их труд сложно автоматизировать.

2. "Нейроотличительные" люди (дислексики, СДВГ, аутисты, глубокие невротики вроде меня :) - они мыслят весьма нешаблонно и хм довольно странно, периодически привлекая внимание санитаров.

Традиционные нормальные навыки и элитные дипломы обесцениваются. Главным активом становится когнитивная гибкость и буквальная неспособность следовать готовым сценариям.

Palantir запустил под это две стипендиальные программы:
Neurodivergent Fellowship (до $200 000/год), получено 2000 заявок за считанные дни.
Meritocracy Fellowship (для вундеркиндов без образования, стипендия $5 400/месяц).

На мой взгляд Карп тут просто придумал очень классную стратегию найма самых умненьких (доступ к талантам без длительных университетских программ за небольшие по сути деньги). Например, их программа "для гениев без дипломов" всё равно требует набора вступительных баллов :)

Микроговнософт раскритиковал Карпа, что дескать если нейроотличительность так ценна, то почему её активно ищет лишь Palantir? Ну, уровень хрюш даже из FAANG мы все хорошо знаем, потрясающий уровень некомпетентности и зашоренности :) Это как раз показатель, что Карп сам шибко умный реально, раз придумал так пылесосить по всему миру таких "суперов".

Посмотрел в первом приближении текущие проекты Palantir -- ну как бы когда такой масштаб, немало вещей трудно скрыть, и многое уже достаточно прозрачно читается между строк. Хочу попробовать похитить у Карпа ключевые смыслы )))
(пока ещё работает впн...)

Потому что их темки во многом перекликаются с тем, что я делаю в Лаборатории, технологии тройного назначения (какое третье? напишу скоро пост).

Ну например Карп утверждает, что DoD IL6 (золотой стандарт безопасности для подрядчиков американских спецслужб и министерства обороны нападения), чисто инженерный подход, отмечу, считается строже и значимее по качеству, чем формальные доказательства в том же Lean 4, причём пруф-ассистентами Palantir не пользуется принципиально. Почему? Думаю, это просто развод гоев-госзаказчиков. Когда у тебя в Palantir тысячи микросервисов (ахаха, развели козликов на модные технологии :) и многие тысячи деплоев каждый день, до какой же здесь формальной верификации :)

И вот если похитить из этого подхода ключевые фишки.... Например, их ключевая абстракция -- Ontology, где пытаются устанавливать связи в "грязных", неполных, противоречивых данных с нестрогой семантикой (в основном через вероятностное entity resolution). Глубокий поиск связей мне неинтересен (ну или задонатьте миллион, и формализую эту темку:), а вот по онтологиям, сейчас как раз на Функциональных архитектурах развиваю модуль "Математика DDD", близко к Palantir-у, где каждое бизнес-понятие ("Клиент", "Счёт", "Шпион") -- Object Type с чётко определенными Property Types и Link Types.

Так вот, как раз HoTT предлагает мощный математический аппарат (и по сути "язык программирования") с унивалентностью для описания таких сложных структур тождественности. Она даёт теоретическую возможность залифтить изоморфизм между реализациями (с учетом высших гомотопий) до тождества типов в модели!!1 А сейчас Type Mapping в Palantir делают в основном вручную.

Надо будет дальше "порассуждать письмом" как следует на эти темки. Порву Palantir как тряпку :) Посмотрите кстати евоный гитхаб, немало полезняшек (классный линтер для TS например).

А мы так можем? А мы зато можем заблокировать гитхаб.

В целом, у них есть мощные подходы конечно, например как инженерно верифицировать выдачу искусственного идиота (AIP Evals). Хотя, думаю, моя методика формализации DDD тут будет как минимум не хуже. Ментатам буду пояснять на индивидуальных консультациях, и в гайде ФА.

Ты ещё на коне и в расцвете зла
Всё мечтаешь о жизни новой...

(послушать)
39🔥9👍8🐳1
Шок! Наконец доказана легендарная гипотеза Зарембы (1971), на основе работ российского математика Шкредова.

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

Но у тру-математиков считается зашкваром, если пытаешься из теоретической статьи вывести что-то "прикладное полезненькое" :)

Команда из Математического института им. В.А. Стеклова РАН под руководством заместителя директора по научной работе члена-корреспондента РАН Сергея Олеговича Горчинского с сентября 2026 года открывает новую группу бакалавриата воспитания будущих математиков в стиле эпохи Возрождения.

...поток М++ открывается на базе Факультета компьютерных наук ВШЭ, он рассчитан на студентов, желающих трудиться и заниматься настоящей математикой – серьёзной, абстрактной, теоретической, …, а не её приложениями.
❤️

При том, что ...

...Цены на обучение в ведущих вузах Москвы резко выросли. В МГИМО минимальная стоимость составляет ₽710 тыс. в год, максимальная — почти ₽1,35 млн, в МФТИ программ дешевле ₽1 млн нет. В НИУ ВШЭ обучение по ряду направлений также стоит около ₽1 млн, при этом максимальные скидки для первокурсников снижены с 70% до 25%

(Я кстати уже несколько лет цены не повышал и не планирую. Художник должен быть голодным :)
👍33❤‍🔥963🐳1
Продолжаю работу с ментатами 🤓

Есть большая уверенность что с AI DSL подходом из откровенных моделей-болванчиков можно вытащить много толка, а если это уже и не болванчик, но что то типа gemma 4 да еще и с SO – чтобы генерировало json в рамках сигнатур DSL... Ну слов нет, Сергей Игоревич, это просто абсолютная SoTA.
(это про гайд "Функциональные Архитектуры")
...Прогрев гоев на микросервисы – таки да! Микросервисы с самого начала (через хайп кубернетиса) были скамом на вычу, чтобы греться на откровенных дураках. Сейчас хайп на AI но скам на микросервисы долго еще будет кормить, потому что куча больших компаний которые уже залезли в это, и вылезут очень не скоро.

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

В тему например отзыв другого ментата по ФА:

В тикете, над которым я работал, нужно было собирать результаты нескольких асинхронных задач, а если какая-то из них не успевала ко времени - использовать значения по умолчанию... Для каждой ветки нужно отдельное поле - явное изменяемое состояние, которое может редактировать кто попало.
Проект на С++, корутины мы не используем.
Пусть есть колбек, который вызывается при завершении всех задачи и собирает их результаты:
(A, B, ...) -> ()
Моя функция создаёт для каждого из агрументов общего колбека отдельный колбек под завершение каждой задачи:
F: ((A, B, ...) -> ()) -> (A -> (), B -> (), ...)
Никаких полей с явными состояниями - только передача значений.
Коллеги на ревью говорили, что это сложно, но мои аргументы их переубедили: улучшенная читаемость и простота добавления новых асинхронных задач.

=

Ввожу предусловие для моих консультаций: пройдите сперва "Функциональное проектирование" и изучите гайд "Функциональные архитектуры".

Сделайте прежде всего нормальную систему типов, которая должна быть следствием из ваших Bounded Contexts!!1
336❤‍🔥3🏆2