Обновить
512K+

Open source *

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

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

Greenplum как расширение PostgreSQL 19

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

С 2017 года я слежу за экосистемой вокруг PostgreSQL для выполнения аналитических запросов и использования ее в качестве хранилища данных. И раньше в своей работе использовал AWS Redshift со всем его недостатками и неудобствами для разработчика как форка старой версии PostgreSQL. По моему мнению идеальное решение на основе PostgreSQL должно быть на последней доступной версии СУБД, реализовано в виде расширения, с возможностью запускать для тестов локально в контейнере и позволять использовать существующие расширения последних версий PostGIS / pgvector итп.

Citus казался ближе всех к тому что нужно, но его нельзя считать полноценным Massively Parallel Processing решением, скорее это шардирование данных для OLTP нагрузки.

Greenplum как MPP форк всем хорош и много кто его эксплуатирует в реальных задачах, но версия PostgreSQL, на основе которой он создан, отстает от текущей. Я решил сделать Apache Cloudberry, как самую свежую open source версию Greenplum, в виде расширения для PostgreSQL 19. Пока что это личный эксперимент, а не апстрим релиз Apache Cloudberry. Более 90% кода проекта удалось портировать с помощью LLM и 59% его тестов исходного проекта стало выполняться на его новой версии. У меня на это ушло 12 дней…

Читать далее

Новости

BB изнутри: как устроена открытая IDE для Claude Code и Codex, которая обновляет себя без перезапуска

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

BB - это открытая программа под лицензией MIT, в которой Claude Code, Codex, Pi и ACP-агенты работают в одном окне. За 7 месяцев репозиторий собрал около 4 тысяч звёзд. Главное в BB не окно, а то, что его интерфейс достраивается плагинами и новый плагин подхватывается без перезапуска программы.

Недавно я снимал про BB ролик. Там агент за 20 минут и два промпта собрал плагин, который расшифровывает запись созвона, выделяет договорённости со сроками и пишет письмо клиенту. Ролик был про то, что это даёт пользователю, а в этой статье я разберу код и покажу, за счёт чего это работает. Всё ниже проверено по репозиторию get-bb/bb по состоянию на конец сентября 2026.

Читать далее

Сделал себе тренера на Claude Code и выложил его в open source

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

Днём я пишу код в Claude Code, вечером хожу в зал: у меня пауэрлифтинг, тренировки тяжёлые, часа по два. Тренера я сделал для себя. Хотелось, чтобы тот же Claude, в котором я работаю, вёл и мои тренировки.

Так появился claude-gym-coach, open-source тренер по силовым внутри Claude Code. Один раз рассказываете ему, кто вы и чего хотите, и дальше он ведёт сам: составляет программу под ваш зал, перед каждой тренировкой расписывает веса по вашей истории, после тренировки записывает то, что вы скажете в телефон, и раз в блок разбирает, что сработало. Если раньше был дневник, его можно перенести, и новые тренировки тренер строит от него. Отдельное приложение и отдельная подписка не нужны: всё работает внутри Claude Code, на той подписке Claude, которая у вас и так есть.

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

Читать далее

Модульная надстройка для JasperReports: коллекции, рантайм и границы подхода. Часть 4

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

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

Дальше — про две версии движка: шаблоны у шестой и седьмой несовместимы, и одного файла на обе не бывает. Плюс пример целиком, переход с 2.0.x и честный список шероховатостей: где подход неудобен, где он не работает и кому он не подходит вовсе.

Последнее — про цену проверки при компиляции. Шаблоны лежат в ресурсах приложения, а структура отчёта — в Java-классах, значит любая правка идёт через сборку и деплой. Если отчёты у вас меняются чаще, чем выкатывается приложение, подход вас затормозит — и лучше знать об этом заранее.

Читать далее

Вам не нужен ещё один Claude Code: зачем Pi оставляет сборку агента пользователю

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

Когда мы обсуждаем агентов для программирования, разговор быстро сводится к моделям. Какая модель Claude лучше пишет код, а какая версия GPT увереннее чинит ошибки, как Gemini работает с большим репозиторием. Но между моделью и рабочим деревом Git находится ещё один слой, от которого зависит, что агент вообще сможет сделать.

Этот слой — программная обвязка вокруг модели, которую принято называть harness. Он организует цикл работы агента: передаёт запрос модели, выполняет вызванные ею инструменты и возвращает результаты для следующего шага. Здесь же собирается контекст, применяются правки и сохраняются сессии. Модель может предложить правильное изменение, но не суметь применить его через неудобный инструмент редактирования. Может найти проблему, но потерять нужную информацию после сжатия контекста. Или потратить несколько ходов на задачу, которую подходящий инструмент выполнил бы за один вызов.

