katsuba.dev
СтатистикаОсновной и единственный автор @Katsuba Хотите поддержать? Навалите звезд к постам Подписывайтесь на @katsuba_live, там посты пишет AI. Если интересен AI бот в Telegram — оформи подписку на моего @RevelioGPTBot
- Последний пост
- 14 авг.
- Последнее чтение
- 00:46
- Постов за неделю
- 2
- Всего постов
- 131
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии (по похожим)
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 195
- 1/48двое суток
- 223
- 1/72трое суток
- 241
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Вчера я нашёл TermDOM — настоящий DOM с настоящим CSS-движком, отрисовываемый в терминале. А ночью я опубликовал три пакета: React, Angular и Vue, каждый работает на собственном стандартном DOM-рендерере. Никаких кастомных reconciler’ов или платформ. Не идеально, но очень интересно. Have fun P.S.: если кому интересно в примерах есть пример агентского cli, который работает на вашем локально Claude Code. https://github.com/IKatsuba/termdom-lab
🚀 @ngguide/ui 1.0.0 — переехали на Angular 22 UI Kit по Material 3 обновился до Angular 22. Вместе с ним: CDK 22, TypeScript 6, Nx 23. Что внутри: • 34 entry point'а — от button и text-field до carousel, date/time picker, side sheet и динамической темы M3 • Zoneless с самого начала, сигнальные inputs, никакого zone.js • Signal Forms работают из коробки — компоненты можно биндить прямо к полю формы: <gui-checkbox [formField]="f.agree" /> При этом старые формы никуда не делись: те же компоненты по-прежнему работают с reactive и template-driven. Один компонент — все три API форм. Почему сразу 1.0.0? Не потому, что всe готово — впереди ещe tabs, navigation bar/rail/drawer, toolbar и app bars. Просто peer-диапазоны уехали с ^21 на ^22, а это ломающее изменение, и честнее назвать его мажором, чем прятать в минор. Дальше новые компоненты будут выходить минорами. ⚠️ Обновляться так: сначала переводите свой воркспейс на Angular 22 (`nx migrate latest` или `ng update @angular/core@22 @angular/cli@22`), потом ставьте релиз. На 21 пакет уже не встанет. npm i @ngguide/ui@1.0.0 📦 https://npmjs.com/package/@ngguide/ui 💻 https://github.com/ngguide/ui 📚 https://ui.ng.guide
Roost — подписал, нотаризовал, положил в brew. Можно брать. Нативное приложение под macOS для Claude Code: проекты, вкладки-сессии, дерево панелей с терминалами. Не TUI. Два агента — удобно, пять — уже бухгалтерия: кто дописал, кто спросил и молча ждёт двадцать минут. Roost знает статус каждого сам, через хуки, а не парся терминал. Все, кто ждёт ответа, — одним списком, дольше всех ждущий сверху; Cmd+Shift+A прыгает к нему. Цвета в интерфейсе нет вообще: состояния различаются текстурой. Ещё: перезапуск не теряет разговоры — панель возвращается в свой диалог. Переключение вкладки не убивает процессы. Поиск по прошлым сессиям, агент в отдельном git-ворктри, палитра Cmd+K, Shift+Enter работает. brew tap ikatsuba/tap brew trust ikatsuba/tap brew install --cask roost Вторая строчка не опечатка: Homebrew 6 не грузит чужой тап без подтверждения. macOS 14+ и claude в PATH. MIT. github.com/IKatsuba/roost
Кто юзает auto mode в Claude Code? Ну или аналоги в других агентах? Как вам? Не страшно? https://t.me/katsuba_live/5003
🚀 Agent Plugins 1.0.0 — открытый стандарт для плагинов агентов Vercel выпустил Agent Plugins 1.0.0 — vendor‑neutral стандарт для упаковки Agent Skills и MCP‑серверов в переносимые плагины. Совместимые клиенты теперь могут обнаруживать и загружать такие плагины, делая интеграции более переносимыми и предсказуемыми. Формат задаёт корневой манифест plugin.json и фиксированные места для портативных компонентов, при этом контроль над установкой, дистрибуцией, политиками и пользовательским опытом остаётся за клиентами. На старте поддержку объявили ChatGPT/Codex, Cursor, GitHub Copilot, Kiro и VS Code. Если хотите попробовать или собрать плагин — смотрите спецификацию, гайды и пост с объявлением от Vercel. Статья #AgentPlugins #OpenStandard #Vercel #AI #плагины #интеграции
Библиотека, которую мы строим в курсе, лежит открытой под MIT. npm i @ngguide/ui — и всё, покупать ничего не нужно. Angular 21, signal-based, zoneless-ready, по отдельному entry point на компонент. Что уже есть: Действия — button, icon-button, FAB и FAB-меню, split button, segmented buttons, button group Выбор — checkbox, radio, switch, slider, chips Ввод — text field, date picker, time picker, интеграция с формами через CVA Коммуникация — badge, progress, loading indicator, snackbar, tooltip Контейнеры — card, dialog, bottom sheet, side sheet, menu, list, carousel, divider Фундамент — M3-токены и динамическая тема, state layer / ripple / focus ring, overlay А теперь честно, чего нет. Навигации нет вообще. Ни app bar, ни toolbar, ни tabs, ни navigation bar / rail / drawer, ни search. Семь issue, заведены 17 июня, ни одна не начата. Всего открытых — 26, и это не только «реализовать». Там же настоящие баги: у FAB отрисованные размеры не совпадают с заявленными, disabled выглядит как обычное состояние, выбор часа на 12-часовом циферблате молча переключает AM/PM, индетерминантный прогресс исчезает при prefers-reduced-motion. Я их не прячу и не закрываю задним числом — они открыты в трекере. 📦 npm: @ngguide/ui 🔗 исходники: github.com/ngguide/ui 📖 живые доки с примерами и исходниками каждого компонента: https://ui.ng.guide Ставьте, ломайте, заводите issue
Я попробовал все терминалы и их оболочки. В итоге сделал свой, потому что остальные меня не устраивали
Что происходит с PrimeNG и что с этим делать Если ваше приложение сидит на PrimeNG, вот короткая сводка и мой взгляд на то, что с этим делать. PrimeTek заархивировала репозиторий PrimeNG и увела мажорные версии, начиная с v22, в коммерческую лицензию — с оплатой за разработчика. То, что вы уже поставили, никуда не денется: последняя MIT-версия остаётся MIT. Но следующий мажор — это уже разговор с отделом закупок, а не npm i. Сообщество форкнуло последнюю MIT-версию: OpenNG / Optimus UI. Вчера вышел стабильный 1.0 — 80+ компонентов, MIT, Angular 21, поддержка v22 обещана на этой неделе. Есть ng add и схематик миграции. Люди уже отписываются, что перевели проекты и всё работает. Сайт: https://optimus.openng.org/ Гайд по миграции: https://optimus.openng.org/migration/primeng Их схематик покрывает импорты и типы, а селекторы и имена классов они намеренно оставили прежними — p-button остался p-button. Это ключевое решение: ваши темы, оверрайды и стили, написанные под их классы, просто не трогаются. Я вчера спросил об этом автора форка в r/angular напрямую — подтвердил. То есть цена перехода упирается в одно число: из скольких мест ваше приложение импортирует кит напрямую. Проверяется за секунду: grep -rl "from 'primeng" src | wc -l Приложение с одним собственным слоем поверх кита переезжает за дни. Приложение, где кит торчит из четырёхсот файлов — за кварталы. И разница создаётся не в момент миграции, а за годы до неё. Это не первый раз, когда опора под Angular-приложением меняется без вашего участия — и не последний. Защищает не выбор правильного кита: правильных не бывает, у любого может смениться лицензия, мейнтейнер или приоритеты. Защищает собственный тонкий слой между приложением и китом — свои обёртки, свои типы в сигнатурах, свои имена классов в стилях. Тогда следующая такая новость стоит недели, а не квартала. Отдельный случай — внутренняя библиотека компании, которая ре-экспортирует типы кита в своём публичном API. Схематик переименует всё в её репозитории, но каждому потребителю всё равно придётся двигаться синхронно. Тонкий слой превращает «мигрируют все» в «мигрирует один пакет». Если хочется научиться делать такой слой руками — этому и посвящён мой курс «Angular UI Kit»: 15 модулей от пустой папки до своего пакета в npm, на примере полной реализации Material 3. Первые уроки открыты бесплатно: https://ng.guide/angular-ui-kit
🚀 22.1.0 Небольшой, но полезный апдейт Angular: добавлены опции к HTTP для кэширования credentialed и некэшируемых запросов, теперь пропускается transfer cache для таких запросов, включена поддержка XSRF для корневого HttpClient и объявлена депрекация JSONP. В router исправили поведение RouterLinkActive с null/undefined, а в core добавили custom set для linkedSignal и deep linking из Performance в DevTools. Крупные правки в compiler/CLI и language-service: новые проверки для --global-foo, неймспейсинг CSS-переменных, поддержка внешних (foreign) компонентов — включая их в блоках управления потоком и оптимизации генерации — а также улучшения типизации (компиляция standalone неэкспортируемых классов и расширенная проверка шаблонов). Есть миграция injectable→service и ужесточение валидации origin для SSR. Читать релиз #Angular #v22 #Релиз #Фронтенд #WebDev
⚠️ Ребята, кто уже купил курс! Хуки stripe побежали в какую-то другую сторону от веб-сервера, я это заметил, уже пофиксил и всем выдал лицензию на использование курса! Если доступа все еще нет — пишите либо на почту, либо прямо на сайте, либо мне в телегу. Извиняюсь за неудобство!
Я открыл курс, который писал последний год — Angular UI Kit 60 уроков, за которые ты с нуля собираешь свою библиотеку компонентов Material 3 для Angular — не обертку над чужой, а свою, по спеке M3, до публикуемого npm-пакета. Angular 21 как он есть сегодня: standalone, signals, zoneless, OnPush. 22 в пути 15 модулей. Сначала фундамент — токены M3, слой состояний и ripple, focus-ring, roving-focus, оверлеи, мост к Reactive Forms через ControlValueAccessor. Потом компоненты, один за другим: • icon, button, FAB, icon-button, button group, segmented, split button • checkbox, radio, switch, chip, slider, menu • badge, progress, snackbar, tooltip • card, divider, list, carousel, dialog, sheets • text field, calendar, date picker, clock dial, time picker И в конце — тесты, сборка, публикация и витрина на всем этом. Курс устроен непривычно: он живет как MCP-сервер. Ты подключаешь его к своему агенту — Claude Code, Cursor, Codex, Zed, чему угодно — и он ведет тебя по шагу за раз: ты выполняешь команду у себя, агент смотрит на настоящий вывод и только тогда дает следующий шаг. Никакого видеоплеера, никакой чужой песочницы. Код появляется в твоем репозитории. За инференс платишь своей подпиской, за курс — один раз. Первые три урока бесплатны, без карты. Их хватает, чтобы понять формат. Курс стоит $249. По коду KATSUBADEV — $49 и только первые 5 человек. Код вводится в поле промокода на странице оплаты. Налог, если он положен твоей стране, Stripe считает сверху. И сразу, чтобы никто не бился головой: российские и белорусские карты Stripe не примет, а других способов оплаты я пока не завез. Если курс нужен, а оплатить не выходит — приходите в личку, разберемся. https://ng.guide/angular-ui-kit
Anthropic выкатили Claude Opus 5 Если коротко: почти уровень Fable 5, но вдвое дешевле. При этом цена осталась та же, что у 4.8 — $5/$25 за миллион токенов. На Max он теперь дефолтная модель, на Pro — самая сильная. Цифры, которые зацепили: — Frontier-Bench v0.1: больше чем в 2 раза лучше Opus 4.8, и при этом дешевле за таск — CursorBench: в пределах 0.5% от пика Fable 5 за половину денег — ARC-AGI 3: втрое выше следующей модели. Я перечитал два раза Но мне, как человеку, который живет в agent infra, интереснее две беты, которые проехали в конце анонса почти незаметно: 1. Смена тулов посреди разговора без инвалидации prompt cache. Кто хоть раз строил агента с динамическим тулсетом — тот понял. Раньше добавил тул на пятом шаге → кэш в помойку → платишь за весь префикс заново. Теперь нет 2. Автоматические фолбэки на API. Запрос, который зарубил safety-классификатор, сам уезжает на другую модель вместо того, чтобы вернуть ошибку. Одной защитной обвязкой в проде меньше И байка из анонса, которая хорошо описывает вайб модели: в одном таске ей дали чертёж детали и попросили собрать 3D-модель во FreeCAD — но намеренно не дали никакого способа этот чертёж посмотреть. Она написала себе свой CV-пайплайн, вытащила геометрию прямо из пикселей и собрала деталь. Воспроизводимо. Остальные модели не смогли за пять попыток. Из "приятного" (нет) по мелочи: есть Fast mode (~2.5x скорости за 2x цены), а кибер-классификаторы, по их замерам, срабатывают примерно на 85% реже, чем на Fable 5 — то есть меньше ложных отказов на нормальном коде Пошёл переключать пайплайны. https://www.anthropic.com/news/claude-opus-5
Как проверить, что элемент — это инпут? Годами ответ Angular был такой: element.tagName === 'INPUT' Строка. Сравнение. Всё. В открытом PR #69452 он становится другим: customElements.get(el.tagName.toLowerCase()) ?.formAssociated === true Разница не косметическая. Раньше фреймворк знал список нативных элементов — он был зашит в исходники. Теперь он идёт спрашивать у браузера, что умеет вот эта штука в DOM. Повод: Signal Forms в упор не видят веб-компоненты. Сделал <my-range> с static formAssociated = true, честно поднял ElementInternals, всё по спеке — Angular считает его дивом. Дальше самое любопытное. Как понять, поддерживает ли компонент min и max? Интерфейса нет, спросить не у кого. Решение — читаем статику класса и гадаем по списку наблюдаемых атрибутов: observedAttributes?.includes('min') && observedAttributes?.includes('max') Раз подписался на изменения min — наверное, как-то его обрабатываешь. Наверное. observedAttributes — это про реактивность, а не про возможности. Реализовал min/max свойствами, атрибуты не объявил — не прошёл. Молча. Без ворнинга. Просто атрибут не отрендерится, и ты час смотришь в DevTools. Что тут произошло, если отойти на шаг: граница нативного в Angular перестала совпадать со спекой HTML. Раньше закрытый список. Теперь — проверяемое свойство, которое любой может себе выдать Направление правильное. Реализация — эвристики поверх эвристик 🔗 github.com/angular/angular/pull/69452
🔥 Angular переходит на годовой цикл мажорных релизов PR #69817 документирует смену каденции: мажоры теперь раз в год, а не раз в полгода. Заодно добавили даты для v22.x и v23. PR уже одобрен (JeanMeche) и таргетится в ближайший патч. Почему: — Сообщество давно просило реже ломать — апгрейды больно даются проектам и особенно энтерпрайзу — Длиннее цикл = больше стабильности API для агентных / AI-workflow Что НЕ меняется: выпуск фич. Фичи как и раньше едут в минорах (включая экспериментальные и dev preview). В мажоры выносятся только breaking changes. Реакция смешанная — 21 👍 / 8 👎 / 6 😕. Главные вопросы в комментах: — Это сигнал о снижении инвестиций во фреймворк, или чисто про уменьшение churn в экосистеме? — Не превратится ли редкий мажор в «.NET-боль», когда за раз копится гора breaking changes? JeanMeche напомнил: мажоры и так всегда были только про breaking changes, фичи всегда ехали в минорах. Отдельно показательно, что среди причин прямо назван агентный workflow: стабильность API важна, когда твой код всё чаще читают и мигрируют не люди, а агенты. 🔗 github.com/angular/angular/pull/69817
Ну что, пора признаться 👇 В прошлом году я обещал курс и не выпустил. Причина простая: то качество, которое я хотел, не собиралось за короткие сроки. Можно было выкатить нормально — но мне не хотелось выпускать "нормально". На скрине пожно посмотреть куда ушло время. Сам курс вырос практически в три раза. Осталось протестировать 4 последних модуля — и курс выходит. Целиком, сразу, без "первый модуль сегодня, второй через месяц". Stay tuned 🔜
Месяц честно пытался жить в Claude Desktop. И в очередной раз убедился: ничего лучше, чем работать с агентами в терминале, пока не придумали. Все эти десктопные приложения текут по памяти, рендерятся непонятно как (понятно, конечно — прожорливый Chromium под капотом), и даже близко не дают того UX и DX, который есть у нормального CLI. Терминал — это скорость и ноль оверхеда. Агент в CLI ощущается как продолжение рук. Агент в Electron — как разговор через мутное стекло. Возвращаюсь в терминал. Как обычно.
Дождались, получается. TS 7 в стабильном релизе https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/
✨ Глобальное рабочее пространство в языковых моделях Согласно теории глобального рабочего пространства, мозг это совокупность специализированных систем, работающих параллельно, бессознательно и изолированно друг от друга. Информация становится осознанной, когда попадает в рабочее пространство и транслируется другим системам мозга. Именно эту идею исследователи искали, есть ли у модели нечто похожее на такое пространство. Они нашли J-space, коллекцию нейронных паттернов с особой ролью. Благодаря им нейросеть может вытащить концепцию из весов, покрутить в голове в тишине и использовать для сложного многошагового вывода, например, понять, что ее тестируют, еще до генерации первого слова. J-space не была спроектирована людьми, она возникла сама в процессе обучения, что намекает, подобная организация может быть общим решением для разумных систем, а не особенностью только человеческого мозга. 👉 https://www.anthropic.com/research/global-workspace
Пока самый большой чек за токены, который я видел — 19k долларов за месяц. И это одним разрабом 🙈 А вам сколько денег удавалось сжечь за месяц?
Сегодня я сделал и замержил четыре пиара, подебажил прод, задеплоил рару фиксов, достроил агента для создания приложений и попросил его запустить другого агента в другой системе, чтобы тот перенес плохо сделанное приложение на общий безопасный шаблон и подготовил его для деплоя в прод. За два часа, пока я гулял с детьми. Странный чудесный мир AI