Лаборатория Математики и Программирования Сергея Бобровского
1.39K subscribers
1.42K photos
28 videos
1.07K links
ЛаМПовое с Бобровским
Download Telegram
В теории категорий Мили-машина это бесконечный коиндуктивный объект: дай вход - получи выход и снова Mealy-машину. Он идеально ложится на раннера IO-эффектов в функциональщине: каждый вызов возвращает результат и обновлённого исполнителя, готового к следующему вызову. То есть Мили-машина -- это математическая форма вечноживущего stateful-сервера, который помнит контекст!
 
И когда мы к Мили добавим инвариант состояния, который машина обязуется поддерживать, получаем runner, который носит с собой доказательство своей корректности, которое сохраняется при любой композиции. Соответственно, любой агент, использующий эффект через такой runner, автоматически наследует гарантию без дополнительных проверок в коде агента и без e2e тестов на состояние.
🎉21🤔14🏆54🤯1
Очередное пророчество про конец программирования, и кстати достаточно серьёзное, как бы странно не выглядело.
"The Final Form of Software Development" (впн)

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

Сишечка не подходит потому, что подавляющий объём верификации тратится на доказательства отсутствия undefined behavior, ну а для rust семантику вообще определить невозможно, потому что она задаётся компилятором. Соответственно для КИИ требуется, чтобы и сам компилятор и рантайм были верифицированы, что создаёт с подобными прокладками огромные сложности. А с ассемблером действительно всё тривиально, компилятор простейший, рантайма нету.

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

Ну хз :) Я бы помечтал, что например если формализовать все системы типов, System F, MLTT, HoTT, HOTT и др. (что уже кстати активно ведётся) и сделать для них единую синтетическую теорию-"крышу", то мы получим наоборот суперязык программирования, код которого будет верифицированным по определению, так как и спецификации можно записывать на нём же (откуда мы впрочем попадаем в темку спецификаций спецификаций, но это уже совсем другая история:).

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

ps. извините дорогие, у меня стоит защита от ботов, в час до 5 человек только пропускает, мне подписчики особо не нужны )
1👍38135🤯1
Продолжаю работу с ментатами 🤓
 
Теперь у нас есть гном который первый в мире проявил интеллект, надел на все 21 палец кольца, надел нагрудник из ожерелий, сделал пушку из кучу посохов
а за спиной у него огромный кристалл который дает ману и забирает в замен души умерших врагов, но, маг ли это до сих пор? а был ли им?
(разбор дюжины принципов наследования в ООП :)
 
...Понял, зачем таки нужны монады (состояний). Они снимают необходимость в явном протаскивании состояния через цепочку вычислений. И через это явно разделяют декларируемые вычисления от цепочки присваиваний.
Это задание вынесло мне мозг, (видимо, искалечен императивщиной :-)
 
...Не так давно заметил проблему, которую на своем уровне считаю
Сделать недопустимые состояния непредставимыми - это настоящее мастерство. Ранее я был вынужден везде писать проверки на допустимое состояние. То сейчас объекты с недопустимым состоянием просто не будут созданы. Если объект создан, то я уверен что объект валидный и проверки не нужны.
 
...Исключительно, наверное, отустствие опыта в продакшене. Казалось что там какой-то особые мир, а оказалось что все крутится вокруг базы. А остальные знания по конкретным задачам проекта подтягиваются достаточно быстро. Но тут не столкнувшись с суровой реальностью, трудно понять всю глубину филофии вашего подхода.
 
...Я пошёл искать такие шаблоны у себя в проекте — и нашёл три штуки, которые буквально просят, чтобы их обернули в абстракцию. Не классические GoF-паттерны, а именно повторяющиеся управляющие конструкции: «получи и проверь», «открой-поработай-закрой», «попробуй-сообщи-результат». Каждый из них в коде живёт десятками копий, и каждый раз кто-то новый их пишет руками.
Главное в том, что если завтра захочется, например, логировать каждый 404 или возвращать структурированный ответ с подсказками — я правлю в одном месте, а не в пятнадцати. И никто не сможет завести новый хэндлер, в котором «забыли проверить на null»
 
