Обновить

Разбор техники по камере телефона: что умеет 2D-поза на устройстве и чего нельзя обещать

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

Читать далее

Как я собирал виртуальную примерочную и почему отказался от локальных моделей

Уровень сложностиПростой

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

Сценарий простой: пользователь загружает тестовую фотографию, выбирает вещь из каталога и получает изображение с результатом примерки.

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

Виртуальная примерка не определяет размер и не заменяет обычную примерочную. Но она может помочь ответить на один вопрос: подходит ли человеку визуальный образ с выбранной вещью.

Сначала я хотел развернуть модель локально. В итоге проверил IDM-VTON и CatVTON, а затем подключил сторонний API известного поставщика решений для виртуальной примерки.

Читать далее

Как я научил нейроагента собирать страницы с контентом для корпоративного сайта

Уровень сложностиПростой

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

Читать далее

Собственный терминальный VPN клиент на Go

Уровень сложностиПростой

Всем привет!

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

Два месяца назад захотелось уйти с Arch на NixOS. Дистрибутив просто шикарен, однако учитывая наши реалии я не нашел на него адекватный VPN клиент. Заниматься портированием желания мягко говоря не было (именно поэтому я потратил месяц, да!)

Сколько бы я ни искал адекватных, а главное современных решений с работающими подписками и без 500мб ОЗУ на графиках не нашел. Вообще весь зоопарк делится на две категории:

Читать далее

Как я сделал язык программирования Tokype

Уровень сложностиСредний

Как я сделал интерпретатор на Go.

Как я сделал ему оптимизатор как в компиляторах?

Какую скорость он получил?

Всё это я сегодня вам расскажу. Покажу бенчмарки на скорость выполнение, а также их результаты.

Читать далее...

PAYPHONE: VPN на Rust, QUIC

Спруты наблюдают за каждым байтом. PAYPHONE — VPN на Rust, который не отвечает тем, кто не знает пароль, и не выглядит тем, чем является. Зелёный дождь на экране — не украшение, а напоминание: ты либо в системе, либо вне её. Собрал свой туннель — и заодно узнал, куда кролик ведёт на самом деле.

Читать далее

Как я хотел просто поднять VPN для семьи и в итоге собрал свой сервис

Изначально я хотел просто поднять VPN для семьи вместо покупки готовой подписки. Первый VPS оказался нерабочим, хостер предложил возвращать деньги физическим письмом в Лондон, а дальше начались эксперименты с AmneziaWG, WireGuard, VLESS и Hysteria2.

Постепенно один сервер и несколько конфигов превратились в три VPS, около 12 маршрутов, Telegram-бота, подписки Happ и собственную админку. В статье рассказываю, как проект рос, какие решения пришлось менять по ходу дела и почему в итоге я решил попробовать превратить его в небольшой сервис.

Читать далее

30 ревизий спустя: почему Claude так и не заменил программиста

Уровень сложностиСредний

Можно ли поручить современному ИИ разработку сложной функции — и получить готовый результат без участия программиста? Я проверил это на реальном веб‑проекте: ChatGPT выступал архитектором и аудитором, а Claude — агентом, который писал код, миграции и тесты. Казалось, что задача почти завершена уже после первых итераций. Но затем начался цикл из почти 30 ревизий и множества рабочих сессий: очередная проверка находила ошибку в миграциях, правах доступа, транзакциях, блокировках или самих тестах, которые до этого показывали «зелёный» результат.

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

Читать далее

Получение ИТ-аккредитации в Минцифре с нуля (для чайников)

Глобально процедура зависит от того, получаем мы статус для только что открывшейся компании или ранее уже созданной. Этот момент является определяющим, так как от этого зависит модель (схема) проведения всей процедуры: пакет подготавливаемых документов, проверяемые показатели и критерии оценки такой организации.

В настоящей статье мы рассмотрим процедуру получения статуса ИТ-аккредитованной компании через открытие новой компании.

Читать далее

Как я автоматизировал первичный поиск публичных Telegram-групп: Telethon, SQLite и дедупликация

Разбираю небольшой Python-инструмент для поиска публичных Telegram-групп: Telethon, фильтрация результатов, SQLite-дедупликация и уведомления только о новых находках.

Читать далее

Как я потерял десять тысяч долларов в разработке и маркетинге американского маркетплейса

Уровень сложностиПростой

В январе 2026 года я заключил договор с частным инвестором из Миссури, выступившим заказчиком на разработку маркетплейса профессиональных услуг, который я не буду называть, чтобы не нарушать п.1 правил Хабра, с чёткой географической привязкой: Канзас Метро. Задача казалось особенно удачной, поскольку инвестор сам представлял из себя компанию по строительству и ремонту, знал все тонкости рынка и был первым пользователем платформы, который давал подряды субподрядчикам через неё.

Читать далее

HEALER: что произойдёт, если автоматизировать цикл диагностики и исправления программного кода

Уровень сложностиСложный

Во время разработки PAD+ AI я столкнулся с проблемой, которая сначала казалась обычной задачей отладки.

Приложение состояло уже не из одного вызова LLM. Запрос проходил через несколько этапов: определение намерения, работу с памятью, генерацию ответа, проверку и сохранение состояния.

Для наблюдения за этим процессом я разработал X-Ray — систему трассировки выполнения.

После этого ситуация изменилась.

Раньше я видел примерно следующее:

Запрос → Ответ

После появления X-Ray я получил значительно больше информации:

Request │ ├── Safety ├── Intent ├── Retrieve ├── Persona ├── Generate ├── Verify ├── Remember └── Emit

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

Но вместе с этим появилась новая проблема.

Я начал получать слишком много информации о проблемах, которые всё равно приходилось исправлять вручную.

Так появился эксперимент HEALER.

