Back to work
Yup, it happened. Over nineteen months and two eclipses later and the career break is officially behind me. I still can’t believe that time came and went so quickly, but I can say honestly that I’m excited to start something new.
How do nineteen months fly by so quickly? In some ways it feels like just yesterday that I made the difficult decision to leave my old role and, after over twenty long and fruitful years with my first and only real professional role, simply stop for a while.
In the over year and a half that followed, the world around me changed dramatically. The AI hype cycle truly took off with an investment bubble that has seen untold billions sunk into startups, large established players, and the picks-and-shovels companies that underpin the industry. In parallel, we saw increasing evidence of a white collar recession taking shape, with the software industry no exception. While I don’t personally believe the former trend has played much of a part in the latter, these parallel trends have seen the software industry disrupted in a way it hasn’t been since the dot-com crash of 2000.
Meanwhile, the political landscape has been utterly transformed. As the alt-right continued to rise and eventually take power in our neighbour to the south, we’ve seen sustained pushback against diversity, equity, and inclusion (DEI) policies and practices, and a decline in support for investing that takes into account environmental, social, and governance (ESG) factors, with some of that pushback taking the form of real changes to the legal and regulatory landscape in the US.
As if that weren’t enough, in the first quarter of 2025 we’ve seen a sustained attack on Canadian sovereignty, as the new American administration has begun to wage an economic war on this country while cozying up to strongman dictators across the globe.
I genuinely don’t remember the last time the world felt this… precarious.
As you can imagine, given this context, I was more than a little anxious about beginning the hunt for a new job.
So imagine my surprise, back in late November, when a former colleague reached out after noticing I was open to work…
Continue reading...PWAs on the Steam Deck
I wanted to try using Navidrome on my Steam Deck, but couldn’t find a good client. I realized I’d love to just use the web interface, but using Chrome for this is a pain. Then I remembered there’s a way to ‘install’ PWAs with Firefox, which would let me run any major web app (e.g. Spotify, Youtube, etc) right on the deck as though it was an actual app. Here’s how I made it work.
All I wanted to do was play music on my Steam Deck.
To be honest, I’m not 100% sure this will actually be useful to me in the long term, but it seemed like a fun thing to try, you know?
I hunted and hunted for an application that would work nicely on the deck and would integrate with my Navidrome installation, but nothing satisfied. The closest I got was Supersonic, but it didn’t play nicely with Gamescope
Eventually I concluded that my best bet would be to just run the Navidrome web application, but doing that with Chrome in gaming mode was clunky and a bit unsatisfying.
Then I remembered an experiment I ran a while back running web applications as a PWA with Firefox, and a light bulb went off.
Now, to be clear, this whole thing is a little silly, but it was fun and it worked well, so I figured I’d write it up just in case a) I needed it later, or b) someone else might want to give this a try.
Continue reading...Zen + Flatpak + KeePassXC
I switched to using Zen via flatpak as my primary browser, and then remembered that getting a sandboxed browser working with a native KeePassXC is FUN. Then I found a workaround so I’m re-documenting it here with additional details that are required by my feeble brain.
First off, a critical security caveat: These instructions bust open the flatpak sandbox by giving Zen (or Firefox–you can adapt these same instructions to work with any FF-based browser) the ability to run executables on the host system.
Now, in my case, the alternative is running a native version of the browser via tarball or AppImage, so for me it’s six of one and a half dozen of the other. But you have been warned!
Secondly, I should note these instructions are specifically for getting a flatpak version of Zen (or Firefox) working with a native KeePassXC installation. If your KeePassXC install is also a flatpak, you’re gonna have to look elsewhere (I tend to use native packages as much as possible and only fall back on Flatpak when I have no other option).
With that disclaimer out of the way, here’s the instructions I lifted from this Github comment, but with a bit more exposition to make various assumptions in that comment explicit.
Continue reading...Getting better! Finally picked up a couple bannetons which really helps with shaping, and I also avoided over-proofing this time around. Still not too sour yet, but darn tasty!
Well shoot, apparently Sanderson released the last installment in The Stormlight Archives, which means now I have to re-read the series. I guess I know what I’m doing over the next few months…
First sourdough!
Crumb is light, cool, and creamy, just tighter than I’d like due to a combo of under-proofing, poor shaping, and issues loading the loaf onto the steel. I also need to work on my scoring technique.
The rolls could’ve used more heat at the start to get a darker crust.
Flavour is a very mildly tangy French-style lean bread.
Not my best, but given I’m rusty, a good start!
In the last two refreshments of the starter I added 25% rye flour and 1/4 tsp of unpasteurized apple cider vinegar to bring down the ph. I can’t tell if the yeast suddenly woke up or if the AAB are just going to town…
Well, the head fake phase of the sourdough proto-starter is over and things have quieted down. Smelling a lot more lactic this morning as the stage is set for those yeg yeast to set up shop! Soon…
More herb photos. The rosemary is doing okay. But the thyme. Man it loves growing in a pot, wow!
After a years long hiatus I decided it was time to get back into bread baking. As part of that return I’m bootstrapping a new sourdough starter, and I forgot how vigorous the false activity is in the first couple days as bacteria pull down the pH in the starter and make the environment suitable for wild yeast. The sponge I prepped doubled in the first 24 hours and then the next 12. It’d be easy to be lulled into thinking this thing was ready to bake with!
First attempt at (anise flavoured) biscotti, and I’m not standing on modesty, here: crushed it! I’ll definitely be making more of these once this supply has run out.
Well, I gotta say, this project to convert an inherited china cabinet into a growing space turned out as well as I’d hoped!
Strava Lost The Plot
Strava began rolling out a new beta feature where an LLM provides commentary on training activities, and in doing so provided a perfect example of how tech companies both cannot resist climbing aboard this latest bandwagon while having no idea how to make it useful beyond replacing their own jobs.
If you’re not aware, Strava is a social media platform disguised as a fitness tracking application. For years they’ve carved out a nice little niche for themselves in the space, first by offering some truly unique and value-added features like their heat map and route planner, which uses real user data to find routes where people cycle, run, and so forth, and second, by incorporating a number of social features to allow athletes to interact, whether it’s liking each other’s activities, commenting, organizing group events, and so forth. Notably, quite a few professional athletes use the platform, including legendary riders like Jonas Vingegaard and Tadej Pogačar, which allows fans to follow their activities and so forth.
Strava opts for a freemium model, with a number of key features included in a paid tier, and as I’ve become more serious about cycling, I’ve found those paid features to be worth the price. As part of those packages, they include things like additional analytics, which provide various statistics about activities, a route planner with automated route suggestions based on their heatmap data, and leaderboards which, I have to admit, I kinda enjoy as they gamify community-defined segments for sprints, climbs, and so forth.
All of these features do one of two things: connect athletes to each other, or give athletes access to data, either about themselves or supplied by the community, that they can use to enhance their activities.
Unfortunately, recently it seems Strava has caught a nasty cold that is infecting companies the world over: AI. And in doing so I’m afraid Strava is demonstrating why tech companies ultimately fail to understand basic concepts like trust and empathy.
By the way, just a brief interlude: if you want to disable this mis-feature (for now), in the app you have to pick “Show More” on one of the AI generated callouts, select “Give Feedback”, and from there you can leave the beta. Given how difficult that option is to find, I’m comfortable calling this a dark pattern.
Alright, let’s get back to it, shall we?
Continue reading...