Обновить
472.88

Open source *

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

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

Релиз Explyt Spring: SQL, Docker-Compose, Debugger

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

Всем привет! На связи команда Explyt Spring. Недавно у нас вышел очередной релиз, который включает несколько важный обновлений: поддержа SQL, очередные улучшения для Spring Debugger, поддержка Spring пропертей для Docker-Compose файлов и многое другое. Если вам интересны подробности то добро пожаловать под кат!

Читать далее

Наследие кода: разбор С и С++ модулей Erlang, которые работают десятилетиями

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

Код некоторых модулей Erlang/OTP старше, чем большинство современных junior-разработчиков. Эти файлы — настоящие цифровые патриархи, десятилетиями обеспечивающие работу банковских транзакций, телефонных сетей и систем обмена сообщениями. Мы решили заглянуть под "капот" этого языка-долгожителя, чтобы проверить, что именно скрывается в строках, на которые сегодня полагаются миллионы пользователей. А вот что мы нашли, узнаем в этой статье.

Читать далее

ElevenLabs открыла голосового ассистента для Shopify. Внутри MCP, WebRTC и полностью открытый стек

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

ElevenLabs выложила в открытый доступ проект Eleven Shopping - голосового агента, который превращает процесс выбора товаров и оформления заказа в диалог с ИИ. В основе - стек Next.js + React + TypeScript + Tailwind CSS и подключение к Shopify Storefront API через протокол MCP.

Читать далее

Поднимаем внутренний мессенджер и VoIP-сервер без нарушения законодательства

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

Cейчас, когда связь с внешними сервисами работает с перебоями, а самым стабильным международным способом созвониться теперь является, внезапно, Steam, VoIP которого точно не блокируется, возникает резонный вопрос: а как коммуницировать хотя бы в рамках собственной компании? Особенно с учетом того, что Discord давно и надежно заблокирован, Slack с рынка ушел, а популярные публичные мессенджеры замедляются или рискуют отправиться в бан? Решение очевидно: поднимать собственные текстовые и VoIP-сервера, о чем мы и поговорим в статье на примере связки Matrix и Jitsi.

Читать далее

Open source-стратегии: как МойОфис развивает открытый подход — рассказывает Тамара Щепалкина, CTO компании

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

Делюсь разговором с Тамарой Щепалкиной, техническим директором МойОфис. В интервью — подробный разбор открытого подхода, реализуемого компанией.

Читать далее

Loadable-плагин для Zabbix c помощью суслика

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

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

Знаете это чувство, когда оборудование есть, мониторинг есть, а их совместная работа — нет? Именно так мы ощутили себя, когда столкнулись с IBM Storwize в экосистеме Zabbix. «Из коробки» поддержка отсутствует, а костыли в виде скриптов и UserParameters работают так, что хочется плакать:

Читать далее

История опенсорс-проекта LUWRAIN: как эксперименты с LLM помогают создавать невизуальные интерфейсы для незрячих

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

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

Проект LUWRAIN — пример именно такой истории. Это платформа для разработки невизуальных приложений, которая тринадцать лет создаётся усилиями энтузиастов. Сегодня у неё появляется шанс сделать рывок — с помощью LLM и инженерных подходов, основанных на открытых технологиях. В случае LUWRAIN, как и в случае многих похожих инициатив, существует поиск правильного соотношения смысла и усилий. Поэкспериментировать и найти баланс в том числе помогла программа грантов Yandex Open Source.

Меня зовут Михаил Пожидаев, я работаю доцентом теоретической информатики в Томском государственном университете. Читаю такие предметы как обработка естественного языка, ОС UNIX, анализ социальных сетей и введение в программную инженерию. В этой статье расскажу о своём опыте создания программных продуктов, которые должны казаться странными и нелогичными в привычных обстоятельствах, но обстоятельства нестандартны.

Читать далее

Библиотека Python для доступа к данным ЦБ: cbrapi

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

