partially unsupervised
9.62K subscribers
28 photos
2 files
214 links
@arsenyinfo пишет про software engineering и machine learning
Download Telegram
Если вы отбитый вайбкодер, стремительно выжирающий лимиты подписки, или просто любите китайские подделки, посмотрите на z.ai.

Их флагманская модель GLM 4.6 сейчас даже не лучшая среди open weights моделей, но у нее есть два преимущества:
- их самый дорогой тариф сейчас стоит 360 баксов в год (а самый дешевый - в десять раз меньше);
- они не постеснялись из коробки обеспечить совместимость c Claude Code до такой степени, что на вопрос "what model is under your hood?", он отвечает "Sonnet 4.5".

Конечно, никакие серьезно приватные данные я бы этой штукой не трогал, но для всякой фигни работает. Например, я недавно хотел натравить Клода привести в порядок файлопомойку - обновить систему, разобраться, почему иногда шара отваливается, почистить остатки плохо удалившихся экспериментально установленных пакетов и так далее. Но теперь вместо Клода этим занимается его младший брат Злод.
3😁63👍143👎1🤡1
Чистил канпюктер от старья и внезапно обнаружил, что за последний год перестал использовать в разработке четыре столпа, которые казались незыблемыми последние лет десять: iTerm, Pycharm, Pyenv, Docker Desktop.

iTerm и Pycharm продолжали обрастать фичами, которые мне ни к чему. Фичи бесплатными не бывают: у iterm в 2024 всплыла неприятная уязвимость, Pycharm продолжал слегка тормозить даже на свежем железе (возможно, я просто не знаю все флаги, как дать ему еще больше памяти). Так я перешел на более легкие альтернативы - Wezterm и Zed.

Pyenv когда-то был отличным способом управлять зоопарком питонов и вместе с poetry делал управление зависимостями терпимым. Но uv разрубил этот узел, оно просто работает. Лучшее, что случилось с Python экосистемой, не считая maturin.

Про избавление от Docker Desktop мне пришлось подумать на работе, потому что в Большой Корпорации для него нужна отдельная лицензия, которая положена не всем. Мне таки положена, но дать продакту демку стало сложнее. Так я познакомился с colima, перешел на нее (все еще с docker runtime / docker cli, которые не требуют коммерческой лицензии) на рабочей тачке, а заодно и на своей, совершенно этого не заметив. Впрочем, чистым докером я тоже пользуюсь все меньше, потому что меня покусал Dagger.
6👍93🙏76🤔4🔥3❤‍🔥2💯2👎1👌1
В моем CV много лет написано "Love building dev tools", и типичный нанимающий менеджер смотрел на это в лучшем случае без интереса. Dev tools и devex были чем-то относительно маргинальным.

И вот довольно резко мир поменялся, и dev tools оказались на слуху. За новыми devtools релизами в YC уже невозможно уследить. Но отложим венчурный мир и астрономически суммы в пресс-релизах Cursor и последователей, есть причины и более приземленные.

Во-первых, собственно распространение инструментов AI-powered IDE/agents привело к тому, что технические менеджеры, купив всем подписку на Cursor, вынужденно задумались о том, где боттлнек в software development life cycle. Он и до расцвета кодинг агентов был едва ли в имплементации, но сейчас это стало еще заметнее. Доля кодирования на фоне митингов, согласований, возни с инфрой стала совершенно незначительной. Избавиться от митингов техническими способами невозможно, а вот ускорить путь от коммита до релиза обычно можно.

Во-вторых, devex на самом деле отчасти превращается в agentic experience. Разработчик библиотеки сейчас должен удовлетворить пользователя исключительно фичами, а вот API надо оптимизировать скорее для агентов. Счастье программиста от элегантного API измерять сложно, а вот сходимость агента - довольно легко. Я и сам прошлую неделю строил цепочку, чтобы агент рекомендовал другому агенту, как передизайнить CLI - буквально за несколько итераций сходимость улучшилась на треть.

