Index RSS

Finishing 2020

For the last weeks, I was not able to find any energy to write new blog articles. I believe that many of us feel that this year was much more exhausting than the years before. I often struggled with having to justify myself for not participating in activities that were not forbidden by the government but that were unnecessary and unreasonable in times of the pandemics. This year often left me wondering if solidarity and consideration for other people were going extinct ... then again, it is easy to get lost in bad news.

Anyway, this blog is not for politics, health care, nor for your daily pandemics news. Here is where I stand and where I want to go next (figuratively).


I am satisfied with what I achieved this year. I started to use OpenBSD more seriously than ever before (while still using Raspbian as my daily driver and still being in Windows purgatory at work) and enjoy it each and every day. It is a reliable no-bullshit OS that does what I need to be productive, without doing myriads of other things that I do neither need nor want. It is the one system I am fighting with the least. And while it is not perfect, it seems to be very feasible to add missing functionality or fix bugs myself (or at least get help from the developers to do so).

Of all things, I enjoy having my little OpenBSD server that runs this blog the most. It is reassuring that I can use it to backup important projects periodically, and I see myself putting it to use even more in the future.

This blog itself is also a pleasure. I am no web designer and I don't know how good my writing is and if my articles are interesting to anyone (well, I did not even start to advertise this blog to anyone!), but it gives me a red string to follow. It helps me structure my private projects (for which time is always scarce) in a better way. And even if the last months seem to prove the opposite, I still feel that it forces me to stay motivated. If I do not write or if I do not even have content to write about, the blog always remembers and it also reminds me that I should change that.

Writing the assembler articles was fun and challenging. I now understand compilers and especially calling conventions much better than before. It amuses me to think that I wrote C++ at work for ~10 years and have many colleagues that did so for an even longer time ... and still almost no-one at work understands the foundations we work with as I do now - and I barely scratched the surface! There is so much to learn about how our abstractions work and we can only grow while doing so.

Let me now tell you about my plans for the future (hopefully 2021).


I am slowly getting into Gemini, which can be understood as a simplified version of the WWW. You get fast and simple web pages that resemble what I am using for my blog: Simple text (normal and preformatted) and links. You loose CSS (the Gemini client decides how to render the content), JavaScript (good riddance!) and almost all ways of tracking users.

I want to update my blog to also be accessible via Gemini. This should not be too bad as I write all my blog articles in a simple markup language I created myself, so all I need to do is install and configure a Gemini server and extend my build scripts so that they output both HTML and Gemini files.

I also want to submit my blog to CAPCOM, which is an Atom feed aggregator for Gemini. As I currently only have an RSS feed, I will have to create support for this as well.

If you want to read more about Gemini, you can find the official web page here:

If you are looking for software, solene@ of OpenBSD wrote her own Gemini server (Vger) and maintains a few Gemini clients (I like net/lagrange). You can read about Vger on her blog:


I want to get feedback for my articles. Therefore, I plan to add a comment section. While I look forward to it, it also will create some difficulties.

I still want my site to be as slick and lightweight as possible, and I want to maintain w3m support for it. This means that I will not use any external JavaScript and that any JavaScript that I choose to use will always be optional. Yes, this means that you will be able to write comments without JavaScript.

As a defense against spam, I will moderate all comments. They will not be visible to anyone but me until I choose to publish them to the world.

Because of the limited input facilities on Gemini, you will most likely only be able to post comments via HTTP. But reading comments via Gemini will be possible.

Learning new stuff

I have two topics planned for 2021. I want to learn about lex and yacc and the traditional way of generating parsers for C. Both lex and yacc have found their way into many other programming languages. Their is some support even in "modern" languages like Go, while languages like Erlang contain their own implementations (called leex and yecc there). They are also used in many tools that are written by the OpenBSD developers, either as part of the base system or as standalone projects.

The second topic I want to tackle is a bigger one: file systems. I will start with FuSE and maybe get into in-kernel file systems after that. I want to understand them better and maybe do something to improve the file system story of OpenBSD. But to be realistic: That is a long way and I do not expect being able to create a production-ready file system in the next year. Maybe I will never do it. But learning how they work would be rewarding on its own.

I do not want to promise anything, but if I write some articles on these two topics, I will be satisfied with my blog next year again.

Closing words

No plan survives its first contact with reality ... we will have to see what 2021 will bring. I wish you a happy new year!