Обновить
483.62

Open source *

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

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

Мы решили задачу омографов и ударений в русском языке

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

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

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

Также мы опубликовали наше продуктовое решение для простановки ударений (в омографах в том числе) в рамках репозитория silero-stress и также напрямую через pypi. В ближайшее время добавим эту модель и обновим наши публичные модели синтеза и раскатим более мощную "большую" (тоже маленькую по современным меркам) версию модели в приватные сервисы и для клиентов. Также мы опубликовали бенчмарки качества и скорости публичных академических решений … и там всё очень неоднозначно.

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

Сели, налили, читаем

Изучаем базовые протоколы сети с помощью open source-эмулятора Miminet

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

Представьте: в окне браузера вы рисуете топологию, добавляете хосты, маршрутизаторы, коммутаторы (как в draw.io), а потом запускаете эмуляцию и наблюдаете за работой настоящей сети. Настолько настоящей, что там даже VLAN’ы есть.

Miminet — веб-сервис, который превращает изображение сети в работающую модель.

Читать далее

PEP 8 как религия: почему Python сам не соблюдает свои же правила

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

Команда Python for Devs подготовила перевод статьи о PEP 8. Мысль проста: споры о стиле в Python часто сводятся к одному — snake_case против camelCase. Даже сам Python не следует своим же правилам. Так стоит ли вообще относиться к PEP 8 как к догме?

Читать далее

Забудь про облачные подписки! Полный переход с Google Photos на Immich. Мой личный опыт

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

Привет! Сегодня вам расскажу, как я полностью отказался от Google Photos и настроил своё собственное хранилище фотографий на базе Immich с кучей функций, не уступающих тем, что есть у популярных представителей данных сервисов.
Это не обзор ради обзора, а мой реальный кейс. У меня дома стоит свой собственный домашний сервер, который я собрал не так давно, куда я уже перенес все свои фотографии и видео.

Читать далее

ReVu — Open Source AI-ревьюер для ваших Pull Request

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

Всем привет!

Недавно мы с приятелем обсуждали, как устроены рабочие процессы в бигтех-компаниях и какую роль в них уже играет ИИ. Речь в основном шла о зарубежных компаниях — у него там есть знакомые, которые делились опытом изнутри. Один из самых любопытных моментов — использование искусственного интеллекта для предварительного код-ревью в Pull Request: прежде чем коллеги возьмутся проверять изменения, PR уже анализирует ИИ и указывает на потенциальные проблемы.

Эта идея меня зацепила, и я решил изучить, какие готовые решения уже существуют (кроме встроенного в GitHub Copilot). Из более-менее крупных нашёл только PR Agent. Я протестировал его, но по ряду причин он мне не подошёл: хотелось больше гибкости, настройки под свои нужды и возможности запускать всё самостоятельно, без передачи кода сторонним сервисам.

Так родился проект ReVuself-hosted инструмент для автоматического код-ревью в Pull Request с помощью ИИ. Он универсален, легко кастомизируется и не требует доверять исходный код внешним платформам.

Если вам интересны подобные материалы и проекты, подписывайтесь на Telegram-канал «Код на салфетке» — там я делюсь гайдами для новичков, историями разработки и полезными инструментами.

Читать далее

Alertmanager-jira для интеграции алертов в jira

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

Если вы работаете с мониторингом в Prometheus или VictoriaMetrics, то наверняка знаете, как алерты из Alertmanager могут быстро накапливаться, требуя ручного трекинга в Jira. А что если автоматизировать это полностью — с назначением исполнителей, метками, компонентами и даже шаблонами для описаний? Знакомьтесь с alertmanager-jira — классным инструментом для обеспечения интеграции AlertmanagerPrometheus или VictoriaMetrics). Это Alertmanager (webhook) плагин, который создаёт и управляет задачами в Jira на основе алертов, с акцентом на гибкость. Написан на Quarkus, лёгкий и готов к деплою в docker (podman).

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

Читать далее

MITRE ATT&CK: Обзор тактик разведки (Reconnaissance)

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

Несмотря на признание важности фреймворка MITRE ATT&CK, существует проблема, связанная с процессом его изучения. Главная сложность кроется в самой структуре фреймворка: таблица объемна и многослойна. Пользователи неизбежно вынуждены постоянно переключаться между подразделами для получения полной картины. Такой способ подачи информации сильно затрудняет линейное последовательное прочтение. Помимо этого, табличная форма изложения материала мешает сосредоточиться на общем понимании концепции, вынуждая фокусироваться лишь на отдельных элементах.

Еще одним серьезным препятствием становится языковой барьер: документация доступна на английском языке. Конечно, современному IT‑специалисту важно владеть английским, однако это не отменяет факта, что восприятие и усвоение материалов на родном языке проходит намного легче и эффективнее. Даже при хорошем уровне владения иностранным языком скорость обработки информации заметно снижается, что усугубляет трудности при попытке овладеть таким большим объемом сложных данных.