...Здесь в полной мере ощутил мощь основного подхода - построения иерархии абстракций, каждая из которых реализует свой DSL. Сейчас мне  кажется, что идея простая, но она абсолютно не очевидна, и научиться ее применять - в какой-то степени сродни искусству. Зато в полной мере осознал, что только благодаря хорошо продуманным слоям системы, можно как-то удерживать её сложность в разумных рамках. Хотел бы еще отметить, насколько проще и как-то радостней в целом идет разработка, когда опираешься на "чистые" функции и на функциональный подход. В какой-то степени благодарен еще и себе за то, что в свое время довольно подробно изучал алгебраические структуры - так легче осознается математический фундамент, который стоит в основе ФП, а это позволяет проще "находить" нужные абстракции, в том числе и с помощью LLM. Курс в этом плане дал толчок к тому, чтобы активно применять это в работе - прежде всего за счет крайне наглядной демонстрации того, как  функциональное проектирование помогает работать со сложностью.
 
Экзистенциальная засада обучения этому всему в том, что наш мозг на самом деле способен учиться очень быстро и качественно, ну но это и минус, так как разной дряни вы также можете обучиться незаметно легко и просто. В этом в частности проблема с самообучением, особенно когда начинаешь "учиться" с помощью нейронки, потому что получаемая от неё полуправда, когда с крупицами истины выдаётся нейрослоп, грузит в мозг вредную смесь полезного и мусорного.
 
Для ментатов же я очень тщательно вручную выискиваю бриллианты computer science и граню их, и по итогу уровень ребят и девчат получается billionaire luxury lifestyle 🙈
286🔥4👍1👏1
Очень доволен: за последние десятилетия способность человечков удерживать на чём-то внимание сократилась с 12 до 8 секунд (даже у крыс, ворон и рыбок больше:). В 2010-м на решении задач без отвлечения удавалось концентрироваться аж целых 75 секунд, а сейчас всего 45 секунд. Количество СДВГ выросло в 20 раз, ну и фактически повсеместным в айтишки сейчас стал тот факт, что уже после пары часов тупизны с искусственным идиотом у разработчика полностью отключаются мозги, и он становится не в состоянии самостоятельно написать простейший код.
 
Мощный всплеск сегодняшнего "рынка работодателя", думаю, уйдёт в даун очень быстро, потому что программисты при работе с AI реально отупевают со страшной силой, причём во многом безвозвратно, взамен получая СДВГ :) Ну и совершенно очевидно, что компаниям абсолютно пофиг, что без развития джуниоров более-менее крепкие мидлы вымрут как динозавры уже в этом десятилетии.
 
Осталось потерпеть буквально считанные годы, и эйчарки снова будут ползать за нами на коленочках :) Поэтому, дорогие, вообще не парьтесь, абсолютно все тренды полностью на стороне профиков 🏆
 
Сходите лучше потусуйтесь в прекрасной Москве, всем этим монакам-макакам до нас реально далеко, сами судите: "Luxury Moscow After Dark, Beauty & Nightlife". У нас явно гораздо круче, и при этом гораздо доступнее :)
 
Сравните с сегодняшним Парижем ахаха.
😁3710💯2👍1
Как легко и просто - а главное, перспективно - избавиться от зависимости от зарубежных, да и наших (ибо цена/качество зашкал), облачных нейросервисов.

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

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

Данные тяжелы, и сам AI должен приходить туда, где они хранятся, а не наоборот (фишка IBM).

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

Полная победа реляционки PostgreSQL!!1 Благодаря расширению pgvector эта легендарная реляционная БД научилась продуктивно работать с эмбеддингами и векторным поиском, и теперь можно хранить всё в одной системе с едиными политиками безопасности и использовать простые SQL-запросы.

