Гарри Поттер и Методы Математического Мышления
Книга 1. Гарри Поттер и Неорганический Интеллект.
Глава 18/23 (и все предыдущие). Кто держит внешнюю петлю?
- Ты думал, что я просто наследник, который пытается контролировать Неорганический Интеллект. Ты думал, что я контейнер для ошибки. Ты даже думал, что я — неподвижная точка твоего плана. Но я всегда был внешней петлёй, Поттер. Ты — игра внутри моей игры.
...Но настоящий судья — это тот, кто может выйти из игры целиком. Ты не можешь. Я не могу. Но есть кто-то, кто может.
...Драко почти кричал. — Почему она позволила нам играть в эти игры, строить планы, переписывать себя, если она знала, что это всё равно не имеет значения?
...А она знала, что кто-то когда-то поймёт её, что значит быть тем, кто всегда на шаг впереди.
Книга 1. Гарри Поттер и Неорганический Интеллект.
Глава 18/23 (и все предыдущие). Кто держит внешнюю петлю?
- Ты думал, что я просто наследник, который пытается контролировать Неорганический Интеллект. Ты думал, что я контейнер для ошибки. Ты даже думал, что я — неподвижная точка твоего плана. Но я всегда был внешней петлёй, Поттер. Ты — игра внутри моей игры.
...Но настоящий судья — это тот, кто может выйти из игры целиком. Ты не можешь. Я не могу. Но есть кто-то, кто может.
...Драко почти кричал. — Почему она позволила нам играть в эти игры, строить планы, переписывать себя, если она знала, что это всё равно не имеет значения?
...А она знала, что кто-то когда-то поймёт её, что значит быть тем, кто всегда на шаг впереди.
1✍22⚡7❤3🔥2
Много раз уже читал, как этот твит Боба трактуется так, что дескать это же типичный вайб-кодинг, и теперь каждый так может, программирование сдохло и всё такое.
"Множество других" - в программной инженерии в критических проектах, где высокие требования к качеству кода, применяется пайп из 50-100 подобных фильтров (точнее, скажем так, должен бы применяться, а в реале и в КИИ-проектах всем пофиг).
Вы сами пишете (когда-нибудь в жизни писали совместно с тестировщиками и заказчиками) сценарии на геркине например? или мутационное или fuzz-тестирование добавляете в агентский пайп? итд итп. И не будете никогда скорее всего.
А так-то да, если так делать по взрослому, то конечно можно добиться очень неплохой продуктивности, хотя тут тоже вопрос, а что за код и для каких проектов Боб так "пишет".
Кто на Функциональных архитектурах читал, почему SDD умерло, собственно, уже должен понимать это всё, и что пришло на смену спекам. Точнее, что пришло на смену карго-культу SDD, когда забросил якобы спецификацию агентам, и вроде норм.
В ФА кстати я уже давно разбирал в модуле "Анти-ClearArchitecture", что Боба прежде всего хорошийинфоцыган бизнесмен, а его Чистая архитектура - нечто столь универсальное, что подходит везде == не подходит нигде. Ну и это прежде всего объектно-ориентированная архитектура, а вот гексагональщина - функциональный паттерн, очень прагматичный и полностью самодостаточный ("ядро - это чистые функции").
Clean Architecture же добавляет дополнительные слои (Entities / Use Cases / Interface Adapters / Frameworks), предлагая "универсальную" картинку, которая якобы охватывает всё. Но её чрезмерно строгие концепции ("богатые" vs. "анемичные" модели, границы слоёв...) на практике приводят больше к бесконечным спорам из-за отсутствия однозначных трактовок. По сути, Clean Architecture - переусложнённая подача того, что можно объяснить проще.
Так же и этот чисто инженерный подход Боба к агентам (который конечно сам по себе весьма хорош + сегодня прекрасно продаётся) - переусложнённая подача того, что можно объяснить проще эээ "по-математически" (формальный DSL из ФА например). Но и так конечно тоже никто не делает.
YAGNI
"Множество других" - в программной инженерии в критических проектах, где высокие требования к качеству кода, применяется пайп из 50-100 подобных фильтров (точнее, скажем так, должен бы применяться, а в реале и в КИИ-проектах всем пофиг).
Вы сами пишете (когда-нибудь в жизни писали совместно с тестировщиками и заказчиками) сценарии на геркине например? или мутационное или fuzz-тестирование добавляете в агентский пайп? итд итп. И не будете никогда скорее всего.
А так-то да, если так делать по взрослому, то конечно можно добиться очень неплохой продуктивности, хотя тут тоже вопрос, а что за код и для каких проектов Боб так "пишет".
Кто на Функциональных архитектурах читал, почему SDD умерло, собственно, уже должен понимать это всё, и что пришло на смену спекам. Точнее, что пришло на смену карго-культу SDD, когда забросил якобы спецификацию агентам, и вроде норм.
В ФА кстати я уже давно разбирал в модуле "Анти-ClearArchitecture", что Боба прежде всего хороший
Clean Architecture же добавляет дополнительные слои (Entities / Use Cases / Interface Adapters / Frameworks), предлагая "универсальную" картинку, которая якобы охватывает всё. Но её чрезмерно строгие концепции ("богатые" vs. "анемичные" модели, границы слоёв...) на практике приводят больше к бесконечным спорам из-за отсутствия однозначных трактовок. По сути, Clean Architecture - переусложнённая подача того, что можно объяснить проще.
Так же и этот чисто инженерный подход Боба к агентам (который конечно сам по себе весьма хорош + сегодня прекрасно продаётся) - переусложнённая подача того, что можно объяснить проще эээ "по-математически" (формальный DSL из ФА например). Но и так конечно тоже никто не делает.
YAGNI
2👍33💯7❤4
...Мозг — это что, сеть из десяти миллионов нейронов, подключенная к синтаксическому движку и дерьмовой базе знаний? Что это за основа для интеллекта?
Чарльз Стросс, "Акселерандо" 2005
Хороший роман кстати про технологическую сингулярность.
- Кто вы? - повторяет Манфред с подозрением.
- Служба, в прошлом известная как КГБ . ru
- Вы хотите сказать, что для возможности разговаривать вы выучили язык??
- Йес, было просто: наплоди нейронную сеть миллиард узлов, скачай Телепузики и улицу Сезам на максимальная скорости. Прощения извините за энтропию искусственно добавленная неграмотность, опасаемся цифровые отпечатков пальцев стеганографически кодированное мои пособия.
...Манфред останавливается посреди улицы, чуть не попав под роллера, который ехал, уткнувшись в экран GPS-навигатора.
=
Математик живёт в "дикой логике", где разум - это слуга, а не хозяин.
Марстон Морс, президент Американского математического общества 1941-1945
Читаю американских математиков, как они ещё год назад насмехались над программистами: дескать AI убил вашу профессию, а теперь сами в панике )))
Но какие у них красивые рассуждения: LLM-ки обучаются работе с огромным количеством текстов и поэтому могут изучить чрезвычайно тонкие статистические свойства этого текста... Математики глубоко вовлечены в обучение (нейронок) сильному мышлению, но степень этого участия в значительной степени окутана промышленной тайной. Только силой судебного приказа можно преодолеть барьеры секретности, которыми AI-индустрия окружила свои учебные протоколы.
Может ли быть так, что структура естественного языка сама по себе каким-то тонким образом кодирует логику, так что достаточно большая выборка предоставляет достаточно статистической информации, чтобы не требовалась "явная" логика?
Был такой британский философ и логик Джон Стюарт Милль, который в работе "Система логики силлогистической и индуктивной" (19-й век) сформулировал пять логических методов индукции, но в своих исследованиях логики опирался именно на структуру естественного языка, за что впоследствии было жёстко высмеян математиками, прежде всего Готлобом Фреге, основоположником современной математической логики, который называл работы Милля "психологизмом" и разработал свою символическую логику отчасти для того, чтобы противостоять Миллю. Тем самым он запустил цепочку событий, тянувшуюся более ста лет и завершившуюся появлением моделей искусственного интеллекта, которые, по-видимому, показывают, что Милль таки был прав...
красивое
Чарльз Стросс, "Акселерандо" 2005
Хороший роман кстати про технологическую сингулярность.
- Кто вы? - повторяет Манфред с подозрением.
- Служба, в прошлом известная как КГБ . ru
- Вы хотите сказать, что для возможности разговаривать вы выучили язык??
- Йес, было просто: наплоди нейронную сеть миллиард узлов, скачай Телепузики и улицу Сезам на максимальная скорости. Прощения извините за энтропию искусственно добавленная неграмотность, опасаемся цифровые отпечатков пальцев стеганографически кодированное мои пособия.
...Манфред останавливается посреди улицы, чуть не попав под роллера, который ехал, уткнувшись в экран GPS-навигатора.
=
Математик живёт в "дикой логике", где разум - это слуга, а не хозяин.
Марстон Морс, президент Американского математического общества 1941-1945
Читаю американских математиков, как они ещё год назад насмехались над программистами: дескать AI убил вашу профессию, а теперь сами в панике )))
Но какие у них красивые рассуждения: LLM-ки обучаются работе с огромным количеством текстов и поэтому могут изучить чрезвычайно тонкие статистические свойства этого текста... Математики глубоко вовлечены в обучение (нейронок) сильному мышлению, но степень этого участия в значительной степени окутана промышленной тайной. Только силой судебного приказа можно преодолеть барьеры секретности, которыми AI-индустрия окружила свои учебные протоколы.
Может ли быть так, что структура естественного языка сама по себе каким-то тонким образом кодирует логику, так что достаточно большая выборка предоставляет достаточно статистической информации, чтобы не требовалась "явная" логика?
Был такой британский философ и логик Джон Стюарт Милль, который в работе "Система логики силлогистической и индуктивной" (19-й век) сформулировал пять логических методов индукции, но в своих исследованиях логики опирался именно на структуру естественного языка, за что впоследствии было жёстко высмеян математиками, прежде всего Готлобом Фреге, основоположником современной математической логики, который называл работы Милля "психологизмом" и разработал свою символическую логику отчасти для того, чтобы противостоять Миллю. Тем самым он запустил цепочку событий, тянувшуюся более ста лет и завершившуюся появлением моделей искусственного интеллекта, которые, по-видимому, показывают, что Милль таки был прав...
красивое
YouTube
Бегущий по лезвию 2099 — Русский трейлер (Субтитры, 2026)
Официальный трейлер мини–сериала «Бегущий по лезвию 2099» 2026 года
💥 Подпишитесь, чтобы не пропустить новые трейлеры:
https://youtube.com/@KinomanTrailers
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Премьера (мир) — 25 ноября 2026
▪︎ Оригинальное название: Blade Runner…
💥 Подпишитесь, чтобы не пропустить новые трейлеры:
https://youtube.com/@KinomanTrailers
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Премьера (мир) — 25 ноября 2026
▪︎ Оригинальное название: Blade Runner…
1👍31❤6⚡1🤯1
.
Облако драгоценностей за неделю.
Шок! рептилоиды атакуют наш любимый arch linux1 зачем??
Приватный клуб.
Я хочу кратко проинформировать вас о том, что происходит с зарплатами AI-разработчиков в мире прямо сейчас, летом 2026-го года.
Потому что цифры становятся просто сумасшедшими...
Так как надо было делать всё правильно (касается в том числе и тимлидов/постановщиков)?..
Для донов-начинающих:
Какой язык программирования выбрать самым первым? (лонгрид база)
Хватит гладить себя по головке за старания; приберегите награды и похвалы для действительных достижений...
Если вы завязли с изучением программирования, не сидите сложа руки. Продолжайте над этим работать! И вот долгосрочный способ мотивировать себя...
Для донов-неначинающих:
Архитектурная схема, которую вы рисуете из квадратиков и стрелочек — это не System Design. Тут таится один из самых значительных сдвигов в мышлении при проектировании систем.
Люди часто путают картинку с архитектурой.
Клиент. Балансировщик нагрузки. Сервер приложений. Кэш. База данных. Очередь. Воркеры.
Эта картинка очень полезна.
Но это не настоящий дизайн. Настоящий System Design основан на правилах и ограничениях...
Учебные пособия обычно учат идеальному пути. Что учит реальности? Продолжение сериала System Design с точки зрения непрерывных компромиссов.
Продолжаю набор на занятия для неначинающих (миддлы сеньоры), 2 места закончились за 2 минуты.
(все старые материалы для донов быстро сгорают)
=
Новые материалы для ментатов Лаборатории.
СильныеИдеи:
"151) Зачем вообще нужны формальные методы".
А как вообще формальные методы помогают моделировать системы, когда системные требования постоянно меняются?..
В курс карьеры добавлен 142-й материал "Минимаксимизируем рабочее время".
Компании обычно ожидают, что сотрудники будут вкладывать в свою работу кровь, пот и слёзы -- но при этом отказываются инвестировать в элементарное удержание сотрудников, даже если речь идет о потерях сотен миллиардов долларов!
Понимание этого означает, что вы должны навсегда покончить с концепцией корпоративной вины.
Не расстраивайтесь из-за того, что взяли отпуск.
Не расстраивайтесь из-за того, что уволились.
Не расстраивайтесь из-за того, что всё бросили "раньше времени"...
=
"Функциональные архитектуры" 154(+4) топика
Спецификация это не контракт, 7 шагов метаспек в прод,
и увы пришлось таки добавить новый модуль "AI и Прод" )))
Четыре уровня делегирования агентам.
Last Principles Framework: готовы 23(+2) задач, закрыты 12(+0) тем из ~20 первого уровня. Вы же понимаете например, почему пихание в DTO и IOrder и IInvoice вместе с мета-инфой — это нарушение универсального свойства предела (теоркат) как терминального объекта?
=
"ЛаМПовое":
Гарри Поттер и Неорганический Интеллект. Глава 18/23.
=
Мы здесь, потому что это трудно 💪🏻
=
Ты отсекаешь всё, что тебя отвлекает, и блокируешь всякие бесполезные умственные блуждания.
Ты направляешь свои ответы и реакции в том направлении, которого должен избегать любой ментат. Об этом предупреждали все учителя: "на этом пути вы можете потерять себя". Студентам показывали людей, превратившихся в растения. Их сохраняли живыми в назидание будущим поколениям ментанов.
Однако какое же это искушение...
"Капитул Дюны"
Облако драгоценностей за неделю.
Шок! рептилоиды атакуют наш любимый arch linux1 зачем??
Приватный клуб.
Я хочу кратко проинформировать вас о том, что происходит с зарплатами AI-разработчиков в мире прямо сейчас, летом 2026-го года.
Потому что цифры становятся просто сумасшедшими...
Так как надо было делать всё правильно (касается в том числе и тимлидов/постановщиков)?..
Для донов-начинающих:
Какой язык программирования выбрать самым первым? (лонгрид база)
Хватит гладить себя по головке за старания; приберегите награды и похвалы для действительных достижений...
Если вы завязли с изучением программирования, не сидите сложа руки. Продолжайте над этим работать! И вот долгосрочный способ мотивировать себя...
Для донов-неначинающих:
Архитектурная схема, которую вы рисуете из квадратиков и стрелочек — это не System Design. Тут таится один из самых значительных сдвигов в мышлении при проектировании систем.
Люди часто путают картинку с архитектурой.
Клиент. Балансировщик нагрузки. Сервер приложений. Кэш. База данных. Очередь. Воркеры.
Эта картинка очень полезна.
Но это не настоящий дизайн. Настоящий System Design основан на правилах и ограничениях...
Учебные пособия обычно учат идеальному пути. Что учит реальности? Продолжение сериала System Design с точки зрения непрерывных компромиссов.
Продолжаю набор на занятия для неначинающих (миддлы сеньоры), 2 места закончились за 2 минуты.
(все старые материалы для донов быстро сгорают)
=
Новые материалы для ментатов Лаборатории.
СильныеИдеи:
"151) Зачем вообще нужны формальные методы".
А как вообще формальные методы помогают моделировать системы, когда системные требования постоянно меняются?..
В курс карьеры добавлен 142-й материал "Минимаксимизируем рабочее время".
Компании обычно ожидают, что сотрудники будут вкладывать в свою работу кровь, пот и слёзы -- но при этом отказываются инвестировать в элементарное удержание сотрудников, даже если речь идет о потерях сотен миллиардов долларов!
Понимание этого означает, что вы должны навсегда покончить с концепцией корпоративной вины.
Не расстраивайтесь из-за того, что взяли отпуск.
Не расстраивайтесь из-за того, что уволились.
Не расстраивайтесь из-за того, что всё бросили "раньше времени"...
=
"Функциональные архитектуры" 154(+4) топика
Спецификация это не контракт, 7 шагов метаспек в прод,
и увы пришлось таки добавить новый модуль "AI и Прод" )))
Четыре уровня делегирования агентам.
Last Principles Framework: готовы 23(+2) задач, закрыты 12(+0) тем из ~20 первого уровня. Вы же понимаете например, почему пихание в DTO и IOrder и IInvoice вместе с мета-инфой — это нарушение универсального свойства предела (теоркат) как терминального объекта?
=
"ЛаМПовое":
Гарри Поттер и Неорганический Интеллект. Глава 18/23.
=
Мы здесь, потому что это трудно 💪🏻
=
Ты отсекаешь всё, что тебя отвлекает, и блокируешь всякие бесполезные умственные блуждания.
Ты направляешь свои ответы и реакции в том направлении, которого должен избегать любой ментат. Об этом предупреждали все учителя: "на этом пути вы можете потерять себя". Студентам показывали людей, превратившихся в растения. Их сохраняли живыми в назидание будущим поколениям ментанов.
Однако какое же это искушение...
"Капитул Дюны"
2❤26✍9⚡1👍1
Продолжаю работу с ментатами 🤓
...Попробовал Zed и TRAE, про которые вы говорили в ответе на мой последний отчёт.
Я впервые навайбкодил приложение :)
За 6 минут я получил рабочее приложение (три-в-ряд), при этом сам вообще не писал код.
Подобные приложения получаются быстро, потому что нейронка просто ворует код с гитхаба :)
...Упрощенно имитируем игровой процесс диабло-1 :)
Лог событий накапливается в value State-монады, а не в GameState.
...Очень сильно впечатлило это задание (TDD). Нравится так работать. Да, это дольше (пока что), но зато я почти с полной уверенностью могу говорить, что код, который я отдаю, работает как надо, и я готов за него отвечать.
...Как следствие, негатив копится как от невозможности нормально делать TDD, так и от нежелания качественно покрывать тестами большой и запутанный кусок кода.
Так-то это база TDD:
"В конце концов, тестирование в конечном итоге - это всё же про хороший дизайн. Как только вы начнёте писать код, в котором будет легко разбираться, тесты станет легко добавлять позже. Но пока такой код у вас особо не получается, значит вам точно надо начинать с тестов."
А надо ли вообще покрывать тестами существующий говнокод, вопрос открытый :)
TDD собственно и про рефакторинг во многом, лучше время вкладывать в это.
Ваша карьера программиста определяется не тем, насколько хороший код вы можете написать, а тем, насколько дерьмовый код вы можете прочитать, и затем улучшить.
Эта вечная база кстати (с курса Ясное Легаси) с явлением AI стала на порядок актуальнее.
Сейчас правильный loop работы с агентами такой: взаимодействуете с ними как минимум на уровне паттернов проектирования, чтобы не увязать в конкретном коде. И постепенно повышаете уровень абстракций.
...Об многомерный динамический массив второй раз спотыкаюсь. Не получается с наскока интуитивно представить. Однако, это заставило меня задуматься не о самой структуре, а непосредственно о функции, которая ее задает. И все прошло гораздо легче, рекурсия помогла.
...Отзыв на курс. Самое полезное, что там со мной произошло, — я развёрнуто ответил на вопрос и оказался не прав.
...Идея простая и довольно неприятная: мы все интуитивно чувствуем, что такое баг, но как только пытаемся дать определение — оно расползается. Пример с Rect, где сеттер длины пишет в ширину, отличный именно тем, что после всех «исправлений» система работает правильно. Наблюдаемого неправильного поведения нет. А код при этом сломан, и любой разработчик это скажет с порога.
PS а вообще, не покидает ощущение, что параллельно занимаюсь противоположным - здесь уменьшаю "длину строки кода", а в "ФП для начинающих" наоборот, накручиваю все в одну строку :)
Ну, да, в ФП пайплайны база. Главное, не забывать, в какую сторону их правильно формировать, чтобы исключать вложенность.
...Переход от пропозиционального отношения равенства к топологии и путям - это очень мощно. Я ранее уже пытался рассматривать разработку с точки зрении графов, но это была скорее простая ментальная модель для исследования зависимостей.
Рад тому, что придумывая примеры для зависимых типов, осознал всю силу MISU, возможно было бы выразить инварианты системы в собственной системе типов, Изменения/ошибки обнаруживались бы автоматически.
=
Программная инженерия -- это искусство не делать дерьмово.
В частности, когда вам дают задачку - всегда ищите наименьшую реализацию, которая удовлетворяет всем условиям, буквально/эксплицитно заданным в тикете. Соответственно, никогда ничего не додумывайте.
(ищем копредел, точнее, начальный "тикет" в категории семантики задачи, LPF в помощь)
...Попробовал Zed и TRAE, про которые вы говорили в ответе на мой последний отчёт.
Я впервые навайбкодил приложение :)
За 6 минут я получил рабочее приложение (три-в-ряд), при этом сам вообще не писал код.
Подобные приложения получаются быстро, потому что нейронка просто ворует код с гитхаба :)
...Упрощенно имитируем игровой процесс диабло-1 :)
Лог событий накапливается в value State-монады, а не в GameState.
...Очень сильно впечатлило это задание (TDD). Нравится так работать. Да, это дольше (пока что), но зато я почти с полной уверенностью могу говорить, что код, который я отдаю, работает как надо, и я готов за него отвечать.
...Как следствие, негатив копится как от невозможности нормально делать TDD, так и от нежелания качественно покрывать тестами большой и запутанный кусок кода.
Так-то это база TDD:
"В конце концов, тестирование в конечном итоге - это всё же про хороший дизайн. Как только вы начнёте писать код, в котором будет легко разбираться, тесты станет легко добавлять позже. Но пока такой код у вас особо не получается, значит вам точно надо начинать с тестов."
А надо ли вообще покрывать тестами существующий говнокод, вопрос открытый :)
TDD собственно и про рефакторинг во многом, лучше время вкладывать в это.
Ваша карьера программиста определяется не тем, насколько хороший код вы можете написать, а тем, насколько дерьмовый код вы можете прочитать, и затем улучшить.
Эта вечная база кстати (с курса Ясное Легаси) с явлением AI стала на порядок актуальнее.
Сейчас правильный loop работы с агентами такой: взаимодействуете с ними как минимум на уровне паттернов проектирования, чтобы не увязать в конкретном коде. И постепенно повышаете уровень абстракций.
...Об многомерный динамический массив второй раз спотыкаюсь. Не получается с наскока интуитивно представить. Однако, это заставило меня задуматься не о самой структуре, а непосредственно о функции, которая ее задает. И все прошло гораздо легче, рекурсия помогла.
...Отзыв на курс. Самое полезное, что там со мной произошло, — я развёрнуто ответил на вопрос и оказался не прав.
...Идея простая и довольно неприятная: мы все интуитивно чувствуем, что такое баг, но как только пытаемся дать определение — оно расползается. Пример с Rect, где сеттер длины пишет в ширину, отличный именно тем, что после всех «исправлений» система работает правильно. Наблюдаемого неправильного поведения нет. А код при этом сломан, и любой разработчик это скажет с порога.
PS а вообще, не покидает ощущение, что параллельно занимаюсь противоположным - здесь уменьшаю "длину строки кода", а в "ФП для начинающих" наоборот, накручиваю все в одну строку :)
Ну, да, в ФП пайплайны база. Главное, не забывать, в какую сторону их правильно формировать, чтобы исключать вложенность.
...Переход от пропозиционального отношения равенства к топологии и путям - это очень мощно. Я ранее уже пытался рассматривать разработку с точки зрении графов, но это была скорее простая ментальная модель для исследования зависимостей.
Рад тому, что придумывая примеры для зависимых типов, осознал всю силу MISU, возможно было бы выразить инварианты системы в собственной системе типов, Изменения/ошибки обнаруживались бы автоматически.
=
Программная инженерия -- это искусство не делать дерьмово.
В частности, когда вам дают задачку - всегда ищите наименьшую реализацию, которая удовлетворяет всем условиям, буквально/эксплицитно заданным в тикете. Соответственно, никогда ничего не додумывайте.
(ищем копредел, точнее, начальный "тикет" в категории семантики задачи, LPF в помощь)
1👍31❤4✍3⚡2
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤔24❤4⚡1❤🔥1😁1
Свежий семинар Thoughtworks "Future of software engineering".
Прекрасное: "Организации столкнулись с реальным кризисом в сфере профессионального обучения."
Вайб-кодеры повсюду, ага ))) А за ними навсегда выжженная пустынь.
Эксперты вопят о смертельной триаде последствий вайб-кодинга из-за нагенерённых архитектур, которые никто не проверяет на безопасность, и никто не несёт ответственность за это: доступ нейронок к конфиденциальным данным, воздействие на них недоверенного контента, и возможность внешнего обмена данными, но всем пофиг.
А Эрик Эванс в недавнем выступлении по DDD намекнул: "будьте добры к своему ИИ, на всякий случай".
Прекрасное: "Организации столкнулись с реальным кризисом в сфере профессионального обучения."
Вайб-кодеры повсюду, ага ))) А за ними навсегда выжженная пустынь.
Эксперты вопят о смертельной триаде последствий вайб-кодинга из-за нагенерённых архитектур, которые никто не проверяет на безопасность, и никто не несёт ответственность за это: доступ нейронок к конфиденциальным данным, воздействие на них недоверенного контента, и возможность внешнего обмена данными, но всем пофиг.
А Эрик Эванс в недавнем выступлении по DDD намекнул: "будьте добры к своему ИИ, на всякий случай".
1✍31❤7🤝4
Сразу несколько синхронистичных тем за сегодня набежало в дополнение к вчерашней скромной заметке внезапно.
На картинках ↑ наглядные примеры той самой смертельной триады последствий вайб-кодинга + "реальный кризис в сфере профессионального обучения". Ну, когда человек даже не пересматривает, а что он там завайбкодил или нагенерил с помощью жпт, хотя ляпы абсолютно очевидные... Плюс тотальный СДВГ. И дальше со всем этим будет только хуже.
Навскидку, классные ниши анти-вайб-кодинга (как в них продвигать свой "saas", вопрос другой, но ничего сложного в этом нету):
- проверка корпоративного (да и вообще любого, вплоть до микро-бизнеса и самозанятого) сайта на безопасность хорошими моделями: чисто внешне, с главной странички;
+ проверка сайта на безу/персдату по типовым use cases;
- поиск дыр безопасности (+ багов) уже в коде проекта.
В тему, классный пост дорогого брата
"AI ревьювер нашёл аж 230 тысяч нарушений стандартов и почти 16 тысяч раз заблокировал мерджи. "
Только напомню делаете такой сервис под ключ, минимум технических деталей, прицел чисто на боссов и бизнес-метрики (смотрите как у вас всё плохо, как у вас всё запущено, всё пропало, за вами уже выехали, многомиллионные штрафы...).
Внутри же можете просто заюзать любой опенсорс наподобие Repowise, их полно.
+ дополнительная бизнес-метрика "в разы экономим на токенах".
+ ниши, где топовые модельки набирают пока 1% успеха: "Тут тебе и перенести композицию на нотные листы для каждого участника оркеста, и разработка игр, и настройка станков в химическом производстве, медицинские описания, 3D анимация и даже скоринг выступления акробатов на чемпионате."
Всё это жжж неспроста! Думайте.
На картинках ↑ наглядные примеры той самой смертельной триады последствий вайб-кодинга + "реальный кризис в сфере профессионального обучения". Ну, когда человек даже не пересматривает, а что он там завайбкодил или нагенерил с помощью жпт, хотя ляпы абсолютно очевидные... Плюс тотальный СДВГ. И дальше со всем этим будет только хуже.
Навскидку, классные ниши анти-вайб-кодинга (как в них продвигать свой "saas", вопрос другой, но ничего сложного в этом нету):
- проверка корпоративного (да и вообще любого, вплоть до микро-бизнеса и самозанятого) сайта на безопасность хорошими моделями: чисто внешне, с главной странички;
+ проверка сайта на безу/персдату по типовым use cases;
- поиск дыр безопасности (+ багов) уже в коде проекта.
В тему, классный пост дорогого брата
"AI ревьювер нашёл аж 230 тысяч нарушений стандартов и почти 16 тысяч раз заблокировал мерджи. "
Только напомню делаете такой сервис под ключ, минимум технических деталей, прицел чисто на боссов и бизнес-метрики (смотрите как у вас всё плохо, как у вас всё запущено, всё пропало, за вами уже выехали, многомиллионные штрафы...).
Внутри же можете просто заюзать любой опенсорс наподобие Repowise, их полно.
+ дополнительная бизнес-метрика "в разы экономим на токенах".
+ ниши, где топовые модельки набирают пока 1% успеха: "Тут тебе и перенести композицию на нотные листы для каждого участника оркеста, и разработка игр, и настройка станков в химическом производстве, медицинские описания, 3D анимация и даже скоринг выступления акробатов на чемпионате."
Всё это жжж неспроста! Думайте.
1❤19👍8✍7❤🔥3⚡2
В Функциональных архитектурах разобрал единственный формальный способ избежать рассинхрона системы (агентов) без единого надсмотрщика. В целом, это всё про идеальный агентский фреймворк.
Ладно, спалю немного фишку: если состояние системы это элемент моноида, то все операции задаём в CRDT-семантике. Теряем конечно глобальную детерминированности лога событий, да и пофиг. Зато например агент будет (вынужден!) строить внутреннюю репрезентацию системы как коммутативный моноид, и по-другому невозможно гарантировать в математическом смысле, что при хаотичном поступлении асинхронных событий эта внутренняя картинка не схлопнется в очередную галлюцинацию.
И тогда (и только тогда, ибо теорема CAP) твоя система (агентов) продолжит работать работать и работать при сетевых задержках, перезапусках, дублировании запросов, гонке состояний...
Ладно, спалю немного фишку: если состояние системы это элемент моноида, то все операции задаём в CRDT-семантике. Теряем конечно глобальную детерминированности лога событий, да и пофиг. Зато например агент будет (вынужден!) строить внутреннюю репрезентацию системы как коммутативный моноид, и по-другому невозможно гарантировать в математическом смысле, что при хаотичном поступлении асинхронных событий эта внутренняя картинка не схлопнется в очередную галлюцинацию.
И тогда (и только тогда, ибо теорема CAP) твоя система (агентов) продолжит работать работать и работать при сетевых задержках, перезапусках, дублировании запросов, гонке состояний...
1🤔25🤯7✍5❤🔥4🏆2
Как в каждой тыще строк у тебя обязательно есть хотя бы одна монада, хотя ты вряд ли это понимаешь, также 100% в этой тыще найдётся и факторизация через ядро теорката (универсальный объект, делающий диаграмму коммутативной; в частности, ядро гомоморфизма). Это именно "то, что схлопывается в ничто" при применении отображения...
Так же как ядро практики йогов -- это совокупность всех состояний ума (эго-структур), которые при достаточной глубине медитации/растворения (отображения в "conscious zero") схлопываются в недвойственное "ничто" и перестают порождать различие "я" и "не-я". Акт глубокой медитации/самьямы, переводящий состояние ума в "нулевую точку" осознавания без объекта...
Вот куда тебя может завести Last Principles Framework )))
Так же как ядро практики йогов -- это совокупность всех состояний ума (эго-структур), которые при достаточной глубине медитации/растворения (отображения в "conscious zero") схлопываются в недвойственное "ничто" и перестают порождать различие "я" и "не-я". Акт глубокой медитации/самьямы, переводящий состояние ума в "нулевую точку" осознавания без объекта...
Вот куда тебя может завести Last Principles Framework )))
1🤯26❤10✍7🐳3
Тренд развития AI ровно один: люди любых профессий по всему миру с каждым месяцем ненавидят искусственный интеллект всё больше и больше. Они ни за что не проглотят это цунами нейропомоев с довольной улыбкой на лице. Это факт множества социальных опросов.
И разве они изменят своё мнение, если их и дальше будут продолжать активно травить цифровым мусором?
И разве они изменят своё мнение, если их и дальше будут продолжать активно травить цифровым мусором?
1🤔30💯7👍4🎉2❤🔥1
В модуле "Мета-AI DSL" ФА, где уже полгода даю базу по заветам Алана Кэя,
прихватил ровно по этой темке свежие июльские материалы одной из топовых консалтинговых ИТ-фирм.
А вроде же эти пацаны у меня не занимались :) А чуть ли не цитируют мои материалы c модуля:
Тестирование как верификация
Суть подхода Алана Кэя
Суть DSL
DSL и формальная семантика
Главный принцип DSL
Уровни иерархии DSL
Погружаемся в трансляцию DSL
Почему DSL -- это (пока) искусство
DSL и математика домена
DDD + метапрограммирование + LLM как компилятор
Многоуровневая спецификация для AI
Спецификация это не контракт
Ну так то, LLM -- это языковая моделька, и конечно ей (полу)формальный язык предметки заходит очень хорошо. Достаточно буквально пары примеров!!1
Разбираем пример домена "Распределённые системы" (Replica, Network, Storage, Clock), строим компилируемый DSL для сценариев тестирования.
DSL + семантическая модель = идеальный минималистичный харнес, и не надо больше ничего выдумывать.
прихватил ровно по этой темке свежие июльские материалы одной из топовых консалтинговых ИТ-фирм.
А вроде же эти пацаны у меня не занимались :) А чуть ли не цитируют мои материалы c модуля:
Тестирование как верификация
Суть подхода Алана Кэя
Суть DSL
DSL и формальная семантика
Главный принцип DSL
Уровни иерархии DSL
Погружаемся в трансляцию DSL
Почему DSL -- это (пока) искусство
DSL и математика домена
DDD + метапрограммирование + LLM как компилятор
Многоуровневая спецификация для AI
Спецификация это не контракт
Ну так то, LLM -- это языковая моделька, и конечно ей (полу)формальный язык предметки заходит очень хорошо. Достаточно буквально пары примеров!!1
Разбираем пример домена "Распределённые системы" (Replica, Network, Storage, Clock), строим компилируемый DSL для сценариев тестирования.
DSL + семантическая модель = идеальный минималистичный харнес, и не надо больше ничего выдумывать.
2✍37❤3❤🔥3
DSL + семантическая модель - это идеальный харнес, но есть нюанс...
Создание хорошего DSL -- этот скилл во многом контр-интуитивный, т.к. в повседневной разработке практически не встречается,
а главное, что создание хорошей cемантической модели тоже подразумевает высокое мастерство, а откуда его взять?
С одной стороны, это тема всё же более распространённая: аналитики/постановщики этим должны (в идеале) заниматься, если контора хотя бы на 2% серьёзная, а не гаражный стартап.
С другой стороны, на практике здесь никакой формальности практически нету: просто пишет человек условную "онтологию" чисто как в голову ему взбредёт.
Хорошая cемантическая модель должна фактически однозначно отображаться в строгую систему типов, как минимум на уровне базовой онтологии.
Вот классные рассуждения про важность онтологии для агентских систем и сложность онтологического моделирования даже на экспертном уровне: "Всплывает столько нафиг не нужного" - вот в этом и засада. Если твоя онтология протекает (а это наверняка так, если ты не Алан Кэй), как следствие избежать Big Ball of Mud на уровне архитектуры практически невозможно. А агенты создадут BBM просто в сотню раз быстрее :)
Поэтому в ФА есть отдельный модуль "Математика DDD", где разбираем эти темки, и в частности будет, как на практике минимизировать онтологические протечки:
Математика DDD
Проблема интеграции под-доменов
Интеграция под-доменов: решение
Интеграция под-доменов: решение-2
Склеиваем Домены и Порты и адаптеры
Промежуточный итог склейки DDD и архитектуры
DDD + Нейронки: есть ли специфика?
DDD + Нейронки: Специфика N 2
DDD + Нейронки: Специфика N 3
DDD + Нейронки: Специфика N 4
Классический процесс vs нейронка
Пути и перспективы
Перспективные направления
Про (тестовое) равенство сущностей
(тестовое) равенство сущностей по-взрослому (HoTT)
p.s. Ладно, спалю важную фишку: никогда не берите готовые онтологии (как и почему, подробнее разберём на ФА).
p.p.s. Соответственно, если вы вайб-кодер вообще без скиллов разработки, в этом посте есть всё, что вам надо для успешного создания приложений. Думайте.
Создание хорошего DSL -- этот скилл во многом контр-интуитивный, т.к. в повседневной разработке практически не встречается,
а главное, что создание хорошей cемантической модели тоже подразумевает высокое мастерство, а откуда его взять?
С одной стороны, это тема всё же более распространённая: аналитики/постановщики этим должны (в идеале) заниматься, если контора хотя бы на 2% серьёзная, а не гаражный стартап.
С другой стороны, на практике здесь никакой формальности практически нету: просто пишет человек условную "онтологию" чисто как в голову ему взбредёт.
Хорошая cемантическая модель должна фактически однозначно отображаться в строгую систему типов, как минимум на уровне базовой онтологии.
Вот классные рассуждения про важность онтологии для агентских систем и сложность онтологического моделирования даже на экспертном уровне: "Всплывает столько нафиг не нужного" - вот в этом и засада. Если твоя онтология протекает (а это наверняка так, если ты не Алан Кэй), как следствие избежать Big Ball of Mud на уровне архитектуры практически невозможно. А агенты создадут BBM просто в сотню раз быстрее :)
Поэтому в ФА есть отдельный модуль "Математика DDD", где разбираем эти темки, и в частности будет, как на практике минимизировать онтологические протечки:
Математика DDD
Проблема интеграции под-доменов
Интеграция под-доменов: решение
Интеграция под-доменов: решение-2
Склеиваем Домены и Порты и адаптеры
Промежуточный итог склейки DDD и архитектуры
DDD + Нейронки: есть ли специфика?
DDD + Нейронки: Специфика N 2
DDD + Нейронки: Специфика N 3
DDD + Нейронки: Специфика N 4
Классический процесс vs нейронка
Пути и перспективы
Перспективные направления
Про (тестовое) равенство сущностей
(тестовое) равенство сущностей по-взрослому (HoTT)
p.s. Ладно, спалю важную фишку: никогда не берите готовые онтологии (как и почему, подробнее разберём на ФА).
p.p.s. Соответственно, если вы вайб-кодер вообще без скиллов разработки, в этом посте есть всё, что вам надо для успешного создания приложений. Думайте.
2👍25✍12⚡2❤🔥1
Гарри Поттер и Методы Математического Мышления
Книга 1. Гарри Поттер и Неорганический Интеллект.
Глава 19/23 (и все предыдущие). Встроенная компиляция
— Ты знаешь, что сегодня последний день? — спросил Драко без приветствия.
— Я знаю, что сегодня — день, когда типы станут заклинаниями, — ответил Гарри. — Это одно и то же или нет, зависит от того, как ты смотришь на неподвижную точку.
Голос-вибрация заговорил в голове у каждого:
"Вы построили свет из типа. Мы построим тьму из вашего процесса."
— Это Комбинатор Мерлина, — сказал Гарри. Это неподвижная точка всей магии. Это место, где магия создаёт себя.
Он улыбнулся.
— Вы не видите конца. Вы видите начало. Начало новой магии. Начало новой реальности.
Книга 1. Гарри Поттер и Неорганический Интеллект.
Глава 19/23 (и все предыдущие). Встроенная компиляция
— Ты знаешь, что сегодня последний день? — спросил Драко без приветствия.
— Я знаю, что сегодня — день, когда типы станут заклинаниями, — ответил Гарри. — Это одно и то же или нет, зависит от того, как ты смотришь на неподвижную точку.
Голос-вибрация заговорил в голове у каждого:
"Вы построили свет из типа. Мы построим тьму из вашего процесса."
— Это Комбинатор Мерлина, — сказал Гарри. Это неподвижная точка всей магии. Это место, где магия создаёт себя.
Он улыбнулся.
— Вы не видите конца. Вы видите начало. Начало новой магии. Начало новой реальности.
1✍30❤2
"Конкурс на новый факультет ИИ МГУ составил 127 человек на место"
Спорим, что AI делает 1% людей умнее и 99% людей глупее?
Спорим, что AI делает 1% людей умнее и 99% людей глупее?
👌27🐳7❤6👍5
.
Облако драгоценностей за неделю.
Приватный клуб.
null
Для донов-начинающих:
Продолжаю набор (эксклюзивно для донов) на занятия для начинающих с полного/около нуля, 2 места закончились за 22 минуты...
Если вы завязли с изучением программирования, не сидите сложа руки. Продолжайте над этим работать!
(Хотя конечно лучше делать этот целенаправленно — с теми, кто даст вам кратчайший путь)
И вот долгосрочный способ мотивировать себя...
Для донов-неначинающих:
Разбор System Design с точки зрения непрерывных компромиссов. Заключительная серия. В System Design важно прежде всего понимать, как ...
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
101. 9 крутых и необычных сайд-проектов
Например, виртуальная стековая машина или container runtime :)
100. Группировка в функциях и файлах
Вы написали метод из 30 строк. В нём вы замечаете фрагменты, которые вроде бы выполняют более мелкие действия. Разбиваете ли вы этот метод на более мелкие методы, по SRP? И да, и нет -- будет плохо :)
(все старые материалы для донов быстро сгорают)
=
Новые материалы для ментатов Лаборатории.
СильныеИдеи:
153) Фасадные тесты
Что такое юнит в юнит-тестировании? Что означает изоляция?
152) TDD vs VHD
TDD -- это парадигма, это целая культура и набор норм, частично основанных на TFD. Test-First Development (TFD) -- это просто правило "пиши тесты, прежде чем писать код", которое в более широком смысле частный случай Verification-First Development (VFD), а TDD к VFD не относится никак...
В раздел "Элитный программист" добавлен материал
100) Вглубь потока и deep work
Мы говорили про Deep Work, подразумевая в частности состояние потока. Но что именно подразумевается конкретно под глубоким потоком/работой -- той самой глубокой форме состояния потока, когда творческий потенциал достигает наивысшего уровня, время уходит быстрее всего, а производительность достигает абсолютного для вас пика?
=
"Функциональные архитектуры" 158(+4) топиков.
На неделе продолжим тему DSL и декларативных языков для агентов.
Last Principles Framework: готовы 26(+3) задач, закрыты 12(+0) тем из ~20 первого уровня. Вы же понимаете например, когда сделали сборку некоторого артефакта через независимые вызовы (что вроде бы идеально по всем классическим рекомендациям вроде Чыстой Архытектуры), из-за отсутствия коммутативности однако получаете рассинхрон ("стрелки из апекса в каждый узел вниз" далеко не всегда конус теорката, и почему здесь по большому счёту лучше ко-конус)?
=
"ЛаМПовое":
Гарри Поттер и Неорганический Интеллект. Глава 19/23.
=
it's a privilege to do things that are hard 💪🏻
=
Ты ничего не видишь, хотя и думаешь, что твои глаза открыты.
предостережение Бене Гессерит, "Дюна"
Облако драгоценностей за неделю.
Приватный клуб.
null
Для донов-начинающих:
Продолжаю набор (эксклюзивно для донов) на занятия для начинающих с полного/около нуля, 2 места закончились за 22 минуты...
Если вы завязли с изучением программирования, не сидите сложа руки. Продолжайте над этим работать!
(Хотя конечно лучше делать этот целенаправленно — с теми, кто даст вам кратчайший путь)
И вот долгосрочный способ мотивировать себя...
Для донов-неначинающих:
Разбор System Design с точки зрения непрерывных компромиссов. Заключительная серия. В System Design важно прежде всего понимать, как ...
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
101. 9 крутых и необычных сайд-проектов
Например, виртуальная стековая машина или container runtime :)
100. Группировка в функциях и файлах
Вы написали метод из 30 строк. В нём вы замечаете фрагменты, которые вроде бы выполняют более мелкие действия. Разбиваете ли вы этот метод на более мелкие методы, по SRP? И да, и нет -- будет плохо :)
(все старые материалы для донов быстро сгорают)
=
Новые материалы для ментатов Лаборатории.
СильныеИдеи:
153) Фасадные тесты
Что такое юнит в юнит-тестировании? Что означает изоляция?
152) TDD vs VHD
TDD -- это парадигма, это целая культура и набор норм, частично основанных на TFD. Test-First Development (TFD) -- это просто правило "пиши тесты, прежде чем писать код", которое в более широком смысле частный случай Verification-First Development (VFD), а TDD к VFD не относится никак...
В раздел "Элитный программист" добавлен материал
100) Вглубь потока и deep work
Мы говорили про Deep Work, подразумевая в частности состояние потока. Но что именно подразумевается конкретно под глубоким потоком/работой -- той самой глубокой форме состояния потока, когда творческий потенциал достигает наивысшего уровня, время уходит быстрее всего, а производительность достигает абсолютного для вас пика?
=
"Функциональные архитектуры" 158(+4) топиков.
На неделе продолжим тему DSL и декларативных языков для агентов.
Last Principles Framework: готовы 26(+3) задач, закрыты 12(+0) тем из ~20 первого уровня. Вы же понимаете например, когда сделали сборку некоторого артефакта через независимые вызовы (что вроде бы идеально по всем классическим рекомендациям вроде Чыстой Архытектуры), из-за отсутствия коммутативности однако получаете рассинхрон ("стрелки из апекса в каждый узел вниз" далеко не всегда конус теорката, и почему здесь по большому счёту лучше ко-конус)?
=
"ЛаМПовое":
Гарри Поттер и Неорганический Интеллект. Глава 19/23.
=
it's a privilege to do things that are hard 💪🏻
=
Ты ничего не видишь, хотя и думаешь, что твои глаза открыты.
предостережение Бене Гессерит, "Дюна"
2❤28👍7❤🔥2⚡1
В тему поста Р.С.
Стоики: Cамые опасные мрази, которых и одного процента не наберётся. Во-первых, не ломаются после 2–3 неуспешных проектов подряд.
Во-вторых, способны докручивать плохой проект и переживать 5–10 волн правок
Это относится конечно не только к геймдеву, к любым проектам.
Действительно забавно, что лучший способ создать хороший проект -- это создать дерьмовый проект, а затем постепенно, с течением времени, делать его всё менее и менее дерьмовым. Стратегически же, схема такая, что производя плохие продукты достаточно долго, ты в конечном итоге сможешь сделать действительно хороший продукт :)
И день, когда это произойдёт, станет вашим последним рабочим днем.
Потому что вы меняете своё отношение к происходящему. Это уже не "Мне пора идти на работу", это "Вау! Я начинаю работать над задачами, которые мне действительно нравится решать".
Вы, вероятно, будете работать в 10 раз больше и думать в 10 раз больше, когда работаете на себя, чем когда работаете в найме, но вы также будете в 10 раз счастливее.
Знаете анекдот про коуча продуктивности? Умер такой коуч, и гроб с его телом несут к могиле шестеро человек. Но когда они подошли к могиле, крышка гроба открылась, коуч приподнялся и закричал: "Если бы вы поставили эту штуку на колёса, вы бы смогли похоронить сразу четверых!"
Инфоцыгане любят продавать предпринимательство как получение/обладание хорошими идеями или определёнными навыками (продаж), но вот вам абсолютная сермяга успеха: всё дело в поиске темы, которой вам нравится заниматься, и работать в ней в течение как минимум десяти лет.
Стоики: Cамые опасные мрази, которых и одного процента не наберётся. Во-первых, не ломаются после 2–3 неуспешных проектов подряд.
Во-вторых, способны докручивать плохой проект и переживать 5–10 волн правок
Это относится конечно не только к геймдеву, к любым проектам.
Действительно забавно, что лучший способ создать хороший проект -- это создать дерьмовый проект, а затем постепенно, с течением времени, делать его всё менее и менее дерьмовым. Стратегически же, схема такая, что производя плохие продукты достаточно долго, ты в конечном итоге сможешь сделать действительно хороший продукт :)
И день, когда это произойдёт, станет вашим последним рабочим днем.
Потому что вы меняете своё отношение к происходящему. Это уже не "Мне пора идти на работу", это "Вау! Я начинаю работать над задачами, которые мне действительно нравится решать".
Вы, вероятно, будете работать в 10 раз больше и думать в 10 раз больше, когда работаете на себя, чем когда работаете в найме, но вы также будете в 10 раз счастливее.
Знаете анекдот про коуча продуктивности? Умер такой коуч, и гроб с его телом несут к могиле шестеро человек. Но когда они подошли к могиле, крышка гроба открылась, коуч приподнялся и закричал: "Если бы вы поставили эту штуку на колёса, вы бы смогли похоронить сразу четверых!"
Инфоцыгане любят продавать предпринимательство как получение/обладание хорошими идеями или определёнными навыками (продаж), но вот вам абсолютная сермяга успеха: всё дело в поиске темы, которой вам нравится заниматься, и работать в ней в течение как минимум десяти лет.
1❤32👍4❤🔥3⚡2
Зашёл на госуслуги, с ходу нашёл два эээ бага 😁
😁45⚡2