Welcome!

On here, you will mostly find articles on running my home lab, in the hopes that others can benefit from my own trials and tribulations.

Bahn Journey Nr 4: If it already starts like this...

This one started with 16 minutes of delay right in the first train, before the journey even started. But I still had 13 minutes for my only switchover. So I will be cautiously optimistic. 😅 I ended up arriving only a few minutes late at my switchover station, and after that everything went perfectly fine. Nicely done, thanks Deutsche Bahn! Tally So let’s add this journey to our tally. Date Inconvenience Dest Lateness Overall Lateness Duration 2026-02-12 6 0m 5m 6h13m 2026-02-15 0 58m 58m 7h9m 2026-04-23 2 43m 43m 7h00m 2026-04-27 0 0m 8m 6h13m Totals 2 25m/101m 28m/114m 6h38m/26h35m No inconvenience on this journey at all. ...

April 27, 2026 · 1 min · Michael
A picture of a gamer-y laptop sitting on the tray table of a first class seat in a Deutsche Bahn ICE train. The screen shows the Woodpecker CI web UI for a pipeline run in the Smoekweb project. It shows multiple jobs, some successful, others not. The most interesting one is called 'ut-db'. It is not a normal job, but a service. Its logs are currently open, and it shows the startup of a Postgres database instance.

Bahn Journey Nr 3: Almost!

It is Deutsche Bahn time again! 🎉 And yet again, I’m traveling from the south of Germany to Ostwestfalen, its most exciting part. And incidentally, also the part of the country where the most competent and ravishly good looking people are born. 😇 At the time of writing, the train is perfectly on time. So I’ve got that going for me. But not all is well in the land of white and red trains. Namely, when I went to ordering myself a nice lunch, the menu only showed drinks. Nothing to eat. The nice waiter assured me that food will be available again starting from Cologne. Which is 1) where I’m going to be switching trains today. And 2), that’s two hours from now. 😭 May the gods have mercy on my undying soul. And my grumbling stomach. ...

April 23, 2026 · 2 min · Michael

Smokeweb: Setting up a CI with Go Caches in Woodpecker

In my $dayjob, I’m a build engineer in the CI team of a large company. So I’m reasonably confident that this is going to be only the first post in a long series on the CI setup for my Smoking project. I like CIs and the automated testing they come with. I think it was one of the better ideas the tech industry has come up with. I’m seeing its benefit every day at work. So I also have CIs for most of my private projects. ...

March 18, 2026 · 6 min · Michael

Smoking-Web: Starting the Project

I’m finally ready to start my smoking-web project after finishing the last of the Golang books I wanted to read to prepare. Today, I finished Let’s Go Further. It’s the second book on Go web dev I’ve read, after Let’s Go by the same author, Alex Edwards. Overall, I’ve now spend about five months to learn Go and web development. During that time, I’ve read three books on Go: Learning Go Let’s Go Let’s Go Further All three were well written. Even though I’ve been programming for about 25 years now, I somehow never did web development of any kind. That’s about to change now, and both Let’s Go and Let’s Go Further were great not just for “Webdev in Go”, but also for web development in general. ...

March 8, 2026 · 6 min · Michael

Mosquitto: Update to v2.1

As part of this weekend’s regular service update, I also came across Mosquitto’s new 2.1.2 release. This is my tale… I’m using Mosquitto as the MQTT broker for my IoT thermostats and smart plugs. If you’re interested, you can find more details on my setup in this and this post. The changelog of the new release contained a few interesting points: The acl_file option is deprecated in favour of the acl-file plugin, which is the same code but moved into a plugin. The acl_file option will be removed in 3.0. The password_file option is deprecated in favour of the password-file plugin, which is the same code but moved into a plugin. The password_file option will be removed in 3.0. I’m using both of these options, so because I was doing the update on a lazy Sunday morning instead of Friday evening after work, I decided to be a good sysadmin and replace the acl_file and password_file options now, instead of waiting for the update where they’re ultimately getting removed. ...

March 1, 2026 · 3 min · Michael