Обновить
485.43

Open source *

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

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

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

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

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

Читать далее

Новости

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

Время на прочтение11 мин
Количество просмотров1.6K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров668

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

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

Читать далее

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

Время на прочтение12 мин
Количество просмотров430

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

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

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

Читать далее

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров755

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров995

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

Время на прочтение7 мин
Количество просмотров3.1K

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

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

Читать далее

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

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

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров992

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

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

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

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

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

Читать далее

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

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

Всем привет!

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

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

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

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

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

Читать далее

Punto Switcher для Linux

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

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 мин
Количество просмотров9.1K

Недавно наткнулся на интересный 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, кстати, максимум два спикера.

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

Читать далее

Rust 1.91.0: aarch64-pc-windows-msvc на Tier 1, отлавливание сырых указателей

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров897

Команда Rust рада сообщить о новой версии языка — 1.91.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.91.0 вам достаточно выполнить команду:

$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.

Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Что стабилизировано в 1.91.0

Мы опубликовали silero-tts v5 на русском языке

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

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

Итак представляем вам новый v5 релиз наших публичных моделей для синтеза речи!

Что поменялось?

Thefittest: зачем я пишу свою open-source библиотеку эволюционных алгоритмов

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

Автор: Шерстнев Павел

Что если модель могла бы проектировать саму себя? Подбирать архитектуру, параметры, операторы — без эксперта, без ручного тюнинга и десятков итераций? Эволюционные алгоритмы позволяют это сделать. Я собрал их в рабочую технологию — Thefittest — open-source проект, где эволюция используется для построения и оптимизации моделей машинного обучения.

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

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