Статья Иннокентия Бодрова (Product Leader) на учебном, воспроизводимом примере сервиса объявлений показывает, как общая метрика скрывает провал на редком сегменте. На наборе из 1000 карточек (900 из основного потока, 100 из партнёрского API) новая модель B подняла общую accuracy с 93% до 95,5% и сократила очередь ручной проверки с 136 до 113 отправок, но именно на партнёрском фиде recall упал с 80% до 40%: модель нашла 8 нарушений из 20 вместо 16, пропустив 12 вместо 4. Главный тезис: агрегированные accuracy, precision, recall и F1 одинаково способны замаскировать деградацию отдельной группы, поэтому решение о релизе по одной общей метрике недопустимо. При редком положительном классе автор советует PR-кривые вместо ROC. Приведён публичный кейс Jigsaw по классификатору токсичных комментариев Perspective API (1,8 млн комментариев): на коротких комментариях с упоминанием геев и лесбиянок BPSN AUC вырос с 0,57 до 0,82 после коррекции обучающих данных, но проблема не снялась полностью. Также упомянуто исследование hidden stratification на медицинских изображениях. Разбирается проблема selective labels: если модератор видит только карточки, отобранные текущей моделью, у остальных нет метки, и приравнивать «не проверяли» к «нарушения нет» нельзя — среди непроверенных и прячутся FN; нужна независимая полная разметка либо веса. Отмечены риски малых срезов (20 нарушений — один пропуск меняет recall на 5 п.п.), необходимость фиксировать версию правил модерации и согласованность разметчиков, проверять парные карточки парным bootstrap с группировкой по продавцу. Рекомендуются заранее определённые срезы по маршрутам продукта, условия приёмки (например, минимум 75% recall на партнёрском API, непревышение мощности модерации), автоматизация порогов через TensorFlow Model Analysis, а при провале критичного среза — оставить старую модель, усилить ручную проверку или отложить фид. Причина просадки ищется по расхождениям версий на конкретных карточках, исправление проверяется на новых данных. Завершается статья рекламой бесплатного демо-урока OTUS про Data Drift и дайджеста вебинаров.
Автор представляет свой open-source проект genoas — генератор спецификаций OpenAPI 3.1 для Go из комментариев к коду. Предыстория: работая в банке, он столкнулся с тем, что swaggo/swag слабо поддерживал 3.0, а go-swagger3 давно не обновлялся, терял куски спецификации при росте числа ручек и не умел часть вещей (например, ответ строкой). Вместо доработки чужого кода он написал свой.
Ключевые особенности:
• Вместо хрупких регулярных выражений для разбора свойств тегов используется адаптированный reflect.StructTag со сканером в духе stdlib — устойчивее к пробелам и кавычкам внутри значений.
• Комментарии упрощены, позиционные аргументы заменены именованными (description(...), example(20)), реальные Go-типы указываются как есть ([]models.Pet, map[string]int, дженерики).
• Два стиля записи свойств на выбор: parensStyle и goStyle (флаг --comment-style).
• Целевая версия — OpenAPI 3.1+; поддержка дженериков (включая кросс-пакетные), полиморфизма oneOf/anyOf/allOf, nullable, подмены типов, multipart/form-data по правилам 3.1 с contentMediaType/contentEncoding.
• Собственная нотация Content-Type прямо в теге (@Success 200 json ...) вместо отдельных @Accept/@Produce.
• Блок @Info можно разместить в любом файле, а не только в main.go.
• Внутри — конвейер независимых парсеров, что упрощает расширение и замену частей.
• Табличные unit-тесты всех парсеров и детерминированный e2e-гейт (make golden-check) со сверкой с эталонным oas_golden.yml.
• Сравнение со swag: genoas экономнее по памяти (~300 МБ против известных OOM у swag на больших проектах), но уступает в зрелости, экосистеме, интеграциях и полноте спецификации.
Чего пока нет: discriminator, именованных примеров на уровне media type, @Security на операцию, encoding для multipart, x-расширений, cookie-параметров, webhooks, drop-in совместимости с тегами swag и многого другого. Список открыто признан неполным.
Проект писался с февраля практически в одиночку на фоне основной работы, изначальная мотивация (нужды банка) отпала, но автор довёл его до рабочей стадии и просит обратную связь. Это не реклама платных услуг, а честная презентация личного open-source инструмента с прозрачным перечнем ограничений.
Автор размышляет о страдании (мучении) как о состоянии, которое выбивает человека из колеи, лишает продуктивности и толкает на нехорошие поступки. Отсюда его тезис: работа «через мучение» никогда не даёт результата, а тот, кто терпит муку, не отгораживая от неё других, — герой; тот же, кто вешает свою муку на окружающих, — эгоист высшей степени. Далее автор переходит к конкретному поводу: кто-то из страдальцев просит, чтобы его пристрелили. Автор возмущён такой позицией — «здоровые силы» должны держать мир, солдат должен быть накормлен, а остальным, даже голодающим, следует «заткнуться», поскольку их мучения — следствие их же поведения в благополучные времена, а значит, «Божья кара справедлива». При этом он предостерегает от того, чтобы брать на себя грех и убивать страдающего, призывая не тянуть других за собой в пучину.
Мысль рыхлая и противоречивая: с одной стороны, вроде бы призыв к состраданию и отказ от «пристрелить», с другой — прямая проповедь чёрствости и презрения к слабым, отказ в помощи тем, кто просит её, подмена милосердия рассуждением «у всех своих дел по горло». Полезной информации, анализа, фактов — ноль, только эмоциональные декларации с обилием грамматических ошибок.
Автор полез в сервис прогнозов загруженности парковок по другому поводу и заметил, что эндпоинт отвечает за две секунды вместо выдачи готового ответа из Redis. Оказалось, что Redis у сервиса отсутствовал восемь недель: контейнер упал с кодом 255, имя перестало резолвиться в докеровской сети, подключение при старте падало, и каждый запрос все это время считался с нуля.
Код внешне был к этому готов, но только внешне. В инициализации ловится исключение и присваивается redis_client = None, хотя комментарий обещает заглушку. Дальше каждый метод обёрнут в try, вызывает self.redis_client.get, получает AttributeError у None, ловит его тем же except и возвращает None, то есть неотличимо от пустого кэша. Итог — две строки уровня ERROR на каждый запрос восемь недель подряд, то есть авария не была тихой, но её никто не видел, потому что симптомы отсутствовали: сайт работал, данные были верные, просто пересчитывались каждый раз. Регулярный ERROR превращается в фон, и чем чаще он пишется, тем надёжнее пролистывается.
Отдельно разобраны ложные «ок». У класса есть метод get_status с проверкой ping, который вернул бы False, но он не подключён ни к одному эндпоинту. Другой health-эндпоинт отдаёт status: «ok» и timestamp строковыми константами (timestamp вообще из мая 2025 — не менялся 17 месяцев), а nginx-локейшн /health перехватывает путь и возвращает константный 200 OK раньше, чем запрос дойдёт до сервиса. Uptime Kuma следит только за публичным сайтом с таймаутом 48 секунд и проверкой по ключевому слову, так что 11 мс и 2 секунды для него неразличимы. Ни одно из «ок» не лгало про то, что проверяло, — просто ни одно не проверяло ничего другого, а вместе они читались как «всё в порядке».
Замеры: промах кэша — полный пересчёт по базе, ~1,9 с; попадание — выдача готовых 150 КБ за ~11 мс, разница около 170 раз. При этом авария была терпимой: TTL ключа пять минут, поэтому даже с живым кэшем раз в пять минут кто-то платит эти две секунды; восемь недель сервис просто работал в режиме «платят все», дав лишнюю нагрузку на базу и медленную карту первым зашедшим. Именно поэтому автор и не заметил — если бы кэш был на критическом пути, он узнал бы в тот же день.
Починка: второй Redis не поднимали (на машине узкое место — память), переключились на Redis другого сервиса, поменяв номер базы, чтобы сервисы не затирали кэш друг другу; свой контейнер, том и depends_on убрали. Попутно выяснилось, что docker-compose.yml сервиса вообще не лежал в репозитории, а веса модели доставлялись через docker cp — то есть авария с кэшем была единственной причиной туда заглянуть.
Главный вывод: обработка ошибки, возвращающая безопасное значение, осознанно превращает отказ в деградацию, но у деградации нет момента, когда о ней узнают извне, поэтому лог становится единственным каналом, а в лог смотрят по симптомам, которых у деградации по определению нет. Значит, аккуратно обработанный отказ надо мерить, а не логировать: счётчик промахов, доля попаданий — то, что можно спросить снаружи и сравнить с ожиданием. logger.error — не уведомление, а запись для того, кто уже пришёл разбираться. Плюс комментарий описывал намерение сделать работу без кэша штатным режимом, но теста на это поведение не было, и вместо задуманного приложение падало в ту же ветку через AttributeError дважды на запрос. Данные сервиса открыты: 4,6 млн получасовых замеров загруженности парковок под CC BY 4.0.
Это добротный инженерный постмортем без рекламы, с конкретикой, кодом, замерами и внятными выводами про наблюдаемость, деградацию против отказа и бесполезность константных health-чеков. Полезно бэкенд- и DevOps-инженерам, тема вечнозелёная, но узкопрофильная и без остросоциальной или политэкономической составляющей, поэтому верхнюю планку не ставлю.
Станислав из «РТК-ЦОД» описывает, как в службе техподдержки из хаоса чатов и личных заметок построили рабочую базу знаний. Сигналы, что БЗ нужна: постоянные повторяющиеся вопросы в рабочих чатах, личные мини-базы у инженеров, бесконечное обучение новичков. Требования к БЗ: быстрый поиск, логичная структура и единообразие оформления, короткие прикладные инструкции вместо тяжёлых мануалов, простой доступ (лучше бот в корпоративном мессенджере, чем VPN плюс куча действий). Структуру автор советует строить не по энциклопедическому принципу, а по убыванию актуальности тематик, хотя на практике почти все ищут через поиск, поэтому много сил ушло на ключевые слова, теги и единообразие терминов. Самые востребованные разделы — полезные ссылки и чек-листы. Первичный сбор информации оказался не главной трудностью: самое сложное — постоянная актуализация. Устаревшее надо архивировать, а не удалять (старая прошивка однажды пригодилась). Куратор не должен работать в одиночку, нужна мотивация коллег: новые статьи приравнивались к группе решённых инцидентов в KPI, проводились конкурсы с призами, вёлся канал с анонсами новых инструкций. За 2–3 месяца написали около сотни инструкций, позже — около тысячи. Аргумент в пользу БЗ: полчаса на статью экономят многократные объяснения целым поколениям новичков. Метафора автора — БЗ это инвестиционный портфель, который работает сам и приносит дивиденды команде. По сути это корпоративный контент-маркетинг от провайдера ЦОД с полезными, но давно известными в индустрии практиками knowledge management — без прорывов, политики и остросоциальной повестки.
NetFix Mobile — открытое Android-приложение для телефонов и Smart TV, запускающее обход блокировок для YouTube, Discord, Instagram, X и локальный прокси для Telegram одной кнопкой. Автор прямо подчёркивает: методы обхода он не изобретает, а оборачивает готовые open-source инструменты — ByeDPI (обход DPI через локальный SOCKS-прокси, приёмы --split, --disorder, --fake, --tlsrec), hev-socks5-tunnel и tg-ws-proxy. Приложение не является VPN: трафик не шифруется и IP не меняется. На Android трафик заворачивается в DPI-прокси через системный VpnService, причём это не удалённый сервер, а локальная обработка. Работают два независимых сервиса: обход DPI (VpnService + hev-socks5-tunnel + ByeDPI на C через NDK) и Telegram-прокси (ядро на Rust, вызывается из Kotlin через JNA, поднимает локальный MTProto-сервер, наружу ходит по WebSocket через Cloudflare). Режимы запускаются кнопкой: только Telegram, только обход, либо оба сразу; приложения для туннеля выбираются по отдельности, сам NetFix из туннеля исключён. Главная фишка — автоподбор рабочей конфигурации «воронкой»: для каждой стратегии делаются настоящие HTTPS-запросы и ответ читается до конца (проверка по объёму полученных данных, а не по пингу, так как DPI часто пропускает рукопожатие TLS, но режет поток), затем быстрый проход по небольшому набору адресов YouTube и Discord для всех стратегий (до 30 запросов параллельно), пять финалистов проходят полный набор адресов, десять лучших перепроверяются на конкретной сети и ранжируются; можно вставить свою строку аргументов, результаты экспортируются и импортируются. Стратегии хранятся и подбираются отдельно для Wi-Fi и мобильной сети (сеть запрашивается через NetworkRequest с TRANSPORT_CELLULAR и флагом NOT_VPN, ожидание до 90 секунд), при смене подключения стратегия переключается сама. В Telegram-прокси на Rust реализованы пул заранее открытых соединений (чтобы не «висели» первые фото), сброс пула при смене сети и переключение на прямой режим при чужом VPN; подключение — по ссылке tg://proxy в один тап, но настройки внутри Telegram из другого приложения менять нельзя. Есть версия для Android TV с переработанным под пульт интерфейсом на Compose и предложением поставить SmartTube, фоновая работа через foreground-сервисы, watchdog на WorkManager, плитка быстрых настроек. Отдельно описана оптимизация анимированного глобуса на Canvas: ограничение 30 fps с адаптацией под нагрузку снизило нагрузку на CPU эмулятора примерно с 70% до 33%, а медианное время кадра — с 32 до 17 мс. Из ограничений: рабочей стратегии для конкретного сервиса у конкретного провайдера может не найтись, это не VPN, чужой VPN влияет на работу. Статья сочетает личную разработку с реально полезным техническим разбором обхода DPI — тема злободневная и остросоциальная (блокировки YouTube, Discord, Telegram в 2026-м), материал честный, инструменты и код открыты, при этом это по сути продвижение собственного продукта и канала, а ряд вещей (обёртка над чужими решениями, тонкости настройки) уже знаком читателям Хабра.
Мошенники применяют автоматизацию и генеративный ИИ (массовые рассылки, синтез речи, гибкая смена легенды), но защитники используют тот же принцип — scambaiting: подозрительный звонок перенаправляется в контролируемую среду, где отвечает бот с заданным профилем. Его задача — не спорить, а удерживать мошенника в диалоге, вытягивая ссылки, номера, банковские реквизиты, адреса криптокошельков, сценарии социнженерии и названия организаций. Эти данные после верификации становятся сигналами для блокировок, расследований и предупреждений.
Австралийская Apate (по данным WIRED, гендиректор Дали Кафар) заявляет о ~350 тыс. ботов и свыше 250 тыс. единиц информации о мошеннической инфраструктуре — но это цифры самой компании, а не независимая оценка. В демонстрации для журналистов бот вёл осмысленный разговор, делал естественные паузы и не соглашался на перевод; некоторые диалоги длятся дольше двух часов.
Отдельная блокировка номера слабо помогает: преступники меняют SIM, аккаунты и домены, и только диалоговый бот связывает канал, легенду, реквизиты и временные паттерны в единую картину кампании.
Тот же подход в кибербезопасности — LLM-ханипоты. Исследователи ETH Zurich (Марк Веро) с методикой Honeyval показали, что LLM-ханипоты удерживали автономных ИИ-агентов-атакующих примерно втрое дольше правило-ориентированного базового варианта, хотя более долгий диалог повышает риск распознавания ловушки. Реалистичность не равна безопасности, и разговорный слой нельзя подключать к реальной инфраструктуре без изоляции.
Данные делят на три уровня: срочные индикаторы (ссылки, реквизиты, номера), контекст кампании (роли, угрозы, шаблоны) и долгосрочные признаки (повторяющиеся инфраструктурные элементы). Бот должен только собирать сигнал, а решения об ограничениях — оставаться за верифицируемым процессом. Ограничения: мошенник может подсунуть ложные реквизиты, менять сценарий, проверять защиту; всё должно работать в правовом поле и изолированной среде. Метрика успеха — не длительность разговора, а доля подтверждённых индикаторов, скорость обработки, число предотвращённых контактов и отсутствие вреда обычным пользователям. Приведены пять практических правил для команд безопасности. Вывод: ИИ удешевляет и усиливает мошеннические схемы, но в защите превращает контакт с жертвой в ловушку и источник разведданных — при условии связки с антифродом, проверкой данных и понятным процессом реагирования.
Автор потерял рабочую переписку и пришёл к мысли, что ИИ-модель переживает похожее на каждом длинном сеансе: контекст сжимается, модель сама решает, что забыть, и потом «тупеет». Он сделал MemShelf — внешнюю память для ИИ-агента в виде MCP-сервера. Это git-репозиторий с Markdown-файлами, где единица хранения — эпизод: что делали, какое решение приняли, какие альтернативы отклонили, где ошиблись, что осталось доделать. Похоже на work log, но эпизод описывает сессию целиком, включая то, что не попало в коммиты. Эпизоды берутся из ночных и дневных смен Claude Code по 28 репозиториям, из решений по диспетчеру и шине между сессиями, из хоумлаба, из экспериментов с пререгистрацией и из студенческого фидбэка. К середине сентября набралось 230 эпизодов, около 150 — итоги рабочих сессий; основные замеры сделаны на 38-й день, когда было 157 эпизодов.
Проблема сжатия контекста описана так: пока беседа влезает в окно, всё нормально; когда перестаёт, агент автоматически сжимает историю и может выбросить нужное. Уменьшать окно вредно — сжатие срабатывает чаще. Практический «пол» — 200–300 тысяч токенов, потому что заметная часть окна занята до первого слова пользователя: системный промпт, инструменты, MCP-серверы. У автора в медиане 38,6 тысячи токенов, из них 32 тысячи — сам клиент. MemShelf не отменяет сжатие, но забирает у него главное решение: вместо автоматического «что важно» человек сам закрывает сессию эпизодом и кладёт его на полку.
Механика: агент замечает, что тема закрыта, и предлагает зашелвить. Он пишет дайджест и секции, инструмент проверяет контракт дайджеста, вычищает известные секреты по POLICY.patterns, коммитит только файл эпизода. Человек смотрит diff и коммитит или открывает PR. Бот рендерит INDEX.md, ledger.tsv, .meta.json, stats.svg на main. Doctor проверяет схему, контракт дайджеста, секреты, учёт, раздутый индекс и блокирует push при ошибках. В контекст агента едет не вся полка, а только INDEX — по строке на эпизод. За телами эпизодов агент идёт через recall, если решит, что нужно. Дайджест — контракт не больше 120 слов, с маркером решения вроде «выбран», «отклонён», «решено»; для сессий обязательна секция Timeline.
Плюсы читаемой памяти: её можно поправить до того, как она станет памятью, через PR/CI; её можно читать из другой модели — автор проверил на Claude Code и Gemini CLI, оба видели одно и то же рабочее дерево git; она работает как протокол и материал для расследований. Но при росте начинаются проблемы. Индекс и дайджесты сами занимают контекст: на 38-й день INDEX весил 8 045 токенов, вместе с дайджестами — 36,6 тысячи, почти пятая часть окна в 200 тысяч. Прирост — 4,8 эпизода в день и 1,1 тысячи токенов в день. Параллельные записи из разных сессий давали конфликты в четырёх производных файлах. Лечение оказалось архитектурным: эпизод — единственный источник, всё остальное рендерит бот; две сессии больше не конфликтуют. Полку разделили на общую и проектные, и типичная сессия стала стоить около 6 тысяч токенов вместо 36.
Отдельно автор разобрал экономику токенов. Медианная сессия — около 60 тысяч токенов, её дайджест — 184. За 38 дней было 27 обращений к полке, в среднем по 1 212 токенов; одна секция может стоить десятки токенов, например Decisions — около 60 вместо 60 тысяч. За 30 дней база составила 1,63 млрд токенов, или $1 487 в API-эквиваленте при подписке Max 20x за $200. 97,4% — чтение кэша; внутри него 76,5% — накопленный диалог, 18,8% — статический префикс, 4,7% — выдача инструментов. Главный вывод: платишь не за содержимое, а за время, которое токен провёл в контексте; накопление растёт квадратично. Эксперименты с autoCompactWindow: при 100 тысячах сжатие приходило каждые 3,7 минуты, при 200 тысячах — раз в 15,7 минуты. Автор оставил 200 тысяч и отказался от ultracode в пользу xhigh. Расход на ход упал с $0,2379 до $0,0895, средний контекст — с 283K до 97K, максимальный — с 996K до 166K. Но вклад самой полки в экономию оказался нулевым: тяжёлые контексты обрываются на 159–166 тысячах, то есть экономию дали порог сжатия и отказ от ultracode. Полка же стоит 36,6 тысячи токенов постоянно, и 84% этой стоимости приходилось на 132 эпизода, к которым автор ни разу не вернулся. Кэш и полка решают разное: кэш дешевле, но не меньше, и живёт минуты; полка живёт между сессиями и вендорами.
Главный вывод статьи: записать — не значит вспомнить. Запись — событие, чтение — нет. 14 августа ассистент не воспользовался эпизодом, который лежал на полке с 4 августа, потому что инструменты MemShelf были отложенно загружены, а правило «сначала прочитай полку» лежало внутри INDEX, который виден только тому, кто уже открыл полку. За шесть дней — 4 обращения против 23 записей. Поэтому автор добавил правило в инструкции проектов и пользовательские настройки, сделал скилл /shelve и хуки SessionStart, SessionEnd, PreCompact. Хук убирает само решение «идти ли в память». Код открыт: memshelf-mcp, MIT, пакет на PyPI, формат полки описан в shelf-spec; есть подключение к Claude Code, Claude Desktop и CLI-цикл. Инструменты: init, shelve, lint_digest, import, index, recall, search, stats, advise, rebuild, rollup, purge, resolve, doctor.
Статья не рекламная в обычном смысле: это подробный отчёт автора open-source-проекта с замерами, провалами и честным признанием, что полка не дала заявленной экономии и почти не использовалась. Полезна тем, кто работает с ИИ-агентами, контекстом, MCP, Claude Code и хочет понять реальную цену «внешней памяти». Актуальность высокая для 2026 года, адекватность и прозрачность тоже высокие, но тема всё же нишевая и местами перегружена деталями конкретного проекта.
Статья представляет собой частное объявление без какой-либо медицинской или аналитической ценности: автор обещает «безвозмездную ускоренную био-энергетическую очистку» онкологических больных, включая «самых безнадёжных», на территории московской клиники, где те находятся. Утверждается, что это даёт «кратный рост эффективности медицинского лечения». Единственное конкретное требование к пациенту — наличие ногтей длиной хотя бы на три миллиметровых подреза (как на мизинце). Для записи предлагается прислать в личку адрес и название клиники, ФИО пациента, телефон и процедуру записи на посещение; приоритет отдаётся детям.
Существенной информации здесь нет: ни доказательств, ни методики, ни образования, ни лицензии, ни названия организации, ни контактов. Это типичное объявление о «дистанционном целительстве», подаваемое как альтруистическая акция. Для онкологических пациентов и их родственников оно потенциально опасно, поскольку может подтолкнуть к отказу или задержке реального лечения, а также создать риск передачи персональных данных (ФИО, телефон, местонахождение больного) неизвестным лицам. Никакой новостной, аналитической или просветительской ценности материал не несёт.
Статья — практический туториал для QA-инженеров о том, как тестировать API прямо в консоли DevTools через встроенную функцию fetch, не открывая Postman. Автор рассказывает, как автоматизировал рутинную задачу: вместо ручного создания 50+ однотипных сущностей через интерфейс (по 20 секунд на каждую) написал скрипт, который отработал за минуту.
Основные моменты: fetch уже встроен в браузер на вкладке Console, ставить ничего не нужно. Ключевые нюансы — fetch возвращает Promise (асинхронность, нужно .then() или await), и любая ошибка 4xx/5xx считается «успешным» ответом, поэтому статус надо проверять отдельно. Приводится готовый шаблон POST-запроса с method, headers (Content-Type, Authorization) и body через JSON.stringify. Разбираются типы авторизации (Basic, Bearer, API Key) и ограничение CORS — запросы лучше слать с того же домена, куда идёт обращение.
Практическая часть: как выполнить действие в приложении, найти соответствующий POST-запрос во вкладке Network, скопировать его через «Copy as fetch» и вставить в Console, добавив вывод статуса и тела ответа. Затем показано, как связать два зависимых запроса (создание сущности → получение её по id) через await, как массово отправлять запросы циклом (50 штук с паузой в секунду) и как запускать параллельные запросы через Promise.all для имитации одновременных действий пользователей (например, двойного клика по кнопке). В конце вывод: fetch в DevTools не заменяет Postman полностью, но это быстрый инструмент под рукой.
Статья чисто обучающего характера, без рекламы и без привязки к политике, экономике или остросоциальным темам. Полезна новичкам в QA как экономия времени, но материал довольно базовый — большинство опытных тестировщиков это уже знает, прорывных идей нет.
Автор описывает сборку локальной модульной агентской системы из открытых компонентов на домашнем сервере (EPYC 7601, 512 ГБ RAM, Ubuntu Server). Идея — уйти от зависимости от крупных корпораций и платных подписок, используя Unix-философию (модульность, композиция, генерация).
Стек: llama.cpp как локальный движок для LLM (Qwen3.8-27B, Qwen3.5-122B-A10B, Qwen3-Coder-Next в GGUF), взаимодействие через контракт OpenAI API, подключение инструментов через MCP-протокол.
Ключевые компоненты:
• Mentat — обрабатывает входящие email, формирует треды как контекст диалога с моделью.
• Augmentor — выносит наружу механизм подключения и вызова MCP-инструментов, выглядит для клиента как обычный OpenAI-совместимый движок; можно строить цепочки аугменаторов.
• Buddy — обёртка OpenAI-интерфейса в виде MCP-инструмента, позволяет одной модели вызывать другую специализированную (например, coding-модель или «office»).
• Supergateway — адаптер stdio MCP в веб/SSE.
• SearXNG + MCP-адаптер — локальный веб-поиск.
Приводится полный docker-compose, архитектурные схемы и варианты конфигураций. Итог: система принимает email-запросы, держит контекст треда, ищет в интернете, читает веб-страницы, работает с файлами в workspace, делегирует задачи отдельным моделям, использует sequential thinking. Все части заменяемы, бесплатны, под полным контролем пользователя.
Планы: долговременная память и автоматизированное проектирование агентских систем (ADAS/MAS).
Замечания: статья не рекламная в смысле хостингов/промптов, но по сути продвигает собственные образы автора (gendalf90/mentat, buddy, augmentor), что немного снижает нейтральность. Технически материал содержательный, но это скорее грамотная инженерная сборка известных компонентов, чем прорыв; детали реализации местами неполные (код сервисов не раскрыт, только compose). Для практиков, увлечённых self-hosted AI, полезно; для широкой аудитории — нишево.
Трамп заявил в интервью NewsMax, что США приостановили продажи оружия союзникам: боеприпасы теперь остаются в американских арсеналах, пока запасы не будут восполнены, и лишь после этого союзникам разрешат покупать вооружение. Вину за нехватку он возложил на Байдена, который, по его словам, бесплатно передал огромное количество оружия Украине. Ранее, в начале октября, Трамп признал, что запасы ряда боеприпасов Пентагона сократились в том числе из-за операции против Ирана, и что администрация сейчас наращивает производство и пополняет склады. Отдельно сообщается: если США заблокируют продажи в рамках натовской программы PURL, Европа не сможет самостоятельно восполнить поставки вооружения Киеву, что сулит украинской стороне серьёзные проблемы.
Существенное здесь — фактическое признание Вашингтоном истощения собственных арсеналов и приоритет собственных нужд над интересами союзников и клиентов вроде Киева, что бьёт по поставкам Украине и по её европейским спонсорам. Это откровенная демонстрация того, что «союзничество» с США работает в одну сторону.
Автор разводит два понятия: вторая память — это агрегированные личные данные (переписки из всех мессенджеров, почта, заметки, статьи, транскрипции встреч и диктофонных записей), а второй мозг — это та же память плюс агенты, которые по ней ходят и строят новое из старых знаний. Свой массив он оценивает в 200 тысяч файлов и десятки гигабайт. Утверждает, что Obsidian — лишь визуальная оболочка для перелинкованных файлов, которая тормозит при тысячах заметок и сама по себе мозгом не является. Отдельно настаивает, что в память нужно складывать не только переписки с людьми, но и все диалоги с LLM (ChatGPT, Claude, DeepSeek и т.д.) и coding-сессии (Claude Code, Codex, Cursor), чтобы ИИ опирался на ваш бэкграунд и методологию. Технически поиск устроен в два шага: dense-поиск e5-base по чанкам с дедупом по файлу (top-60), затем cross-encoder реранкер (mmarco-mMiniLMv2-L12) и top-12 кусков в контекст агенту; скрипт brain_ask.py. Важный слой — дистилляция: не заливать в RAG мусор, а сжимать каждую сессию, заметку и встречу до сути, иначе поиск тонет в шуме; в очереди на дистилляцию было 4469 исследовательских чатов, из них 1909 с высоким баллом полезности. Приводит три примера: поиск митапов рядом с отелем в Сан-Франциско с учётом миссии (трудоустройство в ИИ-лабораторию) и интеграцией с Luma; помощь в поиске работы; нахождение забытого знакомого из Meta по размытым якорям (Австрия, брусчатка с заплатками из асфальта), где обычный поиск по файлам бессилен. По сути — личный опыт построения PKM-системы с RAG и агентами: концептуальная рамка «память против мозга» небезынтересна, но техническая часть поверхностна и во многом повторяет уже известные подходы, а подача местами самопрезентационная; прорывов, остросоциальной или полит-экономической повестки в IT нет.
Uncloud — лёгкий инструмент оркестрации контейнеров поверх нескольких обычных Docker-хостов, который сохраняет Docker Compose как основной интерфейс и занимает нишу между Compose и Kubernetes: там, где одной машины уже мало, а весь набор сущностей k8s (Deployment, Ingress, PV/PVC, CNI, CSI) избыточен. Разбирается архитектура стабильной версии v0.20.0. Ключевое отличие — отсутствие центрального control plane: состояние кластера распределено между узлами через Corrosion, хранилище на базе SQLite с CRDT-репликацией и peer-to-peer обменом, что даёт eventual consistency и выбор в пользу Availability и Partition tolerance по CAP. Добавление машин делается командами uc machine init/add по SSH: автоматически ставится Docker, разворачивается systemd-демон uncloudd, Corrosion идёт как управляемый контейнер; при этом важно согласованно обновлять CLI и демоны из-за смены формата cluster store в v0.20. Сеть строится на WireGuard как L3-основе кластера, а не как пользовательский VPN: общая сеть 10.210.0.0/16, каждой машине своя /24, .1 — адрес хоста, .2–254 — адреса контейнеров, Docker bridge каждого хоста привязан к соответствующей подсети WireGuard, поэтому overlay на VXLAN не нужен. Service discovery — внутренний DNS на зоне .internal, слушающий на mesh-адресе хоста; Docker DNS 127.0.0.11 остаётся резолвером контейнера, а Uncloud подставляется ему как upstream через HostConfig.Dns с ndots:1; поддержаны имена machine.internal, container.machine.internal, service.internal и планируемый lb.service.internal как VIP (позже через IPVS, ip/nftables или eBPF), внешние запросы уходят на апстримы хоста или 1.1.1.1/8.8.8.8. Внешний контур — бесплатный Managed DNS Uncloud с доменом вида *.uncld.dev (uc dns reserve/show/release, можно отключить флагом --no-dns) и Caddy как глобальный сервис по одному экземпляру на машину на портах 80/tcp, 443/tcp и 443/udp для HTTP/3, с автоматическим TLS Let's Encrypt и генерацией Caddyfile из текущего состояния сервисов; публикация через x-ports (hostname:port/https), сложные сценарии — через x-caddy с шаблоном {{upstreams порт}} для подстановки актуальных адресов реплик (одновременно с x-ports использовать нельзя), поддержаны редиректы, basic_auth, хедеры, кэширование, балансировка. CLI uc (machine ls, ps, logs, exec, scale, deploy, caddy config) может подключаться к любому доступному узлу, так что падение одного хоста не лишает управления кластером. Обновления последовательные: по умолчанию start-first с проверкой healthcheck перед удалением старой реплики, stop-first — при конфликте host port или единственной реплике с volume; из update_config поддержаны только order и monitor (без parallelism, delay, failure_action и rollback_config), zero downtime не гарантируется безусловно. Есть x-pre_deploy для миграций перед деплоем. Вторая часть обещает разбор падений контейнеров и машин, доставки образов, stateful-сервисов, volumes и секретов.
Оценка: полезный, аккуратный и проверенный по документации технический разбор реального инструмента, без рекламы хостингов и нейросетей, с честным указанием ограничений; при этом материал нишевый, нишевый-инфраструктурный и не затрагивает остросоциальные или политэкономические темы, а сам инструмент пока малораспространён.
Статья о патентах в сфере ИИ и open source. Приводится топ-10 держателей патентов: Pure Storage 10,5%, Fortinet 3,7%, Nvidia 3,7%, Intel 2,7%, Darktrace 2,2%, UiPath 2,1%, Qomplx 1,7%, KnowBe4 1,6%, Citibank 1,3%, Microsoft 1,2%. Отмечается, что Pure Storage сильно лидирует, вероятно, лицензирует патенты, включая IBM. Затем кратко разбираются примеры патентов: AIECONOMY — генеративные ИИ-системы для кибербезопасности; Intel — мобильный ИИ и машинное обучение для беспроводных устройств; Microsoft — автоматическая оптимизация промптов LLM с помощью текстовых градиентов; Nvidia — прогнозирование траекторий виртуальных агентов и моделирование дорожного движения; Aieconomy — генеративный ИИ для рекомендаций по торговле ценными бумагами. Вывод: open source не означает отсутствие патентной защиты, крупные компании закрепляют ниши, а патенты — лишь верхушка айсберга. В конце размещена реклама сервиса Онлайн Патент с перечнем услуг. Материал полезен как поверхностный обзорный срез, но методология рейтинга не раскрыта, примеры патентов даны сжато, а значительная часть текста является продвижением LegalTech-сервиса. Оценка снижена за рекламный характер и недостаточную глубину.
Разработчик ритм-рогалика AsterMaster на Godot 4.6 рассказывает, как заменил меши корпусов дрона, боссов и соперника облаками гауссиан (Gaussian Splatting). Вместо 25–55 МБ хайполи-GLB из генеративных моделей (Meshy) — ~6000 сплатов на модель весом около 0,5 МБ, одна MultiMesh, ноль сортировки в рантайме, всё живёт в вершинном шейдере. Это даёт деформируемые корпуса: их можно мять, дырявить, рвать на куски и собирать обратно.
Пайплайн: обучение не по фото, а по синтетическим Blender-рендерам с точными позами (COLMAP не нужен), стиль задаётся данными — победил вариант с запечённым AO под куполом, а не cel или flat. Тренер — 150 строк поверх gsplat с MCMCStrategy(cap_max=N), что даёт жёсткий бюджет сплатов как входной параметр. Ключевые приёмы: случайный серый фон на каждом шаге (анти-флоатер), энтропийный штраф на прозрачность с поздним annealing (~98% сплатов становятся непрозрачными — это и есть рендер без сортировки), post-hoc снап нормалей с исходного меша для cel-света и вспышек. Обучение 6000 шагов — 21–22 секунды на RTX 3060.
Экспорт в собственный бинарный формат SPL2: деление на непрозрачное ядро (октагоны, z-буфер, без discard) и полупрозрачную «шубу» (~200 сплатов) с 64 предрассчитанными порядками сортировки по секторам 5,6° — возможно потому, что камера фиксирована по наклону. Запекаются каналы part (семантические части), emis (по редкости цвета, а не просто по яркости), ao (маска глубины), edge, позже — материал и «куски» (чанки по k-means). Есть belly cull (минус 10% сплатов), чистка флоатеров по трём признакам, ремонт перевёрнутого winding у незамкнутых «пластинок» генеративных GLB. В рендере — тонкости Compatibility-рендерера Godot: half-float в custom_data, гамма-пайплайн, .bin не попадает в билд без явного фильтра.
Деструкция: кратеры по типам оружия (SHOT, BLAST, MELEE, PIERCE), «луковица» — выбитый слот уходит слоем глубже без роста бюджета инстансов, граф соседства для отрыва островков и пер-частный учёт урона (выбил пушку — она замолкла). Позже выяснилось, что пер-сплатный debris читается как конфетти, и деструкцию переделали на куски-чанки, запечённые в альфу instance COLOR. Отдельно — что не взлетело: собственный растеризатор суперэллипсоидов (×100 медленнее, хуже лосс), объёмная решётка (разбилась о Compatibility-рендерер), сплаты для рядовых мобов (на 60–90 px не окупаются). Те же сплаты использованы на сайте игры (three.js + Spark, SPZ-упаковка, дрон 229 КБ). Немалая часть кода написана с ИИ-агентом Claude Code.
Статья — редкий пример честного технического разбора с цифрами, граблями и провалами, а не рекламы. Но это в первую очередь продвижение собственного демо в Steam (упоминается многократно) и узкоспециализированный контент для геймдев/графики, без политэкономической или острой социальной повестки.
Девятая статья цикла о цикличности истории и о том, что мифы служили зашифрованным способом передачи важных для выживания человечества знаний. Автор не верит, что речь о технических устройствах (они бесполезны без своей технологической базы), а ставит вопрос: есть ли у разделённых океанами цивилизаций устойчивые общие мотивы о природе человека и Вселенной. Он разбирает четыре таких мотива, опираясь на первоисточники.
Первый — двойственность человека, соединение материально-земного и духовно-небесного начал, гармония которых обязательна. Примеры: вавилонское сотворение человека из глины и крови Кингу в «Энума Элиш»; союз Гильгамеша (дух, разум, две трети божественной природы) и Энкиду (чистая природная сила); китайские Фуси с угольником и Нюва с циркулем, сплетённые змеиными хвостами, и выросший из этого даосский закон совместного взращивания духовной природы и физической жизни; индийские Пуруша и Пракрити, уподобленные слепому и хромому, формула «Шива без Шакти — труп»; египетский союз Ка и Ба, без которого наступает окончательная смерть.
Второй — многослойность человека с привязкой жизненных сил к органам. Автор оговаривает, что подробные карты каналов и чакр — поздняя систематизация Индии и Китая, а древние источники были примитивнее. Далее египетские девять элементов (Хат, Ка, Ба, Ах, Иб, Шуит, Рен, Сехем, Сах), причём древнее ядро — только Иб и Хат; скандинавские Лики, Хамр, Хугр, Фюльгья; мезоамериканские Тоналли в голове, Тейолия в сердце, Ихиотль в печени и животе; гавайские три «пупа» — связь с предками, с настоящим, с будущими поколениями.
Третий и главный — этика как жёсткий закон выживания, а не социальная условность; подмена этики моралью объявляется искусственным наслоением. Доступ к могуществу без нравственного самоконтроля ведёт к распаду: Фаэтон на солнечной колеснице, потоп Девкалиона как кара за нечестие Ликаона, гибель богов в «Прорицании Вёльвы» после нарушения клятв, гибель Кауравов из-за адхармы и утрата силы божественного оружия у неправедного владельца, смена четырёх юг с потерей опор Дхармы, истребление «деревянных людей» в «Пополь-Вух» за забвение создателей, три погибших мира у хопи из-за жадности и применения «летающих щитов» для войн, «Атрахасис», Вавилонская башня как символ технической гордыни.
Четвёртый — миф как самый живучий контейнер знаний: письменные тексты и чертежи гибнут, а заучиваемый миф и ритуал переживают эпохи. Примеры: Беросс о царе Ксисутре, повелевшем записать «начало, середину и конец всех вещей» и зарыть таблицы в Сиппаре; два столпа потомков Сифа из кирпича и камня у Иосифа Флавия; индийское устное Шрути с мнемоническими системами перестановки слов (пада-, крама-, джата-патха); австралийские Певчие тропы; миф кламат о извержении Мазамы 7700 лет назад, точно описавший катастрофу и образование озера Кратер.
Вывод: мифы не сохранили чертежей, но сохранили предупреждение — разрыв между материальным могуществом и духовной осознанностью превращает человека в разрушителя собственного мира, и это пора описать на современном языке. Список источников солидный: «Эпос о Гильгамеше», «Махабхарата», «Старшая Эдда», «Пополь-Вух», Иосиф Флавий, Лопес Остин и другие.
Что по сути: добротная научно-популярная компиляция по сравнительной мифологии с честными оговорками о позднем происхождении ряда систем. Слабости — спекулятивная рамка про «зашифрованные знания», местами натяжки (например, утверждение, будто Сонглайны несли данные 7–10 тысяч лет), противопоставление этики морали без внятного обоснования и риторический финал. Новых фактов для того, кто читал популярную литературу о мифологии, немного, но систематизация четырёх мотивов и подборка параллелей сделаны аккуратно. Средняя по информативности, скорее мировоззренческая, чем новостная, статья.
В OpenCode открылся временный бесплатный доступ к GLM 5.3 Flash; чуть раньше бесплатной стала DeepSeek V4.1 Flash. В каталоге моделей есть отдельные бесплатные версии glm-5.3-flash-free и deepseek-v4.1-flash-free с нулевой стоимостью входных, выходных и кэшированных токенов. Дата окончания бесплатного доступа не указана; провайдеры этих моделей не сохраняют запросы и не используют их для обучения. В OpenIDE Pro через AI-плагин можно подключить OpenCode по ACP, выбрать одну из бесплатных моделей, ставить задачи агенту, смотреть изменения в редакторе и проверять результат в проекте. OpenIDE — мультиязычная IDE на платформе IntelliJ с поддержкой Java, Kotlin, Go, Python, PHP, JavaScript и TypeScript, отладчиком, Git-клиентом, клиентом БД, Docker и HTTP-клиентом. При необходимости можно переключаться на Claude Code, Codex или других поддерживаемых агентов. AI-плагин входит в OpenIDE Pro, который предлагают бесплатно на два месяца и без регистрации. Новость актуальна для разработчиков, использующих ИИ-агентов, но содержит заметную промосоставляющую и не раскрывает лимиты и точные сроки бесплатного доступа.
Atlassian перестроила платформу автоматического обнаружения инцидентов (система AutoHOT) на связке Apache Kafka + Apache Flink 1.20 в Kubernetes + OpenTelemetry, отказавшись от старого агрегатора на Node.js на ~90 виртуалках. Причина: задержка от события до метрики >40 секунд, шумные соседи в общей очереди (два инцидента за год из-за отставания чужого тенанта), рост стоимости с подключением каждого продукта (со 120 до 230 тыс.$ в год), а также фундаментальный дефект — клиентская телеметрия не поступает при полной недоступности, поэтому система, ищущая только признаки сбоев, принимает тишину за норму.
Ключевые решения: фильтрация потока на самой шине Kafka через серверный фильтр подписки (описывается в YAML/CUE из единой конфигурации products.yaml); одно задание Flink вместо отдельных на продукт; асинхронное обогащение с sidecar-кэшем, bulkhead и circuit breaker, чтобы медленная зависимость не давала backpressure; HyperLogLog-скетчи для подсчёта уникальных затронутых пользователей с объединением при чтении (погрешность ~1,5%); идемпотентные ключи синков (partition, sort) для безопасного повторного чтения; сохранение старых имён метрик в StatsD, чтобы дашборды продуктов не ломались в день переключения; RocksDB, чекпоинты каждые 30 сек, savepoint и стабильные UID операторов как контракт; автоскейлер с целевой загрузкой 0,7, что убрало ~8 перезапусков в день. Движок принятия решений на Go работает active-active в двух регионах с дедупликацией по бизнес-ключу, ранжирует серьёзность по матрице охвата (число затронутых пользователей/тенантов/шардов/регионов), отсекает кратковременные отклонения (blip), что сэкономило ~300 ложных вызовов, и учитывает резкое падение объёма телеметрии.
Результаты: задержка 40→менее 10 сек; пропускная способность с ~500 млн до >1 млрд событий в день; перезапуски ~8/день→0; 90 ВМ→4 пода; стоимость эксплуатации с ~20 000$ до ~650$ в месяц (−97%); запрос данных о влиянии с 10 до 1 сек.
Честная часть: полнота в пределах охвата телеметрией выросла с 60% до 86% на пике, но падала до 64% в неудачный месяц. Общее покрытие НЕ выросло — scope ratio упал с 60% до 21–33% (появились новые продукты и причины вне надёжности), а команда по ошибке трактовала рост полноты как рост покрытия. Точность ~90% по основным продуктам, но по всем тикетам падала до 68–79%. Не сработало: два особо серьёзных инцидента пропущены (полная недоступность шарда и остановка собственного конвейера — тишина снова выдала себя за норму); оценка влияния отставала (2000 затронутых против реальных 80 000); агрегация при чтении в Impact API не выдержала сотни одновременных дашбордов во время инцидента; конвейер обнаружения остался однорегиональным. Планы: переход детекторов на OTLP-хранилище, мультирегион active-active, суточные агрегаты и кэш, SLO на покрытие телеметрией, цель — полнота и точность >90%.
Статья — не реклама, а плотный инженерный разбор с открытыми метриками, включая провалы, что ценно и редко. Много практических уроков для тех, кто строит потоковый мониторинг на Kafka/Flink (гранулярность операторов, скетчи вместо ID, UID как API, раздельный учёт полноты и покрытия, самомониторинг через OpenTelemetry и синтетику). Актуально и полезно для SRE/платформенных команд, хотя это не прорыв и не политэкономика.
Статья — размышление на тему «нужен ли дома ПК в 2026 году», с попыткой посчитать альтернативы. Основной тезис: для просмотра фильмов, Госуслуг, банков, маркетплейсов и сканирования документов ПК давно не нужен — всё это удобнее делается смартфоном и Smart TV. Но как только появляются документы, презентации, таблицы, детские уроки и особенно игры, начинаются костыли: верстка с планшета растягивается на вечер, принтер не видит телефон, файлы не открываются. Отдельно отмечается универсальность ПК как одной машины на всю семью против зоопарка из консоли, планшета и смартфонов, которые суммарно стоят как два компьютера.
Далее — экономика игр. Консоли дешевле на входе (PS5 Slim ~77 тыс., PS5 Pro ~125 тыс., Xbox Series S ~45 тыс.), но требуют платной подписки для онлайна (3–10 тыс. в год через посредников), а цены за месяц скачут на 15–16 тыс. Облачный гейминг (VK Play Cloud) — ~80 руб./час или 3599 руб./мес. за безлимит, что за 4 года даёт свыше 170 тыс. и ничего не оставляет на руках. В российских реалиях PS Store не принимает российские карты, магазин Xbox не работает, игры и подписки покупаются через турецкие/индийские аккаунты и посредников с риском блокировки и потери всей библиотеки. Steam Deck подорожал до ~100 тыс., Steam Machine в сером импорте 100–150 тыс. Итоговая таблица за 4 года: без ПК — 0 руб., Xbox Series S + подписка — 55–75 тыс., PS5 — 90–110 тыс., облако — ~100 тыс. Вывод: жить без компьютера можно и разумно, но важно не переплатить за его отсутствие больше, чем стоил бы сам ПК.
Оценка: материал содержит в целом вменяемую арифметику и полезную для российского контекста информацию про подписки, серые аккаунты и риски блокировок, однако это по сути рекламный лонгрид — с прямой врезкой конфигуратора XCOM-SHOP.RU и продвижением VK Play Cloud, а сам вопрос о «нужности ПК» искусственно раздут и малоинформативен. Злободневности и прорывности нет, тема вторична и обсуждена многократно.