Сборщик RSS-лент

Как собирать кроссплатформенные приложения. На C++. В браузере

Habr.com - пт, 10/02/2026 - 09:28

TLDR; Нельзя просто так взять и запихнуть реальную систему сборки в браузер. Но если обойти некоторые тонкие технические и юридические моменты - вполне можно, что мы показываем наглядно. Статья о том, как это сделано, и немного о том, где можно применить.

Идея запихнуть clang в браузер и собирать приложения не нова: это уже делали в Emscripten как минимум, и ещё пара исследовательских проектов. Проблема в том, как это использовать в практических сценариях: программирование это не про работающий компилятор, это про целую кучу прикладных библиотек, про инфраструктуру

Проблема встаёт в момент, когда человек узнаёт, сколько в реальности нужно собрать, чтобы получить готовый sysroot для, например, QT: объём работы для подготовки сборочной площадки убивает всю выгоду от идеи. Но что если этой работы делать просто… не нужно.

P.S. Да, это Doom в браузере. Опять. А ещё там есть HoMM2. Ссылка на playground в конце статьи, там, в браузере, можно его запустить, и собрать на свой десктоп. И посмотреть другие примеры.

Как мы докатились до этого

Как Claude Opus 5.5 помогает создавать видео с Remotion

Habr.com - пт, 10/02/2026 - 08:54

В прошлой статье я рассказывала, как с помощью GPT-6 Astra и Blender сделала 3D-анимацию вращающейся настольной лампы. Многие назвали это стрельбой из пушки по воробьям: для такой задачи мощная модель показалась им избыточной.

На этот раз хочу поговорить о другом способе создавать видео: поручить Opus написание кода, который управляет сценами и анимацией. Сначала покажу три работы других авторов, а затем на примере Remotion объясню, как устроен весь процесс. В конце оставлю подборку готовых промптов для тех, кто захочет попробовать.

Читать далее

Сервисы анализа судебной и арбитражной  практики

Habr.com - пт, 10/02/2026 - 08:01

 

Российский рынок справочно-правовых систем (СПС) и LegalTech-сервисов переживает активную трансформацию.  Рассмотрим основных  игроков рынка СПС и LegalTech-сервисов для анализа судебной  и арбитражной практики.

 

Читать далее

Как полиглоты учат 20+ языков: Стив Кауфман и Бенни Льюис

Habr.com - пт, 10/02/2026 - 03:54

Стив Кауфман - известный канадский популяризатор изучения языков. В различной степени он владеет двадцатью языками. Изучение языков изначально было прикладной целью - они требовались ему для работы и проживания в различных странах, а позже он трансформировал изучение языков в полномасштабный бизнес-проект.

Как он учит языки сейчас?

Читать далее

Следуй за белым кроликом: пишем VPN на Rust и ищем выход из собственного туннеля

Habr.com - пт, 10/02/2026 - 03:39

Следуй за белым кроликом.

В «Матрице» герои возвращались в реальный мир через телефон. Мне эта идея понравилась настолько, что собственный VPN я назвал PAYPHONE, а в консольном клиенте сделал зелёный дождь из символов. Правда, прежде чем через него удалось выйти в интернет, пришлось разобраться, почему туннель отправляет пакеты самому себе, таймер не срабатывает, а нажатие Ctrl+C не возвращает сеть. Об этом и будет статья — с устройством протокола, фрагментами кода и ошибками, которые обнаружились уже после первого успешного подключения.

Читать далее

cert-manager-webhook-freens: сертификаты Let's Encrypt на все поддомены в Kubernetes через бесплатный российский DNS

Habr.com - пт, 10/02/2026 - 03:25

Казалось бы, что там может быть интересного — A-запись прописал и забыл. Ан нет: стоило захотеть один сертификат сразу на все тестовые поддомены и переключать тестовую среду между двумя кластерами Kubernetes, да ещё автоматически поднять сертификаты Let’s Encrypt с помощью cert-manager… Выяснилось, что всё просто, да не так просто, как хотелось бы.

