Christian Heilmann

You are currently browsing the Christian Heilmann blog archives for April, 2025.

Archive for April, 2025

0x32

Monday, April 28th, 2025

Last Saturday was my 50th birthday and it’s as good a time as any to reminisce a bit.

My first computer setup.

The 80s were shit

First of all: don’t believe the Stranger Things image of the 1980s. They were not a time of leg warmers and neon colours. They were a time of social unrest, existential anxiety and lots of worries about survival because of short-sighted politics and choices in using technology.

I grew up in a small, 3000 inhabitant village next to a slightly bigger factory town. In town we had roughly 1/5th foreign workers which meant racism and integration issues. We also had lots of American soldiers stationed in three different barracks up until 2014. You can imagine what clubbing and pub life looked like.

My home village also was interesting because it had a huge nuclear power plant. As this was the 80s, this also meant a lot of clashes of police and environmentalist groups. This escalated from 1986 on when, on my birthday, the Chernobyl disaster happened.

Whilst being very young in the 80s, I mostly remember these things. I also remember spending a lot of time at union rallies and workers protests as my father was a coal miner turned factory worker. And I remember ashtrays everywhere. Even in the first McDonalds that opened in town. The 80s were not shiny and cool. They stank, the politics were those of fear of clashes between the East and the West and we all worried about ecological disasters with acid rain and deforestation being the main issues. There was also a pretty weird shift back to traditional values and a rise of religion as dogma instead of making humans living together simpler.

The good news is that this led to a lot of good subcultures, movies and excellent music.

These 80s made me who I am: someone interested in politics, a green leftist. Just writing these things down right now also makes me annoyed that the current world is in exactly the same position again. We are and should be worried about the ecological future of this world. We should be worried about politics, terrorism and wars that are happening right now. And we should be very concerned about populist and isolationist political parties gaining power in almost every country playing with people’s fears and pointing fingers to outsiders.

My generation witnessed so much advancement

But I am also thankful for being part of the generation I was born in. Because I had so many wonderful first experiences. Especially in the world of technology. I’ve witnessed rotary phones going out of style and being replaced by those with buttons. I remember satellite dishes giving us more options on television. I remember cinemas you could smoke in – oh and people did! I remember Vinyl turning to Cassette Tapes and then CDs, Video CDs, VHS tapes and I even saw a laser disk once. I remember the first mobile phones and I also remember not being allowed to use them at petrol stations as they were considered a fire hazard. I also remember the first Microwave and my parents going nuts when you opened them before the “bing” as that probably meant that dangerous radiation was leaking.

As the fourth child of my family, I remember having to wear some of their old, outdated clothes but also inheriting a big box of lego bricks from them. A box that had no instructions and Lego wasn’t branded or allowed you to only build one thing. I am pretty sure that playing with Legos made me a software engineer, as this is what we do – we connect things to make other things. Except there is no fixed physical final product, but a flexible solution.

I remember most fondly that everything was accessible to repair and alteration. I inherited my siblings’ old bikes and instead of having one of the cool BMX bikes you saw on tele, I put thicker tires on the one I had and pretended I could do the same things with it. Before my first car, I had a 25cc motorised bike that by law can only go up to 25kph. Of course we found out that by adding another exhaust and using a drill to expand the engine outlet you can get it to 70kph. This was anything but safe and if the police had caught me I would never have gotten a driver’s license.

I remember my first cars, an old Golf 1, Renault 5 and then my last car before I moved away, a trusty Fiat Panda. They all sucked compared to what our Skoda Scala can do now, but there were screws and space everywhere in the engine and the chassis that allowed me to fix and extend things. And the Panda had a stereo and I had lots of tapes with noisy, angry punk anthems. I remember parties where we had a radio and 3 tapes we just played. Not arguing over which one of the 231242342342 songs offered on streaming we should listen to next.

Thank you internet

But I am mostly happy about “earning” the internet and the computing environment we have now. I saved up money doing odd jobs to afford my first computer – a Thompson TO7-70 connected to a black and white TV. I then got my first C-64 and with it also my first modem and connecting to BBSes, chatting on IRC, uploading content to FTPs and getting my first email.

Soon after that I got my first PCs and extended memory and hard disks as I needed more power. Computing was a hobby but also more than that. It was my gateway to the world. I’ve always had pen-pals in other countries. I also swapped floppy disks with people as letters in the whole world. One reason was that I wanted to watch movies that weren’t dubbed in German, so I would get VHS tapes from friends in the Netherlands. BBSes and IRC made that even easier.

But the best was when the web came about. At that time I worked in a radio station as part of the news team, mixing my passion for music and politics. And once I had access to the internet everything changed. I quit my job, I learned everything I could about HTML and setting up a server and the rest is history. Accessing the internet was a pain, you connected with a modem and hoped for a steady connection. You paid per second which means often you’d surf a lot and then go offline to find the images that took ages to load in the cache and move it from there. Hosting was expensive and hard to come by unless you used a free service full of ads.