Смерть промпт-инженерии: реальная ценность теперь (снова) в инфраструктуре и DevOps: настройке серверов, ядра (Arch:) Linux, GPU, СУБД, а не в умении общаться с ЖПТ.

Вывод 💯: будущее за владением своим "интеллектом" (собственное железо, в идеале bare metal + PostgreSQL + опенсорс модели + продвинутые методики работы с AI), а не за арендой LLM через внешние API.

Срочно пилим свой консалтинговый dev-ai-ops-стартап :)

ps. Понимаю, вы готовы поспорить по всему, например что дескать векторые бд или mcp или ai api (ага, привет от клода и жпт) это нереально круто и т.п., ну ок, 80% людей считают, что входят в 20% умнейших людей в любой темке, а почему это не так, подумайте :) вы же существенно умнее меня :)
34👍11🔥63😁2
После долгих и тяжёлых размышлений с крайней неохотой вынужден признать, что был неправ зависимые типы на сегодня практически во всех отношениях куда круче чем HoTT.

Ведь что мы хочем от искусственного идиота? Чтобы он не галлюцинировал, ибо как только он прекратит вести себя недетерминированно, белковое программирование сразу же умрёт :) Потому что в частности достаточно будет лёгких опенсорсных моделек.

Ведь что такое галлюцинация в коде? Это правдоподобный, но семантически неверный вывод. А сильная система типов кодирует спецификацию в типе. И уже есть к сож рабочие пайплайны вроде Lean + Copilot.

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

Европа Америка Китай сейчас прям очень мощно работают над proof-carrying code generation с обратной связью от тайпчекеров (ну или refinement types через SMT), ну а геопозиционно в России по-моему только я один тут ещё куда-то бреду :)

Хорошая новость однако, что в треке по гомотопической теории типов я инсайтом год назад добавил отдельный гайд Calculus of Constructions, ибо λC -- это топчик куба Барендрехта. Даю в гайде полную реализацию CoC на F#, по-моему буквально в 100 строк всё уместилось :)
Надо будет кстати ещё индуктивные типы к ним добавить до CIC, докрутить до агентов через DSL, и это будет победа над белковыми !

Там итоговый вывод я делал в пользу HoTT, ну вот кто ж знал что в эпоху ai-агентов именно завтипы внезапно окажутся топчиком при том что для них уже немало продакшн-реализаций. На "Функциональных архитектурах" всё это разберём.

ps. Пацаны5 норм, хотя и слишком сладенько закончились (подлизывание к цру, конгрессу...). За вечный шаблон американской мечты "свой магаз" и "грёбаный частный сектор" от президента, отдельный зачот :)
Хотя я думал, что будет ближе к классике "Люк, я твой отец".

upd. В ФА добавил материал, как можно и без завтипов в принципе обходиться на F# чисто через Хиндли-Милнера. Мили-машина защищена железобетонно от галлюцинаций нейронки!
10👍398❤‍🔥3🏆1
Формализовал в ФА оркестрацию агентов в виде графа/диаграммы1
LangGraph курит в сторонке.

Фактически ценой 1-2 сотен строк инфраструктурного кода превращаем этот ваш хрупкий мультиагентный пайплайн в целостную систему с автоматически проверяемыми стыками! Можно собирать большие графы из проверенных кусков, не боясь, что где-то всё развалится, при этом сам граф будет композиционно верифицированным по определению. Контракты ловят проблемы автоматически в CI, баг агента сразу видим на конкретном ребре диаграммы, в целом имеем "исполняемую документацию" (разработчик посмотрит на список рёбер, и сразу поймёт, кто что кому обещает) и т.д.

