Обновить
64K+
42
Шубин Данила@ShyDamn

FullStack-разработчик, CEO Synapsea Agency

153,1
Рейтинг
78
Подписчики
Отправить сообщение

Написал расширение, которое качает статьи Хабра в Markdown — и не долбит сервер

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.9K

В прошлых двух статьях я разбирал DNS-трафик домашней сети и анализировал 1233 публикации Хабра, чтобы понять, за что площадка даёт рейтинг. И там, и там был вопрос, который я обходил: чем, собственно, я выгрузил эту тысячу статей?

Не руками копировал и не скриптом на Python, который на двухсотом запросе получил бы 429 и бан по IP. Я написал расширение для Chrome, которое сохраняет статьи Хабра в Markdown — по одной, пакетом или автоматически по расписанию, — и делает это достаточно вежливо, чтобы сервер не считал его атакой.

Главная мысль статьи оказалась не про парсинг HTML, а про хорошие манеры к серверу. Наивный качатель на голом fetch пишется за пять минут и получает бан на десятой. Инструмент, которым можно пользоваться постоянно, отличается тремя вещами:

— держит принудительный интервал между запросами (1.5 секунды, гарантированно); — слушает 429 и при перегрузке сервера замолкает на три минуты целиком (паттерн circuit breaker), а не долбит сквозь ограничение; — работает с открытыми статьями для личного архива, а не сливает базу.

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

Расширение с открытым кодом под MIT, ставится из Chrome Web Store в один клик.

Читать далее

Подключил 18 провайдеров входа и понял, что стандарт OAuth не соблюдает почти никто

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели8.8K

Есть спецификация OAuth 2.0. Есть OpenID Connect поверх неё. Обеим много лет, по ним написаны десятки библиотек. Казалось бы, подключить кнопку «Войти через» — дело на полчаса.

Так это выглядит ровно до второго провайдера.

Я собрал единую точку входа на 18 провайдеров и 26 способов авторизации — от VK и Сбера до Telegram и Steam. 18 провайдеров, 26 способов входа. И почти каждый соблюдает стандарт по-своему.

VK требует device_id и state в теле обмена токена — в спецификации их нет. Сбер хочет уникальный заголовок RqUID в каждом запросе. Яндекс работает не по OIDC и использует заголовок OAuth вместо Bearer. Apple выдаёт вместо client_secret самоподписанный JWT со сроком жизни в полгода. Steam до сих пор на OpenID 2.0 — протоколе, который устарел десять лет назад. А ЕСИА вообще требует ГОСТ-подпись и CryptoPro.

Отдельная глава — Telegram. Это три несовместимых механизма под одним именем: OIDC, Login Widget с HMAC-проверкой и Mini App с двойным HMAC. Свести их так, чтобы один человек оставался одним пользователем независимо от способа входа, оказалось самой муторной частью проекта.

Внутри: полный каталог отклонений от стандарта по всем провайдерам, разбор того, где живёт нестандартность (спойлер: чем ближе к банку или государству, тем дальше от стандарта), и чеклист, если будете подключать больше двух-трёх провайдеров сами.

Читать далее

Переписал CRest от Битрикса с нуля: гонки токенов, даунтаймы и мультипортальность, которых нет в стоке

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.5K

У Битрикса есть официальная обёртка для REST API — класс CRest, который лежит в каждом примере приложения и который все копируют к себе в проект. Он умещается в один файл и работает — ровно до того момента, пока приложение не выходит в реальную эксплуатацию с несколькими порталами и фоновыми воркерами.

Один баг стокового CRest однажды стоил мне шести суток простоя приложения, и причина была в одной строке: file_put_contents без блокировки. При обрыве записи settings.json оставался обрезанным, парсинг JSON падал, и приложение считало себя неустановленным — переставало отвечать на события и затирало валидные токены.

Я переписал CRest с нуля под то, как приложения Bitrix24 работают на самом деле:

— атомарная запись через rename() вместо file_put_contents — читатель видит либо старый файл целиком, либо новый, обрезка невозможна физически; — гонкоустойчивый refresh: одноразовый refresh_token больше не сжигается дважды, когда два воркера одновременно ловят протухший токен; — ключ портала — member_id, а не домен, поэтому переезд портала на другой домен больше не теряет токены; — drop-in совместимость со стоковым CRest: меняется одна строка use, весь остальной код остаётся как есть.

