Feeds from people participating at the IndieWebCamp Düsseldorf, May 2025.
Last year, I worked on a bookmarklet for editing pages on my website. When clicked, the bookmarklet would open the page in GitHub that corresponded with the page I was viewing. I used the bookmarklet so much I turned it into a browser extension, which I still use regularly to...
09.02.2026
Drawing and hand-written fonts
I have been thinking about hand-writing and websites in the background for a little while.
I made a hand-written font using Calligraphr a few months ago. I enjoyed making this font, but haven't used it for a web project yet. Here's what it looks like:
While making the font,...
My site just was under heavy load from Singapore again LOL. 🤣 Temporarily blocked the whole country via ipset now so that the site is available again …
08.02.2026
Matthias Ott
• Matthias Ott
Webspace Invaders
A couple of weeks back, I’m sitting at my desk when a direct message from my frontend friend Kevin Powell pops up. Kevin’s a genuinely kind guy. He makes CSS videos on YouTube and he’s got this way of explaining things that never makes you feel stupid for not knowing them al...
Sandwich Questionnaire
I love sandwiches. Earlier today I was thinking about how you can eat a sandwich at any time of the day. I have eaten sandwiches for breakfast, lunch, and dinner. When I saw Zachary’s “Sandwich Questionnaire“, I thought I have to respond to this!
I have been thinking about r...
Why I love my favourite words
Every so often, I use the word delightful in conversation. That is delightful! I try not to use “delightful” too often, but I do like to bring it into a discussion every now and again. It is one of my favourite words.
The word delightful, like the word awe, makes me feel a c...
Design and missing categories
Ever since I moved to using Ghost as the tool for publishing my blog posts [1], I have forgotten to add categories to some of my blog posts. My old system had a few if statements that would automatically select a category. If none of the rules triggered and I did not choose a...
Noticing
Last weekend, I went to the National Gallery of Scotland. This time, I started my trip on the bottom floor where all the Scottish art is on display. A few minutes after entering the gallery, I was captivated by paintings of Nature and of Edinburgh. I noticed that one wall was...
Clouds
I have been waking up with anticipation every morning recently. I say “good morning, world”, and then anxiously peek through the edge of the curtains. I hope for the blue sky.
This last week has been rainy and grey. I tried to understand why but the meteorology went over my ...
Debug mode
One of the areas of the Artemis codebase that I update the most is the logic that relates to the list of posts published by authors to which a user is subscribed. Because Artemis works with so many different formats of information – web feeds like RSS or h-feed, Mastodon post...
Staging banners
When I run the Artemis codebase, one of the first things it does is look for an environment variable that indicates what “environment” the application is running in. There are two modes: development and production. If no mode is specified, development mode is set by default.
...
07.02.2026
Redirecting YYYY-MM-DD-slug.md to /YYYY/MM/DD/slug with Nginx
Earlier this week a reader pointed out that posts listed on my date archive pages were linking to the wrong URLs. For example, the link for /2026/01/25/kind-software would instead be /2026-01-25-kind-software.md. This was caused by my static site generator using the markdown ...
06.02.2026
Reducing Artemis’ deployment downtime with blue-green deployments
Artemis, the calm web reader I maintain, runs as a systemd process. When I want to update the software, I deploy the new code to the server and then restart the systemd process. This has a significant downside: while the Artemis process is restarting, the software is unavaila...