Обновить
512K+

Open source *

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

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

Поддерживая pyfenn: первые впечатления

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

Наверное, как и многие обитатели Хабра, весной я попал под волну сокращений. Погрустив над текущей ситуацией на рынке, решил попробовать себя в open‑source. В конце концов, есть запас денег, отсутствуют (тьфу‑тьфу‑тьфу) ипотеки/кредиты, да и всегда хотелось почувствовать себя частью чего‑то большего, что ли. Спустя пару месяцев у меня получилось стать мейнтейнером в небольшой ML‑библиотеке, о чём и хочу сегодня рассказать.

Читать далее

Навайбкодил десктоп-клиент для «Яндекс Книг» на WinUI 3

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

Периодически хочется почитать книги с ноутбука, особенно в дороге. Но у «Яндекс Книг» есть только мобильные приложения и сайт, а отдельного клиента для Windows нет. Через браузер читать можно, пока есть нормальный интернет, однако в поезде или за городом этот план иногда заканчивается одновременно с мобильной сетью.

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

Читать далее

Новая версия языка разметки текстов Markvan

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

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

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

Узнать про альтернативный способ разметки

Видеомонтаж в blender, бесплатный и надёжный

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

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

Читать далее

Запуск и оптимизация локальной LLM с llama.cpp

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

В статье разберём фреймворк llama.cpp для запуска локальной LLM на выделенном облачном GPU, а также практический подход к оптимизации производительности. Мы поднимем REST API, выполним запрос, проведем бенчмаркинг и подберем оптимальные параметры под конкретную видеокарту.

Читать далее

От стримов к вебсокетам: как я боролся с буферизацией и наконец победил

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

Привет. Меня зовут Николай Пискунов, я руководитель направления Big Data и эксперт курса Cloud DevSecOps по безопасной разработке от Академии вАЙТИ Beeline Cloud. Продолжаю цикл статей о клиенте для облачного сервиса Ollama. В первой части я рассказал о начале работы над клиентом и оставил пасхалку про сломанный стриминг. Во второй мы переехали с PostgreSQL на MongoDB, добавили анализ проектов с уважением к .gitignore и оптимизировали фронтенд.

Читать далее

Как научить LLM-агента спрашивать Яндекс Метрику: разбираем протокол MCP и OAuth-авторизацию без секрета

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

Веб-аналитика живёт за дашбордами и HTTP-API: чтобы узнать, откуда пришёл трафик за неделю, человек лезет в интерфейс Метрики, а программа — собирает запрос к Reporting API и держит в голове namespace полей, лимиты и форматы ответа. LLM-агент (Claude, модель в Cursor, любой другой) по умолчанию не умеет ни того, ни другого.

Мостом между агентом и внешней системой служит MCP — Model Context Protocol. Разбираю, как устроен MCP-сервер для Яндекс.Метрики: как уложить отчёты в небольшой набор инструментов, как авторизоваться в Yandex ID без клиентского секрета (это оказалось самым неочевидным) и на какие грабли Reporting API я наступил по дороге.

Как это устроено

Один комментарий на Хабре — и ещё один пакет для Django Admin

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

Недавно я опубликовал на Хабре статью о небольшом пакете django-scroll-to-top, который добавляет кнопку «Наверх» в проекты на Django. Сам пакет решает довольно локальную задачу, но обсуждение под статьёй оказалось интереснее, чем я ожидал.

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

Один из комментариев заставил меня посмотреть на эту проблему немного под другим углом. В результате вместо долгого спора появился ещё один небольшой open-source-пакет — теперь уже для сворачивания групп приложений в боковой панели Django Admin.

Читать далее

Ускоряем обработку изображений в OpenCV на RISC-V: алгоритмическая, низкоуровневая и компиляторная оптимизация

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

Привет, Хабр! Меня зовут Роман Кузьмин, я занимаюсь развитием фреймворков искусственного интеллекта в YADRO. В этой статье я расскажу о работе по оптимизации алгоритма компьютерного зрения — детекторе углов, основанном на глобальных и локальных свойствах кривизны, который реализован с помощью библиотеки OpenCV под архитектуру RISC-V. 