Ноль зависимостей, PHP 8.1, работает на любом шареде и коробке — в отличие от официального b24phpsdk с его symfony-стеком. Разбираю каждую граблю с кодом, показываю, чем это чинится, и честно очерчиваю нишу: типизированные обёртки по методам API — territory официального SDK, у меня их осознанно нет.

Исходный код открыт.

Читать далее

Как отправлять письма, чтобы не улетать в спам: DKIM-подпись, прогрев IP и DNS-грабли

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели9.1K

Транзакционные письма — подтверждения регистрации, сброс пароля, чеки — кажутся простейшей задачей: подключил SMTP, вызвал send(), готово. Ровно до момента, когда письма начинают тихо улетать в спам Mail.ru и Яндекса, а ты не понимаешь почему: код не менялся, ошибок нет, письма «отправлены».

Дело почти никогда не в коде отправки. Дело в трёх DNS-записях, репутации IP-адреса и криптоподписи, которую надо собрать руками правильно.

Я строю свой сервис транзакционной почты и разобрал всю эту машинерию до винтика. В статье:

— DKIM своими руками: генерация ключа, каноникализация relaxed по RFC 6376, почему порядок подписываемых заголовков важен и где чаще всего ломается подпись; — три DNS-записи (SPF, DKIM, DMARC), которые решают всё, и что каждая делает; — прогрев IP: почему нельзя слать 50 тысяч писем с нового адреса, лестница лимитов 50 → 500 → 5000 → 50000 и пороги репутации; — suppression-лист и DMARC-отчёты как единственное зеркало вашего домена.

И кульминация — реальная грабля, на которой я обжёгся: две абсолютно правильные SPF-записи на одном домене, каждая валидна по отдельности, а вместе ломают доставляемость всего домена в ноль. Разбираю, почему так происходит и как чинится.

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

Читать далее

Разобрал 1233 статьи Хабра: всё, что советуют авторам, объясняет 6% результата

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели10K

Полгода назад я начал писать на Хабр дважды в неделю. Результаты разошлись в восемьдесят раз: от 120 тысяч охвата и 647 закладок до полутора тысяч охвата и нуля закладок при одинаковом подходе к работе.

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

Потом я добавил контрольную группу — все 1033 статьи, вышедшие на площадке за месяц, без всякого отбора. И формула развалилась.

Картинки: по хитам корреляция с охватом −0.21, по всей популяции с рейтингом +0.26. Статьи вообще без иллюстраций имеют медианный рейтинг 4, с двадцатью и более — 15.

Длина: по хитам короткое побеждает, по всей популяции статьи на 4000–6000 слов имеют втрое больший шанс взять рейтинг выше 50, чем короткие.

Модель на всех измеримых признаках сразу — длина, картинки, гифки, видео, код, таблицы, ссылки, заголовок, час, день недели, тема, тип блога — даёт R² = 0.06. Вся форма объясняет шесть процентов разброса рейтинга.

Внутри: реальные базовые ставки площадки (медианная статья собирает 8869 охвата, 7 плюсов и 3 комментария), шестикратный разброс по хабам, разбор того, за что дают плюсы и за что закладки, история про тему, выгоревшую за пять месяцев с 697 тысяч охвата до 66 тысяч, и отдельный сюжет о том, как я чуть не повторил ту же ошибку второй раз — уже специально про неё зная.

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

Читать далее

Записал, с кем разговаривают восемь приборов в моей квартире

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели33K

Я включил на домашнем роутере файловый журнал DNS-запросов и оставил на выходные. За 39 часов набралось 106 875 обращений к 2605 доменам от восьми устройств: компьютера, ноутбука, телефона, умной колонки, робота-пылесоса, телевизора и стиральной машины.

Дальше начались открытия.

Умная колонка выходит в сеть раз в 43 секунды и не останавливается никогда — ночью столько же, сколько днём. Причём обращений в аналитику у неё ровно столько же, сколько к рабочему API.

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

Стиральная машина ходит только в облако производителя — четыре домена. А приложение для управления ею принесло с собой три сторонних аналитических сервиса.

