Weeknotes 209
29th June, 2025
“Twenty minute episode”
-
GUItignore – handy for creating your
.gitignore
file. -
MACOS ICON HISTORY – I’ll leave it you to decide whether things have gotten better or worse.
-
Two films at the cinema this week, very unusual. These days I’m often reluctant to go to the cinema due to people. Leaving the house is apparently good for you though, alas.
First up was 28 Years Later — I’ve been waiting for this to come out for some time being a big fan of 28 Days Later. There are so many wangs in this film. No spoilers, but the ending was unexpected to say the least. Shout out to Cheddar Gorge (if you’ve never been it’s absolutely fantastic).
Second was Mission: Impossible - The Final Reckoning. I could barely remember what The Entity was supposed to be. Needless to say, a small sleep was had. The whole film revolves around the stunts that Tom fancied doing that day.
-
Entity status history using Ecto – Check out the complete lack of explicit conditionals in this code. Lovely stuff.
-
I’ve read all but one of the The Murderbot Diaries books because I saw buzz about them online a few years ago and they’re an easy read and short (especially good when you’re trying to meet your yearly book goal!).
Saying that, I’m not sure they’re that good. But they certainly are ripe for TV adaptation, so I’ve been watching Murderbot, and it is fun in places.
20 minute episodes though – Come. On.
-
Why Good Programmers Use Bad AI – sad but true. The craft is gone. Only results matter, and probably always did.
-
A CLI for on-device speech transcription using Speech.framework on macOS 26
macOS Tahoe will be including new speech transcription APIs, and
yap
(excellent name) will help you use them. -
I had no idea that Apple Notes could have extensions, but apparently it can – ProNotes. Giving it a whirl.
-
Neovim custom function: Contextual Code Snippets for Better Code Notes – This is a nice example of customising Neovim to your exact workflow and what’s possible with the Neovim Lua API.
-
When I compose these weeknotes I need to create a lot of links. I prefer the reference-style Markdown links because they don’t mess up the flow of text, but, they are cumbersome to write.
Inspired by the article above I decided to see if Claude Code could create a Neovim reference link helper function that I’ve been thinking about for a while, but that I never got around to.
(I’m sure that fuller-featured solutions exist for this problem but I haven’t explored them yet, that’s a bigger project for how to handle Markdown more effectively generally.)
So I wrote a prompt for the problem and my proposed solution for how it should work and it got something working with some back and forth. The whole thing probably took half and hour.
Then came the inevitable bugs and edge cases: it doesn’t work if the text to be linked spans multiple lines, and sometimes it adds a random newline in the output and I don’t know why.
Still, I’ve been reading a few articles about “how to use AI” and this is the one of the things many articles mentioned — using AI to write code you would never write yourself.
Even if you think we shouldn’t be writing “production” code with AI, it’s hard to argue against using it for tasks such as this. It gets you most of the way and that is valuable even though I think I’ve spent more time debugging than it took to create the first version of the code!
-
Phoenix.new is Fly’s entry into the prompt-driven app development space
-
Using Claude-Swarm to Upgrade Ruby Projects – this is interesting even though I don’t really understand it! Why do you need multiple agents, can’t you give a single agent all the context and instruction they need?
-
Weird Ruby: Anonymous Heredocs – Ruby is indeed weird.