Бесплатный DynDNS, скажем, DuckDNS.org, отдаёт записи с TTL в сутки (переключился — а люди ещё долго ходят на старый кластер), а wildcard сертификат Let’s Encrypt выдаёт только через проверку DNS-записи.

Ищем альтернативу и учим cert-manager с ней работать без костылей. В итоге родился маленький открытый проект: cert-manager-webhook-freens — плагин для cert-manager, который умеет получать такие сертификаты через бесплатный DNS-хостинг FreeNS.

Сразу о том, для кого это. Если вы не используете Kubernetes и cert-manager, статья вам будет малополезна, разве что раздел про сравнение бесплатных DNS-хостингов (и он не претендует на полный обзор рынка).

Расскажу, зачем проект понадобился, почему не подошли очевидные варианты, как им пользоваться и что у него внутри.

Читать далее

3D в игре на Flame: от одной модели до целого мира

Habr.com - пт, 10/02/2026 - 02:51

River Sortie это шутер в духе River Raid, в который можно сыграть прямо в браузере. Самолёт летит вверх по бесконечной реке, сбивает танкеры, вертолёты и мосты, заправляется над складами. Всё, что в нём движется, это обычные компоненты Flame с хитбоксами Flame, а рисует всё это в 3D flutter3d. Расскажу, как два движка поделили работу, что для этого пришлось добавить в мост flame_flutter3d, и про короткий способ, когда в 2D-игре нужна всего одна трёхмерная модель.

Читать далее

900 гипотез об уязвимостях и 12 миллиардов токенов

Habr.com - пт, 10/02/2026 - 01:41

«Просто напишите правильный промпт», говорили они

У меня появился проект, которому нужно перекладывать миллионы пакетов со скоростью канала. Для такой задачи я рассматривал C, C++ и Rust. На C я последний раз писал в 2009 году, и обратно не тянет. Слабак, согласен.
Выбрал Rust: современный язык, удобная сборка, большая библиотечная экосистема и обещание безопасности памяти. Когда в описании технологии встречается слово «безопасный», у меня по профессиональной привычке начинает чесаться в кончиках пальцев.

Язык для меня новый, поэтому я хотел разобраться, какие ошибки остаются в программах на Rust и чем их искать. В результате появились учебное приложение, сигнатуры для SAST, собственный исследовательский конвейер rust-in-peace, находки в библиотеках и приложениях, а затем и патч для ядра Linux и выступление на конференции. По дороге выяснилось, сколько убедительных ошибок способны произвести модели, агенты, проверяющие модели и я сам.

На ZeroNights я рассказывал об этом в докладе Rust in Peace: How to Raise Your Own Pet Mythos. Здесь можно позволить себе больше подробностей: откуда взялся каждый механизм, какую проблему он решал и что получилось при проверке в бою.

Читать далее

Парсер расписаний после хабратестирования: полвторого, RRULE, systemd и производственный календарь

Habr.com - пт, 10/02/2026 - 01:35

В прошлой статье я показал cronsense, библиотеку, которая переводит расписание на русском или английском в cron: «по будням в 9:30» → 30 9 * * 1-5. Комментаторы устроили ей хабратестирование и нашли, чего она не умеет: «полвторого», «без пяти шестнадцать», «каждые полчаса», а ещё задачи, для которых cron не подходит вообще.

За несколько дней вышло семь версий. Теперь одна фраза превращается в cron, RRULE для календарей или таймер systemd, а праздники можно называть по имени. Для «последнего рабочего дня месяца» появилась вторая библиотека, prodcalendar: производственный календарь РФ, который сам обновляется в npm. Попутно сверка с rrule.js и systemd-analyze нашла баги, о которых я не знал.

Песочница

Прочитать до Нового года

Вдвое меньше токенов без смены модели: что NVIDIA сделала с harness кодинг-агента

Habr.com - пт, 10/02/2026 - 01:15

