D-Bus experiments and utilities

I wanted to try some simple Bluetooth programming on Linux, but since the modern way to do this in Linux is through D-Bus, I had to learn about that as well. D-Bus is a high-level way of communicating between processes. The D-Bus protocol is not fixed to a certain programming language, and there exists implementationsContinue reading “D-Bus experiments and utilities”

Yubico Yubikey and PAM

I just purchased a Yubico Yubikey 5 NFC, a hardware authentication device that is plugged into a USB port. It can be used for signing in to your own machice or some web services such as GitHub. Often it is used as part of a multi-factor authentication scheme, so for instance signing in would requireContinue reading “Yubico Yubikey and PAM”

PipeWire and MIDI on Ubuntu 20.04

I sometimes use my external MIDI keyboard and Qsynth to play some music. I got it working, but it wasn’t trivial. An additional problem is created because using MIDI on Linux requires using Jack, which does not work together with PulseAudio. It would be nice to listen to music, for example, from YouTube and toContinue reading “PipeWire and MIDI on Ubuntu 20.04”

Command line tools for binary files

The tools of Unix command line are usually meant for processing line oriented text. Some of those tools can however also handle byte oriented content. In this post I go through some simple use cases. For more complicated uses, hex editors or self-made tools can be more appropriate. Let’s first create two example files:echo -nContinue reading “Command line tools for binary files”

Boost.MultiArray helpers

If one wants to use multi-dimensional arrays in C++, then one option is to use Boost.MultiArray. One of its good properties is that it allows non-zero start indices. For example, one-dimensional multi array could have indices starting from -5 to 5. It is also widely available, since many other software products use Boost, so itContinue reading “Boost.MultiArray helpers”

Design a site like this with WordPress.com
Get started