Как стать автором
Поиск
Написать публикацию
Обновить
389.82

Open source *

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

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

Оптимальный выбор файловой системы и создание драйвера для OSPI Flash с GitHub Copilot

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

Файловая система во встраиваемых решениях — критическое звено. От её выбора зависят надёжность, детерминированность и задержки всей системы.

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

На практике всплывают одни и те же проблемы: дефрагментация, высокое потребление RAM, плохая детерминированность (плавающие задержки), неустойчивость к сбоям записи/питания и низкая скорость. Нередко корнем оказываются драйверы из SDK производителей чипов: они не оптимизированы для многозадачной среды и часто недоработаны под OSPI.

Я протестировал четыре файловые системы на платформе MC80 с внешней OSPI NOR Flash и разработал специализированный драйвер вместо стандартного из FSP — с полноценной поддержкой OSPI и RTOS.

Читать далее

Новости

Небольшое ретро-программинг приключение, или как я снова полюбил кодить

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

Когда много лет руководишь командами, легко забыть, каково это - просто сесть и закодить что-то самому.

Эта статья о том, как я сделал фэнтези-консоль под DOS, и снова влюбился в программирование.

Читать далее

Собрал ИИ-бота для переписок в телеграме, чтобы взять ещё один (стопятьсотый) проект

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

Собрал чат-бота, чтобы тот отвечал за меня в Телеграм: быстро и без пассивной агрессии (как я). Бонусом добавил шифрование логов, whitelist для доступа, историю чатов для персонализации и RAG с автообновлением базы знаний через Git.

В статье — пошаговая инструкция, как запустить ИИ-бота на базе Gemma 3 с Ollama в телеграм.

Читать далее

Ставим шину AHB-Lite на ядро YRV

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

При разработке SoC много говорят про RISC-V, а вот информации про шину AHB-Lite сравнительно мало. Все, что есть на русском языке, касается старого проекта MIPSFpga. Почему бы не взять открытые наработки из MIPSFpga Plus и не использовать совместно с ядром RISС-V?

Читать далее

Книга: «Изучаем Kali Linux»

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

Привет, Хаброжители! Дистрибутив Kali Linux, включающий сотни встроенных
утилит, позволяет быстро приступить к тестированию безопасности. Однако наличие такого количества инструментов в арсенале Kali Linux может ошеломить. Во втором издании описываются обновленные возможности утилит и подробно рассматриваются цифровая криминалистика и реверс-инжиниринг.

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

Читать далее

Обновления Telegram-бота для технической поддержки: API для внешних источников и новые возможности

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

Всем привет! Вы просили - я сделал! Я выпустил релиз №3 для бота технической поддержки на GitHub.

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

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

В этой статье расскажу о новом API для подключения внешних источников — живых чатов, CRM и других систем, а также о других важных обновлениях и планах на будущее.

Читать далее

AsmX G3: Архитектура кодировщика ZGEN. Как hwm генерирует машинный код amd64

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

Большинство компиляторов — это монолитные черные ящики, унаследованные из прошлого. Мы отвергли этот путь. Мы разбираем архитектуру x86_64 до "первых принципов", чтобы понять, как на самом деле работает кремний. В этой статье мы вскрываем капот нашего компилятора ZGEN и его "фабрики машинного кода" — hwm. Никакой магии. Только чистая, детерминированная инженерия, которая превращает ассемблер в исполняемые биты.

Перейти к полному техническому разбору

Как не увидеть то, что не хотелось бы видеть, чтобы потом не нужно было развидеть

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

Приветствую! Хочу рассказать про свой мини pet‑проект «Just Skip It!», который я разработала (и надеюсь буду развивать), чтобы автоматически пропускать нежелательные сцены в видео.

Поводом для создания проекта, послужило желание избавиться от «неинтересных» эпизодов, которые, по моему мнению, «не улучшают» семейную коллекцию кинофильмов. Сначала использовались варианты редактирования файлов, от комбайнов — видеоредакторов до батников + ffmpeg, довольно быстро я поняла, что этот метод «не очень», так как неисправимо портит оригинальный файл. Хотелось более гибкого решения, которое позволит быстро и неинвазивно вносить изменения в процесс цензурирования.

Так и родился проект «Just Skip It!». В предлагаемой мной реализации, я использовала медиаплеер VLC, и утилиту на Python, которая управляет плеером через его RC‑интерфейс.

Читать далее

Оценка подхода lock-free списков

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

