Нашел очень крутой ресурс с уроками по AI:
AI Engineering from Scratch
503 урока. 20 этапов. Каждый алгоритм построен на основе чистых математических вычислений, прежде чем будет импортирован какой-либо фреймворк.
https://aiengineeringfromscratch.com/
AI Engineering from Scratch
503 урока. 20 этапов. Каждый алгоритм построен на основе чистых математических вычислений, прежде чем будет импортирован какой-либо фреймворк.
https://aiengineeringfromscratch.com/
Aiengineeringfromscratch
AI Engineering from Scratch | Free AI Engineering Course
542 lessons. 20 phases. Write the backprop, the tokenizer, the attention mechanism, and the agent loop by hand.
Прежде, чем решать когото спасать. Подумайте хорошенько. Потому что вероятность того, что вас утащат в низ гораздо выше, чем вероятность того, что у вас получиться вытащить спасаемого наверх.
©️Жизнь.
❤2
Когда встерчаешь препятствие не жалей об этом, потому что это открывает большие возможности.
(из серала про компанию WeWork).
🔥1
Channel name was changed to «Олег Букатчук · надёжность и инциденты»
Меня зовут Олег Букатчук, я DevOps/SRE-инженер. Девятнадцать лет в
эксплуатации: держал инфраструктуру cian.ru, aliexpress.ru и mos.ru —
каждый из этих проектов обслуживает больше миллиона уникальных
пользователей в день. Это места, где простой считается не в неудобстве,
а в деньгах, и считается сразу.
Этот канал — про одну мысль, которая мне кажется важнее остальных.
Рынок обучения десять лет делает из инженеров незаменимых людей. Учит
решать инцидент быстрее всех, награждает того, кто справился в одиночку,
и в итоге каждая команда получает человека, без которого не разрулят
аварию. Для инженера это выглядит как карьера. Через пару лет — как
дежурство без конца и сорванный отпуск.
Я пишу про обратное: как доходить до причины по симптому и как передать
это команде, чтобы в следующий раз она справилась без вас. Ценность при
этом никуда не уходит — она переезжает на уровень выше: с того, кто
чинит, на того, кто построил систему, чинящуюся без него.
Что здесь будет:
— разборы аварий: симптом, ход диагностики, причина, цифры простоя.
Обезличенно, но без выдуманных примеров;
— короткие приёмы диагностики: что мерить первым, как отсекать гипотезы,
где врут графики;
— для тимлидов: как разбирать инциденты так, чтобы из разбора выносили
причину, а не виноватого;
— «Радар» раз в квартал: какие технологии имеет смысл трогать, а какие
шум;
— иногда про жизнь, бизнес и музыку. Это авторский канал, а не рассылка.
Проверить меня можно, не спрашивая разрешения: код и проекты —
github.com/olegbukatchuk, а как я думаю и разговариваю — в интервью
«Как хорошо больше не писать код: куда уходит айтишность» на «Мы
обречены»: https://youtu.be/UruvjXoRFZw?si=ADRNDOQc5jFClvuv&t=556
Десять минут с нужного места.
Чего здесь не будет: новостей о релизах, пересказов чужих статей,
вакансий и подборок «10 команд Linux, которые вы не знали».
эксплуатации: держал инфраструктуру cian.ru, aliexpress.ru и mos.ru —
каждый из этих проектов обслуживает больше миллиона уникальных
пользователей в день. Это места, где простой считается не в неудобстве,
а в деньгах, и считается сразу.
Этот канал — про одну мысль, которая мне кажется важнее остальных.
Рынок обучения десять лет делает из инженеров незаменимых людей. Учит
решать инцидент быстрее всех, награждает того, кто справился в одиночку,
и в итоге каждая команда получает человека, без которого не разрулят
аварию. Для инженера это выглядит как карьера. Через пару лет — как
дежурство без конца и сорванный отпуск.
Я пишу про обратное: как доходить до причины по симптому и как передать
это команде, чтобы в следующий раз она справилась без вас. Ценность при
этом никуда не уходит — она переезжает на уровень выше: с того, кто
чинит, на того, кто построил систему, чинящуюся без него.
Что здесь будет:
— разборы аварий: симптом, ход диагностики, причина, цифры простоя.
Обезличенно, но без выдуманных примеров;
— короткие приёмы диагностики: что мерить первым, как отсекать гипотезы,
где врут графики;
— для тимлидов: как разбирать инциденты так, чтобы из разбора выносили
причину, а не виноватого;
— «Радар» раз в квартал: какие технологии имеет смысл трогать, а какие
шум;
— иногда про жизнь, бизнес и музыку. Это авторский канал, а не рассылка.
Проверить меня можно, не спрашивая разрешения: код и проекты —
github.com/olegbukatchuk, а как я думаю и разговариваю — в интервью
«Как хорошо больше не писать код: куда уходит айтишность» на «Мы
обречены»: https://youtu.be/UruvjXoRFZw?si=ADRNDOQc5jFClvuv&t=556
Десять минут с нужного места.
Чего здесь не будет: новостей о релизах, пересказов чужих статей,
вакансий и подборок «10 команд Linux, которые вы не знали».
GitHub
olegbukatchuk - Overview
olegbukatchuk has 194 repositories available. Follow their code on GitHub.
Олег Букатчук · надёжность и инциденты pinned «Меня зовут Олег Букатчук, я DevOps/SRE-инженер. Девятнадцать лет в эксплуатации: держал инфраструктуру cian.ru, aliexpress.ru и mos.ru — каждый из этих проектов обслуживает больше миллиона уникальных пользователей в день. Это места, где простой считается не…»
А вот и сама статья...
Все компоненты зелёные, а продакшн лежит: разбор аварии, которую нашли в git
https://habr.com/ru/articles/1078876/
Все компоненты зелёные, а продакшн лежит: разбор аварии, которую нашли в git
https://habr.com/ru/articles/1078876/
🔥1
Kaiban: канбан-доска, где в каждой колонке сидит ИИ-агент
Открытый проект, которому две недели. Задача идёт по шести колонкам: продакт, бизнес-аналитик, системный аналитик, разработчик, QA, Auto QA. В каждой работает отдельный агент, а дальше карточку пропускает только человек — кнопкой Approve.
Что в коде сделано хорошо:
— у каждого прогона есть бюджет: 40 шагов модели, 80 вызовов инструментов, 200 000 токенов, 5 долларов, 30 минут;
— этапу можно задать обязательные поля результата, без них апрув недоступен;
— колонка может требовать непустой diff: отчёт «всё реализовано» без изменённых строк не пройдёт;
— на каждый прогон сохраняются модель, хеш промпта, токены и причина остановки.
Что стоит знать до запуска:
— ветка main на 4 октября не собирается, нужен предыдущий коммит;
— агенту-разработчику из коробки нечем менять файлы: он коммитит и пушит, но не пишет код;
— токены интеграций лежат в базе открытым текстом, у API нет авторизации.
Разбор по исходному коду, с командами для запуска:
https://bukatchuk.ru/blog/2026/10/04/kaiban-kanban-doska-s-ii-agentami/
Открытый проект, которому две недели. Задача идёт по шести колонкам: продакт, бизнес-аналитик, системный аналитик, разработчик, QA, Auto QA. В каждой работает отдельный агент, а дальше карточку пропускает только человек — кнопкой Approve.
Что в коде сделано хорошо:
— у каждого прогона есть бюджет: 40 шагов модели, 80 вызовов инструментов, 200 000 токенов, 5 долларов, 30 минут;
— этапу можно задать обязательные поля результата, без них апрув недоступен;
— колонка может требовать непустой diff: отчёт «всё реализовано» без изменённых строк не пройдёт;
— на каждый прогон сохраняются модель, хеш промпта, токены и причина остановки.
Что стоит знать до запуска:
— ветка main на 4 октября не собирается, нужен предыдущий коммит;
— агенту-разработчику из коробки нечем менять файлы: он коммитит и пушит, но не пишет код;
— токены интеграций лежат в базе открытым текстом, у API нет авторизации.
Разбор по исходному коду, с командами для запуска:
https://bukatchuk.ru/blog/2026/10/04/kaiban-kanban-doska-s-ii-agentami/
Олег Букатчук
Kaiban: канбан-доска, где в каждой колонке сидит ИИ-агент
Разбор open-source проекта Kaiban по исходному коду: как устроен конвейер из шести агентов с ручным апрувом между этапами, что в нём сделано по-взрослому и где он пока сырой.
👍1
Всем, привет! Я давно планировал это сделать и вот наконец-то у меня дошли руки 😁
У меня на сайте появился полный каталог моей музыкальной коллекции винила 🎵
На сайте открыт раздел «Винил» — коллекция пластинок с отдельной страницей на каждое издание. Сейчас в каталоге 300 релизов: 480 пластинок, 134 лейбла, альбомы с 1973 по 2026 год.
Что есть на странице релиза:
- обложка и свойства издания: лейбл, страна, год альбома и год издания, формат, цвет винила, вес, тираж, каталожный номер и штрихкод;
- треклист по сторонам пластинки;
- короткая история альбома со ссылкой на источник и заметки о самом издании: конверт, вкладыши, отличия от других тиражей.
Что есть на общей странице:
- поиск по всей коллекции;
- фильтры по исполнителю и лейблу;
- сортировка по году альбома, году издания и названию;
- два вида списка: «Витрина» с обложками и «Каталог» со штрихкодами.
Больше всего пластинок у Schiller — 20. Дальше Moby — 16, The Prodigy — 14, Scorpions — 12, Daft Punk — 11, по десять у Jean-Michel Jarre, The Chemical Brothers и Metallica. Отдельно собраны сборники и саундтреки — 44 релиза. Рядом с электроникой стоят русский рок, хип-хоп, метал и классика.
https://bukatchuk.ru/vinyl/
У меня на сайте появился полный каталог моей музыкальной коллекции винила 🎵
На сайте открыт раздел «Винил» — коллекция пластинок с отдельной страницей на каждое издание. Сейчас в каталоге 300 релизов: 480 пластинок, 134 лейбла, альбомы с 1973 по 2026 год.
Что есть на странице релиза:
- обложка и свойства издания: лейбл, страна, год альбома и год издания, формат, цвет винила, вес, тираж, каталожный номер и штрихкод;
- треклист по сторонам пластинки;
- короткая история альбома со ссылкой на источник и заметки о самом издании: конверт, вкладыши, отличия от других тиражей.
Что есть на общей странице:
- поиск по всей коллекции;
- фильтры по исполнителю и лейблу;
- сортировка по году альбома, году издания и названию;
- два вида списка: «Витрина» с обложками и «Каталог» со штрихкодами.
Больше всего пластинок у Schiller — 20. Дальше Moby — 16, The Prodigy — 14, Scorpions — 12, Daft Punk — 11, по десять у Jean-Michel Jarre, The Chemical Brothers и Metallica. Отдельно собраны сборники и саундтреки — 44 релиза. Рядом с электроникой стоят русский рок, хип-хоп, метал и классика.
https://bukatchuk.ru/vinyl/
Олег Букатчук
Винил
Коллекция виниловых пластинок Олега Букатчука — издания, лейблы, треклисты.
🔥1
Dashi PPT: skill для ИИ-агента, который собирает презентацию из документа
Dashi PPT — открытый проект с девятью тысячами звёзд. Агент получает документ и отдаёт HTML-презентацию, в которой у каждого слайда своя панель настроек. Модель не рисует слайды, а заполняет текстом готовые макеты; вёрстку, проверки и экспорт делает обычный код.
Что подтверждается исходниками:
- 12 тем, 1020 макетов и 8576 элементов управления — цифры сходятся с каталогом макетов;
- на каждую страницу генерируются четыре варианта: три шаблонных и один авторский;
- правки сохраняются прямо в файл презентации через локальный сервер;
- PPTX собирается из живой страницы: текст остаётся текстом, сложная графика уходит картинкой.
Где README расходится с кодом:
- сервер по умолчанию слушает только локальный адрес, а не локальную сеть;
- обращений к сети четыре, а не два;
- установщик ставит навык в один каталог, а не во все найденные.
О чём стоит знать заранее: движок экспорта и компоненты тем закрыты, PDF выходит без текста, зависимости по умолчанию берутся с китайского зеркала npm.
https://bukatchuk.ru/blog/2026/10/06/dashi-ppt-skill-prezentaciya-iz-dokumenta/
Dashi PPT — открытый проект с девятью тысячами звёзд. Агент получает документ и отдаёт HTML-презентацию, в которой у каждого слайда своя панель настроек. Модель не рисует слайды, а заполняет текстом готовые макеты; вёрстку, проверки и экспорт делает обычный код.
Что подтверждается исходниками:
- 12 тем, 1020 макетов и 8576 элементов управления — цифры сходятся с каталогом макетов;
- на каждую страницу генерируются четыре варианта: три шаблонных и один авторский;
- правки сохраняются прямо в файл презентации через локальный сервер;
- PPTX собирается из живой страницы: текст остаётся текстом, сложная графика уходит картинкой.
Где README расходится с кодом:
- сервер по умолчанию слушает только локальный адрес, а не локальную сеть;
- обращений к сети четыре, а не два;
- установщик ставит навык в один каталог, а не во все найденные.
О чём стоит знать заранее: движок экспорта и компоненты тем закрыты, PDF выходит без текста, зависимости по умолчанию берутся с китайского зеркала npm.
https://bukatchuk.ru/blog/2026/10/06/dashi-ppt-skill-prezentaciya-iz-dokumenta/
Олег Букатчук
Dashi PPT: skill для ИИ-агента, который собирает презентацию из документа
Разбор open-source проекта Dashi PPT по исходному коду: как устроен конвейер от документа до слайдов, что делает локальный сервер предпросмотра, как работает экспорт в PPTX и где README расходится с кодом.
👍1
OpsDeck: терминал, Kubernetes, базы и KeePass в одном окне — разбор по исходникам
OpsDeck — настольное приложение на Rust и Tauri 2, которое собирает в одно окно терминал, Kubernetes, базы данных, Grafana с ArgoCD, алерты, KeePass и SSH. Проекту две недели, а доступ он просит ко всему ценному. Я прочитал исходники версии 0.6.1, чтобы понять, можно ли ему доверять.
Что сделано хорошо:
— своё хранилище kubeconfig, ~/.kube/config не трогается
— встроенные веб-панели не имеют доступа к командам приложения
— автологин привязан к адресу коннектора
— обновления подписаны, телеметрии нет
Что стоит знать заранее:
— режим «только чтение» закрывает кнопки, но не kubectl в соседней вкладке
— TLS-режим require шифрует, но не проверяет сертификат
— два локальных порта открыты с первого запуска
— движок локальной модели проверяется слабее, чем сами модели
— один автор и 8 релизов за 11 дней
В статье — где лежат секреты, что уходит в сеть, как устроены обновления и кому приложение подойдёт уже сейчас.
https://bukatchuk.ru/blog/2026/10/09/opsdeck-rabochaya-panel-devops-inzhenera/
OpsDeck — настольное приложение на Rust и Tauri 2, которое собирает в одно окно терминал, Kubernetes, базы данных, Grafana с ArgoCD, алерты, KeePass и SSH. Проекту две недели, а доступ он просит ко всему ценному. Я прочитал исходники версии 0.6.1, чтобы понять, можно ли ему доверять.
Что сделано хорошо:
— своё хранилище kubeconfig, ~/.kube/config не трогается
— встроенные веб-панели не имеют доступа к командам приложения
— автологин привязан к адресу коннектора
— обновления подписаны, телеметрии нет
Что стоит знать заранее:
— режим «только чтение» закрывает кнопки, но не kubectl в соседней вкладке
— TLS-режим require шифрует, но не проверяет сертификат
— два локальных порта открыты с первого запуска
— движок локальной модели проверяется слабее, чем сами модели
— один автор и 8 релизов за 11 дней
В статье — где лежат секреты, что уходит в сеть, как устроены обновления и кому приложение подойдёт уже сейчас.
https://bukatchuk.ru/blog/2026/10/09/opsdeck-rabochaya-panel-devops-inzhenera/
Олег Букатчук
OpsDeck: терминал, Kubernetes, базы и KeePass в одном окне — разбор по исходникам
Разбор open-source приложения OpsDeck по исходному коду: архитектура на Tauri 2, работа с kubeconfig и секретами, локальные порты, режимы «только чтение», локальная языковая модель, обновления и расхождения README с кодом.
👏1
Harness: один набор правил Claude Code для всех проектов и серверов
Я открыл код harness — обвязки для Claude Code. Это каталог, из которого запускается агент: проекты лежат внутри обычными клонами, и в каждом он работает по одним правилам. Версия 1.0.0, лицензия MIT.
Что умеет:
- коммит, push и PR от имени владельца: хук отклоняет чужого автора и Co-Authored-By
- реестр проектов: добавить по ссылке, склонировать и обновить все разом, таблица состояния клонов
- реестр серверов: проверка входа по SSH-ключу, чтение свободно, изменения только после подтверждения
- связи «репозиторий → сервер → сервис»: одна команда показывает, откуда настраивается сервер
- удаление проекта, сервера и связи с резервной копией реестра; сброс сначала печатает план
- Docker для тестов: всё запущенное помечается и убирается одной командой
- интеграции с Plane, n8n, GitGuardian и Yandex Cloud
- диагностика окружения и обновление прямо в сессии
- русский и английский, переключение одной командой
Внутри 7 правил, 14 skills и один bash-скрипт.
В статье — как это устроено и какие у проекта ограничения.
https://bukatchuk.ru/blog/2026/10/10/harness-odin-nabor-pravil-claude-code-dlya-vseh-proektov/
Я открыл код harness — обвязки для Claude Code. Это каталог, из которого запускается агент: проекты лежат внутри обычными клонами, и в каждом он работает по одним правилам. Версия 1.0.0, лицензия MIT.
Что умеет:
- коммит, push и PR от имени владельца: хук отклоняет чужого автора и Co-Authored-By
- реестр проектов: добавить по ссылке, склонировать и обновить все разом, таблица состояния клонов
- реестр серверов: проверка входа по SSH-ключу, чтение свободно, изменения только после подтверждения
- связи «репозиторий → сервер → сервис»: одна команда показывает, откуда настраивается сервер
- удаление проекта, сервера и связи с резервной копией реестра; сброс сначала печатает план
- Docker для тестов: всё запущенное помечается и убирается одной командой
- интеграции с Plane, n8n, GitGuardian и Yandex Cloud
- диагностика окружения и обновление прямо в сессии
- русский и английский, переключение одной командой
Внутри 7 правил, 14 skills и один bash-скрипт.
В статье — как это устроено и какие у проекта ограничения.
https://bukatchuk.ru/blog/2026/10/10/harness-odin-nabor-pravil-claude-code-dlya-vseh-proektov/
Олег Букатчук
Harness: один набор правил Claude Code для всех проектов и серверов
Обзор собственного проекта harness версии 1.0.0: что лежит в общем каталоге для всех проектов, какие запреты держатся на хуках, а какие на тексте правил, как устроены два языка и как открытая версия проверяется на утечку личных данных перед публикацией.
❤1
Pake: сайт в настольное приложение одной командой
Pake заворачивает любой сайт в приложение на Rust и Tauri 2. Вместо своего Chromium используется системный webview, поэтому пакеты получаются лёгкими. Я прочитал исходники версии 3.17.6 и сверил обещания README с кодом и файлами релизов.
Что я нашёл:
- «Одна команда» — это компиляция Rust-проекта на твоей машине. По оценке самого CLI, первая сборка занимает 5–15 минут.
- ChatGPT из последнего релиза: .msi весит 3,6 МБ, .deb — 4,6 МБ, .dmg — 9,5 МБ. AppImage весит 76,7 МБ, потому что везёт WebKitGTK с собой.
- С V3.0.0 до V3.17.2 команды приложения мог вызывать любой HTTPS-сайт, открытый в окне. Исправили 5 октября 2026 года.
- Обновлений у собранных приложений нет: исправление доходит до пользователя только через пересборку.
- Без --icon CLI отправляет домен сайта пяти сервисам иконок, в том числе внутренний.
Вывод: для личных обёрток Pake годится, если собирать на 3.17.3 или новее и указывать иконку локальным файлом. Обёртки, установленные до октября, стоит пересобрать.
https://bukatchuk.ru/blog/2026/10/20/pake-sayt-v-nastolnoe-prilozhenie-razbor-po-ishodnikam/
Pake заворачивает любой сайт в приложение на Rust и Tauri 2. Вместо своего Chromium используется системный webview, поэтому пакеты получаются лёгкими. Я прочитал исходники версии 3.17.6 и сверил обещания README с кодом и файлами релизов.
Что я нашёл:
- «Одна команда» — это компиляция Rust-проекта на твоей машине. По оценке самого CLI, первая сборка занимает 5–15 минут.
- ChatGPT из последнего релиза: .msi весит 3,6 МБ, .deb — 4,6 МБ, .dmg — 9,5 МБ. AppImage весит 76,7 МБ, потому что везёт WebKitGTK с собой.
- С V3.0.0 до V3.17.2 команды приложения мог вызывать любой HTTPS-сайт, открытый в окне. Исправили 5 октября 2026 года.
- Обновлений у собранных приложений нет: исправление доходит до пользователя только через пересборку.
- Без --icon CLI отправляет домен сайта пяти сервисам иконок, в том числе внутренний.
Вывод: для личных обёрток Pake годится, если собирать на 3.17.3 или новее и указывать иконку локальным файлом. Обёртки, установленные до октября, стоит пересобрать.
https://bukatchuk.ru/blog/2026/10/20/pake-sayt-v-nastolnoe-prilozhenie-razbor-po-ishodnikam/
Олег Букатчук
Pake: сайт в настольное приложение одной командой — разбор по исходникам
Разбор open-source проекта Pake по исходному коду: как CLI собирает приложение на Tauri 2, почему пакеты весят 4–10 МБ, а AppImage — 77, что внедряется в страницу, как менялись права сайта на команды приложения, что уходит в сеть, лицензия GPL-3.0 с исключением…
👍1
