В мае я обещал через пару недель разобрать четыре случая, где ИИ подводила не сама модель, а то, что вокруг нее. Прошло пять месяцев. Обещание я не сдержал. Тот разбор будет, но сегодня про другое: про то, чем я все это время занимался.Я делал kb-engine. Это моя база знаний на Go с открытым кодом: туда я складываю прочитанные статьи и заметки, там ищу и смотрю все в браузере. Пользуюсь каждый день.С 24 июня по 23 октября в проекте набралось 392 коммита, 28 версий и 246 файлов с тестами. Почти в…
Привет, Хабр!Почти в каждом Go‑сервисе в Kubernetes первым в цепочке стоит middleware, который ловит панику через defer и recover(), пишет её в лог и отвечает 500. Его ставят в первый же день и больше не трогают, потому что с ним сервис переживёт любую панику в обработчике, потеряв один запрос. Где‑то рядом лежит глобальная map под кэш или счётчики, и пишут в неё из обработчиков без мьютекса, потому что «там же просто инкремент».Однажды на пике нагрузки под уходит в рестарт, потом ещё в один и …
Обычно свой сервер выглядит так: купил VPS, зашёл по SSH, открыл README, скопировал curl | bash, потом полчаса выясняешь, почему не открывается порт, а в конце переписываешь ключи из терминала в клиент. Мы решили, что раз клиент и так знает, какие параметры нужны серверу, пусть он его сам и ставит. Вводишь IP и пароль от VPS, жмёшь кнопку, через минуту поля подключения уже заполнены.Ниже о том, как это устроено, и о том, сколько раз оно у нас ломалось.Это вторая статья про YPtun. Первая, обзорн…
В прошлой статье я рассказывал про маршрутизацию и деньги в Keystone. The Model Switchboard. (KTMS), нашем open-source LLM-шлюзе на Go. Эта статья про эксплуатацию: как подключить свои видеокарты, что происходит, когда отказывает каждая зависимость, как менять ключи шифрования, как проверять, что вы скачали именно наш релиз, и как обновляться без простоя.Часть 1. Свои GPU в общем пулеЗачемУ многих команд есть Mac Studio или Linux-машина с хорошей картой, которая половину времени простаивает, и …
Команда baton помогает передать сессию со всеми деталями другому агентуКогда я разрабатывал конвейер для перевода книг целиком, для его тестирования мне понадобилось использовать консольных агентов разных производителей: Claude Code, Codex и Antigravity CLI (agy). Поскольку ведущие нейросети у каждого поставщика сейчас обладают примерно одинаковым уровнем интеллекта, возникла мысль задействовать их все и для самой разработки. Но так как все мои тарифы дешёвые, по 20 долларов, пятичасовые квоты …
Сколько у вас в инфраструктуре версий PostgreSQL? А какие из них уже не поддерживаются? А сколько CVE висит на том nginx, который «работает — не трогай»?Если вы ответили на все три вопроса без поиска по чатам и вики, дальше можно не читать. А я в какой‑то момент понял, что не могу, и написал для этого инструмент. Под катом история о том, как он появился, на какие грабли я наступил по дороге и почему MySQL однажды заблокировал собственный хост из‑за моего мониторинга.ЗоопаркУ меня есть домашняя …
У меня есть пет-проект d9c, терминальный интерфейс для Docker на удалённых серверах. Запускается локально, на хост ходит по SSH, на сервер ничего ставить не нужно. Внутри таблицы, навигация как в vim, команды через двоеточие, логи, shell в контейнере, compose. Если коротко, это k9s, только для Docker.d9cНо статья не про интерфейс. Последние месяцы я почти всё делаю через Claude Code, и в какой-то момент заметил, что на мои серверы ходит уже не только я.Как агент работает с Docker, если ему не м…
Про defer в Go до сих пор ходит миф: «он медленный, в горячем коде лучше не использовать». Когда-то это было правдой. До Go 1.13 каждый defer означал аллокацию в куче. Сейчас, в большинстве случаев, он стоит почти ничего. Но «в большинстве» — это не «всегда», и граница проходит по довольно конкретным правилам.Компилятор Go умеет реализовывать defer тремя способами:open-coded — никакой runtime-структуры, вызов вставляется прямо в код функции;stack defer — runtime используется, но запись о defer …
17 октября Mozilla молча добавила в OneCRL восемь промежуточных сертификатов eMudhra. Через двое суток вышли Go 1.27.3 и 1.26.10, которые этим сертификатам больше не доверяют. От первого письма в Go Security до готового релиза прошло меньше семи с половиной часов, и это первый релиз, выпущенный по новому треку URGENT.26 октября Roland Shoemaker опубликовал в блоге Go разбор инцидента. Я его пересказал и дописал то, чего мне в нём не хватило. Как именно ломаются такие ключи (с кодом). Почему уда…