Исследователи из NVIDIA, MIT и NTU поручили одному ИИ-агенту улучшать harness другого, кодинг-ассистента на базе открытого Pi. Агент перебрал 152 идеи, и 4 из них сократили расход токенов почти вдвое при той же модели. Счёт за API упал на треть, средний балл на EdgeBench снизился на 6 %. Разбираем, что такое harness, какие приёмы сработали и где у результатов слабые места.

Какие 4 приёма сработали

Когда «мы не проверили» превращается в «кандидат не знает»

Habr.com - чт, 10/01/2026 - 23:08

После технического интервью на позицию Go-разработчика я попросил более подробную обратную связь.

Часть выводов в ней плохо стыковалась и с тем, что реально проверяли на собеседовании, и с моим фактическим опытом. Особенно по конкурентности в Go, эксплуатации инфраструктуры и Python/frontend.

Мне стало интересно, как из конкретных эпизодов интервью появляются настолько широкие выводы о кандидате и в какой момент «мы не получили подтверждения» превращается в «у кандидата этого нет».

Разобрать фидбек

Резать или вкладывать: что автоматизировать, когда денег нет

Habr.com - чт, 10/01/2026 - 23:08

Когда денег в компании начинает не хватать (такое особенно часто бывает в кризисные времена, когда денег не хватает у всех , рынок падает и палки в песке перестают цвести) обычно бывает два пути. Путь первый (он же путь финансиста): режем все, что не приносит выручку прямо сейчас. Путь второй (он же продуктовый): кризис - время возможностей, надо вкладываться в инновации и быстрее всех выходить в рост, поджимать рынок под себя, пока все сокращают расходы (такой путь встречается гораздо реже, поскольку адептам такого пути обычно нечего ответить на вопрос "Чем вкладываться?) Денег то нет))0)").

Я думаю, что оба неправы. Точнее, каждый прав ровно наполовину, и именно эта половина решает, выйдет ли компания из кризиса сильнее или просто выйдет.

В эпоху ИИ агентов и ботов мне, как человеку, занимащемуся автоматизацией бизнесов, выгодно сказать «автоматизируйте все и вся на последние деньги». Не скажу. В этой статье я попробую рассказать о фильтре, по которому я сам для себя решаю, браться ли за проект в плохие времена.

Читать далее

Brand Safety в инфлюенс‑маркетинге: как выбрать блогера и снизить репутационные риски

Habr.com - чт, 10/01/2026 - 23:07

Реклама всегда существует в контексте. Баннер, видео или нативный пост пользователь видит рядом с новостями, роликами, комментариями и другими публикациями. Иногда это почти не влияет на восприятие, но бывает и так, что именно окружение определяет отношение к бренду.

Например, туристическая компания рекламирует отдых на морском курорте, а ее объявление появляется рядом с новостью о разрушительном наводнении в том же регионе. Сама реклама может быть качественной, но выглядит неуместно. У аудитории возникают тревога, раздражение или ощущение, что бренд не замечает происходящее.

В digital-рекламе такие риски принято описывать термином Brand Safety. Он означает контроль над тем, в каком информационном окружении появляется бренд.

В инфлюенс-маркетинге среда меняется. Рекламное сообщение выходит не просто на странице или в рекламном блоке, а в аккаунте конкретного человека. Контекст формируют сам блогер, его контент, подписчики, другие рекламодатели и все, что происходит вокруг его публичного образа.

Читать далее

Как я собрал винный бенчмарк на 3 266 вопросов руками LLM и где они меня подвели

Habr.com - чт, 10/01/2026 - 22:11

Полгода назад я решил измерить, сколько языковые модели на самом деле знают про вино. Вышел бенчмарк OenoBench: 38 104 факта из открытых источников, 3 266 вопросов с вариантами ответа и прогон шестнадцати моделей. Почти всю работу сделали агенты: код писал Claude Code, вопросы генерировали пять моделей, проверяли их десять агентов аудита. Я был единственным человеком в схеме и отвечал за вино. Счёт за API — около $800.