Я искренне рад этому. Раньше аккуратный фундамент проекта был причудой, на которую никогда не хватало времени, и так сойдет, пострадаем, притерпимся. Сейчас ни один эффективный менеджер не сможет возразить, что этот ваш рефакторинг - бесполезная затея, не показавшись AI-луддитом.
562👍23
Классический ML был довольно творческой штукой. Придумать хитрую фичу из сырых данных, нашаманить нестандартную аугментацию, собрать гибрид из знакомых блоков. Нестандартные подходы часто вознаграждались.

С AI agents всё строго наоборот: нужно оставаться ближе к канону.

Да, при должно усердии можно заставить агента делать любые причуды. Хочешь промпты на сербохорватском? Пожалуйста. Свой формат tool calls? Не проблема, как-то будет работать. Но если Claude обучен на миллионах траекторий Claude Code, то каждое отклонение от их формата - это как плыть против течения. Можно, но зачем тратить ресурсы на адаптацию к причудам? You can't fight gravity gradient descent.

Потому, хоть и хочется иногда переизобрести велосипед, для большинства задач лучшая стратегия - разбираться, как устроены оригинальные scaffolding, читать рекомендации от провайдера и не выпендриваться.
😁43🫡37❤‍🔥14😢75👍5💯4🎄1🗿1
Примерно двадцать лет назад я "сделал" первый сайт (осилил развернуть wordpress по инструкции и пошатать базовый шаблон). Много воды утекло, но я так и не научился во фронтенд. Тем более, что сложность фронтенда росла экспоненциально, и угнаться за всеми этими фреймворками было сложно, не будучи собственно фронтендером.

Игнорировать существование фронтенда было легко, пока мы не начали делать агента для создания веб-приложений, и тогда-то у меня начала периодически отваливаться жопа. Кажется, что тянуть React и 100500 зависимостей для простой CRUD админки - это как-то слишком, но индустрия в среднем со мной не согласна.

И вот повод настал: хакатон, свободное время, желание разобраться в Claude Skills - и я сделал скилл для создания веб-приложений на стеке для таких же неумех: Rust + HTMX + Alpine.js + PicoCSS + Neon Postgres. Все рендерится на сервере, билдится в один крохотный бинарник, работает на любой картофелине. Попробуйте, если вы тоже не осилили React, а иногда нужно делать простой веб.
1🔥8423😁7🤝4
Forwarded from Время Валеры
Почти закончен перевод нашей книги на русский язык.

Уже доступен предзаказ, сама книга будет в продаже с 26 января.

Предзаказ - промокод на 35%
2👍4820🔥12💩3🌭3😁1🍓1
Личные итоги года по сравнению с 2024:

- много работал, интересно и в основном в кайф, но по итогам почти безрезультатно, back to square one - штош, не прокнуло. Очень благодарен всем соучастникам, вы классные;
- перешел от старого доброго ML к agentic AI шаманству. В целом бодро, но немного ностальгирую по временам, когда модели можно было учить (нытье по этому поводу - раз, два);
- незапланированно оказался в бигтехе с его плюсами и минусами;
- был соавтором статьи, которую не приняли на воркшоп NeurIPS, зато после доработки приняли на SANER;
- почти перестал писать код руками и сдался вайбкодингу, claude code - однозначно инструмент года;
- сделал слегка виральный brainrot пет-проект @ScratchAuthorEgoBot, там все еще теплится жизнь;
- подарил сколько-то экземпляров книги с автографами, каждая подпись - лютый кринж;
- наконец-то выучил и сдал польский на B1, практически сразу после экзамена половину забыл;
- ощутил два землетрясения за три дня (одно на семерку), интересный опыт для жителя равнины;
- впервые оказавшись на горнолыжном курорте, свалился с T-bar подъемника.