cbrapi - бесплатная библиотека с открытым исходным кодом на Python, которая превращает сложное взаимодействие с SOAP API Центрального банка Российской Федерации в простой и понятный инструмент.

Читать далее

Коробка багов (взрывается): кроссплатформенное коварство

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

В сентябре мы рассматривали релиз 86Box v5.0, приуроченный к тридцати годам со дня выхода в розничную продажу Windows 95, и пообещали показать ещё кое-что. О чём мы сознательно умолчали, и почему оставили находку для отдельной статьи?

Что осталось в "коробке"?

Развёртывание своего облачного хранилища на VPS: Nextсloud и альтернативы

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

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

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

• доступ к файлам с любого устройства;
• автоматическая синхронизация файлов и резервное копирование;
• расшаривание файлов;
• совместная работа с документами.

Сегодня такое «локальное облако» можно поднять на собственном сервере или VPS в качестве альтернативы корпоративным экосистемам типа Apple, Google и «Яндекс».

Читать далее

Тестирование AI-систем и роль MCP-сервера: теория и практика глазами QA

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

MCP — это язык, на котором AI учится общаться с инструментами. Но если дать ему слишком много «слов», получится хаос. В статье можно узнать, почему MCP нужно курировать, где начинаются риски безопасности и как этот протокол помогает сделать взаимодействие с AI осмысленным и надёжным.

Почему MCP важен ->

Отказ от DevExpress Reports: переход на собственную систему отчетности

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

Всем привет! Меня зовут Леонид, я разработчик компании DD Planet.

Как мы все прекрасно понимаем, ни один бизнес‑проект немыслим без разного рода отчетов. Быстрота и удобство их создания зачастую критично важны.

В нашей компании мы долгое время использовали инструмент DevExpress Reports. Однако после ухода DX с отечественного рынка остро встал вопрос о пересмотре архитектуры формирования отчетов — особенно тех, что создавались с помощью визуального дизайнера форм.

Раньше, при использовании компонентов DevExpress, такие отчеты можно было создать в несколько кликов и практически без знания кода — за счет мощного и удобного дизайнера:

Читать далее

С go на C++ за две недели. Переписываю эмулятор ZX Spectrum

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

В общем-то и целом, мой предыдущий эмулятор ZX Spectrum, написанный на go, работал. Показывал нужное (или очень близко к нужному) и давал чувство приближенности к программистам. Однако у него были очень фундаментальные проблемы, связанные исключительно с языком разработки. Ну по крайней мере я сейчас так думаю.

Другим движущим фактором все-таки была бесплатность БЯМок от cloud.ru (не реклама, да и бесплатности больше нет). Ну где еще можно на халяву пожечь сотни миллионов токенов и получить хоть что-то работающее?

В общем, я принял волевое решение переписать все на С++. Под катом дневник "переписчика", в котором я последовательно описываю все боли и страдания начинающего писателя эмуляторов. Желающим сразу посмотреть на конечный результат можно сходить на https://github.com/kiltum/zxcpp

Читать далее

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

Делаем Electron UI более «нативным». Простой гайд из 15 шагов

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

Ниже я приведу примеры, как пустить пыль в глаза юзерам можно улучшить ситуацию с ощущением чужеродности приложения среди других, написанных на честном Gtk, китами из XCode, Windows UWP и прочим с 0% вайбкодинга

Читать далее

Я нанял джуна в свой open source проект. Вот что получилось

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

Здравствуйте, товарищи! Сегодня у нас будет не техническая статья. Я расскажу об одном нестандартном кейсе из своей практики, суть которого отражена в заголовке.

В первой части будет описание моего опыта, а далее обсудим, как можно его перенять. И не просто перенять, а использовать для решения сразу двух проблем в IT-индустрии!

Как обычно: все имена вымышлены, а совпадения случайны...

Ну давай, расскажи мне!

Исследуем прошивку старого файлового сервера TrendNET TS‑U100

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

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