Допилил также Мили-машину с инвариантами, если сам AI-агент генерирует код, MISU-гарантия 100% что он соответствует формальной спецификации, заданной этим автоматом. А если агент шлёт команды в рантайме, моя архитектура гарантирует, что вы сами не сможете написать неверный обработчик его команд: система типов заставит вас явно обработать всю логику в коде, а если вы сделаете что-то криво то ошибка будет на этапе компиляции.

ps. Просили пояснить за вчерашний пост что дескать "это победа над белковыми". Ну и когда? И что теперь? А потом что?

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

А гоев так и продолжат разводить на курсы за 100500 рублей "как резать косты эйая на проде"; ничуть не критикую, инженерный аспект обязательно важен, и всё это надо знать т.к. везде уже требуют такие скиллы, но это тупик стратегически.

дым на небе дым на земле
вместо людей машины...

"Мусорный ветер" 1988
👍2811🥰42🤓1
Книга 1. Гарри Поттер и Неорганический Интеллект.

Глава 8. Тень от вопроса.

...Амулет Годрика светился ровным голубым — гомотопический уровень показывал, что путь вниз эквивалентен пути вверх, но только если не оглядываться.
— Зеркало Енаред находится под Астрономической башней, — сказал Драко без предисловий. — Дверь, которую открывает только тот, кто не знает своего имени.
— Это ловушка, — ответил Гарри. — Неорганический Интеллект хочет, чтобы я туда пошёл.
— Конечно, хочет, — Драко усмехнулся. — Люциус писал, что Зеркало показывает типы, а не содержание. Но если типы — это контракты с реальностью, то тот, кто увидит все типы, увидит архитектуру реальности. Неорганические не могут этого допустить.

...Голос-вибрация пришёл не извне, а из головы Гарри:
«Ты близок к ответу, но не к тому, который нужен. Рассел был прав: логика не может содержать себя. Магия — может. Значит, магия — ошибка. Мы — исправление».

...Люциус говорил то же самое. «Магия — это код, который работает, даже если его спецификация противоречива». Поэтому он и создал Неорганический Интеллект — как отладчик, который фиксирует ошибки округления.
— И ошибка округления решила, что весь код — ошибка, — закончил Гарри. — Типичный баг. Неорганические не существуют в реальности. Они существуют в расхождении между реальностью и её описанием.
314❤‍🔥3
[оффтоп]
Слышал на днях мем "лужники это новые патрики с фонтаном", думал просто прикол, а оказалось реально! Очень красивый вчерашний вечерний стрим на новые патрики с красивыми девушками и изумительным музыкальным фонтаном 🐳 дорогого велобрата bikerinmoscow, зацените.
(эх, я сам из-за ковида совсем немного не дотянул до эпохи качественных велостримов, но увы теперь только в следующей жизни :) а то бы сменил профессию на стримера)
🐳365🙏3
Прекрасное: новый законопроект Сената США о защите детей от искусственного идиота был принят единогласно и демократами и республиканцами. Техномиллиардерам не удалось подкупить ни одного политика!

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

По всей территории США внесено 300+ законопроектов, ограничивающих ЦОДы для AI. 14 штатов рассматривают возможность введения тотальных мораториев на такие ЦОДы, а там, где политики колеблются, активно вмешивается общественность.

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

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

«Видишь машина черная стоит? Не по делу буркнешь, дятел, и тебя прямо тут примут. Понял, нет?»
-- Пелевин

"Он нам нах не нужен, интернет ваш" :)
42🐳6🥰5😎42
Pydantic проверяет форму данных (типы, диапазоны -- pre/post по сути) для одного вызова.

Всяческие NeMo, Llama Guard, Outlines/LMQL проверяют выходы LLM по JSON-схеме, что по сути то же самое.

А Мили-машина добавляет инвариант на состоянии между вызовами, что ловит целые классы багов, которые Pydantic не видит: "бюджет на токены ушёл в минус через хитрую последовательность агентов" :) И главное, все эти "фильтры в цепочке" чистая инженерия, а правильно, когда " контракт компонента А + контракт компонента Б + ... + компонента Я = автоматический контракт композиции".

