Christian Heilmann

You are currently browsing the archives for the General category.

Archive for the ‘General’ Category

Excellent tools: EditGPT – an AI powered review and edit suite for writers

Monday, May 26th, 2025

There is no doubt that AI can help a lot when writing documents. There is also no doubt that it can be detrimental to both quality and the writing process if the AI-powered tool doesn’t have a user experience tailored to the task at hand.

Generated Text and Its Downsides

We live in a world of AI overload, and many tools promise to take the “pain” of writing away by generating tons of text at the press of a button. If that’s what you want to have, great. If that’s what the world needs—lots of similar-sounding text advocating products in an almost sincere and clever-sounding voice—doubtful. Unless you’re a spammer, then the world of AI text generators is a wet dream come true. Hey, you can even create tons of comments with genuinely looking users that bait interaction or suggest quality that isn’t there.

When using chat systems to help me work on my writing tasks, I quickly got frustrated that there is no granular change. You can create posts with a prompt. When you tell the machine to change only a few structural things, it keeps creating totally new texts with other annoyances. And you have to wait for the whole text to change.

“AI-ding” the Writer

I’m a writer, and I love writing. I don’t feel that writing is a chore. To me, it feels like painting with letters and words. I love keeping my texts simple and to the point. I don’t want to impress with overly elaborate voice and vocabulary. And I don’t want to be “excited” and “amazed” by things all the time. Unless you put almost as much effort into writing the prompt as into writing the post, the voice of chat systems out there is a terribly excitable salesperson.

Writing Gets Better with Reviews

As a professional writer, I learned about the power of a good editor. When I wrote my books, I had both technical editors, making sure that what I wrote made sense, and grammar and voice editors, keeping me in check when I made mistakes or when my sentences became overly elaborate. Like this last one. Lately, I’ve started using EditGPT as a tool to aid my writing. Instead of being an AI text generator, it’s a writing and reviewing tool, which allows you to change, edit, and refine what you wrote. The interface is pretty straightforward, and if you’ve collaboratively edited in Word with reviewers in the past, it’s utterly familiar. The only difference is that there is no delay of a few days that you get with a human reviewer.

The EditGPT interface showing how it offered me changes to the text of this blog post with deletions and insertions.

The other bit that I really like about EditGPT is that it’s keyboard-driven, and it allows me to alter parts of the text rather than recreate full texts over and over again.

So, if you also feel like writing and keeping your own voice and style but want an instant reviewer to keep you in check, why not try EditGPT , too? It represents to me what AI should be: a helper to hone your craft and challenge you to do better rather than giving you something to publish as if it’s your own work.

About showing the “open to work” badge

Tuesday, May 20th, 2025

I just came across a post on X that stated “nothing makes me want to hire someone less than this”, with a picture of the “open to work” badge LinkedIn offers job seekers.

The post on X showing the open to work badge and the arrogant message.

This being X, I thought I answer using appropriate voice:

My answer asking if the reason is if he is an arsehole

This, albeit succinct, is not very enlightening, so let me elaborate…

Like any other developer, I have a complicated relationship with LinkedIn. I do get about 10 job offers a month and 25 connection requests a week. During my peak time in Microsoft or during my tenure at Mozilla attending 35 conferences a year this was upped by a factor of 3. I’m also frustrated with tons of bots, growth hackers and professional connectors.

But, as X circles the drain and attracts only bots, engagement baiters and the worst of society, LinkedIn has become an alternative where you can have professional conversations and keep connections. I’m a LinkedIn trainer and have done some courses for them. Many of the people I source for my company events and podcasts start with a LinkedIn message.

Now, to the matter at hand: the open to work badge. Lord Coolentrepreneur of 10xdevistan on X and his inanely clapping choir see it as a sign of desperation and blatant begging for a job. I see it differently…

The reason might be that I do use LinkedIn professionally and that I’ve been both recruiting and being hired by large corporations. I’ve also been part of reorganisations, companies going bust and was on the wrong spreadsheet when mass layoffs happened. So I know how it feels to not have a job even when your performance was great.

And guess what? It sucks. You still feel like shit and you don’t want to look around and call in favours. So maybe telling the world that you are open to a new challenge is a way to be able to take a breather and let things come to you.

I also have a lot of friends who are incredibly talented freelancers whose services I like to use. As they are great at what they do, they are also booked out. And those people use the badge to show the world when they are available, thus saving me a frustrating back and forth via email.

LinkedIn is noisy. This badge helps me find potential people and discard others. I don’t see this as a sign of desperation, I see it as a sign of clear communication. Poaching someone from a current job is always messy and takes time – especially in Europe. When I see this badge, I know the person is immediately available, which often is a need people who hire have.

Nobody should feel desperate using this badge, and people who flat out discard people who have them as desperate are very likely to be really shit bosses anyway. So, keep showing the world what you want it to offer you. There’s no shame in that.

Vibe coding, creativity, craft and professionalism… are we making ourselves redundant? Live on stage!

Friday, May 16th, 2025

Join me in Gdansk in Poland on the 27th of May for Infoshare to present what I already covered in print in the German AI magazine and on the WeAreDevelopers Magazzine:

Vibe coding, creativity, craft and professionalism… are we making ourselves redundant?

Headshot of Chris Heilmann at Infoshare 25

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?