Как «быстрый» кольцевой буфер поднял загрузку CPU с 2% до 25%

Я заменил std::deque на boost::circular_buffer в надежде получить прирост производительности. В реальности получил загрузку процессора в 25% вместо 2%.

Одноплатный компьютер компактного размера

Я заменил std::deque на boost::circular_buffer в надежде получить прирост производительности. В реальности получил загрузку процессора в 25% вместо 2%.

Несколько лет назад я купил MIDI-клавиатуру. И как это часто бывает с вещами, о которых долго мечтал: поигрался, сбил свой интерес и положил пылиться на полку. Но вот недавно у меня возникло желание сделать из MIDI-клавиатуры синтезатор.
Многие могут спросить: а в чём проблема? Взял МIDI-клавиатуру, подключил к компьютеру или смартфону с программой и играй сколько хочешь. Но у меня другая цель — понять, как нажатие на клавишу превращается в звук.

Как устроен KalinkaPlayer: модульный бэкенд, нативный аудиоплеер, пайплайн метаданных и мобильное управление в одном проекте.

Описываю настроение словами — и Raspberry Pi находит подходящие треки в моей коллекции, полностью локально, без облака и подписки. Как это устроено внутри.

В предыдущей статье я описал процесс компиляции модели yolo8n в HEF-файл для нейрочипа HAILO-8L в модуле HAT+. В этой работе я оцениваю быстродействие инференса нескольких моделей YOLO для этого же чипа.

Bjorn — это инструмент, подобный тамагочи, только для хакеров пентестеров, который сам сканирует сети, находит, оценивает и даже может эксплуатировать уязвимости, разработанный для работы на Raspberry Pi с 2,13-дюймовым e-Paper HAT.
Я захотел себе такую штуку и делюсь с вами подробным гайдом о том, как самостоятельно собрать себе собственный Bjorn.

В одной из своих статей я уже рассказывал, как из Raspberry Pi Pico сделать USB CD-ROM. Так как размер флеш-памяти Pico ограничен, поместить что-то серьёзное в образ, который будет находиться во флеш-памяти невозможно. Можно попробовать разместить образ на флеш-карте и использовать модуль для неё, но я нашёл более интересное с точки зрения используемых технологий решение. Эмулировать образ, который находится в интернете. Образа многих дистрибутивов Linux доступны для загрузки с сайта.

Подготовка модели Yolo для запуска на базе Hailo чипа для Raspberry Pi 5 AI HAT+.
Если есть интерес к легким аппаратным решениям в области ИИ, то добро пожаловать. В статье я затрагиваю вопрос подготовки модели детекции к работе на компактной малинке.

Я продолжаю освещать работу с USB на Raspberry Pi Pico. В текущей статье хочу привести пример, как можно использовать Raspberry Pi Pico в качестве загрузочного USB-устройства.

Правообладатели убирают треки, платформы выполняют требования по контенту. Решение — свой стриминговый сервер. Navidrome + Docker: поднимается за один вечер на любом Linux, работает со всеми Subsonic-клиентами.

Одноплатники большинства производителей давно перестали быть просто альтернативой Raspberry Pi. Ну а за последние несколько месяцев появились платы с 10-гигабитной сетью, поддержкой нескольких NVMe-накопителей, памятью LPDDR5 объемом до 16 ГБ и новыми RISC-V процессорами, которые постепенно выбираются из категории экспериментальных разработок.
В этот раз посмотрим на несколько совершенно разных новинок: от ODROID-H5+ с четырьмя слотами M.2 и процессором Intel N300 до компактного Orange Pi Zero 3W размером 65 × 32 мм. Отдельно затронем и Raspberry Pi 6 — самой платы пока нет, но начинают появляться первые подробности. Поехали!
Я большой поклонник «Формулы-1», и поскольку гонки в Саудовской Аравии и Бахрейне на тот момент сезона не были включены в календарь, ожидание следующего уикенда казалось слишком долгим. Поэтому вместо того, чтобы ждать с нетерпением, я решил собрать свой собственный контроллер в виде гоночного руля, чтобы сделать впечатления от «Формулы-1» максимально домашними.