Данная статья представляет собой конспект переведенной информации, содержащейся в MITRE ATT&CK. Ее цель состоит не в детализированном описании каждой отдельной техники вместе с методами противодействия, а в создании целостной системы представлений, позволяющей эффективно ориентироваться в многообразии техник. В рамках текущего обзора сосредоточимся исключительно на тактике Reconnaissance.

Читать далее

Возвращение Ubuntu Touch: как обновление дало вторую жизнь мобильной ОС

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

Ubuntu Touch — мобильная версия Ubuntu для тех, кто хочет управлять своим телефоном, а не подстраиваться под него. Так утверждают ее создатели. Это близко к истине, ведь Touch — полноценная Linux-система, где вместо рекламных алгоритмов и трекеров открытый код и возможность самому решать, какие данные и кому отдаешь. Проект запустила Canonical еще в 2013 году, пытаясь объединить настольную и мобильную среды в одной платформе. 

Идея амбициозная, но рынок тогда оказался слишком недружелюбным — в 2017-м компания свернула разработку. Казалось бы, на этом история дистрибутива закончилась, но нет. Исходный код подхватили энтузиасты из сообщества UBports. С тех пор система развивается уже вне корпоративных рамок. Так, свежая версия 24.04-1.0, которая вышла 1 октября 2025 года на базе Ubuntu 24.04 LTS, стала для проекта новым стартом: она переносит Ubuntu Touch на современную основу и возвращает ей актуальность.

Читать далее

Как LLM помогают ученым

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

Всем привет! Меня зовут Николай Никитин, я руковожу лабораторией автоматического машинного обучения в Институте ИИ ИТМО. Сегодня я бы хотел сделать небольшой экскурс в то, как методы и модели ИИ позволяют автоматизировать решение прикладных задачам в разных областях науки.

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

Под катом ― о том, как AI4Science выглядит сегодня, почему всю науку нельзя отдать на откуп LLM и в какой форме они наиболее полезны.

Читать далее

Группировка сабтестов в Go: от простого к сложному

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

Команда Go for Devs подготовила перевод статьи о том, как правильно группировать сабтесты в Go. Автор показывает, что в большинстве случаев достаточно держать тесты плоскими, а когда нужна разная инициализация и очистка — добавить лишь один уровень вложенности. В статье разбираются плюсы и минусы разных подходов: от ручных t.Run до reflection-хаков и сторонних библиотек.

Читать далее

Как сокращение полных путей файлов в логах влияет на производительность и размер Браузера

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

Всем привет! Меня зовут Илья Кара́псин, я работаю над производительностью Яндекс Браузера. Задачи моей команды включают не только работу над самим браузером, но и прямое улучшение используемых в нём опенсорс‑решений, например Chromium и применяемых в нём проектов (Blink, V8, Catapult), в том числе и компиляторов (LLVM Clang). Другими словами, мы вносим вклад в сообщество. При этом поиск и создание улучшений для сторонних опенсорс‑проектов может стать прямой рабочей задачей даже в ходе стажировки.

К слову, моя работа в Браузере как раз с неё и началась. При отборе положительно сказалось наличие у меня pet‑проектов: отдельного внимания заслужил проект, использующий озвучку и SFX (сноска: сокращение от англ. sound effects — звуковые эффекты) из Heroes of Might and Magic V. Так удивительно совпало, что мой будущий руководитель ранее работал в Nival Interactive как раз над этой игрой.

А в этой статье я расскажу о том, как обычное сокращение полных файловых путей в логах до имени файла (например, path/to/filename → filename) может повлиять на размер исполняемых файлов и производительность Браузера, а также внести вклад в проект LLVM Clang.

Читать далее

Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32

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

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

В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485.

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

Исходный сигнал разделяется на два синхронных сигнала, передаются они по двум проводникам - линия А и линия В образующих витую пару.

На линии А передается исходный сигнал, а на линии B формируется инверсное отражение, в приемной части установлен дифференциальный усилитель, который вычисляет разность потенциалов между линиями:

Если разность положительная (+200 мВ) - логический 0;

Если разность отрицательная (-200 мВ) - логическая 1.

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

Читать далее

Неклассическое чтение для руководителей: разбор научных статей по открытым стратегиям и корпоративному open source

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

В новой подборке материалов по стратегическому менеджменту и маркетингу (первая и вторая) — академическая литература с фокусом на open source-стратегиях и управлении компанией в контексте открытой разработки. Статей по теме выходит не так много — не более пары десятков в год. Дело в том, что изучением open source с позиции стратегического управления занимается всего несколько человек в мире.

Рассказываю о четырех научных статьях 2025 года. Первая работа предлагает новый аналитический фреймворк для топ-менеджеров, корпоративных стратегов и исследователей. Вторая — поднимает ряд общих вопросов по теме изменения OSS-лицензий. Третья — рассматривает кейс известного open source-консорциума, а четвертая статья посвящена роли «якорных» компаний в открытых экосистемах.

