Stripe support is a lot like democracy: it was better in the past, and on the whole it’s the worst one out there, aside from all the other payment gateways.

I see why OpenAI is interested in buying Chrome if Google’s forced to divest it. I’d imagine it’s the same reason why Google built Chrome in the first place.

Perplexity buying TikTok? That I don’t understand. Smells a little like empire building.

For anyone else who needs to know this: the MacOS keyboard shortcut to go to the matching bracket in Goland is Ctrl+M. For those who know Vim, this is equivalent to %.

A nice quality of life improvement I’d like to see in Goland’s merge conflict window is the full commit message of the rebased commit I’m trying to resolve conflicts for. It’d help for knowing which strategy I should use for picking hunks, whether to pull it from main or the feature branch.

YouTube’s watch later list should be reverse-chronological based on the time you added the video, with recent videos showing up near the top. Having to scroll through the entire list to get to recent additions is time consuming. I guess YouTube assumed people would removed videos from that list once they’ve watched it. I know for myself I like to keep them in there, usually because the videos I bookmarked are worth watching again later.

Podcasters, I’m begging you: if you mention an article in your show, no matter how trivial it may be, put a link to it in the show notes. Take a page from your YouTube making cousins, who fill their video descriptions with links, even to things that seem inconsequential to the topic of the video.

Gallery: Morning In Sherbrooke

A visit to Sherbrooke in the Dandenong Ranges on Easter Monday included a walk along the falls track, a sighting of a Superb Lyrebird, and a brief exploration of Alfred Nicholas Memorial Garden.

Hanging with Rico. He’s got a habit of overpreening, which is why he looks a little shabby.

Auto-generated description: A person is sitting on a couch with a cockatiel perched on their shoulder.

On the subject of names of social media sites:

A Seinfeld meme consisting of a conversation between two characters discussing adherence to a content style guide, humorously addressing the continued use of the name "Twitter".

Does anything good come from revenue shares from social media sites, like Facebook or Instagram? I’m not a user of either platform but I get the sense that those programs are more likely to promote plagurism and AI slop.

The only one I see having any success is YouTube. Granted there’s plagurism and AI slop there too, but others seem to have an easier time making original content and making a living from revenue shares doing so. I subscribe to several channels that get a large proportion of their income this way.

I’ve not heard of any original content creators on Facebook or Instagram doing likewise, at least via recommendations from those outside the network. And less said about Twitter’s (I’m not calling it that letter) efforts here, the better.

Made some more progress on that Godot game. I haven’t gotten any further with the first level of world 2, so I’ve been spending much of my time making mechanics. One of them was the slow moving “level 2” mechanic that I stole wholesale from Super Mario World. That mechanic, despite it being frustrating to speed-runners, was always slightly interesting to me. To have areas of a level become accessible or hazardous just due to a layer of it oscillate up and down, it promised to make for some interesting timing challenges. At least in theory.

Portion of the new level showing all three new mechanics.

I decided to put that theory to the test, and start work on one the later levels. And despite being a little skeptical about whether the mechanic could carry through a level on it’s own, I came up with one that I’m reasonably happy with. The mechanic is introduce slowly, and in a rather non-threatening way, proving the player the means to get to higher ground. This leads into the second half, which will be a long underground section which will ramp up the difficulty by introducing the risk of getting crushed or missing platforms.

To compliment this is a new enemy that rushes the player. The player cannot do anything to defeat this enemy: combat is not really a thing in this game. All they could do is evade it before the enemy gives up. I am reusing the same “green slime” sprite for this but I’m hoping that the differing animations provide some hints of how this enemy’s behaviour differs from that of the simpler one.

Finally, it was time to consider checkpoints. While the first few levels were too short to justify adding them in, this one is just that bit too long without one. And given the difficulty ramp-up in the second half, having the player go through the slower first half every time they died would probably lead to frustration. So checkpoints are now a thing. They’re not free β€” costing 5 coins to activate β€” and they are sometimes mandatory, blocking the player from progressing until they pay the toll. But I think their presence helps with eliminating the areas of the level that would just be boring to play through again and again.

So yeah, I’m quite happy with this level. And I’m also happy in realising that I’m not bound to building this game in the same progression that the player will experience it. It’s better sometimes to just work on the areas that you’re ready to. I mean, it’s sounds obvious to say that now. Not sure why it took me this long to actually do so.

Some more #big-spending going on around here with the arrival of my brand new TV… remote control. πŸ€‘

Auto-generated description: Two black TV remote controls with various buttons and labels are placed side by side on a textured surface.

Yeah, I finally got a replacement remote control for my TV. And honestly, doing so was a long time in coming. The old one (right) has been failing over the last few years: with certain buttons, particularly Power and Enter, requiring significantly more force that others before responding. About a month or so ago, the Power button stopped functioning completely, and the only way I could turn the TV on was to use the Netflix button (making that button useful for the first time in years) and quickly switching to AV 2. That, plus the volume, were the only buttons working by the end.

Ooh, how interesting: Vivaldi is offering blog hosting. I hear blogging is all the rage now, so I gave it a bit of a test. And it’s nothing Earth shattering: it’s basically Wordpress. But it’s interesting seeing Vivaldi do this.

Here’s a life hack: if you’re listening to a podcast, but not paying attention, and wishing you were listening to something else, stop listening to the podcast and listen to the other thing.

Amazing, I know. Subscribe to my newsletter for more amazing life hacks. 😜

Got a bit bored today. Fortunately Acorn comes with an eye-dropper and Galvji, the closest to SF Pro I had available to me.

Auto-generated description: A plain white background features the text Designed by Apple in California Using local and imported ingredients.

It kind of blew my mind that this currency exchange rate “API” is nothing more than just some static files on a CDN, along with a cronjob that updates them daily. I guess it’s technically still an API. If the interface is stable, then there’s no reason why it needs to be backed by a database.

It’s amazing, when you consider the vast computing resources that AWS has, that it still takes tens of minutes to deploy several lambdas at once.

Fixed spelling of canceled

My last commit message. With the linter requiring US spelling for all code artefacts, I never had more of an urge to put scare-quotes in a commit message as I do right now.

On time arrival at Albury, NSW.

A modern blue and yellow train is stationed at a covered platform on a sunny day.

At “Broady 3,” waiting for the XPT to Albury. πŸš‚

A railway track curves away from a deserted platform with an amber signal light and surrounding greenery.