Обновить
1024K+

Open source *

Открытое программное обеспечение

678,72
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

redb.Route изнутри: четыре in-memory канала и Exchange, который их связывает

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

Прошлая статья была обзорной — что такое redb.Route, зачем нам понадобился свой Apache Camel под .NET, как выглядит боевой маршрут. Если не читали, коротко: это fluent C# DSL для интеграции — 22 коннектора (~30 URI-схем, если считать https/wss/es-варианты), ~30 паттернов EIP нативно через 41 процессор8 in-process компонентов, компилируемый expression-движок. Сегодня заходим внутрь. Не список фич, а рабочий разбор.

Серия будет длинной, поэтому сразу скажу, что и в каком порядке:

Читать далее

Новости

Chrome-расширение для GitLab: от rebase до cherry-pick

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

Работая с GitLab каждый день, повторяешь кучу одинаковых действий которые хотелось бы делать быстрее чем позволяет UI. Надоело, запилил Chrome-расширение.

В статье рассказываю как устроено внутри: авторизация через session cookies без токенов, цепочки действий в background worker, борьба с постоянно меняющимся DOM GitLab (Vue-миграция между версиями сломала все селекторы несколько раз).

Из фич: кнопки на MR странице (rebase, bump версии, auto-merge, ship), Jira-сайдбар прямо в GitLab, бейджи размера/конфликтов/тредов на списке MR, cherry-pick в несколько веток, command palette.

Читать далее

Hermes Agent сжигал 603M токенов за спиной — как я сократил фоновые расходы в 125 раз

Время на прочтение5 мин
Охват и читатели5.1K

На днях я заметил, что квота Ollama Cloud Pro тратится быстрее обычного. Значительно быстрее. За семь дней я сжёг 603 миллиона токенов и не понимал, куда они уходили.

Я открыл логи Hermes Agent и нашёл то, о чём не знал: блок auxiliary: с двенадцатью фоновыми задачами. Сжатие контекста, извлечение из веба, vision, поиск по сессиям, подбор навыков — всё это молча запускалось при каждом моём сообщении. Каждая задача стояла на provider: auto. И поскольку у меня не было ключей для цепочки fallback, каждая молча откатывалась на kimi-k2.6, мою основную модель на триллион параметров.

Я понятия не имел, что это происходит. Пока я печатал одно сообщение, агент отправлял одиннадцать других в фоне — через ту же модель, из того же квоты, не показывая мне промпты. Только сжатие контекста срабатывало 10–20 раз за длинную сессию, каждый раз отправляя всю историю.

Читать далее

Домашний удалённый доступ без панели: эксперимент с Xray, Docker Compose и локальным CLI

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

Домашний удалённый доступ без панели: эксперимент с Xray, Docker Compose и локальным CLI

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

Сначала у меня был один сервер, один конфиг и одно устройство. Потом добавился телефон. Потом ноутбук. Потом кто-то из близких попросил «скинуть настройки ещё раз». Потом старое устройство осталось неизвестно где, а в конфиге уже лежало несколько UUID с названиями, которые я придумал в полночь и больше не понимал.

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

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

Но и жить в режиме ssh -> vim -> docker compose restart мне тоже не хотелось.

Поиск по open source проектам — не дал результата. Многое из того, что я пытался ставить, либо не запускалось, либо было написано на bash, где было много хардкода, который приходилось переписывать под мои VDS. Потратив несколько вечеров - я понял, что есть запрос на простое решение по оркестрации self-hosted VPN серверов с локальным хранилищем и удобным масштабированием.

Читать далее

Web-pentest skill в Hermes Agent: как агент проводит пентест веб-приложений

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

Разбираем web-pentest skill в Hermes Agent – встроенный навык, который превращает AI-агента в пентестера с методологией «No Exploit, No Report». Прошли весь kill chain на трёх реальных веб-приложениях, потратили 23,5 млн токенов и собрали выводы о том, где у такого подхода реальная ценность, а где – предел.

