Обновить
461.54

Open source *

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

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

Сказ о том как я пилил велосипед для домашнего видеонаблюдения. Часть первая, историческая

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

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

Читать далее

Open Source: Зачем тебе это на самом деле?

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

Когда речь заходит об open source, многие сразу думают: «Это для энтузиастов».
Контрибьют в Open Source это способ расти как разработчик, завести полезные связи и заявить о себе.

Разбираемся, как найти свой проект, использовать AI для чтения кода и сделать первый контрибьют без боли!

Начать Опенсорсить

kolor-keyboard — рисуем RGB подсветкой клавиатуры флаг языка раскладки

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

Где-то неделю назад я прочитал статью - Индикация раскладки клавиатуры подсветкой — решение для GNOME. И что-то так вдохновился, что решил сделать что-то подобное для себя, у меня KDE. Начал делать, воспроизвёл подсветку одним цветом достаточно быстро, а потом решил может улучшить и рисовать прямо флаг страны относительно языка раскладки? И кажется получилось не плохо и весело.

https://github.com/jidckii/kolor-keyboard

Читать далее

Ragex: Гибридный RAG для анализа кода

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

Я поломался, поломался — и поломался на осколки. Признаю́: железные помощники Т9 действительно могут приносить пользу в разработке. Единственное, что мне не нравилось — то, что весь проект большой и хорошо натренированной модели не скормишь, а значит — неизбежны потери контекста, размывание смыслов и джойсовские галлюцинации.

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

Когда БЯМ научились подключать сторонние MCP-сервера, произошел качественный скачок. Теперь не нужно файнтьюнить модель, можно файнтьюнить буковку «R» из акронима «RAG». Я-то лучше знаю, как правильно извлекать смыслы из моего личного контента. Если речь про код — лучше всего искать правду в AST.

Так и был зачат Ragex — MCP-сервер для семантического анализа кодовых баз с элементами чёрной магии. Проект, понятно, написан на Elixir, потому что ну а на чем еще?

Читать далее

Оптимизируем программный декодер JPEG для архитектуры RISC-V

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

Графический формат JPEG уменьшает размер изображений без особо заметной для глаза потери качества — упрощая тем самым их хранение и передачу. Студенты из БГУИР — Артём Подгайский, Сергей Буйвид, Юрий Наскевич и Дмитрий Степанчук — в  в рамках Зимней школы RISC-V YADRO изучили работу декодера JPEG для архитектуры RISC-V, нашли пути для его оптимизации и далее расскажут о своем проекте.

Читать далее

Easy Maven — Dependencies Search. Или воскрешаем Maven Dependency Helper плагин

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

Всем привет! Недавно я опубликовал статью, в которой сказал что она будет последней по Easy Maven т.к. все что можно я уже делегировал Maven — импорт проекта, запуск тасков, анализ зависимостей. Но недавнее обилие багов в IDEA 2025.3 связанных как с зависанием так и повышенным потреблением памяти Maven проектами, окунуло меня в баг трекер IDEA, где я нашел много похожих проблем, которые также затрагивают и мавен индексы. Помню как меня самого это раздражало, когда IDEA чуть ли не при каждом открытии, начинает сканировать локальный репозиторий. Про это даже писали в комментариях — где ответ был один — отключить это. Плюс недавно один из постов в тг канале (спасибо за это @javadev), еще больше убедил меня в том, что так дальше жить нельзя и я решил поправить проблему поиска зависимостей так как я ее вижу — не изобретать велосипед, а делегировать поиск туда, где это уже реализовано. Ведь как известно: самый лучший код — тот который ты не написал. Посмотрим что из этого вышло.

Читать далее

Свобода! 1 января 2026 года пополнилось общественное достояние

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

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

Для кого именно?

«Колесо фортуны» или выбираем куда сходить на каникулах с помощью Godot 4 и API сервиса афиши

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

Если на минуту задуматься, великая это вещь - колесо. Человечество значит разок его попробовало и все. Подсело. Теперь почти ни дня без колеса. Завертелось всё, закрутилось, как хоровод вокруг новогодней ёлки. 