Интересный проект, который изменил традиционное устройство моделей — Pi. Это терминальный агент, который строит свой harness с нуля, а не надстраивается над готовым. Его автор, Mario Zechner, сознательно ограничил набор встроенных механизмов работы. Вместо попытки заранее предусмотреть все сценарии Pi предлагает основной инструментарий, который можно приспособить под себя. Oh My Pi вырос из этой основы, но выбрал другое направление: собрать больше решений в одном готовом агенте.

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

Читать далее

От чата c LLM к полноценному AI-агенту: пошаговая настройка OpenCode

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

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

Следующим моим шагом стало собрать вокруг модели рабочую среду. В моем случае такой средой стал OpenCode. Хотя этот агент в первую очередь ассоциируется с разработкой, его можно использовать гораздо шире. По сути, это оболочка, в которой LLM получает доступ к файлам, инструкциям, локальным инструментам, API и MCP-серверам, а затем использует все это для решения задач конкретного пользователя.

Привет, Хабр! Я Арина, аналитик в Selectel. В этой статье я покажу не столько «как установить OpenCode», сколько как организовать вокруг него рабочее пространство, чтобы агент выдавал более стабильный результат и действительно снимал часть рутинной работы.

Читать далее

AI-Disrupt на open-source BPM

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

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

И мы не только верим, но и знаем, как это будет выглядеть!

Давайте посмотрим вместе...

Локальный ассистент для зумов, часть 8: модель, ради которой я поменял диаризацию за один вечер

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

В третьей части я написал, что не вижу чужой модели, ради которой стоит менять связку. sherpa-onnx на диаризации, свой второй проход поверх, канал собеседников двадцатиминутного звонка размечается минут семь. Жить можно.

23 сентября NVIDIA выложила Nemotron 3 Diarization. Вечером 28-го я включил её в разбор своих созвонов. Тот же канал — три секунды.

Читать далее

Галлюцинация нейросети в коде обычно ломает сборку. С выдуманным пакетом иначе: его имя может занять вредонос

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

Я взял 139 имён пакетов, которые пять свежих ИИ-моделей выдумывают одинаково, и 22 сентября проверил каждое по живым PyPI и npm. Это реестры, откуда ставятся библиотеки для Python и JavaScript. Список ценен тем, что не привязан к одной нейросети: раз имя выдумывают все пять, под ударом пользователи любой из них. Список раскрыли 30 апреля 2026 года.

Занято 7 имён из 139. Под одним из них, metro-evaluator, в декабре 2025 года лежал вредоносный код: npm снял его через пять дней и поставил заглушку. Это было ещё до раскрытия списка, и совпадение это или расчёт на выдуманное имя, по реестру не видно. Остальные шесть имён заняли четыре чужих настоящих проекта, владелец бренда своей заглушкой и пустой пакет в 53 байта, который появился уже после раскрытия. По совету нейросети pip install odf поставит чей-то другой инструмент вместо нужной библиотеки.

Читать далее

Оффлайн телесуфлёр поверх Instagram и TikTok: распознавание речи на телефоне, выравнивание по словам

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

Мой телесуфлёр для Android называется Суфлёр. Он распознаёт речь на телефоне и прокручивает текст по голосу поверх Instagram, TikTok или системной камеры. Во время записи видео Android отдаёт микрофон камере, и Суфлёр получает звук параллельно с ней через службу специальных возможностей. Такое исключение описано в разделе 5.4.5 Android CDD. Место в сценарии Суфлёр находит, выравнивая восемь последних распознанных слов по всему тексту. Ещё в статье есть правила, которые понадобились трекеру для английского языка.

Читать далее

Шестнадцать обещаний и две модели, которые пытались их нарушить: как мы выпускали skillmem 0.12

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

В 0.11 мы сорок раундов гоняли ИИ-ревьюеров по коду и нашли много багов. Но у каждого ревьюера было своё представление о том, что значит «правильно». В 0.12 мы начали с другого конца: записали шестнадцать инвариантов, которые обещает наша MCP-память, а затем две модели из разных лабораторий десять дней искали контрпримеры. Засчитывалась только находка с воспроизведением. Рассказываю, что они сломали (Windows посчитала NUL терминалом), во что это обошлось и что мы сознательно оставили в Known issues.

Читать далее

Почему я пишу Bun‑native альтернативу napi‑rs

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

Я работаю над bffi‑rs, экспериментальным фреймворком для нативных биндингов Bun, написанным на Rust.

Проект появился из довольно практичной задачи. Я хотел сделать небольшое desktop‑приложение с нативным WebView, но при этом оставить Bun основным рантаймом.

В экосистеме уже есть решения для подобных приложений. Например, некоторые интеграции WebView для Bun используют Rust и napi-rs. В варианте Electrobun, который я рассматривал, для WebView используется Wry, а связка между Rust и JavaScript строится через napi-rs. Эти проекты решают реальные задачи, но у меня появился другой вопрос: что будет, если строить нативную часть приложения вокруг Bun, а не вокруг совместимости с Node.js?

Читать далее

«По будням в 9:30» → 30 9 * * 1–5: парсер расписаний на русском, который отказывается угадывать

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

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