Мы в Ideco занимаемся сетевой безопасностью, и нам интересно не только то, как агенты атакуют сети, но и то, как они меняют сам процесс пентеста. Поэтому мы взяли open-source агента Hermes Agent, подключили к нему web-pentest skill и прогнали через него три реальных веб-приложения. В статье – архитектура навыка, разбор пяти фаз, защитные ограничения (guardrails) и попытка понять где у такого подхода предел и какая работа остается людям.

AI-пентест 2026: от обёрток над ChatGPT к автономным агентам

За полтора года после выхода GPT-4 рынок offensive-инструментов на базе LLM вырос с единиц до нескольких десятков. Исследовательская команда Hadrian к марту 2026 насчитала 70 open-source инструментов AI-пентеста; до релиза GPT-4 в апреле 2023 их было меньше пяти. Это автономные end-to-end агенты, генераторы эксплойтов, фреймворки для LLM red-teaming и CTF-агенты.

Подтянулся и коммерческий сегмент. xBow первым из машин возглавил глобальный leaderboard HackerOne и закрыл больше 200 zero-day без ложных срабатываний; в марте 2026 компания подняла раунд, превысивший оценку в 1 млрд долларов. NodeZero от Horizon3.ai первым полностью прошёл бенчмарк Game of Active Directory за 14 минут – задачу, на которой спотыкались GPT-4o, Gemini 2.5 Pro и Claude Sonnet 3.7.

Читать далее

Just for fun: как скучающий финский студент дважды перевернул IT-индустрию

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

Представьте, что завтра из нашего мира исчезнут все проекты Линуса Торвальдса. Ваш смартфон на Android моментально превратится в кирпич, интернет ляжет, а вся командная разработка ПО намертво встанет без Git. Удивительно, но вся современная цифровая инфраструктура держится на решениях, которые были придуманы одним человеком не ради миллиардов или славы, а просто из любопытства. В этой статье вспоминаем путь главного интроверта IT: от попыток починить старый Commodore до создания ядра Linux, победы над Microsoft и революции в Open Source.

Читать далее

Мы пытались написать BFF-прокси для Redmine. Это был провал. Вот что мы сделали вместо этого

Время на прочтение4 мин
Охват и читатели4.7K

Мы в стартапе ArcFront три недели двигались в совершенно неправильном направлении, пытаясь подружить современный React с 20-летним Redmine через сложный BFF-прокси. Рассказываем историю нашего провала, неожиданного архитектурного озарения и того, как мы выкинули две недели работы и заменили их 15 строками кода.

Читать далее

Я люблю SQL, но устал собирать WHERE через fmt.Sprintf: зачем я сделал qrafter

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

Мне нравится чистый SQL.

Не «нравится, потому что пришлось», а правда нравится. В хорошем SQL‑запросе видно, что происходит с данными: откуда берём, как фильтруем, где соединяем, что агрегируем и в каком порядке отдаём наружу.

Но как только в API появляются фильтры, сортировка, пагинация и отдельный COUNT(*) с тем же WHERE, чистый SQL быстро обрастает ручной бухгалтерией: args, placeholder«ы, fmt.Sprintf и копирование условий между запросами.»

В какой‑то момент я понял, что меня раздражает не SQL. Меня раздражает работа вокруг SQL.

Так появился qrafter — небольшой type‑safe SQL query builder для Go: без ORM, без codegen, с типизированными колонками, зависимым от диалекта рендером и обычным SQL + аргументами на выходе.

Читать далее

Whisper или GigaAM для русского ASR в продакшене: три ловушки бенчмарка, которые перевернут ваши выводы

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

Пару месяцев назад мы публиковали статью про то, как получили 3.3% WER для русского ASR на CPU с GigaAM — главный тезис тогда был «специализация бьёт универсальность». Замеры в той статье шли на пяти TTS‑фрагментах из аудиокниг. Всё дало идеальные 3,3% WER. С тех пор мы перемерили обе модели на реальных продакшен‑записях и часть прошлых выводов здесь уточняем.