Так и я намедни сделал для семейных развлечений свою вариацию на тему игры «Поле чудес», а в поле чудес кто главный герой? Нет, нет, отнюдь не «импозантный мужчина в усах». Я имел в виду – красавец барабан. А барабан это что? Правильно, барабан – колесо. Поэтому, один раз научившись вращать двухмерное колесо в игре на движке Godot я уже не смог остановиться. Захотелось мне это колесо еще где-нибудь использовать на благо прогрессивного человечества.

А тут как раз каникулы длинные нарисовались. И чтобы не было соблазна все выходные сидеть в теплых светодиодных лучах монитора, я сделал простенькое колесо фортуны, которое поможет мне с выбором занятия на день.

И как всегда готов поделится результатом с вами.

Читать далее

Экран как услуга: Display Image, Streaming и 4K в SPICE

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

Парадокс: SPICE отлично справляется с рабочим столом, но спотыкается на видео. Статичный документ — чёткий, быстрый, экономный по трафику. Включили ролик на YouTube — и всё поплыло.

Display Channel — это два разных мира в одном канале. Image Mode: независимое сжатие каждой изменившейся области, умное кэширование, глобальный словарь для повторяющихся элементов интерфейса. Stream Mode: попытка поймать видеопоток и пережать его на лету.

Детекция видео по косвенным признакам. MJPEG из 2009 года как дефолт. GStreamer как путь к H.264. И вечный компромисс между «красиво» и «быстро».

Разбираю анатомию Display Channel — от QXL-команд до финального рендеринга. Вторая статья серии.

Читать далее

Решил сделать себе смартфон на Линукс. Linux phone Xiaomi Poco X3 NFC на Ubuntu Touch по шагам

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

Времена сейчас тяжелые, я как пользователь iPhone, давно чувствую себя неполноценным пользователем смартфона в нашей юрисдикции. А с недавнего времени возглавил команду линуксоидов и потянуло меня на всё линуксовое. Решил, так скажем, стать пингвином. Все началось с того, что выкинул свой макбук, которым пользовался с 2015 года, купил хороший ThinkPad на Ryzen 7 и накатил туда Linux Mint 22.2 и, знаете что, радости моей нет предела, я прям кайфую и пропитываюсь духом опенсорса. Все таки, когда клиентам показываешь преимущества миграции на линукс с мака, есть нотка недоверия к таким ребятам. И для пущей линуксовости, уже второй месяц подумываю пересесть на линуксфон, а еще все это недоверие к корпоратам, подогревает мой интерес. В общем если с тем, как накатить Минт на ноут в целом сложностей нет, то с линуксфоном, не все так просто… погнали разбираться

Читать далее

SPICE: анатомия протокола доставки рабочего стола

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

В 2007 году инженеры Qumranet приняли решение, которое определило судьбу протокола на следующие 17 лет: только TCP, никакого UDP. Простота победила производительность.

SPICE — протокол, который доставляет рабочий стол от виртуальной машины до пользователя. Открытый, бесплатный, дефолтный для всего Linux VDI. И при этом удивительно мало кто понимает, как он устроен внутри.

Почему курсор передаётся отдельным каналом? Зачем нужен глобальный словарь в GLZ? Как современные композитные менеджеры сломали красивую идею 2D-команд QXL?

Разбираю архитектуру SPICE — не список фич, а инженерные решения и их последствия. Первая статья серии.

Читать далее

Готовим скрипт на Bash и упаковываем в AUR

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

В статье я рассказываю, как из набора команд (free, df, ip, ps, uptime) собрать CLI‑утилиту на Bash, добавить аргументы, цветовую индикацию и упаковать всё в AUR как пакет system-monitor

Заглянуть под капот

MCP Tool Registry: автоматизированное создание систем RAG

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