Один из ярких воспоминаний детства — просмотр семьёй диафильмов. Выключался свет, и на самодельном экране из простыни мы смотрели сказки. Детское воображение дорисовывало детали, и картинки оживали.
Сейчас в эпоху интернета, мультимедиа и ИИ вроде бы как такой необходимости нет, но слишком сильное чувство ностальгии. Поэтому решил получить ностальгические воспоминания с использованием современных технологий, а заодно и попрактиковаться в использовании энкодеров, разработке программ на Си и настройке Linux на Raspberry Pi.

Что будет, если попытаться нейросети дать доступ к реальным датчикам, исполнительным механизмам и рассказать, как этим пользоваться? Поймёт ли она? И озадачиться, как склеить её ответы в поток сознания?
У меня были Raspberry Pi 2B (256 Мб RAM), прочитанная “Ложная слепота” Уоттса, желание пощупать применение нейросетей и некоторое количество времени, а получился проект “Экипаж”.
Предупреждение: всё описанное дальше пилилось для использования и с помощью нейросетей.

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

В конце прошлого года меня уволили с работы. Кризис наступает на пятки всем айтишникам, и я не стал исключением. Начал искать, чем можно занять освободившееся время, так с партнером и придумали идею нового проекта — игрового автомата на базе движений! Ну а дальше всё, как в тумане: железо, бэкенд, фронтенд, эквайринг, обкатка и первые реальные прод…

Можно ли успешно эксплуатировать Java-приложение на Raspberry Pi Model B? А если Java — 21‑я, а Spring Boot, на котором основано приложение — версии 4.0.5? Когда сборка «автомагически» оформляет .jar-файл размером под 40 мегабайт, а у «Малинки» тех мегабайт всего 512, и не забываем про операционную систему и рантайм Java. И как «до такого» [соотношения имеющихся и используемых ресурсов] можно «докатиться»?
TL;DR;-версия: можно. Если допустимо время старта около 5-и минут и расход примерно 40% доступной оперативной памяти, то приложение может работать в режиме 24/7 месяцами, обеспечивая вполне достойное (с учётом производительности «Малинки») время отклика. А «докатиться» оказалось легко, однажды «поскользнувшись» на DIY-рецептах из Интернета, и в качестве альтернативы опробовав методологию «клятого энтерпрайза» в домашнем pet-проекте.

У меня на полке стоит NanoPi Fire3 — старинный SBC с Linux на борту. С течением времени он неизбежно обрастает периферией разной степени бесполезности. Среди прочего, конечно же, в нем прописался экранчик LCD2004 (даже два) со светодиодной подсветкой, который освещал ночную квартиру, как прожектор.
С одной стороны — удобно ходить в туалет, не включая свет, с другой — захотелось гламура, как в мобилке, чтобы, чем меньше вокруг света, тем тусклее была бы подсветка. Для этой цели нужно этот свет как‑то измерять, так что ассортимент периферии было решено расширить датчиком освещенности VEML7700. О том, как я приспосабливал его к делу, и пойдет речь далее.

Продолжаю рассказывать о своём опыте создания BLE адаптера для USB-клавиатуры, которым уже пользуюсь каждый день.
Собранный ранее на макетной плате адаптер с подключённым pico debug был хорош тем, что можно было экспериментировать, набираться опыта, но пользоваться таким адаптером как устройством неудобно: нет корпуса и нет автономного питания.
В комментариях к прошлой статье читатели упоминали, что китайцы продают адаптеры, по функционалу похожие на мой, но пользоваться такими адаптерами также неудобно. C хостом действительно беспроводной канал, а вот кипу проводов к самому адаптеру никто не отменял.
Стремление к универсальности часто приводит к неудобным решениям, поэтому я сосредоточился на своей клавиатуре Kingston HyperX Alloy.

Статья о том как я пришёл к DIY (самодельному по нашему) гитарному процессору. Пользуюсь им последние пару лет, с двумя разными прошивками. Расскажу как допиливал что не хватало, в том числе с помощью LLM и опишу свои впечатления и даже выложу пример звучания.