С коллегами из НГТУ им. Р. Е. Алексеева мы добились лучшей эффективности алгоритма за счет подхода, включающего алгоритмические оптимизации и ручную векторизацию с использованием RVV. Я подробно опишу, что и где мы изменили, а в конце статьи оценю прогресс с помощью тестов на плате Lichee Pi 4a.

Читать далее

Установка и настройка matrix (Synapse), MAS, LiveKit, lk‑jwt‑service, Element‑web, Ketesa совместно с панелью 3x‑ui

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

Возникла идея написать подробную инструкцию по установке и настройке matrix. Всё, что нашел в интернете — либо устаревшая, неактуальная информация 3–4 летней давности без использования MAS, либо неполная информация с обрезанными конфигурационными файлами, по типу «догадайся сам и допиши». Также все инструкции, которые есть в интернете, в основном по установке в контейнере docker. Я же поделюсь с вами инструкцией по установке без каких либо контейнеров.

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

Зачем нужна установка matrix совместно с панелью 3x‑ui? Всё просто — для экономии денег. Если у вас уже есть сервер с установленной панелью, то зачем арендовать еще один сервер для matrix? Всё можно установить на один сервер. Другой вопрос — правильно ли это? Возможно нет, но у меня такая схема работает несколько месяцев без сбоев.

Читать далее

Защита CI/CD для open source-проекта: запираем зависимости

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

Команда VK Cloud перевела второй пост из серии трёх частей о том, как Cilium укрепляет свой CI/CD-конвейер. Первая часть рассказывала про управление доступом: кто может запускать сборки и какой CI-код разрешено исполнять. Этот пост про уровень зависимостей: какой код эти сборки подтягивают и как мы убеждаемся, что его не подделали.

Читать далее

Как я создал локальное хранилище и агрегатор VLESS конфигураций

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

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

Что я решил сделать, рассказываю дальше

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

redb 3.3.0: решение уровня энтерпрайз на .NET — своя БД, свой Apache Camel и рантайм с дашбордом (и всё это бесплатно)

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

Когда говорят «энтерпрайз-стек на .NET», обычно имеют в виду зоопарк: база от одного вендора, шина от другого, ORM с миграциями, отдельный оркестратор, ещё что-нибудь для наблюдаемости — и клей между всем этим, который пишешь сам и потом сам же чинишь по ночам.

Мы пошли другим путём и последние полгода собираем это как одну согласованную экосистему: типизированное хранилище redb поверх Postgres/MSSQL/SQLite, интеграционный движок redb.Route (наш ответ Apache Camel под .NET) и рантайм redb.Tsak с дашбордом, hot-reload и кластером. Три слоя, один код, один стиль.

Сегодня вышла версия 3.3.0 — синхронный бамп всей экосистемы. Это не «добавили пару фич»: это релиз, в котором мы починили то, что молча не работало под нагрузкой (и это, пожалуй, главное), добавили два новых транспорта, довели до конца RAG-петлю для LLM и сделали конкурентность на любом источнике. Ниже — по делу, с кодом.

И сразу главное: с версии 3.3.0 все Pro-решения бесплатны. Никаких лицензий, никаких ключей, никакой регистрации — просто ставишь пакет и юзаешь. Change tracking, bulk, продвинутый кэш, аналитика, кластер Tsak с координатором и failover — всё включено из коробки, в разработке и в проде одинаково. dotnet add package redb.Postgres.Pro — и оно работает. Никакого пейволла, никакого лицензионного сервера, ничего активировать не надо.

Читать далее

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

JSX для Go: как маленькая разметка потянула за собой рантайм, компилятор и кучу компромиссов

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

Я не начинал с идеи написать «убийцу JavaScript». Честно говоря, такие заявления обычно только мешают думать.

Сначала была гораздо более скромная мысль: мне нравится Go, мне нравится его простота, типизация и ощущение предсказуемого инструмента. Но когда дело доходит до интерактивного веб‑интерфейса, почти неизбежно оказываешься в другой вселенной: JavaScript, Node.js, сборщики, плагины, отдельная модель компонентов, отдельная экосистема.

