The Taskwarrior logo. It shows a Spartan (the Greek city state) helmet. It's a full helmet, with vertical slit down the center and an eye slit.

Task Management With Taskwarrior

It was September 2014, and I needed to procrastinate a University exam. Looking for something I could mentally categorize under “useful”, I happened upon Taskwarrior, and it has been running my life ever since. In this post, I will describe what Taskwarrior is and how I’m using it, as well as my migration from Taskwarrior 2.6 and Taskd to the new Taskwarrior 3.4 and taskchampion-sync-server. In short, Taskwarrior is a command line task management system. ...

November 16, 2025 · 24 min · Michael
The exercism.org logo. It consists of two curly braces on the left and right, and three bows between them, arranged to form a smiling face.

Returning to Programming and Fanboying about Exercism

I’d like to talk about a great website I found a little while ago, exercism.org. I discovered it a while back, when I was trying to learn Elixir. That project got interrupted pretty badly by my Kubernetes migration, but I’m now back to it. I still want to learn a language a bit more suited to web development, but I’ve switched to Golang now. Mostly because, when I started looking at Elixir again, I had forgotten pretty much everything again. Plus, I also never really wrapped my head around functional programming. ...

October 28, 2025 · 5 min · Michael

History Podcasts

As promised in my previous post, now onto the second category of podcasts I’m listening to: History podcasts. I love history, in all it’s periods and countries. I even went so far as taking AP history in high school and did pretty well with it. Lots of my YouTube consumption are historical channels. And so it is also for podcasts. In fact, the very first podcast I started listening to, way back in 2019, was a history podcast. ...

October 24, 2025 · 4 min · Michael
A large number of things on a white table. Several black cat stickers, a red fox sticker, a steel key, a metal figurine of a dragon, an amulet, a locket and a number of rose petals. All of these things are arranged around the name of the show, 'The Antique Shop'.

Fiction Podcast: The Antique Shop

In the interest of expanding my writing a bit, I always wanted to write about the media I’m consuming a bit more, and I will start with a small series of posts on my favorite podcasts. To me, there are roughly three kinds of podcasts I listen to. The first one is history podcasts - just some narrator telling me interesting tidbits from history. I will write about all of those in the next post. The second kind are what I’d call “current affairs” podcasts, e.g. news, politics, Open Source/Linux talk podcasts and such. ...

October 24, 2025 · 3 min · Michael
A screenshot of a Grafana dashboard. It shows a number of stats metrics at the top, for example the number of users and buckets and the total bytes send in the interval. Below that, there are a number of time series panels, like number of operations over time, bytes send or bytes received by bucket. I will describe each individual panel and its content in detail in the main post.

Gathering Metrics from Ceph RGW S3

Wherein I set up some Prometheus metrics gathering from Ceph’s S3 RGW and build a dashboard to show the data. I like metrics. And dashboards. And plots. And one of the things I’ve been missing up to now was data from Ceph’s RadosGateway. That’s the Ceph daemon which provides an S3 (and Swift) compatible API for Ceph clusters. While Rook, the tool I’m using to deploy Ceph in my k8s cluster, already wires up Ceph’s own exporters to be scraped by a Prometheus Operator, that does not include S3 data. My main interest here is the development of bucket sizes over time, so I can see early when something is misconfigured. Up to now, the only indicator I had was the size of the pool backing the RadosGW, which currently stands at 1.42 TB, which makes it the second-largest pool in my cluster. ...

October 10, 2025 · 15 min · Michael