2024

Fri 06 December 2024
Injecting Code into a Linux Process
Tue 09 July 2024
The curious case of nanosleep vs. hr_sleep
Mon 17 June 2024
Blocking Audio Ads

2023

Sat 07 October 2023
Shift Typing

2022

Sat 31 December 2022
Fosi Audio TDA7498E Amplifier Review
Wed 21 September 2022
Scanning I2C addresses
Sun 03 July 2022
Measuring PWM Signals with a Pokit Meter
Sun 08 May 2022
Getting started with the GD32VF103 RISC-V Microcontroller

2021

Mon 30 August 2021
On the Costs of Syscalls
Sat 07 August 2021
The Rise of Meson

2020

Sun 22 November 2020
Perfect Hashing
Tue 17 November 2020
Deploying Full Disk Encryption in the Cloud with Ansible
Fri 05 June 2020
Deploying SSH Host Keys with Digital Ocean Droplets
Sat 25 January 2020
Programming with RISC-V Vector Instructions

2019

Sun 07 July 2019
Announcing MANPATH.be
Sat 23 March 2019
The Anatomy of a Firefox Malware Addon

2018

Sat 15 December 2018
Touch Typing
Thu 10 May 2018
Configuring SPF to make Google happy
Wed 18 April 2018
Work-related Movies

2017

Sun 17 December 2017
Dtracing Passwords for Fun
Sat 12 August 2017
NFS VM Cached Read Illustrated
Sat 01 July 2017
Check CPU Microcode Version on Linux
Thu 15 June 2017
Reasons for Rooting Android
Sun 12 March 2017
Fedora as Grml replacement
Fri 17 February 2017
Updating Samsung SSD Firmware in the 21st Century
Wed 08 February 2017
Btrfs requires noatime
Mon 06 February 2017
Updating the BIOS on a Dell Latitude E7270
Sat 28 January 2017
When curl sends 100-continue

2016

Wed 14 December 2016
Link Layer Discovery Protocol
Sun 16 October 2016
Counting CPU Events
Fri 16 September 2016
SPARC and PPC find benchmark results
Wed 07 September 2016
std::find() and memchr() Optimizations
Fri 22 July 2016
LD_LIBRARY_PATH considered harmful
Tue 19 July 2016
Shipping Books (in Germany)
Sat 16 July 2016
On sprintf() Fails