Это нормально. Веб таким стал не случайно. Но мне было интересно проверить другую гипотезу: можно ли писать заметную часть браузерного приложения на Go, не превращая интерфейс в кашу из ручной сборки дерева узлов?

Так появился мой небольшой экспериментальный проект GoFrame. Сейчас это не готовый фреймворк для продакшена, а исследование в сторону Go‑first подхода для браузера через WebAssembly: маленький рантайм, JSX‑подобная разметка .gox, компиляция этой разметки в обычный Go‑код и утилита goxc, которая способна сгенерировать, собрать и упаковать приложение. В README проекта это прямо описано как экспериментальный Go‑first фреймворк и набор инструментов для интерактивных браузерных приложений на WebAssembly; там же честно указано, что проект не заявляет готовность к продакшену, стабильный API 1.0, SSR, гидратацию, серверные API, форматтер или LSP.

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

К рантайму и компромиссам

Калвиаутра путает калвиши: один байт изменил всё

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

Пришла моя долгожданная плата EC для клавиатуры Agar Mini. Собрал, начал пользоваться, но вот что-то слишком много опечаток. Думал, повожусь с настройками, да не тут-то было — приключение растянулось на 7 часов.

В статье о том, что такое EC, как отдебажить проблему и внести фикс в прошивку. Не обошлось и без реверс-инжиниринга.

Все опечатки неслучайны.

Читать далее

Как оценить библиотеку для ИИ-агентов без слепой проверки финального ответа

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

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

Читать далее

Квантование ломает вызов инструментов не так, как показывает BFCL: проверил на MCP-серверах

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

Как на самом деле квантование ломает вызов инструментов? Собрал бенчмарк QuantMCP, протестировав модели на 4 ГБ VRAM не на синтетике, а на реальных схемах MCP-серверов. Главный инсайт: популярные бенчмарки вроде BFCL систематически врут - корреляция их оценок с реальным падением качества оказалась отрицательной (-0.755). На живых схемах модели ведут себя иначе: Llama-3.2-1B начинает возвращать саму JSON-схему вместо вызова или галлюцинирует имена инструментов, а Qwen3-0.6B выдумывает несуществующие таблицы в SQLite. Также показал, что сложность схемы не гарантирует большую деградацию, а выбор кванта «по таблицам» может привести к обратному эффекту.

Читать далее

Как я писал in-memory векторный движок на Go — и в каком месте он обогнал hnswilb

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

Полгода назад я начал писать in-memory базу с векторным поиском на Go: RESP-протокол, HNSW-индекс, WAL, многопоточность. Рассказываю, что из этого вышло: как я мерил производительность и на каких граблях стоял, что реально ускоряет векторный поиск, а что нет. Все цифры воспроизводимы, код открыт.

Читать далее

Mageia 10: 15 лет спустя форк Mandriva продолжает развиваться. Что нового?

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

Mageia появилась в 2010 году как независимый форк Mandriva после финансовых проблем компании, развивавшей оригинальный дистрибутив. Проект сохранил традиционный для Mandriva подход к организации системы, собственный набор инструментов администрирования и модель разработки силами сообщества.

С момента первого выпуска прошло более 15 лет. В конце июня 2026 года, почти через три года после предыдущего крупного релиза, разработчики представили Mageia 10. Новая версия получила обновленное ядро Linux, свежие версии графических окружений и системных компонентов, а также ряд изменений в инструментах установки и администрирования. Давайте оценим новинку.

Читать далее

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

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

ИИ снова закрывается. Пока мир следит за технологической войной чипов, Пекин и Вашингтон начали закрывать доступ к самому главному — готовым моделям. США уже убрали Claude Mythos из общего доступа, из-за рисков в кибербезопасности. 

Китай в свою очередь готовится заблокировать экспорт GLM, Qwen и DouBao. Добро пожаловать в эпоху «цифрового суверенитета», где нейросети официально признаны стратегическим оружием. Разбираемся, к чему приведет эта односторонняя прозрачность.

Читать далее