Кандидата у нас по‑прежнему два: SberDevices GigaAM v3-e2e‑rnnt и OpenAI Whisper large‑v3-turbo. Приложение оффлайновое — корпоративные пользователи диктуют текст, облачные сервисы вроде Yandex SpeechKit или Whisper API им запрещены политикой безопасности. По публичным метрикам GigaAM выглядит сильнее, и новые бенчмарки мы рассчитывали как подтверждение прошлого выбора.

Подтверждения не случилось. По дороге мы попали в три ловушки, которые ждут любого, кто меряет ASR на собственном корпусе. Каждая из них переворачивает итоговый вывод: по опубликованным замерам GigaAM выглядит сильнее Whisper на 5–7 pp, как только мы сами померили на тех же данных — обе модели идут вровень, а на шумных записях Whisper выходит вперёд. Качество материала и эталонов в итоге решает больше, чем выбор самой модели.

Финальный выбор у нас такой:

Читать далее

Aerospike Community Edition без ограничений: наш опыт снятия лимитов

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

Всем привет!

Наверняка большинство инженеров, работающих с высоконагруженными системами, слышали о Aerospike.

Для тех, кто всё ещё не знает, что это, приведу короткую цитату из документации:

Читать далее

Как фронтендер из Bay Area, который почти не пишет код руками, сделал на Rust трекер расходов для ИИ-агентов — и зачем

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

Я фронтенд-разработчик. Работаю в Bay Area, в компании, которая выдаёт всем инженерам корпоративные подписки на Claude Code и Cursor. То есть лично из кармана я за токены не плачу — счёт уходит работодателю. Это важная деталь, потому что без неё дальше непонятно: зачем человеку, который ни копейки не тратит, было пилить три месяца open-source инструмент для подсчёта чужих денег.

Если коротко — стало любопытно.

Если чуть длиннее — оказалось, что эта любопытная мысль вытащила за собой целую экосистему репозиториев, два пивота, один выкинутый в мусорку RAG-движок, плагин для JetBrains на Kotlin, расширение для VS Code на TypeScript и Rust-демон, который я бы сам, без AI, не написал никогда в жизни.

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

Читать далее

Эволюция 'More Like This'

Время на прочтение8 мин
Охват и читатели6.7K

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

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

Этот сценарий традиционно называют More Like This (MLT): функцией поиска документов, похожих на выбранный. В статье под MLT понимается поиск от уже известного документа, а не от заново введённого запроса.

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

Читать далее

EvertyDesk Lite: зачем мы написали свой RustDesk-совместимый клиент на Rust и добавили в него ИИ

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

Всем привет!

Меня зовут Артур Валиев. Недавно я уже рассказывал на Хабре о том, как мы собирали собственный RustDesk Pro при помощи патчей и кастомных сборок.

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

Начать стоит немного издалека.

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

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

Прошли годы, и теперь мы наконец сделали именно такой инструмент.

Так появился EvertyDesk Lite.

Это полностью нативный клиент удалённого доступа на Rust и egui. Один бинарник. Без браузера внутри. Без Electron, flutter. Без десятков зависимостей. Без необходимости тянуть половину интернета через репозитории.

Причём мы специально проектировали его так, чтобы он запускался даже там, где графический стек уже практически сдался. Astra Linux? РЕД ОС? Пожалуйста, старый марсианский корабль? Работает. Старая виртуалка без нормального OpenGL? Тоже запускается.

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

Читать далее

Ближайшие события

redb.Route — Apache Camel для .NET, который мы написали потому что выхода другого не было

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