С наступающим, дорогие читатели! 🥂
👏82🍾6418❤‍🔥16👍6😁2🔥1
Последние несколько недель баловался с разными консольными кодинг агентами. Claude Code все еще остается моим фаворитом, но смотреть по сторонам полезно, тем более когда что-то про agentic devex написано в моих рабочих задачах.

Клиенты

Попробовал Opencode, Gemini CLI, Github Copilot CLI, Codex. Раз речь про вайбкодинг, то и оценивать буду по вайбам:
- Gemini и Copilot - клиенты сыроваты, работать можно, но не хочется.
- Codex созрел и стал вполне юзабельным.
- Opencode прям хорош, UX отполированный, полностью опенсорсный, есть плагины, развивается очень быстро.

Еще одна фича Opencode: можно не только использовать провайдеров с оплатой по токенам, но и переиспользовать подписки. Серая зона: одни провайдеры (Anthropic) явно запрещают использовать сторонние клиенты, некоторые (Copilot, Minimax, Z.ai) разрешают, так что где-то приходится действовать на свой страх и риск.

Модели

Попробовал и разные модели в Opencode:
- minimax 2.1, GLM 4.7 - похожи на sonnet предыдущего поколения, дешевые рабочие лошадки для простых задач
- GPT Codex 5.2 - задает очень много вопросов, вкапывается в детали - иногда в лишние, а потом уходит работать на пару часов с достойным качеством
- Gemini 3 Pro - на первый взгляд все классно, может предложить нетривиальные идеи или быстро решить сложную задачу... но потом оказывается, что где-то с высокой вероятностью подложена свинья. Например, переписываю большой кусок с питона на раст, агент пишет гору правдоподобного кода и бодро отчитывается, что все проверено и идеально матчится, но в итоге окажется, что 10% функций цинично проигнорировано. Они не просто где-то выпали из контекста, а нагло возвращают константу с комментарием в коде типа "а это делать не буду, и так норм". Что-нибудь молча удалить или наоборот попытаться закоммитить - тоже нередкая ситуация.
- Gemini Flash 3 - аналогично, только быстрее и тупее.

Воскрешение года

Повод удивиться: внезапно подписка Copilot выглядит наиболее выгодной в категории "топ за свои деньги". Copilot можно использовать в стороннем клиенте (включая и вышеупомянутый Opencode, и мой любимый Zed), можно переключаться между моделями (есть все основные провайдеры, и новые модели доезжают довольно быстро).

Кто бы мог подумать: еще год назад, когда я в каком-то разговоре упомянул Copilot, мой собеседник посмотрел на меня с ноткой презрения - мол, ты чего, все пацаны сидят на Cursor/Windsurf, зачем ты вообще помнишь про это старье.
1👍51🔥2311
Трейдеры из Wunder Fund остались насколько довольны своим прошлым соревнованием (и рекламой в моем канале), что недолго думая запустили новое. Данные стали ближе к реальности: вот настоящий ордербук, вот сигнал изменения цены, доставайте свой fit_predict. Ограничения по инференсу тоже близкие к жизни. Награды остались такими же: 8 призовых мест, за первое - $5000, ну и на интервью позовут наверняка.

Если еще помните, как делать import torch, набегайте, рубитесь до 1 марта и хвастайтесь позицией на лидерборде!
👍32🔥16💩102
Предсказание с дивана: навыки классического ML/DL скоро превратятся в знание Cobol Fortran (он еще жив, я даже когда-то постил вакансию фортран-программиста).
Хайпа не будет, но будет нишевый устойчивый спрос на седобородых дедов, которые читали Хасти, Бишопа и Гудфеллоу.

Есть какая-то популяция людей, которые умеет в ML. Верхний перцентиль делает foundational модели в топ лабах, сразу забудем про них. Оставшиеся простые смертные внезапно оказались востребованы в GenAI движухе: пусть умение тюнить бустинги и докидывать лоссы малорелевантно умению переписывать промпты, в среднем почему-то именно таких людей хотят видеть нанимающие менеджеры (там AI, и тут AI, логично). Так что специалистов на классический ML/DL остается меньше.

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