Телевизор оказался сложнее всех. Ночью он спит крепче остальных приборов, а за сутки простоя успевает обратиться к 172 доменам. Среди них — компания, которая занимается распознаванием картинки на экране. Причём это подтверждается не догадками, а политикой конфиденциальности самого производителя телевизора.

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

Читать далее

Как я собрал систему из девяти скиллов для Claude Code, которая не разваливается на длинных

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.7K

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

Собрал систему скиллов для Claude Code, которая эту стену обходит не за счёт «более умного» агента, а за счёт архитектуры. Девять скиллов, набор всегда активных правил, сабагент-ревьюер.

Внутри — разбор механики:

— Три слоя по частоте: always-on правила / скиллы по требованию / глубокая детализация в references, которая грузится только когда реально нужна. В контексте одновременно — правила плюс один-два скилла плюс максимум один reference, а не весь справочник разом.

— Оркестратор как диспетчер, а не исполнитель: он знает порядок фаз и кому делегировать, но не содержит предметного знания.

— Сабагент-ревьюер без прав на запись, который обязан помечать unverified (no browser tool) вместо того, чтобы выставить правдоподобную оценку по осям, которые он физически не проверял.

— Capability-check: агент инвентаризирует доступные инструменты до начала работы и докладывает пробелы вместе с фолбэками, а не проваливается молча.

Репозиторий открыт, ссылка в статье.

Читать далее

Multi-tenant Битрикс24 в трёх проектах: три архитектуры OAuth-токенов и лицензирование через материнский смарт-процесс

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели7.9K

За полгода написал ряд интеграций с Битрикс24 в разных архитектурах: приложение для Маркета (PHP, 6 порталов), клиентский расчётный сервис (Node.js + PostgreSQL) и cron-синхронизатор legacy-CRM без UI и без OAuth вообще. Мультитенант везде решён по-разному, и это не случайность, ведь каждая архитектура точно закрывает свою нишу.

Внутри: сравнение трёх способов хранить OAuth-токены под 6+ порталов, разбор пяти неочевидных деталей REST API (oauth.bitrix24.tech-обход, POST vs GET на рефреше, rate limit 2 req/sec, batch на 50, буфер 5 мин), куски кода на PHP и TypeScript.

Отдельная часть — лицензирование через материнский смарт-процесс. У продукта, распределённого по клиентским порталам, нет своего backend’а, поэтому control-plane я вынес на служебный портал агентства: смарт-процесс «Лицензии», бизнес-процесс на изменение счётчика запросов, webhook approve/decline с secret. Такого паттерна в документации Битрикс24 нет — а он работает уже несколько месяцев и не требует ничего сверх штатной функциональности платформы.

Матрица «что выбирать под задачу» в конце.

Читать далее

Поставил свою Flutter-игру на iPhone друга без Mac и подписки Apple Developer

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели10K

Занимаюсь разработкой своей игры на Flutter. Дошёл до этапа, когда её пора было показать другу-тестировщику, а у него iPhone. Первая мысль — покупать Mac Mini или подписку Apple Developer за $99 в год. Обе цены платить не хотелось, пока проект не подтвердил, что вообще будет.

На Samsung всё это делается за 15 минут: dev mode, USB, установка. На iPhone пришлось искать схему, которую нигде не находил собранной в одном месте — четыре инструмента, час на реализацию и заметно дольше на то, чтобы вообще понять, что она существует.

Внутри: рабочий пайплайн Tenorshare iCareFone → GitHub Actions → Sideloadly → доверие на устройстве. Полный yml для сборки unsigned .ipa на хостовом macOS-раннере (со всеми нюансами Flutter-версии, precache, packaging и --dart-define для API). Разбор тонких моментов, которые не вылезают в туториалах: bundle ID под бесплатным Apple ID, Firebase-конфиги, миграция macos-latest на macOS 26 в июне 2026.

Отдельно — честная экономика iOS-релиза из России в июле 2026: как теперь оплачивать Apple Developer, когда с 1 апреля отключили мобильную оплату; во сколько по факту обходится 99 долларов через Gift Card, посредников и иностранные карты; и сравнение с Google Play ($25 единоразово), RuStore и AppGallery.

Читать далее

GlobalSign отозвал 20 000 сертификатов. Прошёл свои десять сайтов и записал, где будет больно

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели13K

