One of those days where I doubt my ability to do this job. π
Thought we were done with the swoop-o-meter for the year, didn’t we. Well, I guess there’s a little more spring left to go. That’s 5 noisy miners now. π·ββοΈ
Smack bang in the middle of the automation smiling curve for my current task. π©

I’ve been waiting 5 minutes for the work VPN to log me in, and I’m still waiting. I guess the VPN client slept in today.
Oh, it just timed out. Must’ve hit the snooze.
Spent the morning upgrading my self-hosted Forgejo instance to the latest version. I started 30 minutes before heading out the door to an event, which is “always” a great idea. π€¦ββοΈ
After removing the repo managed version of Forgejo, which never worked for me, I was able to download and install the latest Debian package. I did have to uninstall the previous version first, which was a little terrifying. I did create a Hetzner snapshot before I started, just so that I can revert back to a working version should I screw everything up. Fortunately I didn’t need the snapshot, but I did need to move “app.ini” out as installing the package would’ve overwritten it and apt
was refusing to proceed.
I eventually got the packaged installed and Forgejo running again. Fortunately everything was still there when I check the frontend. But when I tried doing a push, Git was throwing an error indicating that it couldn’t find the repository. I was unable clone any repos either, either using SSH keys or HTTPS.
I not entirely sure what was causing this issue. It may have been the move of “app.ini”. I did this as root, and maybe Forgejo, which runs in a jailed account, had an issue with reading or writing to that file. I changed the owner back to “forgejo” and also went through the the pre-update actions upgrade guide, and either one of those must’ve fixed something as Git started working again.
Anyway, I now have an updated version of Forgejo running. And despite the weird Git thing, it went relatively smoothly. But there are a few lessons here: always read the upgrade guide, and don’t do something like this minutes before you need to be somewhere else.
It’s done! Cyber Burger, the Pico-8 arcade game I’ve been working on for the last few months, is finished and can now be played online in a (desktop) browser. Check it out here.

Now that my 1Password subdomain woes with Android Vivaldi has been tamed, itβs time to turn my attention to Safari:

In this world of micro-services and Kubernetes, it was nice to be working on a system built as a monolith running in a plain old EC2 instance. But recently, during load testing, the service we’ve been working on as been showing signs of stress β timing out, maxing out the CPU β and it’s become clear that scaling up has taken us only so far. So now might be time to rearchitect this into micro-services and move it into something like Kubernetes. This was probably always going to happen. I’m just glad that it’s happening now, rather than before it was necessary.
I’ve been spending so much time on this tool to generate a report I’ve been asked to produce, and it’s super overdue. The funny thing is, if I delay one more week, the report would be trivial to produce, and the tool will become unnecessary (the tool’s almost finished too).
Listening to this part of HV got me wondering if the secret to punctual trains is just a whole lot of them. You’re less likely to do something to delay a train β like hold the doors open β if you know the next one’s only a few minutes away, and will arrive on time. One builds on the other.
Okay, so apparently I held out for exactly 1 hour and 15 minutes, as I’ve just opened a Bluesky account1. The reason is that some old Twitter accounts have moved over there instead of Mastodon. I get a lot of enjoyment from those accounts and it’s good to see them still posting.
I do wonder where they moved their old Twitter archive. A tweet of theirs I linked to as a shortcode broke this blog for a time when they deactivated their Twitter account. I do hope they either POSSE or PESOS with a domain they control so I can fix it (they’re so close: they’re using a domain for their handle, all they need to do is setup a website).
-
All posts on Bluesky and Mastodon go through here first so you don’t need to follow me there if you follow me anywhere else. ↩︎
Wondering if I should open a Bluesky account. Do I need another service to look at every day? Am I desparate enough for βmoar reederzβ to set up another POSSE channel? Itβs tempting. Will hold off for now, but who knows how long Iβll be able to maintain my willpower.
Someone at work found this blog. Apparently they found a link to it on LinkedIn. Probably should get that fixed. π
(Hi, K.K. π)
Behind the MAS.

I was not expecting tense to be a stumbling block with writing design proposals that’ll eventually become documentation. I’ve been catching myself writing in the future tense β “this service will do this” β instead of the present tense β “this service does this.” This is probably a habit I formed while writing design proposals to be reviewed, only to leave them be forgotten once they’re approved.
I’m trying to avoid that here, and although the use of present tense instead of future tense might seem like a small thing, I think it’s a very important one. Once the design is approved and realised, what will be will eventually become what is, and I want to make sure the reader gets that, and keeps it up to that when the design changes. Using the wrong tense here would just signal to the reader that the document is just a proposal and is no longer relevant. And when that happens, it’ll never get looked at again.
π How to deactivate your X account
Finally got around to deleting my Twitter account. I’ve seen others do likewise, yet many say they’re “deleting” their account and the only option in Twitter’s Settings is “deactivate”. So I was unsure if they were one and the same. Looks like they are.
So, walking from the station to the only cafe that’s open to pick up a coffee before my train arrives is about a 5 minute round trip. This assumes the barista is ready and there are no customers in front. So, let’s say it’s safe to go when the earlier train has just left the station.
It’s such a romantic idea to think that they’ll always be a customer or product manager available to me to answer all my business rules questions. Would love that to actually be the case. πβοΈ
I’ll never understand Go developers who insist on using pointers to represent a lack of something, where a zero value would work just as well. Better even, as you wouldn’t need to dereference things or worry about nil-pointer panics. Remember, don’t fear the zero value.
It only just occurred to me that I can turn off “Use β+Scroll to Zoom Page” in Vivaldi to compensate for the Magic Mouse’s incessant need to scroll while I’m trying to Cmd+Click a link.

I still dislike the mouse, but hopefully with this off, the urge to throw it out the window will be diminished.