-
Seems to me the true winners are those that chose not to wake up at 5 AM today. ๐
-
A bit more work on my Godot project. Finally started on music, which I hope to record myself. Got a pretty good level cleared fanfare, which led to the development of the track for the intro level. Turned out really well I must say. An amateur job, but a decent start. Here’s a sample:
-
This, and last, week’s earworm: The Red Planet, by Rick Wakeman.
Started listening to this in 2021, while the pandemic was still raging. It fell out of rotation, but last week I thought I’d dig it up again. It’s quite good. Worth a listen if you like classic monophonic synth music. ๐ต
-
Also, in the interest of posterity, and in honour of all the UK level crossing videos I’ve been watching on YouTube recently, here’s a recording of the level crossing being removed in operation, taken last week. Apologies for the loud sirens emitting from the pedestrian gates.
-
The level crossing removal is in full swing at the moment. Trees have been felled, paths closed with detours in place, large machinery moving about. Hi-vis everywhere. ๐ฆบ
-
Spyglass: OpenAI Makes ChatGPT ChatGPT Again:
All that points to perhaps a disturbing trend where OpenAI doesn’t really understand their user base. Which you almost can understand given how they clearly stumbled into ChatGPT in the first place. Still, here they are with those billion users. A problem that all of their competitors would love to have. But still a problem if you want to fundamentally change what you are as a product.
It’s amusing to think that sometimes the product chooses you.
-
Well, I just found out that the task I was looking at, which I thought was going to be a quick manual config change, has blown out to a code change touching three services, plus a data migration. So, I guess next week’s work has been sorted. ๐ฎโ๐จ
-
Oof! I should’ve stayed in the sun. It’s freezing in the shade. ๐ฅถ
-
An open protocol is more than just you open sourcing your implementation for me to look at it. It’s saying that I can open source my implementation without you having to look at it.
-
I can’t for the life of me understand why an SCP upload would stall out for multiple minutes. It gets to 5%, does nothing for about 8 minutes, then slowly finishes the upload at a crawl. Why? What the heck is it doing during that time?
-
๐ Jim Nielsenโs Blog: A Well Known URL For Your Personal Avatar
The fact that this post from 2023 still comes to mind whenever I need to remember how to get my avatar image/URL suggests to me that this is a pretty good idea.
-
I’ve been seeing a lot of traffic attributed to Google this past week, significantly more than usual. It seems to enter from one or two random pages from the archive, and start spidering from there. Could they be model runs? A significant number of hits are from Linux, but the traffic seems to be coming from all over the world, not just a single country. Very odd.
-
I lost my static IP address when I moved to a fibre connection. I was considering getting rid of it anyway as I no longer had a reason to need it (although the part of me that’ll need to manage security groups going forward will beg to differ). It was nice to have it though: my own /32.
-
The beauty of having access to coding agents is that you get to create a tool shaped exactly to the problem you’re trying to solve. I’m working with some data in a PostgreSQL DB that has a JSONB column. This introduces problems in a typical client: either because only the first few characters of a multi-KB JSON structure is rendered, or the full JSON structure is rendered and it blows out the size of the table.
So I asked Claude Code to make a client that would open the value of JSONB columns in a separate window, nicely formatted and syntax highlighted. I’m using it right now and it’s been a godsend. It’s hard justifying putting in the time to build this manually for a project that will probably only last a month or so. But asking the agent to do it in a day? Not a problem.
I would also say it’s easy to do this if it’s not your money you’re spending. ๐
-
Furthermore, it seems like
PRAGMA journal_mode = WAL;is the only one that’s persisted. All the other pragmas only apply to the current session, something I wish Sqlite’s documentation was more clear about. Putting them into your DB migration script will do nothing. -
๐ Mort’s Ramblings: SQLite should have (Rust-style) editions
Come for the opinion. Stay for the techniques on tuning an Sqlite database to support foreign keys and avoid DB lock errors.
Via: Lobste.rs
-
๐ Vibelog
Well Read - A Fable Moment
Asking Fable to make some changes to my RSS reader, as well as getting Fable to look at a problem Opus couldn’t solve. Continue reading โ
-
At the same time, I do recognise that not every bit of kit should have a complicated UI, particularly if those using it are just trying to get done what they need to do. I know for myself I’m not yearning to master pivot tables in Excel.
-
๐ Robin Rendle: EP-1320 Medieval
So the EP-1320 is not simple. You either learn itโs way of doing things or go to hell. Like computers from before my time, this thing is modes-galore.
There’s something to be said about the feeling of accomplishment that comes from learning a complicated UI. Things like this, or software like Vim or Photoshop, are not approachable or intuitive. But they still have something to offer: a sense of mastery.
-
Great Daily Update by Ben Thompson about the Apple v. OpenAI lawsuit. Seems like both parties and not completely innocent, but I still can’t feel too sympathetic for Apple. A trillion dollar company doesn’t like people leaving for other jobs? Hates that people are down on phones? Cry me a river.
-
In this world of home delivery apps launching and crashing down to earth, the people who make those big insulated boxes you strap to the back of e-bikes are the ones selling the picks and shovels.
-
TIL about signal.NotifyContext, allowing one to handle graceful shutdown on a signal as a regular context cancellation, without having to setup a buffered channel or separate goroutine. Graceful shutdown simply becomes the following:
package main import ( "context" "os" "os/signal" "syscall" ) func main() { ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) defer stop() doThing(ctx) // assuming thing handles context cancellation gracefully shutdown() }Very useful. I’m probably more likely to add graceful shutdowns in my tools now.
-
Also, this magpie was good enough to sit still for a photo. It flew away as soon as I put my phone down.
-
Short walk on the Lilydale to Warburton Rail Trail around Mount Evelyn this afternoon.