Клавиша Compose
Клавиша compose позволяет вводить специальные символы в Linux типа ä или á.
Для этого нужно сначала коротко нажать compose затем клавишу модификатор, например ', затем модифицируемую клавишу, например e.
compose . e | ė |
compose ' e | é |
compose " e | ë |
compose _ e | ē |
compose - e | ē |
compose ? e | ẻ |
compose # e | ♪ |
compose s s | ß |
Еще больше сочетаний можно найти на страничке в википедии посвященной клавише Compose.
Физически на клавиатуре нет клавиши Compose. В качестве клавиши Compose можно назначить любую клавишу по выбору. По умолчания в Linux в качестве Compose настроен правый ctrl.
Получается, с клавишей Compose для набора текстов на немецком или испанском языках специальные национальные клавиатуры становятся не нужны.
Однако, с этой клавишей есть одна существенная проблема - клавиша Compose не поддерживается из коробки в Windows но есть большое разнообразие программ для ее емуляции например WinCompose. Для Macos все сложнее, на маке используются собственные сочетания клавиш для набора специальных символов и диакритики, поэтому проектов для поддержки клавиши Compose не так много но они тоже есть.
Копирование текста из терминала без мыши
При работе в терминале, иногда бывает необходимо скопировать часть экрана без помощи мыши. Для решения этой задачи вам может пригодиться команда screen которая значительно расширяет возможности работы со стандартным терминалом.
Одной из полезных функций этой программы является так называемый copy-режим когда экран можно скролировать и выделять.
Чтобы скопировать часть экрана в терминале а потом вставить проделайте следующее:
- Запустите команду screen
- Для входа в copy-режим нажмите CTRL-A ESC
- Стрелками или клавишами hjkl перейдите в начала блока, который нужно выделить
- Нажмите ENTER для начала выделения
- Стрелками или клавишами hjkl перейдите в конец выделения, при этом выделенный фрагмент будет подсвечен
- Нажмите ENTER еще раз. Команда screen перейдет в нормальный режим.
- Для извлечения скопированного фрагмента из буфера наберите CTRL-A ]
Screen может пригодиться и для многих других вещей, например, для сохранения долгой терминальной сессии на сервере, когда нет возможности поддерживать соединение постоянно.
Вот здесь нашел хорошую шпаргалку на этот случай.
Распознавание голосовых заметок
Долгое время не давало покоя навязчивое желание реализовать автоматическое распознавание своих голосовых заметок.
На мобильнике у меня стоит диктофон, куда я время от времени наговариваю голосовые заметки. Заметки эти чаще всего так и остаются в виде файлов и остаются лежать мертвым грузом. Лишь изредка я их преобразую в текст и куда нибудь сохраняю. Как было бы здорово если бы распознавание заметок происходило автоматически без моего вмешательства!
Но ведь яж компьютерщик! Сегодня, наконец, удалось завершить начатое и автоматизировать процесс!
Записанные заметки я синхронизирую при помощи Syncthing на свой маленький домашний сервер. На сервере небольшой bash скрипт по crontab каждые десять минут проверяет не появился ли новый wav файл из диктофона и, если появился, скармливает его системе распознавания Kaldi. Полученный текстовый файл сохраняется на диске и пересылается на мою электронную почту.
Решение не требует никаких внешних API типа Google или Яндекса - все происходит в оффлайне. Правда, из-за этого, решение достаточно объемное - языковая модель весит около гигабайта и ещё примерно столько же - сама система распознавания. Работает, однако, решение достаточно надёжно. Пока поддерживается только русский язык, но вполне возможно научить распознавать и другие языки.
Кстати, русская языковая модель больше не доступна на сайте разработчика. У меня сохранился старый архив, если кому-нибудь будет нужна - дайте знать, - поделюсь.
Биткоин клиент на Raspberry Pi Zero W
Эксперимент по запуску Bitcoin Core на Raspberry Pi завершился неудачей. Несмотря на то, что клиент удалось скомпилировать из исходников, запустить и даже, путем копирования файлов с другой машины увидеть текущий баланс кошелька, по факту, быстродействия устройства не хватает даже для того чтобы поддерживать локальное состояние актуальным. Возможно, если перенести хранилище в оперативную память и подкрутить настройки, то получится его все-же использовать, но, оказалось, есть вариант проще.
Существует легковесный клиент Electrum! Сам клиент написан на Питоне и его инсталляция не представляет проблем.
У меня сработали следующие команды:
# install all needed packages:
sudo apt-get install python3-pyqt5 python3-setuptools python3-pip libsecp256k1-0 python3-cryptography
# download client
wget https://download.electrum.org/4.2.2/Electrum-4.2.2.tar.gz
# install client with pip
python3 -m pip install --user Electrum-4.2.2.tar.gz
# create startup link
sudo ln -s ~/.local/bin/electrum /usr/local/bin/electrum
# start the client
electrum
Если все прошло успешно программа попросит создать кошелек по умолчанию, создаст сид и попросит ввести пароль чтобы зашифровать кошелек.
Вот и все, можно пользоваться! Физически мы создали аппаратный биткойн кошелек, имеющий размер в половину визитной карточки, а если вытащить SD карту, которая, по факту и является аппаратным кошельком, то еще меньше!