Christian Heilmann

Fun project: Shakespeare Insult Generator

August 19th, 2020

This morning I released the Shakespeare Insult Generator based on a JPG I got sent by a friend on Facebook. There is no magic here, just a fun little project. This was the original: One interesting bit is that I made it easier on myself by pasting the image into OneNote. After waiting a bit […]

Style Stage and old people of the web

July 22nd, 2020

On the 10th of July up and coming happy person of the web Stephanie Eckles released Style Stage, which she describes as “A modern CSS showcase styled by community contributions”. It is – in essence – a well written HTML document and she asks for contributors to show what they can do with CSS to […]

Quick tip: how to make mailto: links open in Gmail in Microsoft Edge

July 20th, 2020

I like mailto: links. They worked forever and they kind of make sense. Lately there was a discussion around their usability and what can be improved, which is great. I got some good feedback on Twitter and dug a bit into our design research if there’s something in the making to make things more obvious. […]

A CSS only “click to animate gif” solution

July 16th, 2020

Here’s a quick experiment in pure CSS how to cover a GIF with a play button instead of playing it. You can see it in this codepen or also play with it on GitHub. The GitHub code repository is also available. See the Pen CSS only "click to show GIF" by Christian Heilmann (@codepo8) on […]

Always bet on HTML – being misunderstood

July 6th, 2020

A few weeks ago Chris Ferdinandi wrote an ode to HTML called Always bet on HTML in which he once again praises the benefits of HTML as a base for your products on the web. He is correct and makes a lot of great points. However, we made these points for 20+ years and people […]

Newsletter

Check out the Dev Digest Newsletter I write every week for WeAreDevelopers.

Don't stop thinking, AI Slop vs. OSS Security, rolling your own S3 Despite AI you still need to think, Bitter lessons from building AI products,  AI Slop vs. OSS security and pointer pointer…
200: Building for the web, what's left after rm -rf & 🌊🐴 vs AI What remains after you do a rm -rf? Why do LLMs know about a seahorse emoji? What image formats should you use? How private is your car?
Word is Doomed, Flawed LLM benchmarks, hard sorting and CSS mistakes Spot LLM benchmark flaws, learn why sorting is hard, how to run Doom in Word and how to say "no" like a manager.
30 years of JS, Browser AI, how attackers use GenAI, whistling code Learn how to use AI in your browser and not on the cloud, why AI makes different mistakes than humans and go and whistle up some code!
197: Dunning-Kruger steroids, state of cloud security, puppies>beer

My other work: