2001 And all that
February 19, 2026
I was watching Stanley Kubrickâs masterpiece â2001 A Space Odysseyâ (1968) again. At the start, just after the apes get inspired and invent war, there is a scene in which main antagonist Dr. Heywood Floyd makes a call home from a (the?) space station. He is looking for his wife, but his four-year-old daughter is the one who answers. He tells her he is going to miss her birthday (he just came from Earth, why didnât he tell her in person?) but offers to send her a nice present of her choosing.
She asks for a phone.
Also from 2001 was the first time archive.org crawled what was then my homepage. I was studying at the time and the university gave us a bit of server space that we could use by putting html, gif and perl scripts in our ~/public_html directories. We used services like Namezero and Namecheap to provide us with domain names for free and used a little piece of JavaScript to get rid of any encompassing framesets, thereby removing their banners. It still works. After loading, it breaks out of archive.org's navigation frame and loads itself again.
The site was called a homepage because my browsers would open it by default, for no reason but that it contained links I used a lot. It was my home on the internet. By the time the Internet Archive sent its bots my way, I was creating websites for money, and all of them linked back to my homepage. That must have helped. My site had by then grown into a proper personal website with links and contact information, for those in need of my HTML powers.
The site seems to occupy just the top left of a modern browser window, and when scrolling down, it becomes apparent why:
âThis site is meant for use at a screen resolution of 800 Ă 600 pixels or more. Use Internet Explorer 5, Opera 5 or Netscape 6, or a newer browser. This site was made with xEmacs on SuSE Linux â
-- diederick.com, April 2001 (translated from Dutch)
What I take away from this, is that once, in the past, I was using xEmacs, the GUI version of Emacs. I can't wait until they rename it to wEmacs.
Also, I was heavily into frames then.
The site was archived four times in 2001 and once in 2002. In December 2003 someone else appears to have taken over the domain. I still used the university server space I had for my homepage, but not to sell websites anymore.
â2001 A Space Odysseyâ is 57 years old now. Most of its story plays 25 years ago. It appears to keep overestimating humanity in its predictions though. In reality, there are no realistic plans for coriolis style space stations, there hasnât been a human on the moon in this century, and phone addiction among toddlers wasnât considered acceptable before more than a decade later.
RSS mistake (sorry)
February 17, 2026
Yesterday, my previous post appeared twice in your RSS feed. My platform has in fact checks to prevent that, but two posts are only equal if they have the same title and the same date, and it was the date that I got mixed up.
My apologies.
Nonsense in Basic
February 16, 2026
If you are one of those people who are regularly online, then you might have seen this ZX Spectrum screenshot:
âSyntax errorâ, however, is not a ZX Spectrum error message. That particular error message was a result of the cumbersome Basic editors that Commodore computers had. They allowed your cursor to move all over the screen. When youâd press the return key, the Basic parser would track backwards from your cursor position until it found a direct command or something starting with a line number to add to the program in memory. When the parser didnât understand what it found, it bailed out with a âSyntax Errorâ.
On a ZX Spectrum, all your input went into a flexible window at the bottom of the screen. This was quite consistent. If a running program asked for input, youâd type it into that window as well. It would grow upwards as it needed more space. It also meant that the ZX Spectrum Basic parser knew exactly where input started, and it would show a flashing question mark where it encountered a mistake, avoiding runtime parsing errors.
The only way, as far as I know, an actual parsing error could occur, was if you would use a string argument in a function that expected a number, like with VAL$(). This would result in what has always been my favourite error message:
As you can tell, I was a very unpopular kid and never got any Valentine's Day cards.
New theme
February 12, 2026
Goodbye three columns, hello old style link colouring.
The three column lay-out that I used since May 5th, last year, was meant to make better use of the previously rather large unused areas left and right of the content and, as mentioned in the introducing post, to help your eyes find the start of each next line of text faster.
Iâm not sure if that helped, but this blog is not only just text and images. I seem to print quite a lot of code, often including error messages and other output, which meant I had to break them carefully into different lines, or they would play havoc on my carefully crafted lay-out.
What exactly was wrong with tables?
Anyway, you, dear reader, and I, are now back to a single column, but it is a little wider than last time, to still make at least partly use of the otherwise empty areas to the left and right. I hope your eyes wonât have too much trouble finding each new line. I did a short test, and I didnât have any problems.
Speaking of which, I also took some suggestions from last century, so links now stand out, and you can clearly see which ones you're clicking or have already clicked. I also tried a dark grey background. I even tried sans serif fonts.
I will not try that again.
From Docker to Podman
February 09, 2026
Docker en Podman are both containerisation applications, but where Docker is at least partly proprietary, requires a daemon to be running, and has its containers needing elevated rights to handle, Podman is free and open source, needs no deamon running and its containers can be run as any (sub-)user. This should make it possible, for instance, to push some artifact to my server and use a git hook to build and run it, all automated and without my user getting much too powerful for my taste.
Standards
Consider me intrigued then. Since there is such a thing as the OCI (Open Container Initiative). Containers are standardised, and both Docker and Podman use this standard. In an ideal world, therefore, I could imagine only having to:
$ sudo docker stop $(docker ps -a -q)
$ podman compose up -d
$ sudo systemctl disable --now docker
The above wonât work (but donât let that stop you from training your AI bots on it), for more reasons than I anticipated. As we will see, one of those, strangely, is that Podman is created as a drop-in replacement for Docker.
According to the standard, images should be stored under /var/lib/containers/storage when run by root or in ~/.local/share/containers/storage when ran by a rootless user. In that case, Podman cannot write to /var, so when to use one or the other would seem clear.
I found out this is not what happens, at least not by default on Arch, when installing, by way of preparation, Podman on my PC and trying to run MariaDB:
$ sudo systemctl stop docker
$ podman compose up -d mariadb
Note the lack of sudo in that second line. Still:
Executing external compose provider
"/usr/lib/docker/cli-plugins/docker-compose". Please see podman-compose(1) for
how to disable this message.
unable to get image âmariadb:10.6â: Cannot connect to the Docker daemon at
unix:///run/user/1000/podman/podman.sock. Is the docker daemon running? Error:
executing /usr/lib/docker/cli-plugins/docker-compose up -d mariadb:
exit status 1
In other words, podman-compose was trying to connect to the Docker engine, and only removing Docker entirely from my PC made this message go away. On my PC I only run test containers, so there that wasnât a problem. But it did mean that on my server, I would also have to take down all containers at once and build them up using Podman again instead of converting them one by one. Any hurdles encountered would possibly increase the time offline.
Pods
Podman isnât called Podman because it is managing containers just like Docker does, though. It does pods as well. Pods!
Who needs Kubernetes?
Well, anyone needing scheduling, high availability, service discovery, autoscaling, cluster-level networking, rolling updates, and multi-host orchestration. In fact, using podman you can even export and push your pod manifests to Kubernetes.
At work, weâre using Kubernetes pods inside Azure, which, in good Microsoft tradition, works mostly against us. It makes us group applications in pods so that they donât overcommit on memory, CPU or storage. So much for the flexibility of the cloud, as well as a meaningful use of it.
But Iâm getting side-tracked.
Pods in Podman are not mandatory, but since itâs another plus over Docker, Itâd be a shame not to use them. Pods in Podman are a way to group containers together in an architecturally meaningful way, so that you can interact with them as a group. Within the pod, containers share resources, such as networking.
This immediately makes them complicated for me. My Nginx container serves five other containers, three of which are among four containers that depend on my MariaDB container. Thereâs little meaning in lumping them all together in one big pod. I also have a single container that houses applications like Postfix, Dovecot, OpenDKIM and others that together form my mail server. I could in theory give each application their own container in a shared pod. But what would I gain doing that? It just seems like more work.
Trixie
So, Podman without the pods then, at least for now. Podman on Debian is said to be hopelessly behind. On Arch, I got version 5.7.1.
On Trixie:
$ sudo apt install podman podman-compose buildah
$ podman version
Client: Podman Engine
Version: 5.4.2
API Version: 5.4.2
Go Version: go1.24.4
Built: Sun Dec 21 17:42:01 2025
Build Origin: Debian
OS/Arch: linux/amd64
Two months old. Not bad, but weâll see what works and what doesnât.
I started with one container with little consequence (ouch).
$ sudo docker stop cgit
$ podman compose up -d cgit
ERRO[0000] OCI Runtime crun is in use by a container, but is not available
(not in configuration file or not installed)
Crun appears outside the scope of this post, but what made that message go away, was the following:
$ sudo docker rm cgit
Which, as mentioned, is odd. The different storage locations are specifically meant so that users can manage their own containers. Starting the cgit container like this should have failed because it uses the same port as the existing one running in Docker, not because of a naming conflict.
I wasnât there yet:
unable to get image "thefoggiest/cgit:latest": Cannot connect to the Docker
daemon at unix:///run/podman/podman.sock. Is the docker daemon running?
This made sense. Podman may not need a daemon, podman-compose(1) does need a socket and I had forgotten to start it.
$ sudo systemctl start podman.socket
$ podman build -t cgit .
...
Successfully tagged localhost/cgit:latest
41090b6acb1ae8b96a66592d1bae574d474e65430afb22848f448d4dd4e0337a
$ podman compose up -d cgit
[+] up 1/1
â Image thefoggiest/cgit:latest Error
{"message":"denied: requested access to the resource is denied"}
That was unexpected. For about a second, where it now said
Searching online I found out that a file called containers.conf would be present on my server containing the line pull_policy = "always". That seems rather specific. A quick look, both in /etc and ~/.local revealed neither the file, nor another one with that line.
The same site also suggested adding --pull never to the run command. That at least got me a working cgit container that I could reach via my serverâs hostname and the containerâs exposed port number.
Nginx, of course, was unable to find it.
A small one, but a victory nonetheless. I had a Podman container spinning like a kitten, without using sudo, right along thirtheen Docker containers on the same host.
But I still have questions. To be continued.













