А вы уже пользуетесь кодексом жпт5.3? :)
Попросил его поревьюить (моими skills) свежую формализацию на лине филдсевской медальки про упаковку сфер "с помощью AI" Sphere-Packing-Lean, которую уже расхайпили как "очередной экспоненциальный прорыв"
(на самом деле жпт там просто как ассистант использовался в групповом чатике), ожидаемо нашёл кучу запашков на всех логических уровнях.
=>
God-file: слишком много ответственности
В одном файле: определение E8, эквивалентные характеризации, матричный базис, целочисленность, норма, топология, упаковка, плотность.
Сигналы technical debt прямо в коде
Слишком длинные леммы с proof script soup: вынести общий шаг в локальную лемму по индексу/шаблону вектора, убрать copy-paste.
Хрупкие доказательства через simp only/linear_combination..
Такое часто ломается от малых изменений в импортах/леммах simp.
Более устойчиво: маленькие промежуточные леммы с осмысленными именами + меньше глобального simp.
Неочевидные имена h1, h2, hv, this, test и т.д.
Для математики терпимо, но в большом formalization это сильно бьет по читабельности.
Смешение уровней абстракции: рядом стоят высокоуровневые теоремы и низкоуровневые algebraic-manipulation детали.
Чрезмерная зависимость от decide +kernel: для матриц над Q это практично, но читаемость/объяснимость падает.
etc
Математики такие математики. Не имеют ни малейшего представления о базе программной инженерии, которой сегодня владеет любой джуниор. Код ревью? нет, не слышали.
Попросил его поревьюить (моими skills) свежую формализацию на лине филдсевской медальки про упаковку сфер "с помощью AI" Sphere-Packing-Lean, которую уже расхайпили как "очередной экспоненциальный прорыв"
(на самом деле жпт там просто как ассистант использовался в групповом чатике), ожидаемо нашёл кучу запашков на всех логических уровнях.
=>
God-file: слишком много ответственности
В одном файле: определение E8, эквивалентные характеризации, матричный базис, целочисленность, норма, топология, упаковка, плотность.
Сигналы technical debt прямо в коде
Слишком длинные леммы с proof script soup: вынести общий шаг в локальную лемму по индексу/шаблону вектора, убрать copy-paste.
Хрупкие доказательства через simp only/linear_combination..
Такое часто ломается от малых изменений в импортах/леммах simp.
Более устойчиво: маленькие промежуточные леммы с осмысленными именами + меньше глобального simp.
Неочевидные имена h1, h2, hv, this, test и т.д.
Для математики терпимо, но в большом formalization это сильно бьет по читабельности.
Смешение уровней абстракции: рядом стоят высокоуровневые теоремы и низкоуровневые algebraic-manipulation детали.
Чрезмерная зависимость от decide +kernel: для матриц над Q это практично, но читаемость/объяснимость падает.
etc
Математики такие математики. Не имеют ни малейшего представления о базе программной инженерии, которой сегодня владеет любой джуниор. Код ревью? нет, не слышали.
😁27👍10🤔8❤6✍1
Всё больше сколоняюсь к тому, чтобы помогать в целом в ИТ-карьере тем, кому 50..55++. К молодым менторам им идти как-то некошерно, а из моих ровестников в России только я такой один )))
Так-то понятно уже и сегодня 45+ полный карьерный кризис, а к 2027-му уже и 35+ будет полным стариком считаться.
База такая, что
a) придётся прежде всего проявить смирение (но временно), и
b) получится только у достаточно энергичных "айтишных пенсионеров".
Ну и всякие контринтуитивные фишки (например, опыт -- это сейчас отнюдь не плюс, ага).
Завтра кстати в приватном клубе дам базу:
"Одни и те же компании. Одна и та же экономика. Но совершенно разные результаты.
Почему, Карл??
Разница заключается не в таланте. Не в усилиях или трудолюбии. И даже не в опыте."
С другой стороны, в таком возрасте часто уже много и не нужно, и в айтишке сейчас вообще будет прекрасно: сиди себе на удалёнке, попивай кофеёк и плюй в потолок, а всю работу за тебя делают агенты ахаха
"У меня есть знакомый сварщик, он получает на руки около 90 тысяч рублей и при этом считается высокооплачиваемым. И он не слышал о зарплатах в 150-200 тысяч в своей профессии" пруф
База такая, что
a) придётся прежде всего проявить смирение (но временно), и
b) получится только у достаточно энергичных "айтишных пенсионеров".
Ну и всякие контринтуитивные фишки (например, опыт -- это сейчас отнюдь не плюс, ага).
Завтра кстати в приватном клубе дам базу:
"Одни и те же компании. Одна и та же экономика. Но совершенно разные результаты.
Почему, Карл??
Разница заключается не в таланте. Не в усилиях или трудолюбии. И даже не в опыте."
С другой стороны, в таком возрасте часто уже много и не нужно, и в айтишке сейчас вообще будет прекрасно: сиди себе на удалёнке, попивай кофеёк и плюй в потолок, а всю работу за тебя делают агенты ахаха
"У меня есть знакомый сварщик, он получает на руки около 90 тысяч рублей и при этом считается высокооплачиваемым. И он не слышал о зарплатах в 150-200 тысяч в своей профессии" пруф
✍38🐳12👍6❤5😁1
В ФП мы используем функции, которые принимают функции в качестве параметров и/или возвращают функции в качестве результата. И этого достаточно: как прокачаешь функциональщину, 98% книг по шаблонам проектирования ООП можно выбрасывать. Они существуют только для замены отсутствующих в ООП фич из ФП, где подобные шаблоны присутствуют по определению и суть first-class citizens самого языка.
Только вот научить этой "простоте" своих агентов сложнее на порядок.
Только вот научить этой "простоте" своих агентов сложнее на порядок.
👌28✍13🎉7❤5💯4
Развенчиваем очередное эйай враньё. Вообще, сам факт, что в темке так откровенно передёргивают, наглядный показатель пузырчатости.
Истеричные белки уже нахайпили, что дескать
"Claude Code creator confirms that 100% of his contributions are now written by Claude itself"
Реально же Борис сказал, что "Клод написал 100% моих коммитов за последние 30 дней". Чувствуете разницу? )))
Речь идёт о личных коммитах Черри в Claude Code. И это не значит, что он сам вообще не пишет код руками. Но он конечно направляет, проверяет и принимает архитектурные, стратегические и бизнес-решения над системой агентов -- точно как я пояснял здесь.
Агент -- это усилитель человека, а не замена, просто в продвинутой форме.Ну ок, усилитель сильного профи, и замена слабому и неразвивающемуся :)
Истеричные белки уже нахайпили, что дескать
"Claude Code creator confirms that 100% of his contributions are now written by Claude itself"
Реально же Борис сказал, что "Клод написал 100% моих коммитов за последние 30 дней". Чувствуете разницу? )))
Речь идёт о личных коммитах Черри в Claude Code. И это не значит, что он сам вообще не пишет код руками. Но он конечно направляет, проверяет и принимает архитектурные, стратегические и бизнес-решения над системой агентов -- точно как я пояснял здесь.
Агент -- это усилитель человека, а не замена, просто в продвинутой форме.
✍38❤4❤🔥4🏆2👍1
К агентским системам можно относиться как к компиляторам.
В принципе ведь все языки и инструменты программирования развиваются в направлении снижения когнитивной нагрузки на разработчика, снижения разрыва между техническим заданием и программным кодом. Соответственно, агенты получают на вход "программу" на естественном языке, и компилируют её в исполнимый формальный вид, например, на языке высокого уровня.
В более далекой перспективе, думаю, даже такие нейро-компиляторы исчезнут, останутся только нейро-интерпретаторы. Вот как примерно сейчас уже появляются первые 3D игры, в которых картинка генерируется в реальном времени, а самого мира в смысле физических моделей нету в принципе. Точно так же сотрутся и все нынешние различия между базами данных, операционными системами, рантаймами, языками программирования, фреймворками и т д. Ты просто описываешь что хочешь, и нейронка в реальном времени рендерит тебе рабочий UI, у которого и бэкенда нету в классическом смысле, а все фоновые калкулусы представляют собой абсолютно чёрный нейронный ящик, и что как и где там хранится и обрабатывается, никому неведомо.
В принципе ведь все языки и инструменты программирования развиваются в направлении снижения когнитивной нагрузки на разработчика, снижения разрыва между техническим заданием и программным кодом. Соответственно, агенты получают на вход "программу" на естественном языке, и компилируют её в исполнимый формальный вид, например, на языке высокого уровня.
В более далекой перспективе, думаю, даже такие нейро-компиляторы исчезнут, останутся только нейро-интерпретаторы. Вот как примерно сейчас уже появляются первые 3D игры, в которых картинка генерируется в реальном времени, а самого мира в смысле физических моделей нету в принципе. Точно так же сотрутся и все нынешние различия между базами данных, операционными системами, рантаймами, языками программирования, фреймворками и т д. Ты просто описываешь что хочешь, и нейронка в реальном времени рендерит тебе рабочий UI, у которого и бэкенда нету в классическом смысле, а все фоновые калкулусы представляют собой абсолютно чёрный нейронный ящик, и что как и где там хранится и обрабатывается, никому неведомо.
🤔37✍13❤7🤯5💯2
Но так как денежки нам пока ещё платят сегодня, возвращаемся к нашим искусственным баранам )))
В чём на мой взгляд ключевой недостаток сегодняшних агентских систем?
Ну вот ровно в том же, в чём и недостаток классического мэйнстрима -- они слишком поверхностные, хипстерские и универсальные, их реальный кпд я оцениваю менее 1% (а то и менее 0.1%).
И развиваться это всё будет в этом же направлении: кпд агентов будет не расти, а продолжать заметно падать, а результат будет достигаться грубой силой: безумно растущими объёмами кода, и многомиллионными расходами токенов. Ведь всем же пофиг, что там и как работает на бэкенде, правда?
Примеры которые я недавно приводил -- тысячи skills md на все случаи проектов -- но каждый из них к твоему проекту так-то вообще никакого отношения не имеет, кроме разве что совпадения по названиям технологий.
Пока однако неизвестно, есть ли какой-нибудь технологический (а может быть, и теоретический) порог продуктивности системы агентов. Возможно, на каком-то пороге сложности объёмы генерируемого кода начнут раздуваться экспоненциально например.
Но я планирую до последнего находиться на другой стороне баррикад: помогать ребятам развивать соответствующую думалку, становиться техлидами и системными аналитиками уже в контексте вот этого всего безобразия.
Единственное, что можно сказать точно про айтишку -- так это то, что супер-инженеры будут тем поколением в программировании, которое ликвидируют самым последним (как минимум, из тех, кто ещё будет писать код).
В частности, к агентским системам тут у меня отношение однозначное =>
В чём на мой взгляд ключевой недостаток сегодняшних агентских систем?
Ну вот ровно в том же, в чём и недостаток классического мэйнстрима -- они слишком поверхностные, хипстерские и универсальные, их реальный кпд я оцениваю менее 1% (а то и менее 0.1%).
И развиваться это всё будет в этом же направлении: кпд агентов будет не расти, а продолжать заметно падать, а результат будет достигаться грубой силой: безумно растущими объёмами кода, и многомиллионными расходами токенов. Ведь всем же пофиг, что там и как работает на бэкенде, правда?
Примеры которые я недавно приводил -- тысячи skills md на все случаи проектов -- но каждый из них к твоему проекту так-то вообще никакого отношения не имеет, кроме разве что совпадения по названиям технологий.
Пока однако неизвестно, есть ли какой-нибудь технологический (а может быть, и теоретический) порог продуктивности системы агентов. Возможно, на каком-то пороге сложности объёмы генерируемого кода начнут раздуваться экспоненциально например.
Но я планирую до последнего находиться на другой стороне баррикад: помогать ребятам развивать соответствующую думалку, становиться техлидами и системными аналитиками уже в контексте вот этого всего безобразия.
Единственное, что можно сказать точно про айтишку -- так это то, что супер-инженеры будут тем поколением в программировании, которое ликвидируют самым последним (как минимум, из тех, кто ещё будет писать код).
В частности, к агентским системам тут у меня отношение однозначное =>
👍34❤12✍6
Лично для себя после серии агентских экспериментов со всеми тремя топовыми моделями - жпт5.3 гемини3.1 клод4.6 - я понял, что в разы, a может и на порядки, продуктивнее остаётся что-то вроде обычного чата.
Какой-то cli я сперва сказал "напиши консольный калькулятор на питоне с парсингом скобок", а агенты зафигачили веб-версию на ts и ноде )))
и потом заныли что дескать уже то что я сгенерировал удалить не могу.
С более крупными проектами на фреймворках с базами данных они более-менее справлялись, но сгенерированный бэкенд представлял какую-то безумную кашу с тысячами строк дублирующегося кода, и последующие добавления простых фич агенты делали едва ли не переделкой всего заново.
Короче говоря, для себя я придумал такой компромисс, как мета-чат: сперва прошу нейронку сгенерировать мне агентов (будущих кодогенераторов) для создания нужного проекта, но очень-очень специфичных. В их внутрянку я сразу закладываю библиотечку профильных знаний: абстракции, различные технические нюансы, паттерны, архитектурные идеи и т.п.
(ну в функциональщине это достаточно просто делать кстати).
Это такая своеобразная "фрактальная" свёртка долгосрочной структуры проекта, которую мне удалось вытащить на свет из своего ума.
Никаких текстовых skills md у моих агентов нету в принципе -- их скилы я описываю формально, пока на питоне как скрипт-языке, что где куда и как им делать в этом конкретном проекте, а в перспективе планирую какие-нибудь завчипчики System F вроде Lean4 приделать, а потом и HoTT.
(на самом деле эту идею я похитил у классной агентской библиотечки
"smolagents: barebones library for agents that think in code" от самих huggingface, где в качестве скиллов применяют питон)
Думайте, как думаете.
Какой-то cli я сперва сказал "напиши консольный калькулятор на питоне с парсингом скобок", а агенты зафигачили веб-версию на ts и ноде )))
и потом заныли что дескать уже то что я сгенерировал удалить не могу.
С более крупными проектами на фреймворках с базами данных они более-менее справлялись, но сгенерированный бэкенд представлял какую-то безумную кашу с тысячами строк дублирующегося кода, и последующие добавления простых фич агенты делали едва ли не переделкой всего заново.
Короче говоря, для себя я придумал такой компромисс, как мета-чат: сперва прошу нейронку сгенерировать мне агентов (будущих кодогенераторов) для создания нужного проекта, но очень-очень специфичных. В их внутрянку я сразу закладываю библиотечку профильных знаний: абстракции, различные технические нюансы, паттерны, архитектурные идеи и т.п.
(ну в функциональщине это достаточно просто делать кстати).
Это такая своеобразная "фрактальная" свёртка долгосрочной структуры проекта, которую мне удалось вытащить на свет из своего ума.
Никаких текстовых skills md у моих агентов нету в принципе -- их скилы я описываю формально, пока на питоне как скрипт-языке, что где куда и как им делать в этом конкретном проекте, а в перспективе планирую какие-нибудь завчипчики System F вроде Lean4 приделать, а потом и HoTT.
(на самом деле эту идею я похитил у классной агентской библиотечки
"smolagents: barebones library for agents that think in code" от самих huggingface, где в качестве скиллов применяют питон)
Думайте, как думаете.
👍31🔥13✍10❤3
Короче говоря, после активного мышления письмом в последние дни, я наконец-то сложил в уме весь паззл!!1
Модельки конечно здорово помогли, последние версии 4.6 5.3 прям хороши(правда едва ли не каждый день по 100 долларов уходило на интенсивное общение и эксперименты:) .
Построил я достаточно стройную мета-модель, как нейронки агенты использовать, чтобы писать в 1000 раз компактный код (любые технологии фреймворки, не важно), и чтобы человек уровня миддл мог реализовывать проекты любой сложности, сохраняя её рост линейным.
Пока конечно будет требоваться достаточно высокий архитектурный уровень подготовки, но со временем хочу постараться существенно снизить порог входа. Уничтожим всё белковое программирование )))
Что особенно приятно, в этом пазле стройно сложились в одно
и теория типов до HoTT и дальше,
и моё любимое метапрограммирование по Алану Кэю (потому что с математической точки зрения оно -- единственный на сегодня действенный метод значительного снижения сложности),
и системная инженерия,
и подходящая математика (в частности, генерация PEG-парсеров - потому что нужна иерархия DSL с наследованием - потому что нейронки на удивление хорошо разбираются с формальными грамматиками)...
Кто захочет, может поизучать базу, но в целом это будут по сути шаблоны промптов + код агентов + методика их применения, уровень миддла.
Основная идея, что это будет нейро-DDD + метапрограммирование + LLM как компилятор DSL.
Как до сего года ещё работали сеньоры, да и миддлы, в своём поддомене?
Написал код - боль :) - отрефакторил - домен немного прояснился. И так по кругу.
А в этом году нейронка этот цикл убила:
Написал промпт - ллм сгенерила 5000 строк -
рефакторить уже почти нечего, всё "работает" :)
А домен закостенел кривым, неполным и противоречивым образом, и ничего ты с этим уже не поделаешь.
Да и с технической точки зрения, любой фреймворк навязывает свою модель мира даже там, где она явно не подходит. Весь мэйнстрим пишет на трёх-пяти ORM-ах, и ни шага в сторону.
Я же хочу автоматически генерировать всю инфраструктуру домена полностью под правильную математику.
То есть от тебя требуется совсем пустяк:)
A) Найди, какая математическая структура уже описывает твой домен;
Б) Дай её нейронке явно в виде соответствующей грамматики (иерархии грамматик с наследованием);
В) Профит!
Пока конечно пункт A -- на 80% искусство, но думаю что со временем его получится снизить до прикладного мастерства. А вот пункт Б уже и сейчас можно достаточно прямо формализовать.
Главное, понимаю, как этому продуктивно обучать. С прицелом в ближайшее нейро-будущее 2-3 года!
Начинаем с базы DDD, перекраивая её под специфику нейронок, формализуем постепенно, всё более сильную математику добавляем, генерим инфраструктурные паттерны сперва на хаскеле, с которого нейронка уже очень хорошо сгенерирует код на этих ваших python go c# java, потом будем подключать system f, хотт/кубики...
"Люди стоят дорого. Мало того, люди, способные выполнять работу по преподаванию нетривиальных определений в современной исследовательской математике, представляют собой редкую породу. При нынешнем положении дел, если бы человек приступил к проекту по более подробному изучению философии Ленглендса с помощью компьютера, он должен был бы быть экспертом как в философии Ленглендса, так и в языке рассматриваемого ITP. Я пытался обучать аспирантов и докторантов этим навыкам, но их расхватывают технологические компании!" (c)
Этой весной.
Модельки конечно здорово помогли, последние версии 4.6 5.3 прям хороши
Построил я достаточно стройную мета-модель, как нейронки агенты использовать, чтобы писать в 1000 раз компактный код (любые технологии фреймворки, не важно), и чтобы человек уровня миддл мог реализовывать проекты любой сложности, сохраняя её рост линейным.
Пока конечно будет требоваться достаточно высокий архитектурный уровень подготовки, но со временем хочу постараться существенно снизить порог входа. Уничтожим всё белковое программирование )))
Что особенно приятно, в этом пазле стройно сложились в одно
и теория типов до HoTT и дальше,
и моё любимое метапрограммирование по Алану Кэю (потому что с математической точки зрения оно -- единственный на сегодня действенный метод значительного снижения сложности),
и системная инженерия,
и подходящая математика (в частности, генерация PEG-парсеров - потому что нужна иерархия DSL с наследованием - потому что нейронки на удивление хорошо разбираются с формальными грамматиками)...
Кто захочет, может поизучать базу, но в целом это будут по сути шаблоны промптов + код агентов + методика их применения, уровень миддла.
Основная идея, что это будет нейро-DDD + метапрограммирование + LLM как компилятор DSL.
Как до сего года ещё работали сеньоры, да и миддлы, в своём поддомене?
Написал код - боль :) - отрефакторил - домен немного прояснился. И так по кругу.
А в этом году нейронка этот цикл убила:
Написал промпт - ллм сгенерила 5000 строк -
рефакторить уже почти нечего, всё "работает" :)
А домен закостенел кривым, неполным и противоречивым образом, и ничего ты с этим уже не поделаешь.
Да и с технической точки зрения, любой фреймворк навязывает свою модель мира даже там, где она явно не подходит. Весь мэйнстрим пишет на трёх-пяти ORM-ах, и ни шага в сторону.
Я же хочу автоматически генерировать всю инфраструктуру домена полностью под правильную математику.
То есть от тебя требуется совсем пустяк:)
A) Найди, какая математическая структура уже описывает твой домен;
Б) Дай её нейронке явно в виде соответствующей грамматики (иерархии грамматик с наследованием);
В) Профит!
Пока конечно пункт A -- на 80% искусство, но думаю что со временем его получится снизить до прикладного мастерства. А вот пункт Б уже и сейчас можно достаточно прямо формализовать.
Главное, понимаю, как этому продуктивно обучать. С прицелом в ближайшее нейро-будущее 2-3 года!
Начинаем с базы DDD, перекраивая её под специфику нейронок, формализуем постепенно, всё более сильную математику добавляем, генерим инфраструктурные паттерны сперва на хаскеле, с которого нейронка уже очень хорошо сгенерирует код на этих ваших python go c# java, потом будем подключать system f, хотт/кубики...
"Люди стоят дорого. Мало того, люди, способные выполнять работу по преподаванию нетривиальных определений в современной исследовательской математике, представляют собой редкую породу. При нынешнем положении дел, если бы человек приступил к проекту по более подробному изучению философии Ленглендса с помощью компьютера, он должен был бы быть экспертом как в философии Ленглендса, так и в языке рассматриваемого ITP. Я пытался обучать аспирантов и докторантов этим навыкам, но их расхватывают технологические компании!" (c)
Этой весной.
3❤46✍14🤯7❤🔥1
Вот куда сегодня активно идёт мэйнстрим: все делают агентов сложнее.
Больше инструментов, больше памяти, больше координации, больше токенов...
Вот например свежая реклама:
"Вы научитесь строить ReAct-циклы, работать с LangGraph и AutoGen, внедрять продвинутый RAG, протоколы MCP и AgentOps. Все ключевые навыки в одном месте: измеримость систем, time-travel дебаггинг, управление браузером, human-in-the-loop и развёртывание в закрытых контурах."
Курс такой стоит 90(!) тысяч рублей. Ничего не хочу сказать, это всё конечно знать надо, и польза определённая будет.
Но по сути это про чистые технологии, и по большому счёту про текст, про текстовое взаимодействие.
Я же стремлюсь в другую сторону: в формальные нотации. Точнее, даже не в другую сторону, а ортогонально. Все сейчас соревнуются в том, кто построит лучшего агента, а я иду в сторону "кто построит лучший язык для нейронки" (и пока буквально по единичным академическим работам могу сказать, что вся работа что здесь ведётся, ведётся втихомолку:).
В чём засада?
Человек вполне может работать с плохой архитектурой, постепенно улучшая её изнутри. Нейронка же усиливает то, что есть. Хорошая структура -- фигачит быстро и правильно. Плохая структура -- фигачит быстро и неправильно с уверенным видом :)
И если просто в лоб пытаться ей зафигачить какие-то руководства из computer science, толку никакого не будет.
Пишем в skills требование соблюдать инварианты типов - нейронка их не проверяет при рефакторинге.
Задаём законы (монады, функторы) - нейронка при формировании структуры их нарушает.
Напоминаем про когерентность - нейронка теряет её между файлами/сессиями.
Пытаемся использовать зависимые типы - нейронка уже симулирует, не понимает.
Добавляем доказательства уровня кубической теории типов например - нейронка галлюцинирует "очевидные" шаги.
А что бы это всё заработало, надо готовить компактный формальный DSL, специфичный для домена, и с тщательно подобранной грамматикой - как инструкция для LLM. Но зато полностью избавляемся от промптов и агентов!
DSL тут выступает как (почти) гарантированно работающий протокол общения с LLM вместо агентской архитектуры.
Всё это буду пояснять и показывать в рамках гайда "Функциональные архитектуры".
И кстати, я добавил пример по этой теме, про многоуровневую архитектуру - в "Функциональное проектирование", кто проходил может допройти бесплатно.
Показываю в частности как эээ систему типов питона (да-да) можно использовать для создания на нём нативного eDSL.
Больше инструментов, больше памяти, больше координации, больше токенов...
Вот например свежая реклама:
"Вы научитесь строить ReAct-циклы, работать с LangGraph и AutoGen, внедрять продвинутый RAG, протоколы MCP и AgentOps. Все ключевые навыки в одном месте: измеримость систем, time-travel дебаггинг, управление браузером, human-in-the-loop и развёртывание в закрытых контурах."
Курс такой стоит 90(!) тысяч рублей. Ничего не хочу сказать, это всё конечно знать надо, и польза определённая будет.
Но по сути это про чистые технологии, и по большому счёту про текст, про текстовое взаимодействие.
Я же стремлюсь в другую сторону: в формальные нотации. Точнее, даже не в другую сторону, а ортогонально. Все сейчас соревнуются в том, кто построит лучшего агента, а я иду в сторону "кто построит лучший язык для нейронки" (и пока буквально по единичным академическим работам могу сказать, что вся работа что здесь ведётся, ведётся втихомолку:).
В чём засада?
Человек вполне может работать с плохой архитектурой, постепенно улучшая её изнутри. Нейронка же усиливает то, что есть. Хорошая структура -- фигачит быстро и правильно. Плохая структура -- фигачит быстро и неправильно с уверенным видом :)
И если просто в лоб пытаться ей зафигачить какие-то руководства из computer science, толку никакого не будет.
Пишем в skills требование соблюдать инварианты типов - нейронка их не проверяет при рефакторинге.
Задаём законы (монады, функторы) - нейронка при формировании структуры их нарушает.
Напоминаем про когерентность - нейронка теряет её между файлами/сессиями.
Пытаемся использовать зависимые типы - нейронка уже симулирует, не понимает.
Добавляем доказательства уровня кубической теории типов например - нейронка галлюцинирует "очевидные" шаги.
А что бы это всё заработало, надо готовить компактный формальный DSL, специфичный для домена, и с тщательно подобранной грамматикой - как инструкция для LLM. Но зато полностью избавляемся от промптов и агентов!
DSL тут выступает как (почти) гарантированно работающий протокол общения с LLM вместо агентской архитектуры.
Всё это буду пояснять и показывать в рамках гайда "Функциональные архитектуры".
И кстати, я добавил пример по этой теме, про многоуровневую архитектуру - в "Функциональное проектирование", кто проходил может допройти бесплатно.
Показываю в частности как эээ систему типов питона (да-да) можно использовать для создания на нём нативного eDSL.
2❤41✍12⚡4👍2❤🔥1
.
Облако драгоценностей за неделю.
"Функциональное Проектирование" дополнено второй частью: реализуем проект дополнительно в многослойной архитектуре, причём весь код будет писать нейронка. Попутно коснёмся важной темы языков предметной области (DSL). Допройти можно бесплатно.
Приватный клуб.
В то время как десятки тысяч разработчиков были уволены, существенно меньшая группа едва ли почувствовала это. А некоторые вообще получили ощутимое повышение. Некоторые получили офферы в течение нескольких дней.
Одни и те же компании. Одна и та же экономика. Но совершенно разные результаты.
Почему, Карл??
8 базовых фактов о рынке ИТ-труда в 2026-м, и что из этого следует. Часть 2
6. Фильтр высокой квалификации.
Я постоянно слышу от ит-менеджеров, и даже основателей стартапов:
"У меня есть деньги, но я не могу найти способных людей".
Звучит безумно, не так ли? Когда так много безработных программистов?..
Для донов-начинающих:
База по карьере, серия 24.
...И в качестве глазури на этом дерьмовом пирожном — помимо того, что оно подталкивает нас стремиться к вещам, которых мы на самом деле не хотим, отрицать желания, которые мы испытываем в глубине души, бояться того, что не опасно, и верить в то, что не соответствует действительности — общепринятая "мудрость" во всеуслышание заявляет нам, что "карьера это туннель", вместо того, чтобы помочь нам избавиться от этого дерьма...
Позвольте мне на минутку поговорить с вами как с профессиональными разработчиками. Если вам 20-30 лет, и вы действительно хотите преуспеть в ИТ, то одна из важнейших вещей, которая определяет ваш результат — это не искусственный интеллект, не быстрые технологические фишки, и не модные в этом месяце фреймворки.
Всё сводится к тому, сможете ли вы...
Для донов-неначинающих:
А зачем человеку уровень PhD, если в плане карьеры уровень FAANG куда перспективнее во всех отношениях?
Продолжаю выкладывать для донов материалы СильныхИдей.
77. Функциональная архитектура - что это?
Давайте более глубоко погрузимся в тему функционального проектирования, для чего однако предварительно надо разобраться, а знаете ли вы, что такое функциональное программирование?
Да, например, те кто у меня занимается, получили базовое теоретическое представление из "Основ ФП", а затем полноценно попрактиковались в функциональном стиле на функциональном языке F#. Но даже если вы пишете на Хаскеле, можно ли сказать, что ваш код действительно функционален?
(все старые материалы для донов быстро сгорают)
=
Новые материалы для ментатов Лаборатории.
В курс карьеры добавлен 128-й материал "Фриланс в 2026-м".
Нелегко найти клиентов, особенно когда технологии позволяют многим людям выполнять большую механическую часть того, что вы делаете для них, самостоятельно. Это удобнее, быстрее и дешевле. Возможно, по вашим меркам это не так хорошо, но если клиент хочет быстрее и дешевле, вы вряд ли выиграете такой спор...
В СильныеИдеи добавлен материал "135) Моделирование времени в ФП".
В данном контексте мы постоянно упоминаем Haskell как единственный по сути более-менее массовый язык, подходящий для этого. Это не значит, что вы должны переходить на него: наша задача встроить в голову соответствующую думательную машинку...
💪🏻
Лаборатория идёт со скоростью самых лучших ментатов.
=
"ЛаМПовое": rust в духе си, формализация хаскелевского ghc, анти-macos, база по резюме-26, coq как макроассемблер.
Но переходить в Макс совершенно не планирую: это ещё больший зашквар чем принять FanID. Как в апреле забанят Телеграм, так Лаборатория закроется.
- Вы видели, как китайские роботы прыгают, кувыркаются? А мы так можем?
- А мы можем заблокировать видео с этими роботами.
Гайд про функциональные архитектуры, 55 топиков (+2), как наберётся 64, дам ментатам доступ. Мои ближайшие планы на эту весну планирую реализовать в первом приближении в рамках этого гайда.
=
В какой-то момент он принял решение, обращённое в глубокую неизвестность. Он понимал область времени, окружающую их, но то, что было здесь и сейчас, оставалось загадкой. Из многих путей наверх лишь один выводил Пола к к свету.
"Дюна"
Облако драгоценностей за неделю.
"Функциональное Проектирование" дополнено второй частью: реализуем проект дополнительно в многослойной архитектуре, причём весь код будет писать нейронка. Попутно коснёмся важной темы языков предметной области (DSL). Допройти можно бесплатно.
Приватный клуб.
В то время как десятки тысяч разработчиков были уволены, существенно меньшая группа едва ли почувствовала это. А некоторые вообще получили ощутимое повышение. Некоторые получили офферы в течение нескольких дней.
Одни и те же компании. Одна и та же экономика. Но совершенно разные результаты.
Почему, Карл??
8 базовых фактов о рынке ИТ-труда в 2026-м, и что из этого следует. Часть 2
6. Фильтр высокой квалификации.
Я постоянно слышу от ит-менеджеров, и даже основателей стартапов:
"У меня есть деньги, но я не могу найти способных людей".
Звучит безумно, не так ли? Когда так много безработных программистов?..
Для донов-начинающих:
База по карьере, серия 24.
...И в качестве глазури на этом дерьмовом пирожном — помимо того, что оно подталкивает нас стремиться к вещам, которых мы на самом деле не хотим, отрицать желания, которые мы испытываем в глубине души, бояться того, что не опасно, и верить в то, что не соответствует действительности — общепринятая "мудрость" во всеуслышание заявляет нам, что "карьера это туннель", вместо того, чтобы помочь нам избавиться от этого дерьма...
Позвольте мне на минутку поговорить с вами как с профессиональными разработчиками. Если вам 20-30 лет, и вы действительно хотите преуспеть в ИТ, то одна из важнейших вещей, которая определяет ваш результат — это не искусственный интеллект, не быстрые технологические фишки, и не модные в этом месяце фреймворки.
Всё сводится к тому, сможете ли вы...
Для донов-неначинающих:
А зачем человеку уровень PhD, если в плане карьеры уровень FAANG куда перспективнее во всех отношениях?
Продолжаю выкладывать для донов материалы СильныхИдей.
77. Функциональная архитектура - что это?
Давайте более глубоко погрузимся в тему функционального проектирования, для чего однако предварительно надо разобраться, а знаете ли вы, что такое функциональное программирование?
Да, например, те кто у меня занимается, получили базовое теоретическое представление из "Основ ФП", а затем полноценно попрактиковались в функциональном стиле на функциональном языке F#. Но даже если вы пишете на Хаскеле, можно ли сказать, что ваш код действительно функционален?
(все старые материалы для донов быстро сгорают)
=
Новые материалы для ментатов Лаборатории.
В курс карьеры добавлен 128-й материал "Фриланс в 2026-м".
Нелегко найти клиентов, особенно когда технологии позволяют многим людям выполнять большую механическую часть того, что вы делаете для них, самостоятельно. Это удобнее, быстрее и дешевле. Возможно, по вашим меркам это не так хорошо, но если клиент хочет быстрее и дешевле, вы вряд ли выиграете такой спор...
В СильныеИдеи добавлен материал "135) Моделирование времени в ФП".
В данном контексте мы постоянно упоминаем Haskell как единственный по сути более-менее массовый язык, подходящий для этого. Это не значит, что вы должны переходить на него: наша задача встроить в голову соответствующую думательную машинку...
💪🏻
Лаборатория идёт со скоростью самых лучших ментатов.
=
"ЛаМПовое": rust в духе си, формализация хаскелевского ghc, анти-macos, база по резюме-26, coq как макроассемблер.
Но переходить в Макс совершенно не планирую: это ещё больший зашквар чем принять FanID. Как в апреле забанят Телеграм, так Лаборатория закроется.
- Вы видели, как китайские роботы прыгают, кувыркаются? А мы так можем?
- А мы можем заблокировать видео с этими роботами.
Гайд про функциональные архитектуры, 55 топиков (+2), как наберётся 64, дам ментатам доступ. Мои ближайшие планы на эту весну планирую реализовать в первом приближении в рамках этого гайда.
=
В какой-то момент он принял решение, обращённое в глубокую неизвестность. Он понимал область времени, окружающую их, но то, что было здесь и сейчас, оставалось загадкой. Из многих путей наверх лишь один выводил Пола к к свету.
"Дюна"
1👍29✍8❤7❤🔥2
Кстати темку DSL я изучал ещё почти лет 20 назад, где-то ещё заметки сохранились, как только вышли соответствующие работы Алана Кэя по тысячекратной компактности кода. Потом, в частности, купил книгу Фаулера "DSL", игрался с JetBrains Meta Programming System (создай свой собственный предметно-ориентированный язык), вчера посмотрел, а она жива! Синхронизм - там на форуме по теме буквально 10 дней назад было обсуждение в контексте использования AI + DSL. Не удивлюсь, если тут именно жб сделает что-то продвинутое.
Кстати, в 2013-м я ездил по приглашению в Питер, в гости к Олегу Степанову, CEO JetBrains на тот момент, где-то ещё интервью с ним лежит в сети, и сходил на несколько их семинаров -- как раз по MPS, а также по гомотопической теории типов, после чего этими темками отдельно увлёкся.
Их тематическая лаборатория по HoTT ещё работает, я и не знал, оказывается теорем-прувер Arend -- это их работа.
Кстати, когда жб массово отчалили, я к этому относился сильно негативно, но в последние месяцы думаю: а может быть правы были они, а я ошибался? Ну когда уже совсем скоро пропадёт даже потенциальная возможность читать даже через впн западных топовых математиков и святых computer science в твиттере, тг, потом забанят сабстек и гитхаб... Ну, да, тор какое-то время поработает еле-еле...
И всё как есть, похоже на обман,
Где я вот-вот проснусь...
А на душе снегами лёг туман --
Незаживающая грусть...
"Алиса"
Кстати, в 2013-м я ездил по приглашению в Питер, в гости к Олегу Степанову, CEO JetBrains на тот момент, где-то ещё интервью с ним лежит в сети, и сходил на несколько их семинаров -- как раз по MPS, а также по гомотопической теории типов, после чего этими темками отдельно увлёкся.
Их тематическая лаборатория по HoTT ещё работает, я и не знал, оказывается теорем-прувер Arend -- это их работа.
Кстати, когда жб массово отчалили, я к этому относился сильно негативно, но в последние месяцы думаю: а может быть правы были они, а я ошибался? Ну когда уже совсем скоро пропадёт даже потенциальная возможность читать даже через впн западных топовых математиков и святых computer science в твиттере, тг, потом забанят сабстек и гитхаб... Ну, да, тор какое-то время поработает еле-еле...
И всё как есть, похоже на обман,
Где я вот-вот проснусь...
А на душе снегами лёг туман --
Незаживающая грусть...
"Алиса"
✍36❤12👍2🙏1
Кстати, так-то я шучу что теперь программистам особо и делать ничего не надо, весь код пишут агенты а ты просто плюй в потолок, но реально ситуация прямо противоположная.
Код сейчас пишется быстро, большие объёмы за минуты, и если ещё вчера типичный программист мог весь день одним пальчиком кодировать типовые рабочие задачки на быстром мышлении S1, на автомате/интуиции, мозг по сути не напрягая, уже прокаченным скиллом, то теперь от него требуются, как уже говорил, навыки сеньорские архитекторские техдирские системно-аналитические. Разница по сути (пока) только в масштабе. Ну и так как эти навыки подразумевают уже в первую очередь необходимость принятия решений в нечёткой и неполной среде, едва ли не весь день разработчику приходится включать в голове на полную медленную сеть S2.
AI автоматизировал всю лёгкую работу, но нам оставил все трудные решения -- как низкоуровневые технические, так и высокоуровневые архитектурные и абстрактные, а также всяческую генерализацию, поток которых бесконечен, и для разбирательства с которыми надо постоянно включать мозг. Главная же засада, что обучиться этому, чтобы переключаться на S1, практически нереально.
Ну как бы думать интенсивно каждый день по 8-10 часов, и так без пауз неделями и годами, думаю, вообще никому не под силу, и нас ждёт эпическая волна выгораний в айтишке. В таком формате даже сильные сеньоры способны продуктивно работать только короткими блоками по 1-2 часа - один или изредка два раза в день, даже при большой практике. Максимум 3-4 часа, после чего разработческая активность становится контрпродуктивной и начинает только вредить (например, вносятся трудно находимые баги).
Раньше у нас был объективный предел: скорость набора текста, скорость мышления и время, требуемое для поиска информации. Теперь же этот предел ликвидирован, и рабочие дни программистов быстро становятся всё тяжелее. Не легче: тяжелее.
Код сейчас пишется быстро, большие объёмы за минуты, и если ещё вчера типичный программист мог весь день одним пальчиком кодировать типовые рабочие задачки на быстром мышлении S1, на автомате/интуиции, мозг по сути не напрягая, уже прокаченным скиллом, то теперь от него требуются, как уже говорил, навыки сеньорские архитекторские техдирские системно-аналитические. Разница по сути (пока) только в масштабе. Ну и так как эти навыки подразумевают уже в первую очередь необходимость принятия решений в нечёткой и неполной среде, едва ли не весь день разработчику приходится включать в голове на полную медленную сеть S2.
AI автоматизировал всю лёгкую работу, но нам оставил все трудные решения -- как низкоуровневые технические, так и высокоуровневые архитектурные и абстрактные, а также всяческую генерализацию, поток которых бесконечен, и для разбирательства с которыми надо постоянно включать мозг. Главная же засада, что обучиться этому, чтобы переключаться на S1, практически нереально.
Ну как бы думать интенсивно каждый день по 8-10 часов, и так без пауз неделями и годами, думаю, вообще никому не под силу, и нас ждёт эпическая волна выгораний в айтишке. В таком формате даже сильные сеньоры способны продуктивно работать только короткими блоками по 1-2 часа - один или изредка два раза в день, даже при большой практике. Максимум 3-4 часа, после чего разработческая активность становится контрпродуктивной и начинает только вредить (например, вносятся трудно находимые баги).
Раньше у нас был объективный предел: скорость набора текста, скорость мышления и время, требуемое для поиска информации. Теперь же этот предел ликвидирован, и рабочие дни программистов быстро становятся всё тяжелее. Не легче: тяжелее.
1✍49💯10👍6❤5
Возможно вы читали, как школьник сделал стартап Kodezi по код-ревью и поиску багов в коде, собрал 2 млн. долл., и сейчас у него работает несколько десятков человек.
При том, что сегодня для создания такого стартапа даже знания программирования не требуется, достаточно базы в devops, вот весь его стартап -- это одни выходные для миддла. И так же очевидно, что он просто тупая обёртка вокруг жпт, потому что от школьника глупо ожидать хотя бы какого-то оригинального наполнения агентов профильными скиллами (хотя сейчас-то он набрал рабов-кодеров, чтобы всё было "по взрослому" :). Но это норм, лохов-инвесторов так и надо разводить.
Меня в этой ситуации поражает, что на его сервис активно подписываются не только отдельные разработчики, но и компании! Это на каком же дне должны быть рабочие процессы, и каким же дебилом должен быть CTO, если они не могут в свои ci/cd впихнуть за пару часов агента с шаблонным скиллом ревью кода.
При том, что сегодня для создания такого стартапа даже знания программирования не требуется, достаточно базы в devops, вот весь его стартап -- это одни выходные для миддла. И так же очевидно, что он просто тупая обёртка вокруг жпт, потому что от школьника глупо ожидать хотя бы какого-то оригинального наполнения агентов профильными скиллами (хотя сейчас-то он набрал рабов-кодеров, чтобы всё было "по взрослому" :). Но это норм, лохов-инвесторов так и надо разводить.
Меня в этой ситуации поражает, что на его сервис активно подписываются не только отдельные разработчики, но и компании! Это на каком же дне должны быть рабочие процессы, и каким же дебилом должен быть CTO, если они не могут в свои ci/cd впихнуть за пару часов агента с шаблонным скиллом ревью кода.
✍41😁16💯3
Пользователь запрашивает отчёт, твой API ставит задание в очередь, worker генерирует PDF-файл.
Это pub/sub или очередь с воркерами?
(пауза)
Мнения в команде наверняка разделятся, и это будет похоже на спор о терминологии.
Но это не так.
Ответ на этот вопрос меняет всё поведение системы при нагрузке, сбоях и масштабировании, а это значит, что в таких случаях надо делать шаг назад и выходить за рамки инструментов, на более высокие архитектурные абстракции.
Это pub/sub или очередь с воркерами?
(пауза)
Мнения в команде наверняка разделятся, и это будет похоже на спор о терминологии.
Но это не так.
Ответ на этот вопрос меняет всё поведение системы при нагрузке, сбоях и масштабировании, а это значит, что в таких случаях надо делать шаг назад и выходить за рамки инструментов, на более высокие архитектурные абстракции.
👍37✍16❤1
Смешное: мэйнстрим открывает для себя функциональное программирование =>
Sinks, Not Pipes: Software Architecture in the Age of AI
Пока на уровне "оркестрация синков" вместо "композиция чистых функций", ну ок, постепенно разберутся :)
Понимаю и кривизну понимания темы как следствие ООП -- например про зависимости в интерфейсах... Засада в том, что зависимости нечисты систематически(подсказка: юзайте свободную монаду + AST) , а по каждому интерфейсу задавайте вопрос: почему вообще он потребовался? как вы собираетесь его использовать? Паттерн Стратегия? Ок, но а зачем ещё-то?
Рекомендую в частности вместо интерфейсов с одним методом использовать делегаты/лямбда-функции.
Всё это подробно разбираем с примерами уже скоро в гайде "Функциональные архитектуры".
Sinks, Not Pipes: Software Architecture in the Age of AI
Пока на уровне "оркестрация синков" вместо "композиция чистых функций", ну ок, постепенно разберутся :)
Понимаю и кривизну понимания темы как следствие ООП -- например про зависимости в интерфейсах... Засада в том, что зависимости нечисты систематически
Рекомендую в частности вместо интерфейсов с одним методом использовать делегаты/лямбда-функции.
Всё это подробно разбираем с примерами уже скоро в гайде "Функциональные архитектуры".
❤29👍18❤🔥4✍2
...В следующий раз, когда кто-то из вашей команды заявит, что вам не нужна DI, потому что например в качестве СУБД мы решили навсегда взять Постгрес, вы можете сказать им, что это не имеет значения. Выбор в ООП стоит между DI и говно/спагетти-кодом.
✍41👍9🤔4💯2
Я кстати нашёл язык, минимально из мэйнстрима, который идеально подходит в качестве протокола общения с LLM-ками.
Это ЛИСП! )))
Что смешного? Ну, лисперы в своё время считались куда хардкорнее чем сегодня хаскелисты и юникс/линукс-оиды. А уровень токсичности темки вообще зашкаливал :)
Ну я подскочил и резко въехал ему в щщи с вертушки и пояснил криком "не люблю ооп", потому что я угорел по лиспу, пацаны дух старой школы живёт только в функциональном программировании, где угорают по хардкору, где пацаны живут линейными символами и хвостовой рекурсией! только лисп только функции, только скобки!!! юнити ультрахардкор лисп!!! пацаны угарайте по рекурсии любите лисп, списки и скобки! говорите открыто и смело прямо в лицо! ЛИСП!
Точнее, сегодня это Racket (потомок Scheme).
Чистый АланКеевский путь - язык описывает сам себя.
Плюс: это буквально родной инструмент для создания DSL.
Минус: далековат от прода, хотя... Поддерживают Racket финансово NSF, DARPA и др.
Racket is a language for making languages, so that a programmer can write every module in a well-suited language.
Often an application domain comes with several languages. When you need a new language, you make it - on the fly. Open an IDE window; create a language right there, with just a few keystrokes; and run a module in this new language in a second IDE window. Making new languages really requires no setup, no project files, no external tools, no nothing.
Вот реально, колеблюсь между хакселем и ракетом. Мощная формальная математика и система типов против абсолютной гибкости (кстати именно racket код нейронкам заходит лучше всего).
Это ЛИСП! )))
Что смешного? Ну, лисперы в своё время считались куда хардкорнее чем сегодня хаскелисты и юникс/линукс-оиды. А уровень токсичности темки вообще зашкаливал :)
Ну я подскочил и резко въехал ему в щщи с вертушки и пояснил криком "не люблю ооп", потому что я угорел по лиспу, пацаны дух старой школы живёт только в функциональном программировании, где угорают по хардкору, где пацаны живут линейными символами и хвостовой рекурсией! только лисп только функции, только скобки!!! юнити ультрахардкор лисп!!! пацаны угарайте по рекурсии любите лисп, списки и скобки! говорите открыто и смело прямо в лицо! ЛИСП!
Точнее, сегодня это Racket (потомок Scheme).
Чистый АланКеевский путь - язык описывает сам себя.
(define-language my-domain
(agent (knows abstractions) (does task)))
Плюс: это буквально родной инструмент для создания DSL.
Минус: далековат от прода, хотя... Поддерживают Racket финансово NSF, DARPA и др.
Racket is a language for making languages, so that a programmer can write every module in a well-suited language.
Often an application domain comes with several languages. When you need a new language, you make it - on the fly. Open an IDE window; create a language right there, with just a few keystrokes; and run a module in this new language in a second IDE window. Making new languages really requires no setup, no project files, no external tools, no nothing.
Вот реально, колеблюсь между хакселем и ракетом. Мощная формальная математика и система типов против абсолютной гибкости (кстати именно racket код нейронкам заходит лучше всего).
👍30❤12✍9⚡7
Красивое: GlimpseOfLean : an introduction to theorem proving in Lean for the impatient.
Вот секретная ссылочка на код, в самом низу которой есть ссылочка на онлайн-версию. Просто симпатичная обучалка тактикам лина, а если ставите курсор на строчку, то видно как меняются значения переменных.
Евросообщество Lean4 доступ к своему сервису для России уже давно закрыло (как и к Racket кстати), поэтому можно в этот онлайн зайти только через впн, ну а так как скоро и эти три буквы у нас будут тотально ликвидированы и потеряется доступ к тысячам важнейших мировых математических и компьютерных ресурсов
(как например Калифорнийский университет Беркли, который на днях (следом за Йелем) признали нежелательной экстремистской организацией, и даже просто за ссылки на его научные труды - или за использование FreeBSD :) - можно легко получить штраф, если не что похуже -- от низовых исполнителей для лёгкой статистики, разбираться никто не будет),
рекомендую скачать себе локально весь GlimpseOfLean кому интересно, пока ещё не поздно. Ну и вообще готовимся к самому худшему. На моей жизни я уже ничего позитивного не жду.
p.s. Забыл, в их последнем деплое закомментите
import Mathlib.Data.Complex.Trigonometric
Вот секретная ссылочка на код, в самом низу которой есть ссылочка на онлайн-версию. Просто симпатичная обучалка тактикам лина, а если ставите курсор на строчку, то видно как меняются значения переменных.
Евросообщество Lean4 доступ к своему сервису для России уже давно закрыло (как и к Racket кстати), поэтому можно в этот онлайн зайти только через впн, ну а так как скоро и эти три буквы у нас будут тотально ликвидированы и потеряется доступ к тысячам важнейших мировых математических и компьютерных ресурсов
(как например Калифорнийский университет Беркли, который на днях (следом за Йелем) признали нежелательной экстремистской организацией, и даже просто за ссылки на его научные труды - или за использование FreeBSD :) - можно легко получить штраф, если не что похуже -- от низовых исполнителей для лёгкой статистики, разбираться никто не будет),
рекомендую скачать себе локально весь GlimpseOfLean кому интересно, пока ещё не поздно. Ну и вообще готовимся к самому худшему. На моей жизни я уже ничего позитивного не жду.
p.s. Забыл, в их последнем деплое закомментите
import Mathlib.Data.Complex.Trigonometric
🔥30✍13❤8👍1