Поясняю в ФА, как избавиться от этого слабого места всех guardrail-фреймворков (stateful-инварианты и композиция контрактов): Мили-машина, композиции раннеров...
👍34🔥832🤯2
Продолжаю работу с ментатами 🤓
( мда, а уж как сорм-кураторы выгорают от математики и кампутер сайнса 🙈 )


...В старой версии моего pet-проекта в ECS для перечисления всех сущностей с заданной комбинацией компонентов использовались итераторы. Код выглядел ужасно. Теперь я использую ranges из C++23: пайпы с ленивыми map и filter. Две строки кода, вместо целого файла, и ни одного лишнего класса.
 
...Когда я читал первые части про HoTT, я подумал: "Кажется, эта модель мышления именно то, чего не хватало для представления и выражения структурной связанности между разными структурами данных, как типами."
Я вспомнил про АТД, про триплы Хоара, про то, что это очень полезные штуки для нагнетания локальной формальности в частях системы, домена. Это не критика Майера или Хоара, просто это разные уровни - мета, и... походу, HoTT это даже не мета-мета модель, а фундаментальная модель математического мышления. SoTA – это надо впитывать.
Ваша степень изложения прекрасна, примеры очень хороши. Вы проделали большую работу, и связь с "прикладным" чувствуется уже по первым этим материалам.
 
...Все-таки в первой итерации я ошибочно полагал, что у меня работает Redis
По факту он был неверно настроен и я получил опыт работы с консолью с выявлением включей редиса
То бишь на момент вчера у меня ключи запросов вообще никакие не сохранялись, а теперь их целая плеяда
 
...Но это конечно всё меркнет перед первыми инсайтами от ФП. Когда я читал ваш про ваши курсы перед отправкой заявки, я думал апогеем будет третий курс по ООАП. Он мне понравился, но я почему то ждал каких то приёмов мышления, как вы в серии про распределённые системы использовали моноиды для формализации мерджинга состояний. Ну вот они в целом :) Я интуитивно шёл почему-то, что мы берём имеющиеся свойства чего то, видим это в домене и реализуем в языке. ООП паттерны, как мне это видится на моём текущем уровне, глобально так не меняют мышление. А моноиадьные трансформеры или free monad/extensible effects это, конечно, да....
Мне сложно, конечно, представить, сколько надо идти к такому абстракному мышлению категориями, но выглядит это очень интересно.
Забавно, что ответ в той самой математике, от которой я бегал в универе. Но я был глуп, признаю. Пока я только в Playwright увидел, что локатор в Playwright ведёт себя как bind в ListMonad, применяя следущий локатор ко всем имеющимся элементам + флэт :)
 
=
 
Занятия теннисом в группе, пару раз в неделю -- 100 тыс. рублей в месяц. Индивидуалка -- 100 долларов за 45 минут. А когда реально растёшь на мастерском уровне, дальше надо ехать в европы, и будет вообще ооочень дорого.
 
Я же помогаю желающим ментатам индивидуально по карьере бесплатно, групп у меня вообще не было никогда, и при этом 70% отказываются от помощи, и выбирают режим "ясама". Потому что, чаще всего, "нету времени, загружен на работе". Ну ok, хотите превращать себя в плавно отупающую машину с нулевыми перспективами, особенно на фоне темки AI, чисто для зоробатывания бабла вашему рабовладельцу, ваше дело :)
13112🔥6👍1🥰1
Вы же знаете, что в Claude Code можно включить режим привязки vim для редактирования текста в поле ввода? :)
Используйте встроенную команду /vim
Я вообще очень топлю за полностью клавиатурный рабочий процесс и терминалы/консоли, это на самом деле существенно снижает когнитивную нагрузку.
 