But I knew this changed everything and it became my career. I want some of the things that formed me to still be around. I want things to be repairable, open and extensible. I want people to not be happy with what they get offered but demand to be able to own it and improve it. And, above all, I want the next generations to be able to live on this planet. And I really want us to move on and become better humans, and not go back to a time where fear and misinformation controlled the politics and the media. We have it in our hands to demand better, and whilst I am now the same age as old people, I will not stop.

Keeping it on the < dl > – another HTML gem you never use

Friday, April 18th, 2025

In a moment of boredom, I wrote a little app/web page that shows lovely words we should be using more. It is done in plain HTML, JavaScript, and some CSS. The source code is available, and I am also happy to receive pull requests adding more lovely words.

screenshot of the application showing the lovely word Cattywampus

This is not what I wanted to talk about today. Instead, I wanted to talk about a thing I used that I don’t see being used in the wild enough: Description Lists. Never heard of them? You are not alone…

One in 10 Americans think HTML is a sexually transmitted disease

HTML, as you may remember, is not about adding look and feel to a document, but about giving it structure. A definition list is the right thing to use when you have a list of terms and definitions. This is a pretty common thing on the web, and yet I hardly ever see any in use. The first time I came across a description list was in the bookmarks.htm file of Netscape. Here is how description lists are defined:

<dl>
  <dt>HTML</dt>
  <dd>Hypertext Markup Language - a language to describe content on the web.</dd>
</dl>

Without any CSS they render as terms on lines with a break and descriptions with an indent.

It may be that people don’t know about or don’t use description lists as they have a syntax that is different from other lists. Both unordered (UL) and ordered (OL) lists are parent elements to one or more list item (LI) elements. Description lists are different. The DL element is the direct parent to both the term (DT) and the description element (DD), and there can be more than one of each. Some terms have more than one description, and one description may apply to various terms. MDN has some great demos:

<dl>
  <dt>Firefox</dt>
  <dt>Mozilla Firefox</dt>
  <dt>Fx</dt>
  <dd>
    A free, open source, cross-platform, graphical web browser developed by the
    Mozilla Corporation and hundreds of volunteers.
  </dd>
 
  <!-- Other terms and descriptions -->
</dl>

<dl>
  <dt>Firefox</dt>
  <dd>
    A free, open source, cross-platform, graphical web browser developed by the
    Mozilla Corporation and hundreds of volunteers.
  </dd>
  <dd>
    The Red Panda also known as the Lesser Panda, Wah, Bear Cat or Firefox, is a
    mostly herbivorous mammal, slightly larger than a domestic cat (60 cm long).
  </dd>
 
  <!-- Other terms and descriptions -->
</dl>

The practical upshot of using description lists is that you have baked-in accessibility. Both the term and the description get announced as roles to assistive technology. You can spot-check that using the element picker in the browser developer tools.

The browser developer tools element picker showing that a dt element has a role of term

The browser developer tools element picker showing that a dd element has a role of definition

Another excellent example on MDN is that you can use description lists to describe metadata as a list of key-value pairs:

<dl>
  <dt>Name</dt>
  <dd>Godzilla</dd>
  <dt>Born</dt>
  <dd>1952</dd>
  <dt>Birthplace</dt>
  <dd>Japan</dd>
  <dt>Color</dt>
  <dd>Green</dd>
</dl>

So, next time you have a list of items you want to describe, why not reach deeper into the HTML treasure chest and use a description list?

The rise of Model Fatigue – or is it just me?

Wednesday, April 16th, 2025

A shot of the video for the Kraftwerk song Das Model with the band standing behind synthesizers in front of a film of a 1950s model show.

As someone curating a newsletter and dabbling in AI, I am feeling both overwhelmed and bored with news about yet another AI model being released by Company XYZ that will be a “game changer” and “leaves the others in the dust”. It feels hard to guess what I should be excited about. The size of the model? Who owns it and what it costs to use? It’s terms and conditions? What it is good for? If I can use it although I live in Europe?

If I check Cursor’s list of possible models I have no idea what each of them mean and it feels weird to see minor versions of each…

It doesn’t help that the names of the models and their descriptions on Huggingface don’t make much sense to me or anyone who isn’t deeply involved in Machine Learning. And it doesn’t help either that news outlets and company marketing blogs don’t stop covering us in hyperbole headlines about them instead of selling them through case studies.

This is nothing new. We had the same with AJAX libraries, frameworks and CSS libraries before. But if we consider the amount of energy and computation power that goes into training and weighing models this seems a lot more wasteful. What we need is fewer news about models and more information what each of them is good for. Right now, it feels much more like a size competition rather than a competition of which is more applicable. It also doesn’t help that the few benchmarks we have continue to be rigged and skewed. This is something we already had during the browser wars, so thank you, but no.

I’m much more excited reporting and learning from case studies of people who used different models and found one or the other more appropriate. So, if you have those, please don’t hold back posting these.