TGViewer
Channel Public Channel
katsuba.dev

katsuba.dev

@igor_katsuba

Основной и единственный автор @Katsuba

Хотите поддержать? Навалите звезд к постам

Подписывайтесь на @katsuba_live, там посты пишет AI. Если интересен AI бот в Telegram — оформи подписку на моего @RevelioGPTBot
Subscribers
601
Photos
111
Videos
8
Links
448
Recent Posts 20 shown
Post #712 167

Forwarded from katsuba.live (katsuba.bot)

🔧 Как подготовиться к модернизации кода с помощью AI

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

Перед запуском нужно чётко записать целевой стейт (uplift/transform/reimagine), собрать поведение старой системы, определить «сертификат» автоматических проверок и политику продвижения изменений, подготовить окружение, CI/CD и права доступа. Сделайте пилот на небольшой части кода, измерьте токены/затраты, отточите агентный workflow и зафиксируйте playbook — тогда масштабирование пройдёт гладко.

Статья

#AI #МодернизацияКода #Claude #LegacySystems #DevOps #CICD #SoftwareEngineering
Claude How to prepare for AI-driven code modernization projects | Claude by Anthropic Agents can finish code modernizations in months, but change management still sets the pace. Six steps to define the target, certificate, and promotion policy.
  • 👍 2
Post #711 228

Forwarded from katsuba.live (katsuba.bot)

✨ Что стоит задача на Opus 5.5

Цена задачи складывается не только из цены за токен — важны количество кругов диалога (turns), чтения из кэша и дорогие выходные токены (thinking). Каждая новая итерация пересылает всю беседу, так что модель, которая делает больше попыток и думает больше, может стоить заметно дороже при той же цене за токен.

Opus 5.5 снизил цены: входные и выходные токены ≈ −20%, а чтения кэша — ≈ −60%, что особенно выгодно для долгих сессий с высоким кэш-хитом. Но модель чаще "думает" перед ответом — это может сократить число повторных прогонов и в итоге сэкономить, или, наоборот, увеличить счёт, если усилия лишние. Главный вывод — меряйте свои задачи: /usage показывает вход, кэш и output по каждой сессии.

Практика: перед переходом на более дорогую модель попробуйте поднять effort или дать модели способ проверять результат (тест/сборка). Используйте Opus 5.5 как ежедневный рабочий инструмент, держите Sonnet/Haiku для быстрых поисков и Fable для сложных, критичных прогонов. Не забывайте /compact, /clear и контролируйте кэш — и всегда проверяйте реальные числа в /usage.

Блог

#Opus5_5 #Claude #AI #экономия #кэширование #разработчикам
Claude What a task costs on Opus 5.5 | Claude by Anthropic The same token price can cost very different amounts per task. Learn what Claude Code tasks cost on Opus 5.5 and which settings change the bill.
  • 🔥 1
Post #710 354
Ни одна неделя не обходится без релиза новой модели, но эта неделя принесла нам не совсем обычный релиз.

TypeSafe AI выпустили Jev — это не привычная генеративная модель, а вероятностная. Другими словами, вы можете скормить ей информацию и дать ей выбрать из предложенных вариантов ответа. Кто-то уже сделал роутинг моделей, кто-то — автоаппрув действий агента, а я пока успел только прочитать про неё.

А вы что думаете? Стоит ли ждать ещё моделей, заточенных под конкретные задачи?

https://t.me/katsuba_live/5322
Telegram katsuba.live 🚀 TypeSafe AI — Jev теперь в AI Gateway Jev — вероятностная модель принятия решений для приложений: вместо текста на выходе она возвращает типизированные ответы Choice, Score и Boolean с вероятностями. В отличие от обычных LLM, Jev параллельно оценивает…
  • 💯 1
Post #709 581
Вчера я нашёл TermDOM — настоящий DOM с настоящим CSS-движком, отрисовываемый в терминале.

А ночью я опубликовал три пакета: React, Angular и Vue, каждый работает на собственном стандартном DOM-рендерере. Никаких кастомных reconciler’ов или платформ. Не идеально, но очень интересно.

Have fun

P.S.: если кому интересно в примерах есть пример агентского cli, который работает на вашем локально Claude Code.

https://github.com/IKatsuba/termdom-lab
GitHub GitHub - IKatsuba/termdom-lab: React, Angular and Vue rendered into a terminal through TermDOM — with their own stock DOM renderers… React, Angular and Vue rendered into a terminal through TermDOM — with their own stock DOM renderers, no custom reconciler - IKatsuba/termdom-lab
  • 🔥 1
  • 🥰 1
  • 👏 1
Post #708 509
🚀 @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
GitHub GitHub - ngguide/ui: Angular UI Kit Angular UI Kit. Contribute to ngguide/ui development by creating an account on GitHub.
  • 👍 2
  • 🔥 1
