В 2026 году уже не нужно гадать, человек писал GitHub-репозиторий или AI. Я сделал Chrome-расширение, которое оценивает репозиторий по прозрачным эвристикам: README, коммиты, структуру файлов и метаданные. Без нейросети, без чёрного ящика — только понятные правила и объяснимый вердикт.
В статье рассказываю, как появился детектор, почему просто “число AI-похожести” оказалось недостаточно, как я перешёл к профилям вроде “AI-код”, “AI-документация” и “код человека”, и какие сигналы реально помогают отличать vibe-coded репозиторий от ручной работы.
Читать далееВозвращаемся к теме мониторинга в Angie. Ранее мы запускали базовую конфигурацию с экспортом метрик в Prometheus и визуализацией в Grafana. В этой статье мы задействуем возможности создания кастомных метрик, которые в конечном итоге отобразим в виде графиков в Grafana.
Читать далее«Я знаю, что это должно работать не так, чувствую это на каждом созвоне. Но я только исполнитель. Руководителю пофиг, почему я‑то должен?». Вы видите, что процесс идиотский. Можете даже придумать, как починить. Но натыкаетесь на стену.
Вопрос не в том, кто прав. Вопрос в том, как достучаться, когда у тебя нет полномочий.
Вода при температуре ровно ноль градусов не знает, чем ей быть. Добавьте к ней крошечный импульс энергии, и она останется в жидком состоянии; отнимите столько же, и она превратится в лёд, а молекулы зафиксируются в идеальной повторяющейся решётке. Сам переломный момент, этот тонкий момент нерешительности, представляет собой особое состояние объекта. На протяжении десятилетий физики подозревали, что нечто подобное может произойти и с пространством-временем. Не с молекулами воды, а с самой структурой Вселенной, организующейся в кристаллическую структуру прямо на пороге превращения в чёрную дыру. Теперь, впервые, команда из Вены и Франкфурта записала точное математическое описание того, как выглядит этот объект, используя не более чем бумагу и карандаш.
Результат, опубликованный в Physical Review Letters, решает задачу, которая оставалась открытой с 1993 года. Он также раскрывает нечто действительно странное о том, как могут образовываться чёрные дыры, и даёт намёк на то, как могла выглядеть самая ранняя Вселенная.
История начинается с физика по имени Мэтью Чоптуик, который в 1993 году проводил компьютерное моделирование коллапса материи. Он обнаружил, что если настроить энергию падающей оболочки частиц на критический порог — границу между «коллапсом в чёрную дыру» и «безопасным рассеиванием» — то получившееся пространство-время не просто остаётся в покое. Оно пульсирует. Оно колеблется с точным повторяющимся ритмом, с дискретной самоподобностью, как будто само пространство-время представляет собой кристалл с регулярной решётчатой структурой. Физики назвали это состояние критическим коллапсом и почти сразу поняли, что оно имеет признаки фазового перехода, что-то вроде момента, когда вода превращается в лёд. Аналогия была убедительной; математика, как оказалось, была чрезвычайно сложной.
Читать далееРазбираемся, как работает robots.txt, почему его часто путают с инструментами индексации и какую роль он играет в эпоху ИИ-сканеров.
Читать далееВ этом материале я разбираю практический кейс: развёртывание Qwen3.6-27B на двух Tesla V100-SXM2-16GB под управлением автономного агента Hermes от Nous Research. Карты подключены к потребительской платформе через адаптеры SXM2→PCIe — конфигурация, которую несложно собрать дома, но которая накладывает жёсткие ограничения на доступную видеопамять и межкарточную пропускную способность.
Читать далееВ статье описывается подход к разработке прикладных приложений, основанный на едином максимально подробном формате описания доменных сущностей и контрактов. Приводятся практические примеры использования такого описания. В том числе показано, как декларации могут привнести удобства low-code решений в обычные full-code программы.
Описанный подход работает независимо от используемого на проекте стека технологий и особенно полезен в гетерогенных системах. Поэтому я стараюсь приводить примеры из разных языков программирования и технологий: Java, Python, TypeScript, REST, GraphQL, protobuf.
Читать далееНа кону финансовые данные клиентов, а странный и неуловимый баг в Cilium не даёт как следует настроить сетевую безопасность.
Статья о том, почему любая «нерешаемая» проблема — это «пока недостаточно изученная» проблема. От случайных догадок — к системному исследованию и пул-реквесту с фиксом прямо в Linux.
Читать далееКоманда VK Cloud перевела статью для тех, кто разбирает инциденты в Kubernetes с помощью kubectl debug. Автор разбирает незаметный пробел в данных: после завершения debug-сессии API Kubernetes не сохраняет контекст ее завершения — код возврата, длительность сессии и целевой контейнер исчезают при первом же изменении состояния пода. В статье как воспроизвести это тремя командами, почему так устроено на уровне спецификации API, чем это грозит при разборе инцидентов и комплаенсе и что можно сделать уже сегодня.
Читать далееPewDiePie последние полтора года ушёл из развлекательного контента в технику: домашний сервер, локальные LLM, self-hosting. Результат — репозиторий Odysseus, self-hosted AI-workspace, который за дни набрал 47 тысяч звёзд. Телеграм-каналы пишут “закопал ChatGPT, без ограничений, с анонимностью”. Полез в репозиторий проверять — и картина оказалась честнее и интереснее: это не убийца ChatGPT, а грамотная сборка из готовых open-source кирпичей (opencode, llmfit, Tongyi) под единым приватным UI. Разбираю архитектуру и отделяю факты от хайпа
Читать далееУ нас был долгий REFRESH MATERIALIZED VIEW: один запуск мог идти около часа, а повторные запуски вставали в очередь и держали соединения. CONCURRENTLY помогал не блокировать чтение из materialized view, но не решал проблему очереди одинаковых REFRESH.
Мы сделали механизм в PostgreSQL: триггерами отмечаем изменения в зависимых таблицах, храним зависимости каждой MV в служебной таблице, а перед обновлением берём pg_try_advisory_xact_lock по конкретной MV. Если lock не удалось взять — значит, обновление уже идёт, и второй REFRESH не ждёт в очереди, а пропускается.
Читать далееЭта статья о проблемах, с которыми сталкивается инженер при попытке объединить зоопарк старого оборудования с современным подходом к его мониторингу. Современный мониторинг строится вокруг динамических сущностей: микросервисы, контейнеры, оркестрация в Kubernetes, сбор метрик через Prometheus и визуализация в Grafana. В этой парадигме всё динамично меняется и обычно разговаривает на языке /metrics и OpenTelemetry. Для инженера это привычная и удобная экосистема, где работают автообнаружение и pull-модель которые позволяют забыть о ручном конфигурировании целей сбора.
Читать далееСпецлаб 30 лет разрабатывал комплексную систему видеонаблюдения GOALcity, и теперь там такое огромное число настроек, что можно управлять любыми технологиями этого и еще чуть-чуть того мира. Вот любую возможность для подобных программ назовите - она там уже есть. Но есть нюанс: настроить что-либо сможет, ну, очень терпеливый пользователь.
Сегодняшнее поколение зуммеров такое продукт никогда не купит - в нем больше одной кнопки.
А что делать?Приветствую всех!
Как я уже не раз рассказывал ранее, в советское время выпускалось сразу несколько моделей подъездных домофонов от разных заводов и разных годов. Но, как нетрудно догадаться, перечень систем контроля доступа ими не ограничивался, помимо них выпускались ещё и электронные замки.
Сегодня мы поговорим о девайсе, который ставился даже в таких местах, где о домофонах и слыхом не слыхивали: о раритетном электронном кодовом замке. Узнаем, как он устроен и почему я назвал его самым суровым. Как водится, будет много интересного.
Press F1 to continueЭто короткая аннотация для статьи. Заполни меня позже. Аннотация не может быть меньше 100 символов, по этому я пишу и пишу больше текста.
Читать далееПохоже на корявый рисунок в paint. И хотя это он и есть, этот рисунок, на самом деле, вы уже видели раньше, но в другом виде. Есть он в каждом листе, который выходит из вашего цветного принтера. Только там он желтый и почти невидимый.
Я не буду объяснять, как работает лазерный принтер. Барабан, тонер, коротрон, про это написано тысячу раз. Сегодня речь про то, что именно принтер дописывает поверх вашего документа и о чем вам не сказали.
А по дороге, в статье, между главами, спрятан шифр. Его я расшифровывать не буду. Кто первым выложит ответ в комментарии, тот молодец.
Недавно делал учебный проект про автоматизацию документирования инцидентов. Поначалу планы были грандиозными: инциденты, таймлайны, интеграции с мониторингами, чатами, постмортемы, подсказки дежурным инженерам.
Но довольно быстро стало понятно, что с временными и ресурсными ограничениями лучше не пытаться написать маленький PagerDuty. Поэтому я сузил задачу до более реалистичного ядра: локального RAG-сервиса, который ищет по документации, ранбукам и коду, а затем передаёт найденный контекст в LLM.
Так появился llmortem — FastAPI-сервис, который можно подключить к OpenWebUI как OpenAI-compatible backend.
В статье расскажу, как устроена архитектура, почему я начал с BM25, зачем индексировать docstring’и и какие ограничения у такого подхода.
Читать далееКогда моделируешь помехоустойчивые коды, декодер обычно остаётся чёрным ящиком: пишешь ldpcDecode(llr, cfg, 30), comm.TurboDecoder или dvbs2ldpc(1/2) — и получаешь красивый «водопад» BER, не заглядывая внутрь. А самое интересное в современных кодах именно там: не в том, как закодировать, а в том, как декодер из зашумлённого сигнала достаёт правильные биты.
Первая часть заканчивалась предложением: «если интересно разобрать итеративное декодирование LDPC/турбо в деталях или полярные коды с последовательным отменением — пишите в комментариях». Написали — так что эта статья и есть ответ на запрос из комментариев. Читать первую часть необязательно: там мы прошли эволюцию кодов в сотовой связи от GSM до 5G по BER-кривым в MATLAB, а всё нужное я напомню по ходу. Здесь — вскрываем сами декодеры.
Эта часть открывает ящик. Разберём три декодера, на которых держится всё современное кодирование:
• belief propagation — итеративный обмен сообщениями по графу, ядро LDPC и всего 5G eMBB;
• BCJR + итеративный обмен мнениями — то, что сделало турбо-коды возможными;
• successive cancellation — последовательное отменение в полярных кодах.
Чтобы видеть каждую строчку, MATLAB-тулбокс не годится — он прячет алгоритм. Поэтому весь разбор идёт по коду небольшой библиотеки, которую я написал специально для этого — fec-cpp: header-only C++17, без единой внешней зависимости, только STL. Её можно прочитать целиком за вечер, и каждый декодер в ней — полсотни строк, которые делают ровно то, что написано в учебнике. Рядом с каждым разбором будет и MATLAB-эквивалент — чтобы видеть контраст: одна строка тулбокса против явного алгоритма. А в конце — большое сравнение: прогоним обе реализации по одинаковым кодам и наложим их BER-кривые на одни графики.
Читать далееНе совсем пятничное чтиво, но…
Как-то так случилось, что решил разобраться для себя лично – какие подвижки появились в вопросе внедрения искусственного интеллекта в сфере сайтостроительства. ИИ действительно показал себя неплохо в отдельных задачах, но есть у него и минусы. Всё это тема для отдельного обсуждения, но здесь – только обзор реальной картинки. Делюсь бесплатно и без SMS ))
Читать далееВращения в трёхмерном пространстве встречаются практически в любой задаче компьютерной графики, от игровых движков до WebGL‑приложений.
В статье разбираю, как описываются повороты с помощью матриц и кватернионов, почему оба подхода задают одни и те же преобразования и в чём заключаются преимущества кватернионов на практике.
На примере демонстрационного проекта на Rust, WebAssembly и ThreeJS рассматриваю связь между осью вращения, матрицами поворота, комплексными числами и кватернионами, а также показывается, как эти математические конструкции используются для вращения реальной 3D‑модели.
Читать далее