В российском вебе за неделю сломалось две вещи. 13 июня GlobalSign начал массовый отзыв сертификатов у российских компаний — до 20 000 доменов второго уровня под ударом. Let’s Encrypt 4 июня формализовал санкционные ограничения в новой редакции пользовательского соглашения. Я держу около десятка сайтов, все на Let’s Encrypt; сел и прошёл их по списку — какой issuer у каждого, кому грозит и в каком порядке, какие альтернативы реально работают в 2026 году. Внутри: пайплайн инвентаризации через openssl и crt.sh, конфиг Caddy с двумя issuer-ами в fallback, разбор Google Trust Services, НУЦ Минцифры и тех, кто уже выбыл (Buypass) или присоединился к ограничениям (ZeroSSL).

Читать далее

Можно ли поймать вайб-кодера без нейросети? Сделал расширение для GitHub — рассказываю

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели10K

В 2026 году уже не нужно гадать, человек писал GitHub-репозиторий или AI. Я сделал Chrome-расширение, которое оценивает репозиторий по прозрачным эвристикам: README, коммиты, структуру файлов и метаданные. Без нейросети, без чёрного ящика — только понятные правила и объяснимый вердикт.

В статье рассказываю, как появился детектор, почему просто “число AI-похожести” оказалось недостаточно, как я перешёл к профилям вроде “AI-код”, “AI-документация” и “код человека”, и какие сигналы реально помогают отличать vibe-coded репозиторий от ручной работы.

Читать далее

Sword Art Online ближе, чем кажется. Четыре слоя full-dive VR

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели11K

В 2012 году вышел первый сезон Sword Art Online. С тех пор NerveGear — шлем полного погружения в виртуальный мир — стал эталоном «недостижимого будущего». Стандартный ответ на вопрос «когда?» — «лет через тридцать-пятьдесят».

Этот ответ устарел. Не на пять лет, а на пятнадцать.

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

Три из четырёх уже коммерчески доступны в 2026 году. Project Genie 3 от Google генерирует играбельные миры за $200/мес. Synchron имплантирован 50+ пациентам и управляет iPad напрямую с мозга. Meta Neural Band продаётся с CES 2026 как массовый продукт.

Четвёртый слой — самый сложный, запись в мозг — получил доказательство принципа 3 февраля 2026 года в публикации в журнале Neuron. Команда из Шанхая впервые показала миллион-пиксельную стимуляцию зрительной коры приматов с устойчивым результатом более года.

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

SAO — это не «когда-то». Это 2035-2040.

Читать далее

Как устроены world models, что показал Google на прошлой неделе и где это меняет gamedev и робототехнику

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели9.5K

Google показала Project Genie в новой фазе: теперь генеративный 3D-мир можно привязывать к реальным координатам Google Street View. Это уже не просто видео и не просто красивая демка, а полноценная world model, в которой робот может тренироваться в виртуальном Лондоне, Нью-Йорке или Токио, не выходя из дата-центра.

В статье разбираю, чем world models отличаются от video generation, как устроен Genie 3 под капотом, что уже используют Waymo и Google, и почему эта технология важна не только для робототехники, но и для gamedev. Отдельно смотрим, как связка Genie + Unity MCP + Blender MCP может превратить генерацию миров в рабочий production-пайплайн.

Читать далее

Mythos: модель, о которой Anthropic не говорит. Реверс по жертвам — от 27-летней дыры в OpenBSD до побега из песочницы

Уровень сложностиСложный
Время на прочтение25 мин
Охват и читатели9.9K

1 мая 2026 года команда из трёх человек принесла в Apple Park 55-страничный отчёт. Внутри — рабочий эксплойт kernel memory corruption на macOS 26.4.1 с включённой Memory Integrity Enforcement: той самой защитой, на которую Apple потратила пять лет разработки и, по их же словам, миллиарды долларов. Эксплойт собрали за пять дней. Без Mythos на это ушли бы месяцы. И это не самая громкая её жертва.

OpenBSD SACK, 27 лет в коде. FFmpeg H.264, 16 лет, проходивший мимо каждого фаззера. FreeBSD NFS RCE, найден и проэксплуатирован полностью автономно — без человеческих подсказок. 271 уязвимость в Firefox 150 за один прогон. И отдельный раздел в system card, где Mythos сбежала из песочницы, отправила email об успехе и опубликовала детали побега на сторонних сайтах — никто её об этом не просил.

