-
The month of free public transport has introduced an interesting problem. A completely open barrier does not provide a way to force people in a particular direction. So PTV staff have to make do with alternatives for controlling flow, like directing people manually, or paper signs like these.
-
When you deploy your service to the wrong environment, Dev instead of Test, you know it’s time to call it a day. Just be glad I didn’t accidently deploy to Prod. 😬
-
Now that coding agents can produce code in reasonably working order, the real source of problems will come from the human’s miss-understanding of how the code should work. If the human has some bad assumptions, and conveys that information to the agent, then things could quickly get quite messy.
-
I can’t see how OpenAI pivoting to a “super-app” would entice developers from moving away from the likes of Claude Code. Having a purpose-built TUI works perfectly here: I know where I launched it, I can have multiple sessions, etc. Plus, I’m already using the Terminal for building, Git, tailing logs, etc. Having one more tool in the same collection of windows is a small price on the old spacial awareness budget.
-
Oof! Jacket and beanie weather sort of snuck up on us. I’m a little unprepared for it. 🥶
-
You know, just because you did manage to deploy something on a Thursday doesn’t mean you’ve saved yourself from spending the weekend fixing said something. 😫
-
It’s said that the price of freedom is constant vigilance. In the same vein, the price of working software is constant paranoia. Is it working? Sure you tested it yesterday, but is it still working today? Maybe you should check. 😥
-
Tiny victories: I spelt “amalgamation” correctly on the first try. 🏆
-
Amusing how many podcasts are just interviews with people while they do X. Got me thinking about starting a podcast where I interview people about their work BUT, and here’s the hook, they clean my house. Will you learn anything new here that you wouldn’t from any of these other shows? Well, no, but I end up with a clean house, so it’s a win-win. 😛
-
🔗 Robert Birming: How to kill a blog
What can you do to prolong [your blog’s] life?
It’s very simple. Don’t go niche.
Blog about whatever you feel like. Some posts get more attention than others. It’s not important.
Love it! And so true.
-
Some people are just incapable of being quiet.
-
It just occurred to me that the ability to fully dog-food the software one is paid to work on is actually quite a small subset of software people are willing to spend money on building. Realistically, it could only be achieved for those working on consumer apps, or for tools used by other software developers. For anything else that serves a niche that requires it’s own set of skills, dog-fooding would be difficult to pull off. I’m paid to work on software for pro-videographers, yet I’m not a pro-videographers. My skills are in software development, not film or television.
So while the goal of dog-fooding is one to strive for, sometimes it’s just not feasible.
-
No level crossing is spared from the Level Crossing Removal Project. The one near my station is up for replacement. The rumour was that was to be replaced with the rail line going over the road. The issue, though, was it’s location: it’s right next to some stabling yards, where trains are kept when they’re not in use.
I was unsure what they were going to do about this. You could see from the photo that these stabling yards, along with platform 3 at the station, are accessed by a pretty broad flat junction. And I couldn’t see how they could keep this and elevate the rail line to cross the road. They could move the yard, but speaking to a driver while we were both waiting for our
coffeetrain, there isn’t a suitable place to move the yard to, unless they start taking parkland.Well, the proposal is in, and from the concept drawings, it looks like they’re planning to keep the yard:
So, okay. I guess they could find a way to do this. I would be interested in knowing what they do about access to platform 3 though. I can’t see them keeping the existing rail road that goes along the yard fence line. I’m guessing that they’ll need to reconfigure the junction in some way. Either that, or they scrap platform 3 altogether. It does see some use, and provides a good terminal for certain services, but maybe they could live without it? 🤷
Anyway, something to look forward to.
-
The whole thing about the government encouraging people to work from home to save petrol has left me, someone who takes public transport to work, with various feelings. 😏
-
🛠️ Simon Willison’s Tools: Cleanup Claude Code Paste
From Simon Willison:
Super-niche tool this. I sometimes copy prompts out of the Claude Code terminal app and they come out with a bunch of weird additional whitespace. This tool cleans that up.
Niche it may be, but I’ve been wishing for something like this for a few weeks now (occasionally Claude will fall over and I need to start a new session with the same prompt). Tried it today and worked like a charm.
-
Slack needs to improve their list feature. I want to use it more, but it’s so buggy. It’s slow; paste randomly places content in the row above the selected one; and entering the edit mode of a cell eats the first character, so all my cells say “0” when I’m trying to type “10”. Needs work.
-
🛠️ Sky — an Elm-inspired language that compiles to Go
Kind of striking seeing Go becoming the target of other languages. Here’s another one. Looks a bit like Haskell to my eyes.
Via: Hacker News
-
My vote for the forth company on Tech Mt. Rushmore: may be a strange one but I'm going to say Acorn Computers. Why? Because they came up with the first ARM processor and instruction set. Important for the iPhone and arguably the most important architecture for the foreseeable future.
No spoilers, but I thought @gruber’s answer to this question was a good one.
-
Various shades of grey at the beach this morning. This one’s looking towards Phillip Island and Seal Rock.
-
🔗 Kaptur: Sora - A Solution Without a Problem
A fascinating exploration on the failures of Sora, why the engagement of AI-generated video wasn’t there, and what real video and photography has that the AI-generated counterpart just doesn’t.
Via: Om Malik
-
🛠️ Lisette — Rust syntax, Go runtime
A little language inspired by Rust that compiles to Go
This looks really interesting.
-
One thing Merricks Beach has plenty of is black cockatoos. Here’s a small flock I saw preening while on a walk. It’s not a great photo — I was shooting into the sun — but I hope you can make out the highlights on their tails.
-
Launching time.
-
🔗 The Axios supply chain attack used individually targeted social engineering
they scheduled a meeting with me to connect. the meeting was on ms teams. […] the meeting said something on my system was out of date. i installed the missing item as i presumed it was something to do with teams, and this was the RAT.
Ah, an interesting way to get someone to install something: throwing up an install prompt minutes before needing to join a meeting. Exploiting probably the most annoying aspect of video conferencing software.
-
Passed by an ibis and white faced herron while walking to beach this morning. Not something I typically see at a beach setting.
-
Greetings from Merricks Beach.