Внутри: как 17 скраперов из 35 оказались «гарантированным fallback» из памяти модели и как выглядит инвариант, который этого больше не допускает; как факт превращается в вопрос через ячейки «стратегия × домен × генератор»; почему три LLM-судьи из трёх компаний согласились друг с другом и все ошиблись; какой агент так и не прошёл свой порог и почему я перестал верить ему, а не корпусу; как 16 моделей ведут себя на одном лидерборде, разрезанном пополам; и почему самые сложные вопросы любого сгенерированного бенчмарка — в первую очередь самые сломанные. Все числа — из базы, запросы в тексте.

Читать далее

Автомойка для собак: разбираю автомат за 390 000 ₽

Habr.com - чт, 10/01/2026 - 21:59

Автомойка для собак за 390 000 ₽: разбираю устройство как систему — что автоматизируется, где остаётся человек, какие нужны аварийные сценарии и какие метрики смотреть на пилоте.

Читать далее

Как я в одиночку написал сервис для расшифровки видео — и три раза чуть не забросил из-за одной и той же ошибки

Habr.com - чт, 10/01/2026 - 21:55

Дисклеймер сразу: я не собирался писать «ещё один стартап». Мне просто было лень руками пересматривать видео, чтобы выписать из него тезисы. Дальше — история о том, как решение личной проблемы обросло LLM-цепочками, защитой от SSRF и вопросами вроде «а что если сертификат не выпустится».

Сервис называется postvid.ru: ссылка на видео или файл на входе, расшифровка, тезисы, таблица, презентация и карточки для карусели на выходе.

Стек, если коротко

- FastAPI — веб-приложение и API, ничего экзотического.

- faster-whisper, модель small — расшифровка речи. Брал именно small, потому что сервер без GPU, а medium на CPU превращает ожидание в пытку.

- YandexGPT / любой OpenAI-совместимый API — выделение тезисов, с фолбэком на локальную модель через Ollama и на офлайн-алгоритм без нейросети вообще.

- Pillow — генерация карточек карусели.

- openpyxl, python-pptx — таблица и презентация из тех же тезисов.

- SQLite — аккаунты, сессии, подписки, платежи. Да, SQLite, не Postgres — для текущей нагрузки хватает с запасом, а лишнюю инфраструктуру я себе усложнять не стал.

- Docker Compose + Caddy — деплой и автовыпуск TLS-сертификатов сразу для нескольких доменов.

- ЮKassa — оплата и автопродление.

Пайплайн

```

ссылка/файл → проверка SSRF → faster-whisper (текст + таймкоды)

  → LLM (тезисы + цитаты + время) → {xlsx, pptx, PNG-карусель, srt}

```

Задача обрабатывается в пуле потоков, статус лежит в памяти процесса и отдаётся polling'ом через /api/jobs/{id}. На бумаге — просто. На практике каждый пункт этой схемы принёс свой сюрприз, и вот четыре самых запоминающихся.

Грабли №1: облако решило отдохнуть, а сервис — вместе с ним

Первая версия дёргала облачную LLM напрямую, без всякой защиты. Всё было отлично, пока однажды ночью модель не легла на пару минут. Для меня это была строчка в логе. Для пользователей в этот момент — «сервис сломан, ничего не работает». Неприятное ощущение, когда узнаёшь об этом постфактум.

Сделал цепочку:

1. Облачная модель.

2. Если недоступна — локальная модель через Ollama на том же сервере.

3. Если и её нет — офлайн-алгоритм: рубит текст на предложения и выбирает самые «весомые» по простым эвристикам.

Плюс кулдаун: если облако упало, следующая минута задач сразу идёт в запасной вариант, не тратя время на повторный обречённый запрос. На странице результата честно пишется, какой движок сработал — cloud, local или offline. Мне кажется, это важнее любой красивой анимации загрузки: пользователь должен понимать, почему результат вдруг стал немного хуже.

Грабли №2: «просто вставь ссылку» — ха

Казалось бы, что сложного в том, чтобы скачать видео по ссылке. Сложного оказалось много: нужно отсечь запросы во внутреннюю сеть сервера (привет, SSRF), проверить, что схема — именно http(s), и не пускать всё подряд.

```python

def validate_public_url(url: str, allowed_hosts: set[str] | None = None) -> None:

    parsed = urlparse(url.strip())

    if parsed.scheme not in ("http", "https"):

   raise SourceRejected("Разрешены только http(s) ссылки")

    # резолвинг хоста, отказ на приватные/

Читать далее

Пять типов лидеров цифровой трансформации

Habr.com - чт, 10/01/2026 - 21:27

Эта типология родилась не в кабинете, а в ходе работы над DTaaS и более чем 50 разговоров с лидерами цифровой трансформации. Одни уверены, что справятся без «цифры», другие создают витрину из пары дежурных кейсов, третьи превращают трансформацию в продолжение автоматизации. Четвёртые действительно меняют бизнес-модель. А пятый лидер, возможно, уже не человек. Пять узнаваемых управленческих образов — и один неприятный вопрос, который стоит задать себе.

Узнать свой тип

Видеоплееры живут в 2012 году, а мы — нет

Habr.com - чт, 10/01/2026 - 21:21

Все мы любим VLC. Он открывает что угодно, работает на всём, не просит денег и не спрашивает, кто ты такой. IINA на маке выглядит как нормальное приложение, а не как диалог из нулевых. mpv вообще эталон: лучшая картинка, скрипты, конфиг под любую паранойю. Это отличные плееры, я пользовался всеми тремя годами и не собираюсь объяснять, что их авторы что-то делают не так.

Но однажды я поймал себя на мысли: 2026 год, вокруг десятки приложений, отполированных до состояния, когда интерфейса просто не замечаешь: он не мешает, он угадывает, он не заставляет вспоминать, где лежит нужная галочка. И ни одного такого видеоплеера. Хороших видеоплееров не существовало — не в смысле «не умеют открыть файл», а в смысле, в котором мы говорим «хорошее приложение» про всё остальное на своём компьютере. Поэтому я сделал свой.

Он называется Frame Player, он бесплатный и с открытым кодом, Windows и macOS. Дальше — список того, что меня в плеерах раздражало, и что с каждым пунктом в итоге получилось сделать.

Читать далее

Как работает шифровальная машина Lorenz SZ 42 (для телетайпа)

Habr.com - чт, 10/01/2026 - 21:06

В прошлом году я написал пост про известную шифровальную машину нацистов Как работает машина Enigma M3 (для флота) / Хабр .

Enigma широко использовалась в немецких вооружённых силах, включая армию и флот.

Но куда менее известной является машина Lorenz SZ 42, хотя она была не менее важна.

Из этой статьи вы сможете узнать, как шифровали сверхсекретную связь высшего немецкого командования, как ошибка оператора в 1941 году помогла раскрыть устройство Lorenz и почему в 1944-м для чтения таких сообщений появился электронный Colossus.

Сразу скажу, что написать эту статью было куда сложнее, чем статью про Enigma, так как материалов про это сильно меньше, особенно научно-популярных и особенно на русском языке. Но это того стоило! Получилась еще одна увлекательная глава из истории техники, криптографии и Второй мировой войны.

Кроме того, в процессе работы над материалом было найдено довольно много первоисточников, которые неплохо сохранить внутри такой статьи. В самом низу есть cайты, архивы, интерактивные модели и первоисточники, в статье много кода на Python.

Погрузиться в историю ...

Policy-Based Routing (PBR): как способ починить домашний интернет

Habr.com - чт, 10/01/2026 - 20:49

Сайты открываются, но часть изображений не загружается, а приложения жалуются на сеть. VPN помогает, однако российские сервисы начинают видеть зарубежный IP.

Рассказываю, как настроил Policy-Based Routing (PBR) на OpenWrt: основной внешний трафик направил через VPN, а российские сети оставил на WAN. Показываю конфигурацию, настройку исключений и генерацию списка адресов с помощью собственной утилиты.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 6 гостей.
Ленты новостей