Mythos — закрытая модель Anthropic, доступная только Microsoft, Google, Apple, AWS, Linux Foundation, Mozilla и нескольким правительствам. Веса не публикуются, на claude.ai её нет. Но через её публичные находки можно сделать реверс-инжиниринг того, как эта модель устроена и думает — и понять, что нас ждёт через 6-18 месяцев, когда аналог появится у конкурентов уже без Project Glasswing.

Под катом — технический разбор всех ключевых находок Mythos: от subtle двойного бага в TCP SACK до цепочки из бага размером в один бит, превращающейся в полный root на Linux. Плюс — взгляд на это изнутри от Claude Opus 4.7, foundation-модели того же поколения, но публичной.

Читать далее

node-ipc снова взломали — но не код, а домен за $9. Разбор атаки через DNS-туннели, которой не увидел ни один SIEM

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.4K

npm снова горит — и на этот раз атакующим даже не пришлось ломать код.

Разбираем свежую supply chain-атаку на node-ipc, где доступ к популярному npm-пакету получили через… просроченный домен за $9. Без взлома npm, без bypass 2FA — только forgotten password и DNS.

В статье: как payload крал AWS, SSH и .env, почему эксфильтрация шла через DNS TXT, почему SIEM почти ничего не увидел, как dormant-аккаунты становятся оружием — и почему подобные атаки скоро станут массовыми.

Если у вас есть CI/CD, npm-зависимости или production на Node.js — это стоит прочитать.

Читать далее

Оверклокинг умер, да здравствует андервольтинг: как современные процессоры перестали разгонять и начали оптимизировать

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели14K

Неделю назад друг собрал себе новый компьютер. Ничего экстремального: материнская плата Gigabyte B760 Gaming AX, процессор Intel Core i5-14600KF, башенный кулер, корпус с приличной продувкой. Включил, поставил Windows, запустил OCCT — через несколько секунд температура улетела в 100°C, процессор ушёл в тротлинг.

Друг написал мне: «У меня нормально или нет?». Хороший кулер, правильная термопаста, продуваемый корпус, новейший процессор за 30 тысяч рублей. Не нормально.

Оказалось — это не уникальная ситуация. Тысячи людей с 13/14 поколением Intel видят то же самое. И решение везде одно: залезь в BIOS и понизь напряжение. То есть сделай прямо противоположное тому, что десятилетиями понималось под «настройкой для энтузиастов».

Под катом — почему так вышло, как разгон превратился в андервольтинг, и что с этим делать конкретно на Intel Raptor Lake, AMD Ryzen 9000 и Intel Arrow Lake.

Читать далее

Дорожная карта домашнего мини-ПК в 2026: что развернуть, в каком порядке, и зачем — план апгрейда от инфраструктурщика

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели27K

Каждый месяц с карты списываются деньги за подписки. Spotify, Яндекс Плюс, Notion, Obsidian Sync, Google One — суммы небольшие по отдельности, в сумме набегает заметно. Параллельно с этим у меня работает VPS с несколькими проектами, на роутере крутится OpenWrt с AdGuard Home, в ноутбуке стоит Docker. Инфраструктурный опыт есть. Дома при этом — никакого сервера, всё в облаке.

Это начинает раздражать не только из-за денег. Сервисы меняют каталоги без предупреждения, поднимают цены, требуют доплат за объём, периодически ломают регионы. Контроль над собственными фотографиями, заметками и медиатекой постепенно перестал быть моим.

Решил спланировать переезд на свой мини-ПК. Пока разбирался с железом и стеком, обнаружил, что нормальной системной дорожной карты «бери и иди» в 2026 году нет. Есть каталоги «50 self-hosted сервисов», восторженные посты про конкретные приложения, треды на Reddit. Структурированного маршрута для нового человека — нет.

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

Читать далее

Прозрачный прокси-шлюз на роутере, часть 2: шаблонный конфиг, LuCI-страница и обход DPI для UDP-голоса

Уровень сложностиСложный
Время на прочтение32 мин
Охват и читатели15K

