Вывод в Serial Monitor в Arduino IDE

Чтобы получать вывод c серийного порта в Serial Monitor в Arduino IDE необходимо, чтобы до первого вывода один раз в программе был выполнен следующий код:
while(!Serial.available());
где Serial соответствует серийному порту, с которого хотим получить вывод.
При запуске программа на этой строчке войдет в бесконечный цикл - в это время надо открыть Serial Monitor и отправить какой-нибудь символ в порт. После этого выполнение программы продолжится, а аргументы команды
Serial.print();
будут печататься в окне Serial Monitor.

Ubuntu: Как проиграть Raw PCM аудио файл в командной строке Ubuntu 14.04

Чтобы проиграть аудио файл представляющий из себя сырые PCM данные (без заголовка) можно, например, воспользоваться командой:
mplayer -rawaudio samplesize=2:channels=2:rate=44100 -demuxer rawaudio test.raw
Она проиграет PCM стерео файл, по 2 байта на сэмпл, с частотой сэмплов 44100 Hz.
Ну а если не нужно играть в терминале, можно просто воспользоваться Audacity.

Tar: как разархивировать multipart-архив в командной строке

Разархивировать tar-архив, состоящий из множества частей, из командной строки можно с помощью следующей команды:
cat archive.tar.* | tar xvf -

Ubuntu 14.04: как удалить все старые ядра

При загрузке обновлений Ubuntu может жаловаться, что на диске /boot недостаточно свободного места. Скорее всего, это значит, что там хранятся старые версии ядра. Удалить их можно следующим образом:
сначала выясняем, какая версия ядра используется в данный момент, с помощью команды:
uname -r
Далее выводим список других установленных ядер:
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]'
и убеждаемся, что в этом списке нет используемого ядра.
Далее можно переправить вывод предыдущей команды на вход команды "sudo apt-get -y purge":
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]' | xargs sudo apt-get -y purge
После этого все ядра из списка будут удалены.
Источник.

Git: как объединить все коммиты в один

Чтобы объединить все предыдущие коммиты в один (например, чтобы удалить всю историю), можно воспользоваться командой:
git rebase --root -i
После этого список всех коммитов откроется в текстовом редакторе, и напротив каждого из них, кроме первого, нужно будет заменить слово "pick" на "squash". Тогда все предыдущие коммиты будут включены в тот, который находится на первом месте в списке. Затем его можно отредактировать:
git commit --amend --author "Name <e-mail>" --date="$(date -R)" 
Но можно сделать это быстрее с помощью команды:
git reset $(git commit-tree HEAD^{tree} -m "commit message")
которая создаст новый коммит на основе всего существующего дерева.
В обоих случаях при публикации изменений необходимо добавлять опцию "-f":
git push -f

Qt 5.4: Отладка запуска приложения из командной строки

При развертывании приложения написанного с помощью Qt и, в частности, QML иногда полезно посмотреть, какие Qt и QML модули оно пытается найти. Особенно, если оно их найти не может. Например, в случае следующих ошибок:
This application failed to start because it could not find or load the Qt platform plugin "xcb" или
module "QtQuick.Window" is not installed Для этого можно выставить две переменные окружения:
QT_DEBUG_PLUGINS=1 - добавит вывод в консоль информацию о том, какие Qt плагины и где приложение пытается найти, и
QML_IMPORT_TRACE=1 - добавит вывод в консоль аналогичную информацию о модулях QML.
Ну и упомянутые выше ошибки можно вылечить, выставив следующие переменные окружения:
QT_QPA_PLATFORM_PLUGIN_PATH=/path_to_qt/Qt/5.4/gcc_64/plugins - для того, чтоб приложение смогло найти плагин xcb, и
 QML2_IMPORT_PATH=/path_to_qt/Qt/5.4/gcc_64/qml/ - для того, чтобы приложение смогло найти установленные модули QML

Ubuntu 14.04: как автоматически запустить скрипт после запуска ssh

В Ubuntu 14.04 по умолчанию в качестве менеджера загрузки системы используется upstart. Он отвечает в том числе за загрузку сервисов во время загрузки системы и еще он event-based. Поэтому, чтобы заставить свой скрипт выполняться, например, сразу после загрузки ssh, нужно создать такой файл конфигурации для upstart:
description ""
author ""

start on started JOB=ssh
script
    exec /full/path/to/script &
end script
и поместить его в каталог  /etc/init с расширением .conf (например, start_my_script.conf).
Полное описание возможностей upstart можно найти здесь.