Несколько дней назад ко мне попал небольшой артефакт из 2005 года — сетевой файловый сервер от TrendNet, размером с роутер. Любопытно, что внутри у него вообще нет никаких дисковых накопителей, а все, чем он может похвастаться, это два USB-порта и Ethernet 10/100 Mbps с auto-MDIX (интересно, сейчас хоть кто-то помнит что это такое?). Антиквариат, одним словом. Если задуматься, на нем можно соорудить файловую шару для старых операционных систем. Все это в тексте и обсудим, а еще поговорим о том, почему обновления безопасности так важны для современных NAS.

Читать далее

Компактный runtime-DI для Java: JSR-330, Class-File API и миграция за 2 дня

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

Когда начинал разработку системы многомерного анализа данных временных рядов Dimension-UI, для внедрения зависимостей в исходном коде решил использовать Dagger 2. Практический опыт показал, что для приложений с большим количеством динамически создаваемых объектов инверсия зависимостей, реализованная в Dagger 2, не подходит.

Да, создание графа зависимостей в compile-time — это, во-первых, очень быстро, и, во-вторых, удобно: получаешь сообщения об ошибках конфигурации уже при компиляции.

Но накладные расходы на сопровождение всего этого хозяйства – прямо скажем, это боль.

Чтобы реализовать scope-зависимости, приходится писать и поддерживать много инфраструктурного кода внутри объектов, куда мы внедряем зависимости. В Dagger 2 такая реализация, во-первых, «загрязняет» код, а во-вторых, серьезно осложняет тестирование. Изолировать методы удобным способом не получается: в тестах нужно писать очень много кода, чтобы прокинуть необходимый контекст и корректно мокировать внешние зависимости. Я туда просто не полез — покрывал unit- и UI-тестами только базовую функциональность, где были Singleton-зависимости.

Даже с одними Singleton’ами приходится поднимать отдельную тестовую инфраструктуру для запуска приложения в тестовом режиме. Это не просто неудобно — это очень затратно по времени. Если сравнить усилия, которые надо потратить на реализацию тестирования подобного функционала в Spring и Dagger… Сравнение будет не в пользу Dagger. В целом я начал думать о переходе на runtime-генерацию графа зависимостей.

Читать далее

Энкодер на базе HEDR и STM32

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

Всем привет!

В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала.
С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути.

Будет рассмотрено:

Принцип работы датчика HEDR-5420-ES214;

Схема подключения к микроконтроллеру STM32;

Программная реализация (расчет пройденного пути и вывод информации на дисплей).

Читать далее

Punto Switcher для Linux

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

https://alternativeto.net/software/punto-switcher-for-linux/about/

Что умеет Punto Switcher для Linux?

1) Конвертировать последнее слово перед курсором.

2) Конвертировать выделенное.

3) Конвертировать последнее слово в строке терминала Gnome.

4) Конвертировать выделенное в строке терминала Gnome.

Читать далее

Open Notebook — приватная альтернатива Google Notebook LM с поддержкой 16+ AI-провайдеров

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

Недавно наткнулся на интересный open-source проект под названием Open Notebook. Это такая альтернатива Google Notebook LM, только с открытым кодом и кучей дополнительных возможностей. Сам пока не тестировал, но штука выглядит настолько интересно, что решил рассказать.

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

Что это вообще такое

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

По функционалу это полноценная замена Google Notebook LM, но с открытым исходным кодом и гораздо большими возможностями настройки. Работает с PDF, видео, аудио, веб-страницами и документами Office.

Что умеет

Возможностей там прилично:

Поддержка 16+ AI-провайдеров. Можно подключить модели от OpenAI, Anthropic, Google, Ollama, LM Studio, Mistral, DeepSeek, xAI, Groq, Perplexity и других. То есть выбираешь то, что подходит по цене и качеству для конкретной задачи.

Генерация подкастов. Система создаёт многоголосые подкасты на основе загруженных материалов — от 1 до 4 спикеров. У Google Notebook LM, кстати, максимум два спикера.

Умный поиск. Есть полнотекстовый и векторный поиск по всему контенту. Удобно, когда накопилось много материалов.

Читать далее

Вклад авторов