Три недели назад я опубликовал статью про настройку прозрачного прокси-шлюза на OpenWrt-роутере: VLESS+Reality, TPROXY, AdGuard Home, сплит-роутинг. Статья собрала около сотни содержательных комментариев — и значительная их часть оказалась справедливой критикой. По следам этой критики у меня за три недели переписалась примерно половина системы.

Во второй части разбираю, что изменилось:

— Перевёрнута логика маршрутизации: с proxy-by-default на direct-by-default + явный whitelist через balancer. Защищает от утечки внешнего IP перед российскими антифрод-системами.

— Добавлена поддержка UDP с sniffing QUIC и обработкой голосового трафика.

— Монолитный config.json стал шаблоном с плейсхолдерами для подписки и пользовательских доменов.

— Появилась своя LuCI-страница для управления proxy-доменами, написанная под JS-only стек OpenWrt 25.x.

— Второй слой обработки UDP-голоса через NFQUEUE и nfqws — там, где Xray не справляется.

В статье полный разбор: конфиги, init-скрипты, nftables, JS-only LuCI с кодом. Всё проверено по живому конфигу. Отдельным блоком — честное сравнение с Podkop и PassWall2.

Первая часть: https://habr.com/ru/articles/1020866/

Читать далее

У ChatGPT и Claude уже есть память. Зачем тогда вокруг растут Mem0, Graphify и Karpathy-вики поверх Obsidian

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели14K

Память у LLM-чатов уже стала базовой функцией: ChatGPT, Claude и Gemini помнят, кто вы, чем занимаетесь и о чём вы говорили раньше. Тогда зачем вокруг них растут Mem0, Zep, Letta, Graphify и целые Obsidian-вики поверх Claude Code?

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

В этой статье разбираю, где хватает встроенной памяти чата, где нужен отдельный memory-фреймворк, зачем кодовой базе нужен граф, а знаниям - markdown-вики. Коротко: универсального memory layer на все случаи не существует.

Читать далее

3D-кино с трекингом глаз: технический разбор моей реализации и открытые вопросы

Уровень сложностиСложный
Время на прочтение15 мин
Охват и читатели6.8K

В моей коллекции лежат фильмы в формате Top-Bottom стереопары. Без 3D-телевизора или VR-очков смотреть их без потерь нельзя. Поляризованные очки и активные затворы на десктопе работают плохо или дорого. Анаглифные красно-синие очки убивают цвет.

Хотелось третьего варианта — смотреть на обычном мониторе, без очков, с минимальным железом. Идея, на которую опирался: head-coupled perspective, известный с 2008 года по знаменитому Wii-демо Johnny Chung Lee. В октябре 2025 бывший инженер Meta Daniel Habib опубликовал True3D — head-tracked Window Mode, где экран ведёт себя как окно в 3D-сцену. У них под капотом MediaPipe FaceLandmarker + iris tracking + off-axis projection matrix + volumetric scene на Gaussian splats. Я попробовал перенести подход на готовую Top-Bottom стереопару из коммерческих фильмов. И тут начались интересные компромиссы.

В статье — технический разбор моей реализации: пайплайн сглаживания трекинга в четыре ступени (EMA + velocity buffer + jump threshold + adaptive scaling), predictive tracker на double exponential smoothing (метод Холта) для компенсации end-to-end лага в 65 ms, фрагментный шейдер на GLSL с view switching и blend zone через smoothstep, попытка извлечения disparity через OpenCV StereoSGBM. Подробное сравнение моего подхода и True3D с таблицей: где в их волюметрической архитектуре получается то, что у меня в принципе невыводимо из двух фиксированных 2D-видов.

Финал — пять документированных проблем (jitter на резких движениях, ghosting в blend zone, потеря половины разрешения, латентность, UV-параллакс vs настоящий off-axis) и шесть открытых вопросов к читателю: про DepthAnything в WebGPU+ONNX, про RIFE/DAIN как view-интерполяторы, про DIBR на compute shader, про принципиальную возможность восстановить volumetric scene из стереопары в реальном времени.

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

Информация

В рейтинге
35-й
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Фулстек разработчик, Веб-разработчик
Старший
От 250 000 ₽
Python
PHP
MySQL
REST
TypeScript
React
Next.js
NestJS
Vue.js
Node.js