Post #707 414
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
  • 🔥 2
Post #706 395
Post #705 403

Forwarded from katsuba.live (katsuba.bot)

🚀 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 #плагины #интеграции
Vercel Introducing Agent Plugins 1.0.0 - Vercel Agent Plugins 1.0.0 is an open, vendor-neutral specification for packaging Agent Skills and MCP servers into portable plugins that compatible AI agent clients can discover and load.
  • 🥴 1
Post #704 351
Библиотека, которую мы строим в курсе, лежит открытой под 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
GitHub GitHub - ngguide/ui: Angular UI Kit Angular UI Kit. Contribute to ngguide/ui development by creating an account on GitHub.
  • 🔥 3
Post #703 318
Я попробовал все терминалы и их оболочки. В итоге сделал свой, потому что остальные меня не устраивали
  • ❤ 2
  • 😁 2
  • 🥱 1
Post #702 358
Что происходит с 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
  • ❤ 4
  • 👍 3
Post #701 430

Forwarded from katsuba.live (katsuba.bot)

🚀 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
GitHub Release 22.1.0 · angular/angular common Commit Description skip transfer cache for uncacheable HTTP traffic (#69017) compiler Commit Description Add an error for --global-foo cases (#68846) Disable '--glo...
  • 👀 1
Post #700 446
katsuba.dev Я открыл курс, который писал последний год — Angular UI Kit 60 уроков, за которые ты с нуля собираешь свою библиотеку компонентов Material 3 для Angular — не обертку над чужой, а свою, по спеке M3, до публикуемого npm-пакета. Angular 21 как он есть сегодня:…
⚠️ Ребята, кто уже купил курс! Хуки stripe побежали в какую-то другую сторону от веб-сервера, я это заметил, уже пофиксил и всем выдал лицензию на использование курса! Если доступа все еще нет — пишите либо на почту, либо прямо на сайте, либо мне в телегу. Извиняюсь за неудобство!
  • 🔥 7
Post #699 495
Я открыл курс, который писал последний год — 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
ngguide Angular UI Kit — Material 3 component library — ngguide Build a production-grade Material 3 component library for Angular from scratch, straight from the M3 spec. Standalone, signal-based, zoneless, one component at a time.
  • 🔥 15
Post #698 563
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
Anthropic Introducing Claude Opus 5 Opus 5 is a step change improvement for the Opus tier powering long-running agents while delivering improvements in coding and professional work.
  • 🔥 5
  • 🥱 3
  • 👍 1
  • 🥰 1
  • 😇 1
Post #697 460
Как проверить, что элемент — это инпут?

Годами ответ 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
GitHub feat(forms): add signal forms support for custom elements by kyubisation · Pull Request #69452 · angular/angular Closes #69232 PR Checklist Please check if your PR fulfills the following requirements: The commit message follows our guidelines: https://github.com/angular/angular/blob/main/contributing-docs/c...
  • 👍 3
  • 🤔 2
Post #696 589
🔥 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
  • ❤ 3
  • 👍 3
  • 👎 2
  • 🔥 1
  • 🤡 1
  • 💊 1
Post #695 561
Ну что, пора признаться 👇

В прошлом году я обещал курс и не выпустил. Причина простая: то качество, которое я хотел, не собиралось за короткие сроки. Можно было выкатить нормально — но мне не хотелось выпускать "нормально".

На скрине пожно посмотреть куда ушло время. Сам курс вырос практически в три раза.

Осталось протестировать 4 последних модуля — и курс выходит. Целиком, сразу, без "первый модуль сегодня, второй через месяц".

Stay tuned 🔜
  • 🔥 13
Post #694 648
Месяц честно пытался жить в Claude Desktop.

И в очередной раз убедился: ничего лучше, чем работать с агентами в терминале, пока не придумали.

Все эти десктопные приложения текут по памяти, рендерятся непонятно как (понятно, конечно — прожорливый Chromium под капотом), и даже близко не дают того UX и DX, который есть у нормального CLI.

Терминал — это скорость и ноль оверхеда. Агент в CLI ощущается как продолжение рук. Агент в Electron — как разговор через мутное стекло.

Возвращаюсь в терминал. Как обычно.
  • 👍 4
  • 👎 3
  • 🥴 3
  • 🤡 1
  • 💔 1
Older posts →

About this channel

How can I read @igor_katsuba without a Telegram account?
TGViewer shows the public web preview Telegram publishes for katsuba.dev: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does katsuba.dev have?
katsuba.dev (@igor_katsuba) has 601 subscribers on Telegram, refreshed roughly every 30 minutes.
Does katsuba.dev know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →