Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 40 min 23 sec ago

Таск-трекеры — динозавры Кайнозоя

Fri, 10/02/2026 - 10:13

Двести миллионов лет динозавры удерживали вершину пищевой цепи. Они были совершенны для своего времени, пока резкая смена среды обитания и последовавший за ней пищевой дефицит не поставили точку в их истории. В схожей ситуации оказались и популярные таск-трекеры. Превратившись за два десятилетия из стройных и шустрых помощников в прожорливых Jiraзавров, они стали потреблять неприлично большие объёмы рабочего времени. В новой среде асинхронной и многопоточной разработки сам факт их выживания зависит от того, смогут ли они оставаться востребованными утилитами, или их место займут более совершенные системы, построенные на иной архитектуре.

Читать далее

Дизайн-система в одном markdown-файле: как я задаю правила визуала, которые читает и человек, и нейросеть

Fri, 10/02/2026 - 10:04

На старте любого проекта я первым делом собираю один файл. Ещё до лендинга, до первого поста и первой презентации. В нём записано, какими цветами мы говорим, какими шрифтами и чего нельзя ни при каких условиях, — пять-шесть экранов текста в markdown.

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

Сразу скажу, откуда я на это смотрю. Я маркетолог, не дизайнер и не разработчик. Айдентику мне помогал собирать живой человек, код по этим правилам пишет Claude Code, а моя часть — записать правила и принять результат. Так что теории дизайна дальше не будет. Будет формат документа, который переживает исполнителей и читается нейросетью без напоминаний.

Читать далее

Квадрант без анкет: как мы построили Призму по 441 категории российского ПО и почему рынку нужна понятная методика

Fri, 10/02/2026 - 09:57

Когда ИТ-директор в 2019 году выбирал промышленную систему, у него был короткий путь: открыть отчёт Gartner, Forrester или IDC, посмотреть, кто в правом верхнем углу, и вести переговоры с тремя вендорами, а не с тридцатью. Квадрант не заменял пробное внедрение, но экономил месяцы на составлении длинного списка. В 2022 году западные агентства ушли, а российские продукты в их отчётах и раньше встречались единично.

Потребность никуда не делась. За четыре года её начали закрывать десятки локальных рейтингов: отраслевые, редакционные, вендорские, от СМИ и от ассоциаций. У каждого своя методика, свой набор категорий, свой способ попасть в список. Сравнить два рейтинга между собой нельзя, а понять, почему продукт в одном списке первый, а в другом отсутствует, нельзя тем более. Рынку нужна не ещё одна таблица, а понятный способ считать.

Мы в АНО «Цифровые платформы» в сентябре в тестовом режиме запустили Призму: квадрант российского ПО по каждой из 441 категории каталога, 9842 позиции, пересчёт раз в квартал. Эта статья не отчёт о продукте. Это попытка разобрать задачу «как построить квадрант в условиях, когда ни вендоры, ни заказчики пока не умеют описывать внедрения» и предложить рынку подход, который можно критиковать, дополнять и забирать себе.

Читать далее

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

Fri, 10/02/2026 - 09:28

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

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

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

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

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

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

Fri, 10/02/2026 - 08:54

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

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

Читать далее

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

Fri, 10/02/2026 - 08:01

 

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

 

Читать далее

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

Fri, 10/02/2026 - 03:54

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

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

Читать далее

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

Fri, 10/02/2026 - 03:39

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

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

Читать далее

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

Fri, 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: от одной модели до целого мира

Fri, 10/02/2026 - 02:51

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

Читать далее

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

Fri, 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 и производственный календарь

Fri, 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 кодинг-агента

Fri, 10/02/2026 - 01:15

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

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

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

Thu, 10/01/2026 - 23:08

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

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

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

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

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

Thu, 10/01/2026 - 23:08

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

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

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

Читать далее

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

Thu, 10/01/2026 - 23:07

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

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

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

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

Читать далее

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

Thu, 10/01/2026 - 22:11

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

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

Читать далее

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

Thu, 10/01/2026 - 21:59

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

Читать далее

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

Thu, 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) ссылки")

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

Читать далее

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

Thu, 10/01/2026 - 21:27

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

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

Who's online

There are currently 0 users and 7 guests online.