Quite literally: this blog is now officially in autumn mode! 🍂
During our summer vacation, while watching over our dog Elvis, I spent some time doing recreational coding on the balcony of our vacation home in Sottomarina, Italy. The result is a seasonal bit of JavaScript/SVG animation for this blog’s header, which you can now enjoy on the main page, constantin.glez.de. But only during the autumn months, of course!
What started as a simple idea to add variety to my header turned into a 903-line journey of learning physics, mastering SVG patterns, and discovering just how much fun coding can be when there are no deadlines or requirements—just curiosity and Claude as my sparring partner. 🎯
Over the last few days, I’ve been working on putting Elvis, our Dachshund, onto this blog’s banner. The goal was to create a smooth animation where Elvis appears by rising from the bottom of the banner, then leans his paws over the border—adding some personality to the site while exploring modern web animation techniques.
Refactoring my banner into SVG was only the beginning: the next step was animation. I continued with the “AI as a teacher” model and asked Claude to explain to me concepts like IIFE, how the browser’s DOM processes SVG elements, which SVG properties are GPU-accelerated and other CSS performance conc…
If you’re a returning visitor, you might notice the header image on this blog looks more sharp and crisp—that’s because it is! ✨ After creating my own URL shortener, I wanted to modernize my header image. I built it back then in 2022 using p5.js, but the resolution wasn’t great. Now I wanted a more …
This weekend, I added Webmention support to this blog. What is it? From the Webmention W3C recommendation:
“Webmention is a simple way to notify any URL when you mention it on your site. From the receiver’s perspective, it’s a way to request notifications when other sites mention it.”
It’s been a while since I was up to date on image formats for the web. Back then in the 90s, I actually read the original JPEG paper in order to understand how it worked, because I was preparing a presentation to my study group on the MPEG paper and needed to understand how I-frames were encoded. At…
While refactoring my blog, I discovered the IndieWeb community. From the website:
“We are a community of independent and personal websites based on the principles of: owning your domain and using it as your primary online identity, publishing on your own site first (optionally elsewhere), and ownin…
So, I did it again! In the near future, I plan to blog more often (this time for real). But, meanwhile, my blogging setup felt a bit dated. So I re-factored it again. How?
I used Anthropic’s Claude Sonnet (first 3.5, then 3.7) to help me refactor stuff. Claude lives inside my new favourite code edi…
When writing my post on renovations, while mentioning automatic link checking and automatic HTML checking, I thought to myself: “Hey, how about automatic spell-checking?”. After all, OSes, word processors, etc. come with some built in spell checking.
Some research pointed me at LanguageTool. It’s free for basic use, open source, built in Europe, and has credible customers. It also supports multiple languages. And Markdown. What’s not to love?
(BTW, this is my first post in the “link post” format, popularized by John Gruber and others. These are short posts about cool, useful, or otherwise interesting links I found on the web. Just click on the post title to check it out.)
A long time ago (2017), I wrote about modernizing my blog’s infrastructure. Guess, what: Time to modernize again! Back then, I migrated from Drupal to a self-written, Jekyll-inspired static site generator written in Python (my current language of choice for most projects). I spent the majority of th…
For my last article, I wanted to include a couple of videos from YouTube.
First, I pondered using the standard YouTube embed code, but I wanted a more simple, elegant solution. The Drupal RepTags module supports powerful macros and it comes with some pre-built YouTube macros, so that wasn’t bad.
But I wanted more: HTML5. Read on and see how easily you can create your own Drupal RepTags, including the code I use to add HTML5 support for the Drupal YouTube RepTag.
Over the weekend, I redesigned the theme of my blog. I hope you like the result!
While I’m not a web design nor a theming expert, it was still quite easy to find a nice theme, and apply some blog-friendly customizations to it. Here are a few tips to get you started in Drupal theming:
Yesterday, I had two hours in a cafe, a Cappuccino on my table, a piece of lemon cake and free WLAN. “Cool”, I thought, “I’ll write an entry for my blog!”. How romantic. Right after I entered my blog user’s password, it dawned on me: The connection to my blog wasn’t encrypted! Anyone able to sniff on the local WLAN would have been able to catch my password as I entered it and steal my blog user ID! It took me some time (slightly more than the 2 hours I had…) to figure this out, so here’s a howto on how to make your login/admin tasks secure for a Drupal instance running on Strato as the hoster.
When creating this blog, I faced the question of what blogging platform to use: Hosted blogging, Wordpress or one of the many CMS systems out there? Here’s a discussion about blogging options and why I chose Drupal as my platform of choice, plus a couple of really useful resources that helped me tailor it to my blogging needs.