Читать далее

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

Создаём RISC-V микроконтроллер на курсах повышения квалификации в МИЭТ

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

Что если я скажу, что вы — да, именно вы — можете всего за одну неделю спроектировать собственный RISC‑V процессор, собрать на его основе микроконтроллер, и запустить на нём C‑программу? При этом не нужно быть аспирантом кафедры ВТ или выпускником MIT — достаточно инженерной базы, интереса и участия в интенсивном курсе повышения квалификации под руководством опытных преподавателей из МИЭТ.

В этой статье — личные заметки выпускника интенсивного курса после прохождения такого курса, от первой мысли «а почему бы не попробовать» до запуска кода на собственной системе на базе архитектуры RISC‑V. Автор, как технический специалист без опыта проектирования процессорных систем, от своего лица любезно поделился для нашего блога рассказом о том, как проходило обучение, какие инструменты использовались (SystemVerilog, Vivado, FPGA‑плата Nexys A7-100T), какие задачи решались и какие знания реально получаются на выходе.

Статья будет особенно интересна тем, кто интересуется аппаратной инженерией, любит электронику, но никогда не заглядывал в мир САПР, HDL и проектирования процессоров.

Читать далее

Camunda 7, почему «форк» – это правильно

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

Статья посвящена неоднозначной ситуации, вызванной действиями крупного иностранного вендора – компании Camunda Services GmbH, который объявил об изменениях в своей продуктовой и лицензионной политике, повлекших за собой полное прекращение развития широко распространенной open-source версии BPM-движка Camunda 7 CE.  

Читать далее

Как я пытался ускорить анализ 12 000 комментариев с помощью GPU за 50 тысяч, но победил процессор

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

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

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

Хабр — 4 497 комментариев

Т‑Ж — 4 186

Смартлаб — 1 998

Пикабу — 726

Вручную искать в этом массиве текста слова поддержки — долго и нудно, а главное — совершенно не масштабируется. Так родилась идея: поручить всё локальной нейросети для анализа тональности. Заодно я хотел на практике разобраться с моделями на основе BERT.

Для этой цели у меня был, как мне казалось, идеальный инструмент: компьютер с Ubuntu 24 LTS, Docker и мощной NVIDIA GeForce RTX 5060 Ti на 16 ГБ. Казалось, что с RTX 5060 Ti на 16 ГБ анализ пройдёт молниеносно. Но на деле именно GPU стал главной точкой отказа — пришлось всё считать на CPU.

Код на GitHub.

Читать далее

Опыт гуманитария в дообучении LLM с помощью WebUI Text Generation

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

Продолжаю делиться опытом освоения нейросетей человеком с гуманитарным образованием и без IT-бэкграунда. На этот раз моей целью было разобраться, как происходит дообучение готовых LLM-моделей, как выстраивать процесс, какие использовать данные, модели, настройки и прочее. Зачем мне это понадобилось?

Во-первых, это вызов самому себе. Юристов, которые смогли бы дообучить языковую модель под свои задачи, думаю, единицы. Хотелось стать одним из тех, кому это по силам, тем более что тема мне интересна.

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

Но для этого нужно понимать, как устроен процесс обучения и из каких элементов он состоит. На момент, когда я взялся за эту тему, у меня были только идея и желание разобраться. Я понимал, что нужно начинать с малого, двигаться небольшими шагами от простого к сложному. Поскольку среди моего окружения не оказалось людей, разбирающихся в этой теме, а понятных гайдов по обучению я не нашел, все мои вопросы по обучению адресовались Grok, Qwen, Deepseek, Gemini и ChatGPT (только бесплатные версии).

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

Читать далее

Embox поддерживает новый российский микроконтроллер от компании Миландр с архитектурой RISC-V

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

Недавно мы добавили в открытую ОСРВ Embox поддержку российского микроконтроллера на RISC-V, о чем я и хочу рассказать в данной статье. Речь пойдет о микроконтроллере MDR1206FI от компании «Миландр».

Читать далее

NeuTTS Air: открытая модель синтеза речи, которая работает прямо на вашем устройстве

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

2 октября 2025 года компания Neuphonic представила NeuTTS Air - открытую модель преобразования текста в речь, которая кардинально меняет подход к синтезу голоса. Главная особенность в том, что она работает полностью локально на обычных устройствах без необходимости подключения к интернету или облачным сервисам.

Читать далее

Файловый менеджер Files: ошибки по папочкам

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

Files — это сторонний файловый менеджер для Windows. Он сделан для того, чтобы быть лучшим открытым файловым менеджером для ОС, который поддерживается сообществом. А в этой статье мы взглянем на ошибки в исходном коде Files и внесём свой вклад в open source сообщество.

Читать далее

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