Привет, Хабр. Меня зовут Роман Ескин, я один из C разработчиков проекта Greengage DB. В этой статье я расскажу, как мы реализовали и протестировали lock-free подход в рамках масштабной работы по внедрению функции удаления брошенных файлов. Приглашаю вас заглянуть во внутреннюю кухню работы нашей команды при оценке этой функциональности.

Введение

Позвольте начать с краткой исторической справки: Greengage DB был запущен в 2024 году как open-source форк Greenplum — Massively Parallel Processing (MPP) аналитической системы управления базами данных, основанной на PostgreSQL. Мы начали этот проект, чтобы поддержать open-source сообщество Greenplum, который неожиданно стал проприетарным продуктом в мае 2024 года. Мы гарантируем дальнейшее развитие Greengage DB, следуя принципам открытости и прозрачности.

Так как Greengage DB основан на PostgreSQL, он унаследовал некоторые его известные особенности и проблемы. Одна из таких проблем, особенно актуальная в распределенных средах — это проблема "брошенных файлов" (orphaned files).

Эта проблема возникает, когда таблица создается и данные загружаются в рамках активной транзакции. Если происходит критический сбой до того, как транзакция будет закоммичена или отменена (например, внезапное отключение питания или неожиданное завершение работы узла базы данных), система проходит процесс восстановления после падения (crash recovery). При этом логическая таблица откатится, но физические файлы данных, связанные с этой незакоммиченной таблицей, могут остаться в файловой системе. Со временем такие брошенные файлы могут накапливаться, занимая место и приводя к ненужному расходу ресурсов. В настоящее время их удаление происходит вручную.

Недавно мы представили новый функционал, который позволяет автоматически удалять такие брошенные файлы. Полная информация об этой возможности доступна в статье Удаление брошенных файлов в Greengage DB.

Читать далее

Вышла 12 версия русского опенсорс голосового помощника Ирина (900+ звезд Гитхаб)

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

Всем привет! Я уже писал про своего голосового помощника Ирину статьи на Хабре: раз, два и три; первый раз был аж 3.5 года назад.

Самое главное — опенсорс проект жив. А если опенсорс жив в течение 3.5 лет — значит, он дошел до какой‑то точки зрелости. А если у него 900 звезд на Гитхабе — значит, им кто‑то пользуется, и даже успешно :)

TL;DR> Python с простой архитектурой. Работает оффлайн, полностью локально и приватно. Можно дописывать свои скиллы через плагины. Плагинов много, есть от комьюнити. Поддержка Home Assistant. Поддержка кучи TTS. Поддержка LLM по OpenAI‑совместимому API, можно сделать онлайн или оффлайн. Есть клиент‑сервер.

Читать далее

Angie 1.10: разбор фич, планы на 1.11

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

Следуя устоявшемуся квартальному ритму выпуска значимых релизов, мы выпустили стабильные версии Angie и Angie PRO 1.10 — форка nginx, развиваемого в основном бывшими ключевыми разработчиками оригинального проекта.

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

А пока — краткий список нововведений, которые будут разобраны ниже:

— автоматическое проксирование и балансировка веб-сервисов в Docker-контейнерах (или Podman);
— автоматическое получение TLS-сертификатов для потокового модуля (stream);
— прием соединений Multipath TCP (MPTCP);
— контроль перегрузки CUBIC в QUIC-соединениях;
— привязка сессий с внешним хранилищем в модуле stream;
— новые режимы привязки сессий при проксировании HTTP-запросов;
— режим постоянного перехода на резервную группу в модуле stream.

Читать далее

CyberCalc@CyberOffice.pro

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

Зачем офисному пакету, где вычисления по формуле присутствуют и в электронной таблице, и в текстовом процессоре, дополнение-калькулятор?

Риторический вопрос.

Хобби оправдывает любые действия вопреки здравому смыслу.

Далее обзор офисного приложения, работающего в среде Apache OpenOffice 4 и производных сборках, далее AOO.

Далее

Экологичное расставание с Алисой: строим полностью локальный и приватный голосовой ассистент

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

Идея отказаться от использования Яндекс Алисы в системе умного дома возникла у меня после новости о принятии Госдумой законопроекта, касающегося штрафов за поиск и доступ к экстремистским материалам в интернете. Казалось бы, при чём тут голосовой помощник? Однако Яндекс входит в реестр организаторов распространения информации, что означает определённые юридические и технические обязательства по хранению и передаче данных.

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

Тем более что сейчас единственным слабым звеном в моём умном доме остается Яндекс Алиса — которая требует постоянного интернет‑соединения даже для выполнения простейших команд управления локальными устройствами.

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

