Recently, I was in the market for a Class-D amplifier
to replace an aging model. This article reviews the very compact
Fosi Audio TSA7498E 2 channel amplifier I bought from a China
based business, via Amazon. tl;dr: Can't recommend, use something
I2C is a simple open-drain bus that is popular for
connecting devices to microcontrollers (MCUs), such as
sensors, RTCs, displays etc. Devices on the I2C bus are
addressed by 7 bits and the bus data and clock lines are
pulled-up by a set of pull-up resistors. A good first test …
This article describes how to measure a pulse-width-modulated
(PWM) signal using the Pokit Meter device.
The Pokit Meter is a very small digital multimeter (DMM) like device
that can be interfaced over Bluetooth Low Energy (BLE). Due to
its design and small form factor it comes with many limitations,
The GD32VF103 is an inexpensive 32 bit RISC-V CPU that integrates
a bunch of peripherals. In other words, it's a cheap RISC-V
microcontroller (MCU). This article describes how to hook it up, to
set up an development environment and do some first steps with
It's well known that syscalls are expensive. And that
software mitigations against CPU bugs (such as Meltdown) even
have made them more expensive. But how expensive are they really?
To begin to answer this question I wrote a small
micro-benchmark in order to measure the minimal costs of a
More and more open source projects seem to switch to the Meson build tool, in the last years.
In an attempt to quantify this development I looked at the build tools usage by Fedora packages, during the last 14 years.
The beauty of perfect hashing is that you never have to deal with
any collisions during item lookup.
I recently created libphashtable, a perfect hashing hash table library for
C/C++ which focuses on minimizing item lookup latency jitter.
This article presents benchmarking results that show how its lookup
Deploying a new virtual machine 'in the cloud' is simple enough
and fast. As long as one doesn't need to setup an encrypted root
filesystem. This article shows how to automate the setup of a
Fedora system with an encrypted root filesystem remotely - 'in
the cloud' - on e.g. a …
When deploying a VM in a remote location one might end up in an
impossible situation: a VM base image doesn't contain SSH
host keys as otherwise the image couldn't be shared between
multiple hosts. But if SSH host keys are auto-generated during
the first boot one doesn't know their …