All blogs / Frontend / CSS / browsers
Christian Heilmann
For a better web with more professional jobs - can talk, will travel
Frontend / CSS / browsersJavaScript / TypeScriptTech news / industryEssays / personal
- Posts
- 1,827 from 27 Jan 2005 to 28 Oct 2026
- Posting
- weekly (28 in the last year)
- Kind
- personal blog
- Feed
- https://christianheilmann.com/feed/
Latest
October 2026
- Without-love – a creative coding challenge
- Pardon my dust – re-homing 21 years of blog content of christianheilmann.com
- Returning to Bengaluru in November, see you there.
- TLDRs newsletters are TLDR so I wrote a converter that gets all the important links
- AI needs fewer Iron Men and more Smart Hulks
September 2026
August 2026
- Coming to San Jose for the WeAreDevelopers World Congress 23rd of September – get tickets half price now!
- Quick Tip: Translating long documents with Microsoft Edge Immersive Reader
- Anti-Social Media
- A blueprint for democracy to defend itself against fascism from 1937 – more important now than ever…
June 2026
- TIL: Browsers offer a “copy email” in the context menu on mailto: links
- Remember: The “f” in xenophobia stands for “fun”
May 2026
April 2026
March 2026
- Take the “chart explosion” coding challenge and earn your spot at CODE100 in July in Berlin
- You are falling behind because you haven’t fed the insincerity machine in the last 5 minutes
- Talking on the “We love open source” podcasts about the threats of AI to open source and free software.
- LinkedIn should punish the “comment X to get access” bait spam
February 2026
- Quick tip: hosting HTML/CSS/JS demos from source code on GitHub Pages
- I fell for a phishing attack and lost access to my X account. Here are five mistakes I did that you need to avoid!
- I fell for a phishing mail and lost access to Twitter/X
- WebMCP – a much needed way to make agents play with rather than against the web
- When being Hitler’s guard was a literal drag…
January 2026
- Monky Business: Creating a Cistercian Numerals Generator
- You are already behind by not having read this post.
December 2025
- Building my faux lego advent calendar feels like current software development
- Ad Blockers helped kill the open web
November 2025
October 2025
- AI is Dunning-Kruger as a service
- Abandonware of the web: do you know that there is an HTML tables API?
- Call for Papers is open for the WeAreDevelopers Berlin and San Jose events 2026 – here’s what we’re looking for…
September 2025
- Time to separate the art from the artist
- As I remember London
- Web Development according to Grok is all about libraries…
- A CSS only time progress bar to use in markdown / GitHub Pages
- Returning to the US: see you at All Things Open 2025
August 2025
- A lesson from history for Software Engineers, Product Owners and CEOs
- Using GitHub Pages as a URL shortener / redirection service
- Things not to do as a presenter if you want a great talk recording
July 2025
- Presentations should always work offline – especially in online conferences
- Day Zero Activities of WeAreDevelopers World Congress tomorrow
June 2025
- Two tools to create QR codes for free and without any ad breaks
- TIL: Smart glasses aren’t just for pricks, they are an accessibility aid
May 2025
- Excellent tools: EditGPT – an AI powered review and edit suite for writers
- About showing the “open to work” badge
- Vibe coding, creativity, craft and professionalism… are we making ourselves redundant? Live on stage!
April 2025
March 2025
February 2025
- Building a “shoutout” component in plain HTML/CSS/JavaScript
- How to trim a video in MacOS using Finder!
January 2025
- Derpify.js is now on npm and GitHub – a tool for these trying times…
- 80 years ago
- Quick tip: Rotating images and videos 90 degrees in MacOS Finder using CMD+R or CMD+L
- WAD Live 22/01/2025 – Accessibility, JavaScript Bundlers and Git Basics
- “modern” is rubbish
- Learning HTML is the best investment I ever did
- trimMiddle() – the missing String trim method
December 2024
- A Twitter eulogy and the complicated relationship with my X…
- Stupid interview questions will get you limited developers – is that what the market wants?
- A behind the scenes of how I create an edition of the WeAreDevelopers Dev Digest – 3 hours in 1 minute speedrun
November 2024
- What’s your excuse for not using the web share API?
- Social media platforms should make it easier to add alternative text using an [Alt: description] syntax
- Exif by magic – the forgotten extra information in JPEG and TIFF files
October 2024
September 2024
- Let’s bring back browsing
- A billion new developers thanks to AI?
- Quick tip: using flatMap() to extract data from a huge set without any loop
- No more “Expert, Intermediate, Beginner”: Classifying talks in Call for Papers/Conference agendas
- Eine Milliarde neuer Entwickler dank KI? Linkliste
August 2024
July 2024
- Interaction bait is killing social media
- Hot take: social platforms should disallow special character growth hacking
- Dev Digest 122 – Cracks in the polyfill
June 2024
- Quick productivity tip: Renaming lots of files in MacOS Finder
- Witnessing the death of the web as a news medium
- Dev Digest 118 – Not a total recall
May 2024
- About yesterday’s European Song Contest 2024
- Dev Digest Issue 115 – password beefstew is not Strog/|n0FF
April 2024
March 2024
- New CODE100 challenge: #BuntStattBraun
- Dev Digest 108 – Git off my cloud!
- Giving your app a temporary public URL with VS Code port forwarding
- Dev Digest 107 – and the OSScar goes to…
- Kirby apps and regressive enhancements
February 2024
- Apple vs. PWAs – Go act now and help avoid this disaster…
- How does a changed market affect Developer Relations?
- Lines of code – how to not measure code quality and developer efficiency
January 2024
- Using details/summary and colour coding on GitHub pages
- 10 print chr$(205.5 + rnd(1));:goto 10 in JavaScript
December 2023
- Rob Bateman and his journey to resurrect Flash content on today’s web
- A santa themed CODE100 puzzle – Hitting the chimney
November 2023
- Cracking a “Developer Tools Killer” script…
- Pangram validator in one line
- Neuer Kurs auf LinkedIn Learning: Grundlagen der Programmierung – Barrierefreie Software
October 2023
- Today was a great day for accessibility!
- My company is hiring: who wants to work with me in Developer Relations?
- Falling Behind In Style – explosive and continuous growth is bad for tech
- Lossless Cut is my new favourite tool to cut parts from a video without any hassle
September 2023
- I was a guest on the inaugural DevRelShow and chatted about what DevRel is about, my new job at WeAreDevelopers and showed some cool tools
- The 10 tools I install on every new Mac I get
- Podcast: AI solutions need good UX with Chris Heilmann
August 2023
- Adding sound wave overlays to videos and pictures using FFMPEG
- New feature in VideoTap: Clips – create short excerpt videos from bigger ones by highlighting text in the transcript
- Hemingway is now Hemingw-AI! My favourite writing tool just got an AI upgrade and it’s great.
- Quick tip: Getting all links from any web site into a spreadsheet using browser developer tools
- Adding GitHub repository info, pages links and latest commits to any page using github-include
- Adding a “share to mastodon” link to any web site – and here
- What’s my job in my new role as Director of DevRel at WeAreDevelopers?
- The Verge’s new way to display news item links is a terrible idea
- Hey du da, im Radio… Interview mit Christian Heilmann im Deutschlandfunk über KI und Softwareentwicklung
- Assistive technology shouldn’t be a mystery box
- GitHub Copilot is a great example for in-context AI chat
July 2023
- Five things about public speaking
- Browser-Entwicklerwerkzeuge für Nicht-Entwickler:innen – neuer Kurs auf LinkedIn Learning
- What if the Nazis had the internet and social media?
- Please, WordPress, keep the alternative text I entered
- Getting AI to bullshit for you
- What’s next for Chris? I’ve got a new job!
June 2023
- Reading tweets without being logged in
- Is it too late to fix the problem of AI clutter on the web?
- Interview with Goto Unscripted about the present and future of developer tools
- Turning the screw with AI – ways for developer advocates to debunk the “AI can replace developers” myth
- New array methods in JavaScript bring immutability
- The many ways to select the n-th character from a string.
May 2023
- Nobody thrives on rejection – here are reasons I didn’t take job offers
- PrivateGPT – Running “ChatGPT” offline on local documents
- I just did a test to apply as a front end developer – and things aren’t going well
- Developer Tools That Shouldn’t Be Secrets • Christian Heilmann • GOTO 2022
- An open proposal to OpenAI, Bard, Amazon, et al…: GPTeachers
- The ongoing defence of frontend as a full-time job
- Here is where developers perish…
- Crown dwarf witness – Recording a new course for LinkedIn Learning in Graz
April 2023
- Microsoft Edge now allows you to simulate dark, light, high contrast mode, blurred vision and colour deficiencies right from the Device Emulation toolbar
- Interview questions: Outline your thoughts on open source software development, why is it something a company should do?
- Upgrading our CSS habits: aspect-ratio
- Interview questions: What practices in software teams lead to better quality products?
- Resetting Twitter’s interests list using browser developer tools
- GitHub Copilot for Docs – putting the “fun” into RTFM
- Review: Video Tap – automatically convert YouTube videos to blog posts
- The Future of Senior Developers in an AI-Driven World
March 2023
- Modern Web Development: Centering DIVs in new exciting wrong ways with AI!
- GitHub Copilot for the Command Line is amazing!
- This is the time to be unpredictable and human
- WYSIWYGPT
- Looking for a new opportunity
- Next speaking gig: Modern Web Development, Thu., 30 Mar, 5pm in Berlin’s Microsoft Reactor and streaming.
- ChatGPT is a game changer, but it could become a problem…
Every year
2026 252025 352024 322023 722022 592021 462020 372019 432018 402017 322016 392015 592014 692013 792012 1032011 902010 1272009 1902008 1572007 1402006 1632005 190