I find having the context of the previous commit messages helpful when writing a new commit message. Especially when using Scoped Commits , it helps seeing scoped used in the past. Git comes with a customizable message template, but it is static. What is needed is a wrapper around git commit to fetch the latest git commit messages, and to prepend this text to the current git message file. To wrap…
Inspired by Ocular , a tiny static image feed generator, and Picacalilli's article on a simple masonry-like CSS layout , I rebuilt my own web photo feed. Previously, I used a shell script tying various terminal programs together to generate a super simple static HTML site and RSS feed. Not just the idea came from Hundred Days , but also the script was based on theirs . What I really liked about my…
I build upon my previous experiment with Automerge and Alpine.js to create a super simple Todo web app which works offline and in multiplayer mode. You can see it in action here . The source code is available on Codeberg .
I like experimenting with Automerge for building local-first web apps. The core of Automerge is written in Rust and made available in Javascript through WASM. That makes the setup somewhat challenging, especially if you like to write plain Javascript without build tooling. Thats why I bundled Automerge once and made those files available for projects without build tooling (bundlers).
King Ruby is psychedelic indie blues band based in Heidelberg. They like to rock, and groove, and grooverock. They play live on the 10th of April at Cafe Leitstelle in Heidelberg . A friend of mine is part of King Ruby, so I build them a website .
Since version 0.22.0 Zola comes with new built-in syntax highlighting based on Giallo . Giallo uses VS Code syntaxes and themes, of which many are provided out of the box. Before the switch to Giallo by Zola, I used Boron as a color theme. Unfortunately it's not available as built-in theme by Giallo. I like the colors quite a bit, so I decided to port it to a VS Code compatible JSON theme file.…
Black Sea Dahu released three songs of their upcoming album. I enjoy all of them very much! On Spotify they can be listend to in a row. On Bandcamp they are only available as single songs.
With Automerge it is surprisingly easy to build web apps wich work offline. Automerge is a local-first sync engine for multiplayer apps that works offline, prevents conflicts, and runs fast ( automerge.org ). It is a JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically ( GitHub ). The core of Automerge is written in Rust and made…
To synchronize Alpine.js data with the query parameters in the URL, all you need to do is $watch the property and write its value to the URL. On page load you need to read the value of the property from the URL and initialize Alpine.js data with this value. Its possible to extend Alpine.js to implement a generic version of above approach: Alpine.js allows you to register your own custom directives…
As little exercise in web development I created just another Bounding Box Tool . I wanted to foster techniques learned from Every Layout and try out Alpine.js for user-side interactivity. You can have a look here.
After seeing Conic Rose at the Detect Classic festival, I was a little bit disappointed by their studio album. Recently they released a live album. I am so glad they did! Sometimes a live album is just better than the studio album. Conic Rose live from Kantine Berghain
There is a sort plugin for Alpine.js. I wanted to use this plugin to let the user sort a list and react to it by changing the Alpine reactive data ( x-data ). My first approach has been following code: <!-- NOT WORKING AS EXPECTED --> <! doctype html > < html lang =" en "> < head > < meta charset =" utf-8 " /> < meta name =" viewport " content =" width=device-width, initial-scale=1 " /> < script…
It's fascinating that some music albums do not lose their magic even though they are listened to many times. Kiev and their album Falling Bough Wisdom Teeth ( SoundCloud | Spotify ) is one of those for me.
Seit Jahren bin ich fasziniert davon wie einzigartig der Gesang (und die Musik) von Jose Gonzales und ( Junip ) ist. Bis ich auf Almost Twins über das Lineup vom Detect Classic Festival aufmerksam geworden bin. Beim hören musste ich direkt an Junip denken. Ähnliche dicke Klangteppiche werden durch mehrere Instrumente und Stimme gewebt. Nur kommt bei Almost Twins noch Jazz mit dazu. Live trägt die…
My last multi-day bike tour started out in Slovenia with the goal of cycling all the way to the Baltic Sea. While the scenery was beautiful, I quit after a couple of days riding in Bratislava because it was too exhausting on my body and my mind. I do not regret starting or quitting. Both the cycling before and the time afterwards were great. From Bratislava, I went straight to my girlfriend Maike…
After reading How I Mastered the Art of Ventilating My Home , I decided once again to pay more attention to the air quality in my rooms. To start, I needed a sensor to monitor temperature, humidity and CO 2 . In the past I used a Raspberry Pi and the BME680 sensor together with some Python scripts and an Influx database. This works, but it takes time to get it all working and to keep it working.…
The name ~talfus-laddus as well as the sigil (the website icon) originated from Urbit . I was into Urbit back when it was a young and visionary project to build an OS from scratch. (I booted my first instance of Urbit back in 2019.) Unfortunately, the governance of the Urbit Foundation changed in 2024, and they put Curtis Yarvin in a leading position. He might have been the right person to…
Zola uses taxonomies to group pages together. I wanted to give tags to every blog post I write and be able to list all posts related to a tag. The documentation of Zola on taxonomies is pretty clear. But there is no example given of how to setup a page listing all tags or a page showing all pages with a certain tag. The key to build such pages is given by the taxonomies documentation in the…
A couple of years ago, I sat down to create a set of some of my favourite electronic music. I still very much like to listen to it. Here it is: I wish it would be easier to create these kinds of music sets. I am curious what AI tools will spring up in the coming years to do exactly that. Back then, I used an unusual DJ software call BpmDj . It was highly visual and I found it really intuitive. It…
A Manifesto for Preserving Content on the Web really resonates with me. I try to keep this website simple - it should be easy to maintain and easy to add new content. The design is guided by minimalist aesthetic and aimed at a low carbon footprint . All of which leads naturally to adherence to the guiding principles of the Manifesto: Return to vanilla HTML/CSS This website is pure HTML and CSS and…
In some ways, my website is a little knowledge base for myself. Of course, it is also a place for me to share with others. But I very likely might be the most common visitor of my own website. I post links to articles and podcasts I found worthwhile reading and listing to on my Links blog . The same as with the website, I created the blog as much to share with others as I did it for myself, to…
I do not know about you, but I usually have a water bottle with me regardless where I go. I love to refill whenever possible. I dislike buying bottled water in countries where perfectly fine drinking water comes out of the tap. It boggles me how in Europe they charge for water in cafes and restaurants. Also, it is considered not appropriate to ask for tap water in those places. Currently, I am in…
I love the libraries in New Zealand. They are true community spaces! Today I spend the whole day in one of the many libraries in New Zealand. A place where I witnessed a play for children (and their parents for that matter), a group of elderly women getting together for a round of Scrabble and a guy on a sewing machine right next to a 3D printer. How cool is that? It reminds me a bit of Maker…
During our trip to New Zealand , we bought a little Camper Van. For some reason, the built-in water pump had too much power so that the water shot out of the tap and splashed everything around it. To restrain the pump, one could probably install a resistor. Resistors burn off unused current as heat and therefore are inefficient, which is annoying. But more importantly is the question: How much…