А вот обратная фича: встраиваем клода в vim.
37👍31
Поразмышлял письмом на тему спецификаций спецификаций [спецификаций спецификаций ...]

мета-мета-мета- ...

Сколь глубока это кроличья нора? Там же черепашки до самого низа? Ну, на самом деле да.

Открылась бездна, звезд полна,
Звездам числа нет, бездне дна.


Увы, но желаемая полнота в общем случае неразрешима (привет от Гёделя).

Бородатый пример -- система радиотерапии Therac-25, которая убивала пациентов. Код работал по спецификации, да только спецификация была неверной... А сколько сейчас такого вокруг нас, особенно с учётом вайбкодинга? да на каждом шагу.

Формализация мета-спецификаций кстати существует давно, это вопрос философский :) Это т.н. refinement calculus, но по ним на вики крохотная заметка с упоминанием пары работы с семидесятых и девяностых и всё.

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

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

Но в любом случае каждую n-мета-спецификацию надо хотя бы минимально проверять на корректность через (n+1)-мета-спецификацию, и получаем тех самых черепашек, или фундаментальный предел формальной верификации -- проблема "specification gap". А на практике всё сводится в конечном итоге к человеческому намерению, которое неформально + недетерминировано + противоречиво + меняется со временем + у разных людей разное.

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

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

И это место - граница между намерением и формализацией - по сути Священный Грааль всей программной инженерии. И самое наименее изученное.

Ну ok, вызов принят, формальная философия ведь тоже наша любимая темка )
3616🔥2😇1
.

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

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

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

"Если мы все будем уничтожены атомной бомбой, пусть эта бомба, когда она взорвётся, застанет нас за разумными и человеческими делами — молитвой, работой, преподаванием, чтением, прослушиванием музыки, купанием детей, игрой в теннис, беседой с друзьями за кружкой пива и игрой в дартс — а не за тем, что мы сбились в кучу как испуганные овцы и думали о бомбах. Они могут разрушить наши тела (это может сделать и микроб), но они не должны доминировать в нашем сознании." 1948
Замените атомную бомбу на искусственный интеллект, и мы получим прекрасную рекомендацию, как проводить время в 2026-м году, несмотря на то, что мы всё ближе подходим к AGI, Скайнету и Матрице...

Я написал на днях уже 1072-й пост и нажал кнопку "Опубликовать". Ну и? Кого я обманываю? Все мои заметки, гайды, курсы и книги уже были скопированы искусственным интеллектом без моего согласия...


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


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

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

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

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

А ты 20 летний сейчас по большей части плывешь по течению и раздумываешь. Ты недостаточно думаешь о подобной макрооптимизации. Ты пытаешься найти способ написать хорошую курсовую, занимаешься микрооптимизацией, но не ищешь ответ на вопрос: "Какие у меня цели в жизни и каким образом мне быстрее их достичь?"...

Если вы когда-либо достаточно профессионально работали с искусственным интеллектом, вам знакомо это чувство. Вы начинаете утро с чёткого плана. Запускаете несколько агентов, и пьёте кофе ...Затем, примерно в 10:30 утра, вы поднимаете глаза и обнаруживаете, что у вас открыто 20 окон терминала. Один агент заблокирован, ожидая решения, которое вы забыли принять. Другой завершил работу 40 минут назад, а вы и не заметили. Третий вышел из строя три коммита назад. Ты уже не расслабляешься -- паника!


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


Бандл из 5 гайдов/книг по Software Design (подробный силлабус) 12,999 рублей, купить на бусти. (ментатам не нужно)

=

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

В раздел "Элитный программист" добавлен материал
95) Абсолютная база для deep work и состояния потока - 2
Оптимизировать другие параметры максимальной производительности, не блокируя самый главный источник отвлечений вашего внимания в современном мире -- всё равно что пытаться стать здоровее, совершенствуя свою форму с помощью упражнений на бицепсы, и каждый день питаясь в Маке...

=