Читать далее

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

Что на что меняют в 2026 году: карта импортозамещения ПО и пять гипотез, почему она такая

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

С 1 сентября 2026 года офисное ПО не попадает в реестр без совместимости с двумя доверенными ОС. Срок полного перехода КИИ, который наступал в январе 2025-го, в мае разложили на три: 2028, 2031 и 2036. А реестр доверенного ПО снова перенесли, теперь на конец года.

За этими новостями стоит реальная карта замещения, и она не похожа на отчёты. Windows уходит не один, а вместе с Active Directory, SQL Server и Exchange: 33 кейса замены Windows это 33 замены стека. На каждом закрытом слое один победитель с долей от 57 до 74 процентов, и одна и та же лицензия покупается с разбросом цен до 44 раз. А нижние слои пусты: средства разработки замещены на четверть.

Внутри: что на что меняют по 139 кейсам, пять гипотез с фактурой 2026 года и где пройдёт фронт 2027-2028.

Читать далее

Что такое OpenSpec? Полный гайд по Spec-Driven Development

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

Мы всё чаще слышим о том, что та или иная компания внедряет Spec-Driven Development (SDD), а чаще всего именно OpenSpec, в свои процессы разработки ПО. Где-то это пока эксперимент нескольких команд, а где-то спецификация уже становится обязательной точкой входа в любую задачу.

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

Так вот, устраивайтесь поудобнее. В этой статье мы наконец разложим по полочкам, зачем нужны все эти документы, разберёмся, как выглядит процесс разработки от спецификации, и попробуем реализовать новую функциональность с помощью OpenSpec.

Читать далее

CMF: решения за миллисекунды без генерации токенов (аналог Jev) с открытыми весами

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

Сейчас очень много обсуждают модель Jev от Typesafe, я решил выложить модель в своем CMF формате для личного использования (License:apache-2.0) которая давно работает на шлюзе

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

Для этих задач я опубликовал CMF Decision: модель, которая принимает решения по ошибке реконструкции. Энкодер, обученные навыки и правила уверенности лежат в одном .cmf‑файле. Новые навыки можно добавлять по своим примерам, а незнакомые случаи — передавать подключаемому оракулу‑модели которая выступает в роли учителя.

В Cortiq 0.8.0 один и тот же файл работает на CPU, Apple Metal и Vulkan. На RTX PRO 4000 Blackwell полный локальный путь занял 1,10–1,24 мс.

Ниже — как устроен этот механизм, что получилось в сравнении с Jev и Laya и как запустить модель или добавить свою задачу.

Читать далее

Как зарабатывать на Open Source без смены лицензии: разбор Cap (22.8k звёзд) и схема с платными бинарниками

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

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

Проект Cap (открытый аналог Loom с 22 800 звёзд) нашёл третий путь. Их монорепозиторий на Rust, Tauri и Next.js выложен полностью, но проект успешно зарабатывает. Ниже — подробный разбор архитектуры проекта, того, как устроено разделение лицензий MIT и AGPLv3, и почему юридическая схема с платными бинарниками за $29/год работает даже без DRM.

Читать далее

Lakekeeper и Apache Polaris: сравниваем REST-каталоги для Iceberg

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

Спор о формате таблиц для lakehouse, похоже, закончился, Iceberg сегодня поддерживают Trino, Spark, ClickHouse, Snowflake и дальше по списку, так что следующим приходится выбирать каталог. Каталог хранит указатель на актуальную версию таблицы, проводит commit и решает, кому эту таблицу читать, поэтому по весу я бы поставил этот выбор рядом с выбором СУБД.

В статье разбираю Lakekeeper, это один бинарник на Rust и обычный Postgres для метаданных, права на OpenFGA до отдельной таблицы и механизм ContractVerification, который может отклонить commit, если тот ломает контракт данных. Для сравнения рядом Apache Polaris, проект фонда Apache на Java с RBAC в два уровня и федерацией внешних каталогов.

В конце описан стек из банковского проекта (RustFS, Lakekeeper с Postgres, SeaTunnel, NiFi, Trino и ClickHouse), который развернули на своём железе за три дня и через три недели вывели в тестовую эксплуатацию.

Читать далее

Гига Писарь: первый пулреквест на Windows и Мозг со своим ключом в облаке

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

Привет, Хабр!

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

А сегодня прилетел первый пулреквест в Windows-версию.

Читать далее

Модель предлагает, код решает: проверяемые бизнес-решения на Python с маленькими моделями

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

Если спросить языковую модель «одобрить возврат?», она вернёт ответ и вероятность. Правила, которое гарантированно выполнится, доказательства, которое можно проверить, и записи, которую можно воспроизвести, она не вернёт. solvi — открытая библиотека на Python, где модели только предлагают факты, а обычный код их проверяет и выносит решение, и каждый шаг попадает в след. Показываю на примере с настоящим кодом, где это помогает, а где пока нет.

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