Большой босс, которого я загнал в угол со стаканом кофе, рассказал такой анекдот: в одну нефтяную компанию пришел очередной консалтинг продавать AI. В качестве титульного юзкейса предложили сделать чатбота для HR-саппорта. Реакция была прямолинейной: "прогоните этих кретинов" - для этой компании ML важен для оптимизации обнаружения нефтяных запасов на доли процента, они вливают туда десятки миллионов, а на административные затраты эйчаров им глубоко наплевать.
1😁76🫡17👍1513😢2🔥1
Если вы сколько-то управляете разработчиками и испытываете FOMO от все этой AI движухи, то я принес вам рекламу.

"AI Hard Fork" — практическая онлайн-конфа о том, как AI меняет процессы разработки, и как управлять этими изменениями. Ее организуют Стратоплан и Entropy Talk, а выступают большие боссы и успешные практики разных уровней - от EMов до C-левела. Я даже лично знаю двоих докладчиков, и они действительно умные ребята.

Примеры тем:
- "Скрам не нужен: как AI кодинг меняет представление об эффективной команде." (как будто раньше он был нужен, лол)
- "Как стать 10x-менеджером" (и не успевать еще больше)
- нужны ли программисты во времена вайбкодинга (и снова FOMO!)


Конфа пройдет 24-26 февраля, можно смотреть бесплатно (онлайн или в записи), можно занести немного денег, получить сертификат и флексить. Регистрация по ссылке, набегайте (или не набегайте, если и так без проблем успеваете следить за тем, как AI колбасит всю software engineering индустрию).
🔥31👍1813😁7👎6👏1🌭1
Когда агенты начнут всерьез жрать рабочие места белых воротничков, будет два противоположных вида страховки: лицензия от регулятора и контролируемая ебанутость.

С регуляторами все понятно: кто-то должен ставить свою подпись под AI слопом. Мой налоговый консультант отвечает на емейлы явно гпт-шным текстом и берет за это полторы сотни в час. Его лицензия все еще будет иметь ценность, даже если claude 5 будет составлять такие же запросы в налоговую из коробки.

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

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

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

В одном эти две крайности сходятся: исполнительные закрыватели тикетов в джире не нужны.
130🤝6830👍18🤡10😨2🐳1
Чтобы гора сгенеренного кода меня не поглотила, к процессу вайбкодинга AI assisted разработки нужно было добавить и AI-based ревью. Но ожидаемо Клод слишком любит код, написанный Клодом, и мышей ловил недостаточно.

Так я начал использовать opencode с Gemini для ревью. Сначала все было хорошо, Gemini - такая странная модель, которую нельзя подпускать к написанию кода (мой любимый комментарий про это), но критиковать умеет по делу. Opencode был всем неплох, но жрал тонны памяти и периодически зависал в неинтерактивном режиме (в т.ч. на CI). Короче, not invented here синдром назревал.

https://github.com/arsenyinfo/nitpicker - just another code review agent. Быстрый, маленький, умеет в LLM council (хоть где-то пригодится подписка на z.ai и minimax), и за счет этого ловит довольно много ошибок (хотя и ценой ложных срабатываний).
155👍17😁8❤‍🔥1🔥1🙏1
Поскольку Anthropic активно лезет в code review, мне тоже пришлось закоммитить чего-то нового в nitpicker. В частности:
- добавил флаг --debate, чтобы ревьюверы могли друг с другом спорить, по вайбам выглядит полезно, пусть и медленнее параллельного ревью.
- добавил команду ask, чтобы ревьюверы могли не только ревьювить, но и просто обсуждать какие-то идеи про этот код (например, быстро приходят к консенсусу, что переписывать nitpicker на zig - тупая идея).