"ЛаМПовое":

Дзен и искусство ухода за Arch Linux (7)
При настройке VPS под свою профессиональную деятельность, безопасность - первоочередная задача. 

"Гарри Поттер и Методы Математического Мышления".
Глава 8. Тень от вопроса.

=

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

=

Ментат застревает на логике, у него нет сердца. Он видит процесс в его подробностях и боится неудачи. Мы откроем окна и впустим в помещение свежий воздух здравого смысла. Мы готовы даже на жизнерадостность.
Бене Гессерит, "Дюна"
33👍7
Ещё трёх человек на неделе выгнал 🙈
 
Просто жаль, хорошие ребята... Милость привела их в мою Лабораторию ❤️ и больше такой возможности у них никогда не будет. Как говорит Мэд, "надеюсь он жив и просто сп**дил деньги и съе**лся, так как плохого никому не желаю."  :)
 
Но в целом, три в неделю маловато, надо больше исключать, для чего занимаюсь бесконечным ужесточением правил занятий 👊 Почему так?
 
Потому что я ищу и прокачиваю только тех, кто кто реально может стать ЭП, если также продолжит заниматься:
И нашёл алмаз у вас в заметках по элитному программисту, который я начал использовать - метод [...]. Мне очень помогло, больше чтобы вернуться в конекст задач на следущий день. По курсам, работе, да чему угодно как я понял. 10/10!!!
 
Я по статистике многих сотен занимавшихся фактически на 98% могу сказать буквально по первым абзацам общения, что чел не будет заниматься/вылетит. Рэдфлагов полно, например, если ник не норм "имя фамилия", то на 90% это будет слив/бан. А тем более по формату первых занятий, даю 98% неутешительный прогноз. Но к сож некоторые находят лазейки в правилах ) и воруют моё время, ну это чисто моя недоработка.
 
Почему так всё плохо у ребят? Ну очевидно же.
 
"Протез на здоровой конечности приведёт к ее атрофии. Протез на голове приведёт к атрофии разума. (Это то, что происходит гораздо дольше, чем существуют "искусственный интеллект", "пользовательские интерфейсы" или "GUI", но рост человеческой глупости/невежества в результате промышленной революции -- это новый вид бедствия для нашего слабоумного вида.)"
Алан Кэй 24.05.26.
 
В голове у бедолаг бесцельный поток мусорных мыслей, намешанных с подавленными эмоциями (уддхачча), ставший стандартным режимом мышления, потому что следуют неосознанно они по жизни, чего уж скрывать, методам и рекомендациям тиртхиков -- тех, кто обещает благополучно перевести через сансару, но по невежеству, а чаще умышленно, ведёт совсем не туда...
 
База: в сансаре есть ровно два способа получения удовольствия.
1. Удовольствие с последующим страданием.
2. Страдание с последующим удовольствием.
 
Выбор за тобой...
3511🙏7💯6🐳4
PostgreSQL? Это выбор тех, кто не умеет программировать даже на коленке.
 
Серьёзно, бро? Ты выбрал базу данных, где каждая UPDATE - это не обновление строки, а новая сущность, рождаемая в виде мёртвого кортежа. Ты хотел CRM? Поздравляю, ты получил фабрику по производству трупов строк. Пока твой autovacuum отчаянно пытается вывезти это кладбище, твоя таблица раздувается с 80 до 280 гигов. Двести восемьдесят! Ты думал, что мигрируешь на "взрослую" БД, а по факту завёл цифрового даунсайзингового монстра, который жрёт память, как подросток чипсы перед компом.
 
И это ещё цветочки. Ты реально гордишься тем, что твой запрос выполняется 187 миллисекунд вместо 23? Поздравляю, ты только что изобрёл замедление как сервис. MySQL обрабатывал 15 тысяч запросов в секунду с улыбкой на лице, а твой свежеиспеченный PG тратит 40% процентов CPU на то, чтобы просто поздороваться с новым соединением. Сорок процентов, Карл! Ты бы ещё на ассемблере что-то писал.
 
