So, uh, Stripe; which is it? You can’t change the currency of a customer, or you can? Because I was under the impression that you were unable to change the currency once it was set. So you could imagine my surprise when I was able change the currency of a customer this morning.

Auto-generated description: A webpage from Stripe Support provides instructions on setting or changing the currency for an invoice, highlighting that the currency cannot be changed once set for a specific customer. Auto-generated description: A highlighted section of text outlines instructions for changing a customer's default currency, emphasizing that no active subscriptions, quotes, or billing objects must be present in the customer's current currency.

It’s crazy to think how little you have to pay to put up a website nowadays. For what you get for your money when using a service like Netlify, such as a CDN and edge computing, it feels like an absolute steal.

🔗 Choose Boring Technology

The problem with “best tool for the job” thinking is that it takes a myopic view of the words “best” and “job.” Your job is keeping the company in business, god damn it. And the “best” tool is the one that occupies the “least worst” position for as many of your problems as possible.

I’ve grown beyond the phase of wanting to look for the new and shiny for a particular problem at work. I just want something simple that will get the job done. Amazing how good of a teacher fatigue is when one’s been burnt adding new tech to an existing stack multiple times.

Via: Allen Pike

It lives!

Working through the Godot tutorial I posted yesterday, while at the same time trying to ignore my ego saying “Pff! I can do this already.” If that was the case, then the work would speak for itself. And on that topic, let me show you exhibit A. So yeah, maybe let’s go through the tutorial first.

Love a good opening theme, and the one used for Challenger: The Final Flight is a great one. Not sure I can listen to an extended version that goes for 8:43, but I can listen to the first 50 seconds of this all day.

🔗 The hardest working font in Manhattan

You’ll have to click through to know which font this is: no spoilers. But I’ve seen this font on old keyboards myself, and it’s quite unique.

Via: Birming

Watching a YouTube tutorial about Godot. First lesson: it’s pronounced g’doh, with a short G, much like g’day. I was always pronouncing it go-dot.

Running PeerTube In Coolify

A guide for setting up a basic PeerTube instance on Coolify using a docker-compose file.

The problem with doing an MVP is that once you’re done, all you have is an MVP. Sometimes an MVP is necessary to get something out the door quickly, but it’ll slow you down later when you need something that’s beyond the capability of the MVP. Can’t use what you didn’t build.

This week’s earworm: 140 OST. 🎵

An album review for 140 (OST) by Schmid from 2018. Rating: Liked It. Review: If you’ve seen the game before, it’s clear that the composition took game-play as priority over the needs of making a song-like song. That is the right decision, but it does make the music laking in consistent themes for those that want something to listen too. But it’s still a good listen if you like EDM music.

Not quite sure how I got the “likes pictures of mushrooms” attribute on Bluesky’s Discover algorithm.

I vaguely remember a movie I watched when I was very young, like 4 or something. It would’ve been released in the late 80’s and was like ET, but terrifying, at least to my young eyes (not that I didn’t get freaked out by ET too. This is why I don’t watch scary movies). I only remembered scenes of it and for a while I wondered if I actually imagined it.

Yesterday, I got confirmation that the movie does exist: this YouTube video covers it. Turns out, all those years ago, I was freaked out by poorly made corporate propaganda. 😏

Well, got my evening sorted. 😫

Boxes of cold and flu tablets and drinking sashes layed out on a bench.

Gave Dave Winer’s Wordland a try today. I like it. It’s quite a nice writing environment to work in. Wrote a couple of long form posts in it, along with a few that were a paragraph or two, and the editor felt great to use. Does a good job growing with the length of the piece too.

Auto-generated description: A text editor displays a guide titled How To Start A Naming Convention, discussing strategies for naming conventions in technical environments.

I’m one of those few that hate the taste of coriander. I can’t confirm whether it tastes like soap — I’ve never eaten soap — but I do find it unpleasant. Actually had a bit of a reputation at a bánh mì shop on being the guy that didn’t want coriander on his sandwich.

Good on Obsidian for changing their license to allow free for commercial use. It can’t be easy walking away from money, but I couldn’t really see a way of getting work to pay for my use of Obsidian. And I use the heck out of Obsidian at work. It would’ve been hard moving to something else.

Prototyped a game I had in mind, sort of a 2D Sokoban-like thing, where you control a robot with a retractable pushing arm that is to push gems to a “receiver” tile. Not entirely sure if it’s fun enough to actually build.

Used PixiJS to build it. Not a bad framework.

Following on from my adventures in dealing with spam messages, it’s quite strange that Mail.app doesn’t have an option to always show the from address domain in the mailbox list. It took opening the message, plus an additional click to confirm whether a “spam summary” email I received this morning was a phishing attempt (it was). I rather not open those mail messages at all1, if I can help it, and seeing the domain — which should be enough, given that it’s usually some junk domain like “funnybone dot com” — could allow me to dispose of these messages using the context menu.

Everyone knows that email is no longer a trust-by-default communication medium, so it strikes me as odd that these basic facilities are not available in MacOS’s default mail client. Seems like it’s barely change at all in recent years. Oh no, that’s not true: it now gives AI mail summaries that are totally useless. A feature like this would be much easier to add, and be much more useful to me.


  1. This is mainly because Mail.app also doesn’t have an option to avoid loading images across the board, or unless it’s a trusted domain. It does this automatically if the message end up in the Junk folder, but given that these phishing attempts made it into the Inbox, my trust in this feature is pretty low. ↩︎

I’ve started seeing phishing emails that try to simulate those email spam summaries you occasionally get from centralised spam-traps. I don’t usually get these sorts of messages so my suspicions where heightened when I saw these emails this morning, and after checking the domain — which takes too many clicks to do, Apple! — my suspicions were confirmed.

And it got me thinking: why didn’t Apple’s Mail summary indicated that these messages were spam? Not that I have any expectation for Apple’s AI do so, but the conspiratorial part of me started wondering whether it actually did, and report it as such in the summary. Here’s how the message looks in the Inbox list:

Auto-generated description: A notification from Place I Work At details a spam report and mentions 15 emails in quarantine for a fake email address, dated 21/2/2025.

Could it be “spam report,” as in “this is a report on spam;” or “spam report,” as in “this is spam, and is made to look like a report?” I’ve not seen phishing attempts that try to look like these sorts of mail messages before, and I’m wondering if spammers and phishers are now trying to tailor their messages to try and fool the AI into producing an ambiguous dscription where the AI is trying to report the message as spam, yet the reader interpertes it to mean that the message is about spam.

Again, this is probably just conspiratorial thinking on my part, and I’ve just been one of the lucky ones to have not seen these phishing messages before.