Blogs / Personal blogs

Michael Stapelberg

michael.stapelberg.ch

Michael Stapelberg’s private website, containing articles about computers and programming, mostly focused on Linux.

Popular posts
19
Total points
5,458
HN comments
4,127
Rank
#186 personal

Visit michael.stapelberg.ch → RSS feedOn Hacker News Mar 2019 – Aug 2026

Hardware & Electronics 8Software Engineering 7Systems & Performance 6Infrastructure & DevOps 5Life, Learning & Writing 4Networking & Internet 3

1

Can I start using Wayland in 2026?

Wayland is the successor to the X server (X11, Xorg) to implement the graphics stack on Linux. The Wayland project was actually started in 2008, a year before I created the i3 tiling window manager for X11 in 2009 — but for the last 18 years (!), Wayland was never usable on my computers. I don’t want to be stuck on…

2

How does rsync work?

This post is the third article in a series of blog posts about rsync, see the Series Overview. With rsync up and running, it’s time to take a peek under the hood of rsync to better understand how it works. How does rsync work? When talking about the rsync protocol, we need to distinguish between:

4

Systemd: Enable indefinite service restarts

When a service fails to start up enough times in a row, systemd gives up on it. On servers, this isn’t what I want — in general it’s helpful for automated recovery if daemons are restarted indefinitely. As long as you don’t have circular dependencies between services, all your services will eventually come up after…

5

Tracking down a Zsh history data loss bug

For many years, I sometimes discovered that commands I was sure I had run were no longer present in my Z shell history file (~/.zsh_history). In this article, I will show you how I tracked down the bug. Spoiler: ultimately, patching Zsh to make it crash loudly and analyzing the crash’s core dump was the winning…

6

Minimal Linux Bootloader debugging story

I maintain two builds of the Linux kernel, a linux/arm64 build for gokrazy, my Go appliance platform, which started out on the Raspberry Pi, and then a linux/amd64 one for router7, which runs on PCs. The update process for both of these builds is entirely automated, meaning new Linux kernel releases are automatically…