16 октября 2026 г. исполнилось 70 лет со дня открытия АЭС «Колдер-Холл» (графство Камбрия) — событие подано как начало гражданской атомной энергетики, хотя первой в мире АЭС была Обнинская (1954), а Колдер-Холл был первой станцией промышленного масштаба.
Факты: станция вырабатывала электроэнергию с 1956 по 2003 год, затем выведена из эксплуатации. Реакторы остановлены, основные источники опасности устранены, лишние здания и сооружения снесены (градирни — в 2007-м, один из машинных залов — в 2026-м). Работы теперь мало отличаются от обычного промышленного сноса: применяются отработанные методы. Цель — освободить дефицитную территорию Селлафилда под следующие этапы очистки площадки.
Приводятся парадные цитаты: министр энергетики Майкл Шэнкс обещает «атом нового поколения» на Sizewell C и Hinkley Point C с тысячами рабочих мест; глава Sellafield Ltd Юэн Хаттон говорит о смене ответственности на безопасный демонтаж; глава NDA Дэвид Питти — о сохранении ядерных технологий и рабочих мест. Отдельно рекламируется проект Pioneer Park — «чистый энергетический комплекс» на землях NDA рядом с Селлафилдом, который должен привлечь инвестиции и рабочие места.
Существенного анализа в материале нет: это ведомственный пресс-релиз о юбилее, где под праздничной риторикой не упомянуты ни реальная стоимость и сроки ликвидации наследия (Селлафилд — крупнейшая и самая загрязнённая ядерная площадка Европы, ежегодно поглощающая миллиарды фунтов госсредств), ни проблемы хранения отходов, ни причины, по которым британская атомная программа буксовала десятилетиями. Полезной информации для российского читателя почти нет, кроме самого факта продолжения работ по сносу и планов новой площадки.
Автор разрабатывает сервис для Тайного Санты (My Santa) и на примере жеребьёвки разбирает комбинаторику и подводные камни. Главная находка: при обычном способе «перемешать список и перетасовать, если кто-то выпал сам себе» с вероятностью около 39,3% возникают взаимные пары — двое дарят друг другу. Это свойство случайных перестановок, а не баг: в перестановке в среднем 1/2 двойного цикла, вероятность хотя бы одного ≈ 1 − e^(−1/2), и от числа игроков (начиная с шести) она не зависит. Формально правила не нарушены, но в момент вручения оба сразу всё понимают, а в анонимном чате сервиса анонимность рушится мгновенно; то же с тройками.
Описаны три распространённых подхода: тянуть бумажки из шляпы (последний в отделе из 8 человек остаётся со своим именем примерно в 9% случаев), перемешать-проверить (нужно ~2,7 попытки, поскольку бесподвижных перестановок ~1/e) и одноцикловая раздача — когда Аня дарит Боре, Боря Вере и так по кругу до замыкания на Аню; замкнутых групп меньше всей компании там нет по построению, реализуется парой строк кода.
Дальше про ограничения вроде «муж не дарит жене» или «начальник не дарит подчинённому». Простые пары почти не мешают (6 человек, две пары — подходит 40% кругов), но семьи и отделы ломают всё: 8 человек (семья из четырёх плюс пара) — лишь 2,9% подходящих кругов, 12 человек (шесть из одного отдела) — 0,2%. Тогда включался запасной путь: паросочетание в двудольном графе алгоритмом Куна плюс склейка циклов обменом подопечных (умножение на транспозицию из разных циклов сливает их). Отдельно разобран случай, когда раздать нельзя вовсе — теорема Холла: 12 человек, семеро из одного отдела, а снаружи лишь пятеро, распределения не существует, и сервис честно отказывает с подсказкой либо оставляет игру открытой.
Самое ценное — проверка честности. Автор измерил равномерность и обнаружил, что запасной путь (Кун плюс жадная склейка) даёт заметный перекос: некоторые разрешённые круги выпадали до 1,26 раза чаще ровной доли, некоторые до 0,84 реже, тогда как у перемешивания это был лишь шум. Запасной путь включался часто: в семейной игре на 20 человек в 57% случаев, при шестерых из одного отдела — в 87%. Починка — одна строка: бюджет задан не в 64 попытках, а в ~400 000/n шагов, что даёт вероятность провала порядка e^(−70), после чего перекос ушёл в шум. Приведены замеры времени (микросекунды на обычную жеребьёвку, 2–3 мс в худшем случае). В конце честно перечислено, чего нет: равномерности в запасном пути (равномерный выбор случайного паросочетания — задача #P-полная), криптостойкого генератора (используется PCG из math/rand/v2, не ChaCha8 с crypto/rand) и защиты от админа сервера с доступом к базе. Главный вывод — число 64 прожило в коде незамеченным, потому что тесты проверяли допустимость результата, а не равномерность; вопрос к читателям — есть ли дешёвый способ равномерно выбирать случайный гамильтонов цикл при малой доле подходящих.
Статья не рекламная (сервис упомянут лишь как контекст), технически честная, оригинальная, с конкретными цифрами, измерениями и признанием собственных ошибок. Не новостная и не социально-политическая, но по качеству и пользе для разработчиков очень хороша и тематику не устаревает.
Статья — практическая заметка UX-исследователя из Контур.Фокус о том, почему качественно проведённое исследование само по себе не приносит пользы продукту, и как встроить его в рабочий процесс команды.
Основные тезисы. Исследовательская и продуктовая задача — разные вещи: команда часто приносит готовые гипотезы и вопросы, а на деле ей нужно принять конкретное решение, поэтому брифинг стоит начинать с вопросов о задаче команды, принимающем решение, нужных знаниях и дальнейшем использовании результатов. Исследование не заканчивается презентацией отчёта — после него нужно совместно ответить, что узнали, что это значит для задачи и что делать дальше, причём следующим шагом может быть и отказ от гипотезы. Первый исследователь в команде вынужденно делает две работы: проводит исследования и учит команду с ними работать, поэтому важно вслух подсвечивать проблемы и договариваться о процессах, а не молча их компенсировать. Полезно смотреть шире своей функции и подключаться к другим этапам, например к дизайн-ревью. В финале — советы обеим сторонам: тем, кто нанимает первого исследователя, и тем, кто приходит в новую команду, а также рекомендация искать наставника и не изобретать процессы в одиночку.
По сути это мягкая экспертная колонка с общими управленческими и коммуникационными рекомендациями, без данных, кейсов, цифр и методологической конкретики. Никакой новостной, политэкономической или технологической ценности она не несёт; в конце присутствует прямая реклама телеграм-канала, что дополнительно снижает оценку. Для узкого круга UX-исследователей и продактов содержание разумно и адекватно, но новизны почти нет — большинство тезисов давно известны в индустрии.
Автор (в рамках своего открытого проекта humanizer-ru) прогнал 84 рабочих текста через 12 моделей — Gemini 4 Argon, Claude Sonnet 5.5 и Haiku 5.5, GPT-6 Luna и 6.1 Sol, Qwen 3.8 Max и Flash, Kimi K3, GLM-5.3, MiniMax M3, Mistral Large 4, Muse Spark 1.3 — и посчитал типовые «манеры» чат-ботов.
Главное: в 32 текстах из 84 модели оставили служебные реплики, адресованные заказчику, а не получателю («Вот готовый вариант…», «Если нужно, могу добавить…»), — такие фразы не нужны в готовом письме или посте. Gemini 4 Argon начинала с «Вот…» в 9 текстах из 10, чаще других давала несколько вариантов сразу (3 из 10) и восклицательных знаков (2,7 на 1000 знаков против 1,1 в среднем). Kimi K3 в 5 текстах из 7 и Claude Sonnet 5.5 в 6 из 10 завершали текст предложением что-то доработать; у Kimi вдобавок самые длинные предложения (13 слов). Mistral Large 4 лидирует по жирному (8,5) и заголовкам (2,2), Qwen 3.8 Max близко по жирному (7,7), MiniMax M3 — по эмодзи (3,6), а у Claude Haiku 5.5 заголовков не было вовсе. Qwen 3.8 Flash писала самые длинные тексты (в среднем 5735 знаков). Горизонтальные линии «---» встретились в 51 тексте из 84.
Отдельный вывод: длинное тире — миф как «примета нейросети». У моделей в среднем 2,5 тире на 1000 знаков, у Гиляровского 2,25, у Герцена 1,59; чаще всех у GLM-5.3 (4,3) и Muse Spark 1.3 (3,9), реже всех у Claude Sonnet 5.5 (0,7). Механическое вычищение тире (как в английском навыке stop-slop) портит русский текст, оставляя рубленые фразы, — тире часто требуется грамматикой. Практические советы: срезать первую фразу-анонс, последний абзац с предложением доработки, линии «---», лишние варианты и избыточное оформление; тире оставлять по грамматике. Автор честно оговаривает грубость метода, разные жанры и малую выборку (4–10 текстов на модель, по одной попытке через API без системного промпта), а сами тексты и навык выложены в открытом репозитории на GitHub.
Полезная, конкретная прикладная заметка с открытыми данными и внятными рекомендациями; не реклама услуг, хотя и продвигает собственный проект. Методология местами приблизительна, тема не прорывная и без полит-экономического или остросоциального угла, зато актуальна для всех, кто работает с LLM и «очеловечивает» текст.
Депутат АдГ Максимилиан Крах заявил, что США, закупая российское дизельное топливо, фактически перестали быть нейтральными и перешли на сторону России, запрещая Украине атаковать российскую нефтяную промышленность и финансируя РФ. По его мнению, это приближает завершение конфликта. Он также потребовал, чтобы Германия взыскала с Украины компенсацию за оказанную помощь, назвав это партийной позицией АдГ.
Это лишь мнение одного депутата, поданное как сенсация. Конкретных данных о том, что Вашингтон действительно «встал на сторону России», нет — тезис строится на упрощённой трактовке закупок нефтепродуктов. Требование компенсации с Украины звучит популистски, без реалистичного механизма. Новость полезна только как штрих к позиции АдГ, но не даёт анализа или проверяемых фактов.
Статья Иннокентия Бодрова (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-сервиса. Оценка снижена за рекламный характер и недостаточную глубину.