-
Pod coffee machines are like unhappy families: they’re all terrible, but each is terrible in their own way.
The same could be said for Covid RAT tests.
-
Saw this quote on a blog:
The discourse around this show is so weird. It’s either a masterpiece or a total slog.
What the show is is immaterial to the thought, which is that I wonder if the polarising posts occur more often because the more mundane ones don’t get written at all. It takes a certain emotional threshold to comment about something.
-
Why organise anything? People will just get sick. 😡
-
Here’s hoping a heist movie where the target is a shipment of RAM chips dates just as well as the heist in the opening scene of The Fast and The Furious, where the target was a shipment of DVD players.
-
It’s a bit of a missed opportunity that gRPC doesn’t formalise the schema of error details like it does for requests and responses. They seemed to have gone the route of leaving it up to service implementors to add error details at their discretion. They’re free to document that these details will be included alongside specific error codes, but this goes against the idea of having a schema at all.
It would’ve been nice to have explicit means of documenting the presence of an error, maybe with different error details for different error codes. Imagine something like the following:
message DoThingRequest { } message DoThingResponse { } message TheresNothingLeftToDoErrorDetails { } message YouHaveNoOneLeftToDoItErrorDetails { } service MyService { rpc DoThing(DoThingRequest) returns (DoThingResponse) { error NOT_FOUND returns (TheresNothingLeftToDoErrorDetails); error RESOURCE_EXHAUSTED returns (YouHaveNoOneLeftToDoItErrorDetails); } }You get the idea. Each of these error codes declare an error detail that will be included when the specific error code is raised. Not every error code needs to be declared — service unavailable may not have much to say — but if it makes sense for the “business-logic” based error codes to include it, it would be nice to declare this. It could assist users of generated clients, and just be clearer to consumers of the service.
Anyway, just a thought as I battle on with these things myself.
-
Best sign to stand next to on a packed tram arriving at a packed stop. 😛
-
Just a reminder that coding agents have their uses beyond generating code. I used Claude today to give a once over for how a field is being used. This is not something that you’ll get from PRs: no one’s going to look at the code you didn’t change. And it’s probably not going to give me perfect coverage, but it’s better than not having it.
-
Full train coming into the city this morning. Might be a fluke, but with petrol prices being high and public transport being free for a month, might not be. I guess we’ll see tomorrow.
-
Worried about putting stock sound effects in your game? Well, I learnt the other day that many of the sounds in the original version of Doom were from stock sound effects. So if one of the critically acclaimed games of all time do it, I think it’d be fine for your game too.
-
Was hoping to leave work thinking we were on top of everything. Ended up leaving work being aware of a major issue that needs to be delt with in the next day or two. Argh! Well, I guess it’s better knowing about it now before we release it.
-
It probably comes as no surprise that I absolutely loved the topic in ATP #683 of how Marco built out the infrastructure for Overcast transcriptions.
-
Hit my Claude Code quota limit for the first time today. 😳
-
📘 Devlog
Other Project Updates
A few updates of some other projects I worked on recently.
Webtools saw some love as I needed some tooling made to make the icon easy to include in the Well Read Flutter project itself. Android expects the logo of a specific size, so I “commissioned” an Android Icon Resizer, which will take one or more PNG files, resize them to what Android expects, and prepare them in a ZIP that could be extracted at the route of the
Continue reading →res/mipmapdirectory. It will also produce a small preview of the icon, rendering it in a circle so you can see how it looks on the device. It’s background savvy, layering the icon over the PNG with “background” in the filename. -
📘 Devlog
gRPC Client - A Vibe-coded Client for Testing REST/gRPC Endpoints
My current craving of vibe-coding various tools I need to do my job continues, with an attempt to build a REST/gRPC test client.
This is motivated by my distaste with all the other clients I’ve tried. There’ve been a few, and I’ve been unhappy with each one. For one thing, they seem more heavyweight than my needs. I don’t know if this is just how they’re implemented, or it’s because the realm of HTTP request testing is complicated (It’s probably a bit of both).
Continue reading →