nitpicker уже активно [больше одного человека] пилотируют в некоторых [одном] бигтехе, я буквально в шаге от того, чтобы поднимать раунд стакан с пивком
1😁73👍30🐳11🔥72❤‍🔥1🍾1
Слово harness стало резко популярным в моем пузыре (кстати, отличный глубокий обзор про то, что это вообще такое и зачем). И когда из single agent подходов стало тяжелее выжимать заметный буст, все стали смотреть на мультиагентные конфигурации.
Я и сам немного экспериментирую с переменным успехом (первая выжившая версия едва ли была полезнее обычного клодкода, nitpicker - тоже один из экспериментов; остальное в закрытой репе, но идейно близко к этому свежему посту от Anthropic).

Есть направление про agentic swarms / teams, в котором агенты как-то сотрудничают, делегируют, наделяются разными ролями и вообще ведут себя антропоморфно. Некоторые проекты из этой категории удивительно кринжовые, например, Gastown - не хватало еще, чтобы агенты собирались в гильдии и ходили в рейды.

Есть направление, в котором тонкое взаимодействие заменяется брутфорсом, циклами и умеренно наивной валидацией: это и моментально ставший классическим эксперимент про компилятор C от Антропика, и подходы на базе Ralph Loop. Дорогие агенты, делайте что хотите, но будете перемножать матрицы, пока тесты и AI ревью не пройдут.

Мне интутивно кажется, что второй подход ближе к прикладному применению. Все эти антропоморфные идеи и ролевой скевоморфизм чем-то напоминают попытки улучшать современные нейросети, отталкиваясь от строения синапсов. Я предпочитаю map reduce как дефолтный подход к параллелизации, а не заклинания "этот агент будет вести себя как senior frontend developer, а этот - staff UX designer". Люди вынуждены делиться по компетенциям, потому что у нас недостаточно общего претрейна. У агентов он есть, потому их нужно структурировать в графы по данным / задачам, а не по человекочитаемым тайтлам.

С другой стороны, Anthropic сделал свои teams отчасти антропоморфными. Китайские open weight провайдеры тоже вкручивают agent teams нативно в обучение (см kimi 2.5, minimax 2.7). И несмотря на то, что существующие claude agent teams никому пока не нравятся, победит, конечно, тот подход, который затюнят на посттрейне. Повторюсь: we can't fight gradient descent.
41👍12🔥3😁2💯2👏1
Семь лет назад я занимался AR примеркой обуви. Однажды к нам пришел один из VC партнеров и спросил: "а почему у вас в приложении нет allbirds? В Долине все только их и носят".

Процедура добавления новой модели предполагала покупку физической пары, потом их сканировали, делали фотограмметрию, а результат доводили до ума руками. Так на полке со скопившейся обувью осталась пара allbirds ровно моего размера, и при увольнении мне ее подарили.

С тех пор я стоптал пар пять этих прекрасных кроссовок разных цветов, они подходили мне идеально. И вот эпоха ушла: allbirds официально переключаются с обуви на GPU инфраструктуру. Раньше мы нагружали видеокарты, чтобы рендерить их кроссовки, теперь они сами будут продавать GPU-часы.
😁123👀15🤣1283😢1
Когда-то я писал про вакансию DL инженера у моих старых корешей из GRAI.fm🎵. Прошло 10 месяцев, и ребята пришли ко мне снова. Они подняли жирный seed раунд, и теперь им нужен еще один могучий ресерч инженер, чтобы обмазываться статьями про аудио и доводить их до продукта. На самом деле инженерных вакансий больше - например, нужен и человек про датку и MLOps.

Их СТО утверждает, что лучшие люди в их команду пришли именно из моего канала, так что не подведите и в этот раз, дорогие подписчики.
47👍8😁4
Мне недавно написал Макс (ресерчер в tessl.io и автор канала @max_dot_sh) и спросил, планирую ли я что-то добавлять в nitpicker. Так я узнал про третью компанию, в которой инженеры всерьез используют мою поделку. Удачное совпадение: как раз на прошлой неделе добрался катнуть несколько изменений.

