After making websites for more than 20 years, I still keep finding new HTML| Random Notes
We recently swapped our biogas powered Volkswagen Golf to a 2021 ID.4, a battery-electric vehicle from the same manufacturer. Imagining the savings of charging at home during times when electricity is cheap, we got a smart charger — a Kotilaturi Buusti Box, which is a rebranded cFos Power Brain Wallbox. It's definitely smart, but also super difficult to configure. Maybe I'll write more about that later. As said, we were imagining the savings of charging during cheap hours. Emphasis on the i...| Random Notes
I was notified yesterday that email sending was failing in Code::Stats. The service uses Mailgun's API via the Bamboo library for this functionality. Reproducing the issue locally, I got the following error:| Random Notes
Disabling the absolute volume of Bluetooth headphones to avoid hearing damage.| Random Notes
Compile Time Configuration of Elixir Dependencies in Gleam| Random Notes
Small guide to the different types of configuration in Elixir.| Random Notes
Configuring Elixir dependencies at compile time in Gleam projects with the help of a horrible kludge.| Random Notes
The best view in Turku.| Random Notes
A long time ago, my grandpa gave me his pocket watch. It was passed down in the family to him, then from him to me, and it's one of my most prized possessions. The only thing I knew about it was that it said Zenith on the front, and it had an inscription explaining it was given as a 60th birthday gift to someone in 1939. It runs, but poorly so, having a drift of around 7 minutes per day. Turn up the volume to hear the faint clicking.| Random Notes
In this post I feel old and write the most lackluster retrospective in history.| Random Notes
An Sr1 rounds one of the tight bends in Vaajakoski.| Random Notes
As Firefish, my fediverse instance software, had gone into maintenance mode and wouldn't be updated in the future, I needed to move off of it. I settled on Mastodon for my new instance. I set up a new account for myself and added the old account as an alias there, which is required to migrate to it. In essence, the new account must pre-approve the migration by adding this alias. This is to prevent migrating to the wrong account by accident. After doing this, I tried starting the migration fro...| Random Notes
As I logged in to my fediverse instance running on my home server today, I was thinking it was running strangely slow. Opening htop painted an ugly picture: all the CPU cores were at 100 %. The reason was that my Forgejo instance was being scraped.| Random Notes
We have a battery powered automatic soap dispenser that you can use without touching it. Sure, it's a stupid item that probably shouldn't exist, but since it already exists, it would be reasonable to keep it working as long as possible. The upside is that it stays clean, but the downside is that it eats through batteries like nobody's business. The thing requires 4 AA batteries and, crucially, rechargeable 1.2 volt NiMH batteries won't work. I'm not going to be buying separate regular batteri...| Random Notes
I got a new ISP recently and for the first time ever, a possibility of using IPv6 on a wired home network. IPv6 is still a novel thing in Finland in 2024. I started by dragging my Ubiquiti EdgeRouter X to as close to the present day as possible with the stock firmware, upgrading to 2.0.9-hotfix.7. Then I wasted a whole evening trying to fiddle with the IPv6 configuration in the config tree. The closest I got was that my devices got IPv6 addresses, but couldn't send packets through the router....| Random Notes
This is a post about how I set up the Valheim dedicated server for socket activation with Systemd, so that it can be started and shut down on demand. This helps it use less resources, keeping the server and the environment happier. If you just want to grab the codes, you might skip directly to the repository, but keep in mind that it requires understanding of Systemd and Linux system administration.| Random Notes
Using Gleam packages in an Elixir project is not as simple as adding {:lib, "1.2.3"} to your| Random Notes
I've been moving stuff to my new home server and been setting up services with Caddy. It has been a breath of fresh air after my messy Nginx configurations and Let's Encrypt setup. But I found the default logs to contain waaay more information than I needed. So here's a snippet to configure logging to stdout (for Systemd's journald) and remove some extraneous stuff that I don't need to see:| Random Notes
The old acid tower stands next to the Nokia stream as a reminder of times past.| Random Notes
| Random Notes
This week I encountered a post by Matti Vuori on the fediverse, and its 320 by 200 pixel photo with 16 colours intrigued me. I went for a walk with our dog and took a couple of boring snaps to try it out for myself.| Random Notes
Founding a sole proprietorship and what it means.| Random Notes
Buy Code::Stats laptop stickers to support the project!| Random Notes
Review of the Ultimate Hacking Keyboard and usage experiences.| Random Notes
The first part of this post contains background on how I got the keyboard and how I progressed with| Random Notes