Всем привет! Меня зовут Максим Максимов, я — NLP-инженер в AI R&D лаборатории в red_mad_robot. Мы работаем с прикладными AI-системами, проводим эксперименты и проверяем архитектурные подходы в реальных сценариях.

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

Из этого подхода в R&D-лаборатории вырос MCP Tool Registry — центральный реестр для управления системой серверов, необходимых для построения RAG. В этой статье я подробно расскажу, из каких частей состоит MCP Tool Registry, как он работает и покажу его применение на практическом примере.

Читать далее

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

Наш синтез для 20 языков теперь работает локально под Windows как экранная читалка (SAPI5) и в Балаболке

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

Всё шло к этому. Мы решили задачу омографов в русском языке (мы уже готовим большое расширение). Мы попробовали насколько это физически возможно решить задачу ударения хотя бы для славянских языков (мы уже опубликовали модели-акценторы для русского, украинского и белорусского языков). Мы опубликовали синтез для 20 языков России и стран СНГ.

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

Теперь пришло время попробовать соединить это всё воедино в виде SAPI5-интерфейса для синтеза для Windows. Основная фишка тут получается в том, что наш синтез настолько быстрый, что его можно использовать как локальный синтез в Windows на CPU, так и как экранную читалку. И да, вы верно всё поняли. Это также значит, что оно из коробки будет работать с Балаболкой и другими подобными программами (и не будет требовать GPU).

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

Протестируем!

Баги на диком западе: топ-10 ошибок в C и C++ проектах за 2025 год

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

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

Читать далее

Настройка Linux после установки: терминал, GNOME и расширения на примере Ubuntu

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

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

Настроить свой Linux

Итоги года развития NoDPI — открытого инструмента для свободного интернета

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

Салют, Хабр! Прошел ровно год с момента публикации моей первой статьи про загрузку видео с YouTube. Бонусом к статье шла небольшая утилита для... кхм... модификации сетевых пакетов. Это был небольшой скриптик на Python, форкнутый от theo0x0/nodpi. Я не делал на него совершенно никаких ставок, но в комментариях посыпались восторженные (нет) отзывы, обсуждения и просьбы выложить на GitHub. Через полгода, в мае, я опубликовал статью с презентацией NoDPI и подробными объяснениями, что, как и почему. Публикация зашла, попала в топы Хабра, аудитория на GitHub стала расти. Еще через месяц вышел NoDPI for Android - немного сыроватый и неудобный, но вполне работающий и справляющийся со своей задачей.

И вот на дворе конец 2025 года. За окном мороз, падает снег, а значит самое время подвести небольшие итоги...

Читать далее

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

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

Всем привет! Меня зовут Стас, я ведущий инженер отдела сертификационного тестирования компании YADRO. Однажды мне стало лень вручную проставлять статусы тестов PASSED/FAILED в TestY TMS, и я написал свое клиент-серверное приложение ATS Studio. С его помощью я залечил боль ручного управления для нескольких команд YADRO.

Как мне это удалось, если я не пишу код на Python, и чему я научился в процессе, узнаете под катом.

Читать далее

Дышать или не дышать? Как я написала библиотеку и Telegram-бота для мониторинга воздуха в Ташкенте

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

Доброго времени суток, уважаемые хабровчане! Я живу в Ташкенте.

Как превратить беспокойство о качестве воздуха в полезный Open Source проект?

Читать далее

RepE — как активационная инъекция влияет на энтропию, деградацию и качество ответов LLM?

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

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

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

Данная работа посвящена изучению методов Representation Engineering (RepE) — подхода, который позволяет проникать в активационные слои нейросетей и слегка усиливать отдельные вектора. В отличии от классического промпт инженеринга мы не задаем роль, а правим внутреннюю генерацию ответа, можно сказать точечно правим "веса" хоть это в действительности и не так. Цель - проверка того, может ли выделение и активация специфических семантических векторов служить функциональным регулятором генерации - и как в целом это выделение влияет на модель. Возможно ли таким методом снизить энтропию или получить сравнительно лучшие ответы от модели.

Читать далее