У вас не 5 микросервисов — у вас десятки. Бэкенд, который рос три года: монолит, расколотый на куски, GPS-фид от автопарка, мобильное приложение водителя, веб-кабинет диспетчера, интеграции с SAP / 1С / регуляторами / маркетплейсами, отдельный SMTP-воркер, отдельный PDF-генератор, отдельный шедулер ночных пересчётов. Между ними — Kafka (несколько кластеров, по топику на домен), RabbitMQ (RPC + pub/sub + DLQ), Redis (кэш, last-known-state, pub/sub-каналы), пара HTTP-эндпоинтов наружу, SFTP с поставщиком, SQL-polling outbox-таблицы старого монолита, MQTT с трекеров, IBM MQ для одного древнего банковского контура, SignalR-хабы для real-time-дашбордов. На каждом стыке — свой ретрай, свой DLQ (или нет DLQ), своя сериализация, свои метрики (или нет метрик), своя бойлерплейт-обвязка из консьюмеров и try/catch.

Каждый из этих стыков живёт своей жизнью в Program.cs соответствующего сервиса. Каждый — это hand-rolled цикл:

Читать далее

Как я построил AI-базу знаний на Astro и Starlight: от Markdown до ИИ-консультанта за 7 дней

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

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

В статье — практический опыт создания LLM Wiki на стеке Astro + Starlight + Markdown. Без Notion, без Google Docs, без проприетарных форматов. Контент — просто файлы, AI-агенты — редакторы с четкими правилами из AGENTS.md, хостинг — бесплатный GitHub Pages.

Читать далее

Wazuh: тестирование обработки большого количества событий изменения файлов

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

Wazuh — популярный open-source инструмент для мониторинга событий безопасности (SIEM), основанный на коде Ossec. Он широко используется для отслеживания изменений файлов, анализа логов и обнаружения угроз. Однако при работе с большой интенсивностью наблюдаемых событий производительность системы может стать узким местом.

В этой статье мы рассмотрим результаты тестирования Wazuh при обработке массивного потока событий изменения файлов и обсудим его пригодность для критичных с точки зрения полноты и точности данных областей применения.

Читать далее

Как написать свое расширение postgres?

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

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

Нам потребуется:

Раннее завершение KNN-поиска в Manticore Search

Время на прочтение9 мин
Охват и читатели5.2K

Современные поисковые системы уже не просто сопоставляют ключевые слова. Когда вы ищете «уютный детектив, действие которого происходит в Париже», а получаете результаты вроде «атмосферный детективный роман во Франции», это векторный поиск в действии: документы и запросы превращаются в списки чисел — эмбеддинги, — а поисковый движок находит документы, чьи векторы ближе всего к вектору запроса.

Manticore Search поддерживает это из коробки. Внутри используется структура данных HNSW: граф, который соединяет близкие векторы и позволяет быстро находить ближайших соседей без сканирования каждого документа. Благодаря этому векторный поиск по миллионам документов выполняется за миллисекунды.

Читать далее

Роб Савойе — вся жизнь в опенсорсе, разработчик свободного телефона LibrePhone

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

Роб Савойе (Rob Savoye) — один из основных разработчиков GNU Project, всю жизнь посвятил свободному ПО. Он приложил руку к созданию десятка опенсорсных проектов, включая GDB, GCC и Cygwin. Является ведущим разработчиком и мейнтейнером медиаплеера Gnash, через который можно воспроизводить проприетарные файлы Flash (SWF) под Linux.

А недавно Роб получил широкую известность как главный разработчик нового проекта LibrePhone по созданию первого в мире полностью свободного телефона, без проприетарных компонентов и бинарных блобов. Этот проект «должен закрыть последние пробелы между Android и свободным ПО».

Читать далее

AriQuantum: Как я написал эмулятор квантового компьютера прямо в Telegram

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

Квантовые вычисления – это сложно. Сложная математика, сложные инструменты, и всё это только в рамках вузовских программ. Я решил это исправить и сделал эмулятор квантовых схем прямо в Telegram – бесплатно, без установки, только кнопки. Внутри статьи – история создания, технические подробности и демонстрация работы.

Изучать кванты
1
23 ...