Читать далее

NOEMA RNSGate Lite: как я собрал mesh‑шлюз на Reticulum с интеграцией Home Assistant и локальным AI

Как я собрал открытый шлюз для сети Reticulum, который держит связь с домом по LoRa без интернета и сотовой сети, управляет Home Assistant по радиоканалу и отвечает на вопросы через локальный AI — без единого облачного сервиса. Разбираю архитектуру, код автоматизаций и почему выбрал Reticulum вместо более популярного Meshtastic.

Читать далее

Как создать из хаоса DWH для сквозной аналитики 6 проектов и 40 филиалов

Уровень сложностиПростой

Ещё несколько лет назад я даже не знал что такое DWH. Как аналитик не в IT-бизнесе, я анализировал эксельки и занимался составлением отчётности в них и Power BI. Но потом я начал потихоньку увеличивать свои навыки и в этой статье рассказываю какими путями я приходил к понимаю DWH и по итогу создал хранилище для сквозной аналитики крупного холдинга с 6 проектами и 40 филиалами.

Читать далее

Как я интегрировал AI для распознавания еды в EATLY AI мобильное приложение

Уровень сложностиСредний

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

На практике между фотографией и готовым ответом находится несколько важных этапов: подготовка изображения, работа с vision-моделью, структурирование ответа, обработка ошибок и интеграция результата с остальной логикой приложения.

В этой статье я расскажу, как реализовал такой pipeline в мобильном приложении EatLy и с какими проблемами столкнулся во время разработки.

Читать далее

Клиент получил timeout. Выполнилась операция или нет?

Уровень сложностиПростой

Timeout — что за ответ? Как понять что это значит? А ещё более интересно — как эту проблему можно решить. При том архитектурно, а не очередным обработчиком с ответом «Все наши операторы сейчас заняты, перезвоните позднее».

Читать далее

iNote: как я построил зашифрованные заметки на блокчейне Base и заставил работать Smart Wallets

Уровень сложностиСредний

Что происходит, если попытаться сделать приватное хранилище заметок полностью on-chain?

Я решил проверить это на практике и собрал iNote - dApp, где заметки шифруются прямо в браузере, а в блокчейн попадает только шифротекст. Никакого сервера, базы данных и password recovery.

Но самое интересное началось, когда я добавил Coinbase Smart Wallet. Моя первая схема «ключ из подписи» просто перестала работать: смарт-кошельки сломали главное предположение о детерминированности подписей.

В статье разбираю, почему это произошло и как я решил проблему через envelope encryption, AES-256-GCM, PBKDF2 и два режима управления ключами.

Заодно показываю архитектуру, код и несколько неочевидных инженерных решений вокруг Base.

Буду рад техническому ревью и особенно вопросам - проект открыт, так что ломайте. 🙂

Читать далее

Хомлаба на старом ноутбуке: как попасть домой из интернета без белого IP

Уровень сложностиПростой

Я давно хотел написать статью на Хабр, и, кажется, наконец нашёл тему. Это история о том, как я настраивал доступ из внешнего интернета к своей хомлабе, почему не захотел покупать белый IP, зачем мне понадобился VPS и как в итоге HAProxy оказался ровно там, где ему и место.

Читать далее

Белые списки ТСПУ: подсети у хостеров есть, вход в них не продаётся

Уровень сложностиСредний

Я хожу по городу с телефоном, и на мобильном интернете половина того, чем я привык пользоваться, перестала открываться. Не случайно и не иногда: сеть периодически уходит в режим белых списков, и наружу проходит только то, что разрешено оператором. Дома на Wi-Fi всё работает. Вышел на улицу — нет.

Месяц я разбирался, как этот фильтр устроен, и около десяти тысяч рублей ушло на замеры. Пользуюсь не один: на канале, несколько своих, сервер мой. Схема, которую я в итоге собрал, продержалась примерно четверо суток. Дальше у хостера отвалился модуль Apache, и всё легло разом. Фильтр тут ни при чём, конфиг тоже: опора стояла на чужой машине, где я ничего не решаю. А свой купить негде.

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

Механику самих белых списков подробно разобрал zarazaexe в статье «Это — всё что вам надо знать о белых списках». Я пользуюсь снапшотом openlibrecommunity/twl и в двух местах с ними расхожусь — оба расхождения называю прямо.

Читать далее

Оптимизация ML-моделей: исправление 8 критических ошибок в датасете CSE-CIC-IDS2018


Практика машинного обучения и информационной безопасности показывает, что  использование публичных датасетов часто приводит к сбоям в работе моделей. Модель может выдать отличную точность на тесте, однако в реальной сети поплывет при первом же сканировании портов. Недавно коллеги из ИСП РАН опубликовали отличный разбор проблем датасета CICIDS2017. Мы пошли дальше и провели аудит его более крупной версии - датасет CSE-CIC-IDS2018, который до сих пор массово применяют для оценки систем обнаружения вторжений (IDS).

Мы разберем 8  системных багов генерации трафика, которые ломают ML-модели и заставляют алгоритмы выучивать аппаратный шум вместо реальных атак.

Все пайплайны очистки, включая обработку Infinity, удаление коллинеарных признаков и скрипты сэмплинга, выложены в открытом репозитории по ссылке https://nikita7291.github.io/dataset/analysis/ - там же детально разобраны строки кода CICFlowMeter, содержащие дефекты логики работы.

Что такое CSE-CIC-IDS2018?

Набор данных CSE-CIC-IDS2018 - это фундаментальный совместный проект Канадского института кибербезопасности (CIC) и Центра безопасности коммуникаций (CSE). Для его создания авторы развернули гигантскую изолированную инфраструктуру в облаке AWS:

Читать далее
1
23 ...
ТудаНазад