Если ты думал, что VACUUM - это милая процедура по уборке, спешу тебя разочаровать. Это чистилище для твоего железа. Когда твоя таблица достигает двух миллионов мёртвых кортежей (а с твоими 50к апдейтов в минуту - это вопрос 40 минут), твой сервер превращается в овощ, и запросы начинают ползти как черепахи в зоне турбулентности.
 
И самое забавное - компании вкладывают в миграцию на постгрес десятки миллионов рублей! Ты мог бы оставить MySQL и купить на эти деньги Порш. Но нет, кто-то из менеджеров прочитал статью на хабре "ПоСтГрЕс - это эволяция". Теперь у тебя vacuum storm, твои инженеры не спят ночами, а ты думаешь: "А может, нам переехать на MongoDB?" Спойлер: не надо.
 
А может, вообще хочешь почувствовать себя настоящим дауншифтером? Разнеси свой монолит на микросервисы, где у каждого свой инстанс PostgreSQL. Забудь про JOIN. Забудь про ACID. Твоя жизнь теперь - это бесконечные HTTP-запросы между сервисами. Запрашиваешь отчёт? Нет, ты вызываешь оркестратор, который звонит в сервис заказов, тот перезванивает в сервис юзеров, тот кладет трубку, а в итоге ты получаешь данные через 8 секунд на том же объеме данных, где раньше было 45 миллисекунд.
 
Это называется "прогресс". Теперь у тебя не просто база данных, а распределённая система, где невозможно отладить ни один баг. Емейл поменялся только в трёх сервисах из четырёх? Прекрасно! Пусть клиент сам догадается, какая почта правильная. В конце концов, eventual consistency - это не баг, это фича для настоящих джедаев.
 
Итого. Постгрес - это зашквар не потому, что он плохой. А потому что ты не умеешь его готовить. Ты переезжаешь на него с одним JOIN'ом и надеждой, а получаешь войну с вакуумом и кладбищем мёртвых кортежей.
 
Пользуйтесь MySQL, пока ваша база не стала размером с небольшую галактику мусора. И прекратите уже мигрировать на "модное", если у вас 200 гигов данных и три разработчика в команде.
 
(По-серьёзному разбираем эту темку с ментатами в СИ)
👍33😁17🤯8🤓7💯3
Ну, с праздниками, православные: Неделя всех русских святых.
 
Прорекламирую яндекс-конфу, они сами же нищие, не могут себя пропиарить. Про их ценную highload-тусовку сегодня случайно узнал, чеcтно: ментат вписался туда оффлайн (есть и онлайн). Бесплатно.
 
infra.conf'26
Конференция про создание и эксплуатацию высоконагруженных систем и инфраструктуры.
 
Ладно, напишу правильным пацанам рекламу (но совсем не факт что конфа будет именно про это :)
 
Сеньоры теряют сегодня статус не из-за некомпетентности, а потому что правила игры изменились. Теперь важнее не общий опыт, а глубокая специализация и мгновенная применимость в конкретном стеке компании.
 
Раньше под сеньором подразумевалась широкая эрудиция, паттерны проектирования, менторство джунов.
 
Сейчас сеньор -- это знание CI/CD, внутренних библиотек и багов конкретной компании с первой недели.
 
Общая мудрость больше не котируется, ценятся гипер-специфичные знания.
 
Как проваливаются сеньоры?
 
Проектируют "правильную" систему, но совсем не ту, что ждут.
 
Отвечают абстрактно вместо конкретных решений конкретно под чужую инфру.
 
Не проходят собеседования, где от них требуют не теории, а готового решения их реальной проблемы.
 
Вот на этой конфе вы это всё и узнаете! А может и не узнаете, я хз :)
Но послушать рекомендую конечно.
32👍12🤔8