Алиса, извини

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

Как я улучшил свой промпт для генерации кода в OpenAI 4.1 — простой трюк, который РАБОТАЕТ

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

Несмотря на обилие моделей (а я время от времени использую четыре топовые), всё-таки на стыке моих технологий GPT-4.1 даёт лучший результат по сравнению с другими.

 ... я каждый раз сохраняю эти компоненты в файл Google Документы. И каждый раз при генерации новой функции или целого компонента я "вскармливаю" текст из этого документа именно в формате текста. В общем, эта штука работает хорошо.

Пожалуйста, объясни как ты понял мою проблему, почему я считаю что это важно, как ты собираешься это решать и что будет правильным решением.

Читать далее

Самохостинг и технологическая независимость

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

Посмотрев два видео PewDiePie, в которых он узнал об установке Arch (задача эта считается довольно сложной даже для любителей Linux) и о создании трёх проектов (камеры для собаки, устройства для получения информации о погоде/напоминания о питьевом режиме/медитаций и кто знает, что будет ещё) из опенсорсных напечатанных на 3D-принтере деталей, я стал размышлять о самостоятельном проектировании, своём хостинге и технологической независимости. Эти темы уже давно очень близки мне.

Когда меня спрашивают, как начать писать блог или как получить работу, я всегда говорю, что сначала нужно купить домен. Во-вторых, нужно хостить собственный веб-сайт блога, если вы обладаете техническими навыками (впрочем, сегодня это уже несложно). Я говорю так потому, что всё накапливается со временем. Разумеется, вы можете начать с готового блога и не принадлежащего вам URL, но если вы хотите заниматься этим на долгосрочной основе, то что будет дальше? Я видел, как многие люди скачут с WordPress на Medium, потом на Substack, потом на Ghost. Иногда они не выполняют миграцию своих постов, на написание которых было потрачено много времени, а просто создают новые.

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

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

Читать далее

Окно в терминальной стадии

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

Что нужно для взаимодействия с операционной системой исключительно через клавиатуру? Это вопрос, на который каждый разработчик даст свой ответ, и как на него ответили Microsoft, выпустив Windows Terminal?

Читать далее

Docs as Code: наш опыт документирования с LaTeX и Dev container

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

В мире разработки мы постоянно сталкиваемся с технической документацией — она повсюду, от спецификаций API до архитектурных решений. И мы хотим, чтобы документация была структурированной, актуальной и удобной… но в реальности чаще имеем дело с хаотичным набором разрозненных материалов, которые теряются между Confluence, почтой и Google Docs, стремительно устаревают и выглядят небрежно, с «плывущими» таблицами и запутанной структурой. Представили этот беспорядок?

Хорошая новость: есть способ автоматизировать и стандартизировать документацию, сделав её такой же управляемой, как код — через модель docs as code.

В статье вместе вспомним базовые принципы этого подхода, расскажем про наш опыт документирования и поделимся репозиторием с готовым шаблоном LaTeX для максимально быстрого старта без установки зависимостей!

Читать далее

Настройка кастомного декодера для PostgreSQL и редактирование декодера auditd в Wazuh

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

Wazuh — мощная платформа для мониторинга безопасности, которая позволяет анализировать логи систем и приложений. В этой статье мы разберём, как создать кастомный декодер для логов PostgreSQL, чтобы отслеживать подключения, запросы и ошибки базы данных, а также как улучшить дефолтный декодер auditd для более точной обработки системных логов.

Читать далее

AsmX G3: От высокоуровневого ассемблера к нативному коду. Разбираем компилятор ZGEN

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров2.5K

Мы не просто пишем код. Мы строим компиляторы, которые строят код. AsmX G3 — это не обновление, это переосмысление с первых принципов. Приготовьтесь к глубокому техническому погружению в архитектуру нашего нового компилятора ZGEN, где мы вскроем каждый компонент, от ядра до сборщика ELF, и покажем инженерные решения, которые определяют будущее системного программирования.

Читать полный технический разбор

Intel прикрыла Clear Linux: конец эпохи «самого быстрого» дистрибутива

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

Intel внезапно поставила точку в истории Clear Linux — дистрибутива, который больше десяти лет считался одним из самых шустрых в мире Linux. Разработка остановлена, поддержка прекращена, а пользователям настоятельно советуют паковать чемоданы и мигрировать на другие системы. Что привело к такому решению, какие уникальные фичи Clear Linux уже не увидят свет? А главное — что это значит для Linux-сообщества? Разбираемся в подробностях.

Press F
1
23 ...

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