Во-первых, включил режим debate по умолчанию и подкрутил промпты, чтобы максимизировать adversarial аспект. Ожидаемо все стало еще медленнее.

Во-вторых, попробовав гонять nitpicker на больших проектах целиком вместо мелких пулл реквестов, я уткнулся в ограничения контекста: агент легко мог выжрать 200к+ токенов и упасть. Так что я добавил поддержку субагентов и сжатие контекста после отсечки. По совпадению, субагентов я добавил к релизу Kimi 2.6, которая специально обучена на активное их использование. Правда, еще Kimi регулярно заикалась, пытаясь вызывать одинаковые тулы по кругу, пришлось обмазывать костылями про loop detection.

В итоге машинка может сжечь под миллион токенов и 20 минут на ревью пулл реквеста на 500 строк, что вроде бы долго и дорого. С другой стороны, я проверил на нескольких настоящих живых проектах, и везде нашел какие-то пусть и не критичные, но достойные внимания баги или уязвимости. Люксовые конфиги типа opus 4.7 + gpt 5.5 работают лучше, но и на доступных китайских open weights моделях типа Kimi + GLM результат не полный слоп.

Это все еще вайбчек, а не бенчмарк - надеюсь как-нибудь найти время и померять системно.
🔥356👍4😁2
Наблюдая одним глазом за внедрением кодинг агентов на разных уровнях в разных компаниях, я не могу ответить на один вопрос: зачем топ-менеджеры поддерживают (а иногда и форсят) политику, что менеджеры теперь всерьез должны коммитить код. Не тимлиды, а настоящие менеджеры менеджеров, часто директора и выше. Не только прототипы на коленке, но и прямо в основные репозитории.

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

Я понимаю, что вайбкодить - особенно в первое время - может быть тупо интересно. Но где тут рациональное зерно, зачем делать из дорогих менеджеров посредственных IC? Пожалуйста, расскажите в комментариях, что я упускаю - не готов поверить, что на волне хайпа экзеки просто слетают с катушек.
12👍7716😁4
Многие из вас видели заголовок Rewrite Bun in Rust has been merged или, возможно, читали пересказы в популярных каналах (1, 2).

Это сделанный агентом PR на 1 млн строк. Такие масштабы от меня далеки, но с похожими штуками я недавно ковырялся. Далеки - это в данном случае два порядка: получалось добиться успешной трансляции Typescript => Rust на 10к строк. Мои условия были в чем-то сложнее, чем в истории с Bun: тестовое покрытие значительно хуже, и волшебного Mythos у меня тоже не было, только Opus 4.6, GPT 5.4 и готовность сжигать миллионы токенов в дебатах между ними (как у nitpicker).

Этот эксперимент TS=>Rust не заработал с первой попытки, но ломался исключительно на границах - например, не идеально совпадали env var для докерфайла. Тот же харнесс пробовали применить и для более сложной/масштабной задачи, и там one shot работал еще хуже, но в основном тоже из-за сложности в интеграции и нехватки специфического контекста. Там пришлось двигаться итеративно, и каждая такая итерация подсвечивала новые пробелы в контексте, несовершенство тестов и бенчмарков.

В случае Bun отдельный вектор критики в том, что в Rust ветке примерно 10к вхождений unsafe в 700 файлах - "какой же это раст???". Не вижу в этом серьезной проблемы. Наверняка в этой миграции частью дизайна было "переносим все как есть строка в строку, а потом уже оптимизируем. Какое-то количество unsafe кода в рантайме практически неизбежно, и это окей - идиоматичный стиль не запрещает unsafe, а только рекомендует использовать его компактно, обернув в безопасный интерфейсы. Принцип make it work, make it right, make it fast никто не отменял, и снизить количество этих unsafe кусков тем же харнессом с моего дивана не представляется проблемой.

Rust was accidentally designed for AI-assisted development 10 years before anyone knew that mattered. И сложно представить, что может изменить эту траекторию.
26🤝4💩2👍1