понедельник, 17 июля 2017 г.

GM to MT-32 translation

Say, you have Roland MT-32 (a wonderful vintage synth) and want to play random MIDI files through it which obviously are General MIDI. But MT-32 is instrument-incompatible with GM because it was produced before GM was proposed.
But it's possible to substitute the instruments (aka "Program Change" in MIDI).

четверг, 13 апреля 2017 г.

Я — экспериментатор...

Порой бывает полезно отойти на пару шагов от мэйнстрима и попробовать что-то новое, вроде как "сыграть новым мячом на старом поле". Эксперимент в этой статье — программирование для микроконтроллеров на базе ARM Cotrex M3+ (линейка STM32) на новом и современном языке низкого уровня Rust.

среда, 8 февраля 2017 г.

Модуль DevHelp для API STM32 HAL

пришло время написать о новом увлечении: микроконтроллеры. Понятно, что я неминуемо бы ими занялся, т.к. эмбедщина это в первую очередь микроконтроллеры.
Начав с так популярного сейчас Arduino, скакнул к STM32 на вычислительном ядре ARM Cortex-M. Ну, пока не продвинулся сильно дальше "Hello, world!", что в мире МК выглядит, как Blink, то есть моргание светодиодом 😉
Так что первый побочный выхлоп документация для программирования "STM32F1xx HAL Drivers".
Установка элементарная: надо распаковать в папку $HOME/.local/share/devhelp/books/

понедельник, 30 ноября 2015 г.

новая батарея... новая жизнь!

Завелась такая беда с планшетом: при заряде батареи меньше половины экран временами начинал моргать, планшет выключался. В результате даже пару раз (!) повреждался /efs.

воскресенье, 24 мая 2015 г.

Unbricking Samsung Galaxy Note 8.0

Случилось с планшетом жены: планшет не грузится. Покрутил так и этак. Зашёл в рекавери. В стандартном рекавери, понятно, много не сделаешь.
Сделал сброс к заводским настройкам (прощай, содержимое /sdcard! :(  ).
Ничего не помогло. Планшет не грузится, бесконечный процесс загрузки даже с очищенными /data и /cache .
Единственный намёк на источник проблемы --- сообщение о невозможности примонтировать /efs в стандартном рекавери. Но решения-то нет!
Что ж, прошиваем кастомный рекавери с помощью Heimdall.
Ура нормальному рекавери! есть доступ через adb.
Действительно, проблема с разделом /efs . Чиним *), **):
e2fsck /dev/block/mmcblk0p3
На все вопросы соглашаемся.
Порядок!

*) конечно, я подстраховался перед этой операцией, сделав бэкап:
adb pull /dev/block/mmcblk0p3
**) команда e2fsck запускается на самом планшете, куда можно попасть с adb shell

суббота, 14 февраля 2015 г.

Новая пачка словарей

Для Aard2 стоило бы иметь побольше словарей, обычных, например, Русско-Английский, а, поскольку формат довольно новый и официально нестабильный, то их пока не так много.
В качестве небольшого упражнения я сконвертировал свободные словари Stardict.
Скрипт конвертации тут. Его можно использовать, чтобы аналогичную операцию провести над другими словарями, которые можно найти в репозитариях дистрибутивов Linux.
Собственно, получившиеся словари:
В aar и xdxf форматах словари не все, но недостающие легко получить, запустив скрипт самостоятельно.
Как всегда, если есть пожелания или вопросы — прошу в комментариях.

понедельник, 15 декабря 2014 г.

BCM43142/Linux problem

There's a problem using notebook Wi-Fi card BCM43142 by Broadcom in Linux.
It sometimes rejects to connect to a network. Kernel log shows the problem:
Dec  7 19:39:56 it kernel: [10269.636717] WARNING: CPU: 0 PID: 450 at net/wireless/sme.c:790 cfg80211_roamed+0x92/0xa0 [cfg80211]()
Dec  7 19:39:56 it kernel: [10269.636718] Modules linked in: ...
Dec  7 19:39:56 it kernel: [10269.636762] CPU: 0 PID: 450 Comm: wl_event_handle Tainted: P         C O 3.14.22-std-def-alt1 #1
Dec  7 19:39:56 it kernel: [10269.636764] Hardware name: ASUSTeK COMPUTER INC. X555LN/X555LN, BIOS X555LN.308 08/06/2014
That's so unpleasant...
I was confused that unloading/reloading the module (wl) doesn't help!
Then I found that should also kill wpa_supplicant!
# modprobe -r wl ; killall wpa_supplicant  ; modprobe wl
Then it helps!
I also reported to Broadcom but still no answer...