Overheard the barista talk about watching a YouTube video of someone who owns an expresso bar taking a minute to make a coffee. “Why does it take him a minute to make a coffee? I can make 5 coffees in that time. I understand pride in your work, but if I were waiting for that⦔
They go on to debate the expectation of customers of a cafe verses those going to such fancy establishments. But if it were me, I wouldn’t have the patients to wait a full minute for a coffee. Or if I do, it better be the best damn coffee I ever had.
An online tool for generating images of message screens from retro 90’s games. Quite a selection of classic game message screens. Now, my egotistical side will think it beneath me to use this for posting lame memes here. To that part of me I sayβ¦
Progress on the Godot game has been fulfilling yet tinged with doubt about its value and purpose. Continue reading
β
Amazing Dithering this week. Loved the discussion on why Apple is so driven to remove all software chrome. Never considered that it was because of how the various teams are organised (spoilers in the included clip).
Everything’s been so quiet around here. The school holidays explain it in part, but I wasn’t expecting it to be this quiet. Is everyone away? Or maybe they’re just staying indoors trying to keep warm. In any case, makes going to the cafe and being the only customer a little awkward.
A critique of function signatures the ’lo’ package offers for functions like Map and Filter. Continue reading
β
Look, I’m no fan of Amazon and I’d like to get off using Kindles eventually. But the alternatives can sometimes be downright unusable. Behold: using the Kobo reader on an iPad in landscape orientation.
It would be nice if MacOS Calendar had an option to send a email receipt when setting up a meeting. For a while I couldn’t get email invitations sent out to attendees. I think it’s fixed now, but I still have doubt that it’s working properly again.
I did not expect the mushroom murder trial to make its way into the Economist this week. But given the intricate nature of the case, I can absolutely understand why. I no doubt expect this will be turned into some sort of mini-series in a few years.
It’s funny the way you sort of “run into” people and their work online. I’ve only been following Simon Willison for about a year, yet it was only today that I noticed a testimonial of his on a Golang project I’ve been using for quite a bit longer. “Serendipitous”, I guess you could call this.
An AI assistant verses an AI agent may have less to do with the UI, and more with how it’s used. Continue reading
β
I’ve been misspelling “cancelled” a lot recently, in that I’ve been spelling it correctly yet the linter’s been saying, “no. Use the US spelling of ‘canceled’!” π
If there’s one thing I’m learning from Ben Thompson, it’s that everything’s a trade-off and nothing in life is perfect. And that’s no less true for something like adopting a branching process. Should you merge your changes straight to main; or should you keep main stable for production releases, and have a separate development branch? Not the question to ask: either approach sucks (trust me, I’ve worked with both). The answer is to find an approach that sucks the least for you and the way you work.
My mind wandered this morning to a job I previously had that had an office in a building that had a pair of breeding peregrine falcons. They were provided with a nesting box and an ornithologist set up a webcam. The feed is available on the internet and in the office we tacked it on to a TV set up to cycled through things like our Jira board and support queue. Every few minutes or so, the camera feed of the nesting falcons came on and I always enjoyed looking up to see when while I was working.
Since then I haven’t really been following them closely. They still nest there and usually the feed comes online around October. I’ll need to make a conscious effort to bring the feed up when spring rolls around.
I see that JetBrains hasn’t fix that GoLand backspace bug yet, where the backspace key stops working for some random reason. That’s quite a strange one.
“How fast does Stripe post web-hook events?”, you ask. Well at the moment I’m facing a small race condition where a thread makes a call to Stripe, and another thread receives the event before the first one has finished its routine. So yeah, pretty fast.
Release version 1.2.0 of Postlist which contains the following changes:
New limit attribute which can be used the set the maximum number of posts shown in the list.
A new mode which display the full contents of a post, rather than just the title or the first line. This can be enabled by setting the new display attribute to content.
Just a reminder that the attributes can be mixed and matched, so you can use both these new attributes together, along with all the existing ones:
See updated documentation for details, including how the markup of full post content can be configure if desired (this works in a similar way to microhooks in Tiny Theme, in which you create customer templates with specific names).
Nice looking web-app for sharing event dates by Cassidy Williams. Nothing stored server-side: all the event details are encoded in the URL. One of those sites that’s worth keeping in your back pocket for when you need it.
Great time of year to pick a birthday. Organising an event today and everyone’s sick, including myself. Just received one cancellation because someone’s got the flu. Argh! Ah well. It is what it is.
No matter how good these [coding LLMs] get, they will still need someone to find problems for them to solve, define those problems and confirm that they are solved.
[…]
It’s also about 80% of what I do as a software developer already.
Hey, I’m a software developer too. And I acknowledge that my job is more than just typing things into an IDE. In fact, it’s probably closer to what Simon Willison does, where I’m identifying problems, and writing Jira tickets for others to fix rather than do it myself. And it might be that with the introduction of coding LLMs, software development will simply be more of this going forward. It certainly the direction things look to be going.
But I would be lying if I said I wouldn’t be disappointed to see all these coding tasks go away, and all my job description reduced to finding problems and verifying fixes. Like some sort ofβ¦ manager π. I got into software development because I like to code. And part of this is finding problems, but I only get the dopamine hit after fixing them. I get nothing if I simply tell someone (or something) else to fix it.
And okay, we’re talking about a job here. And I’ve reached the age where I recognise one doesn’t always achieve a fulfilling life from their careers alone. So might be that this is something that I just need to recognise that sometimes jobs suck and identifying problems is all I’ll ever do in the near future.
But I would tell employers thinking of outsourcing all coding tasks to LLMs to consider this: if I’m faced with two employment opportunities, and one has 0% coding tasks, and the other has >0% coding tasks, I’d take the latter any day of the week.
It may seem like that spending all evening watching TGV cab rides on YouTube would not yield any lessons1, and usually you would be correct. But after watching a cab-ride yesterday, I did learn a few things about overhead electrical systems that I found quite interesting.
French railway sign indicating neutral zone. Credit: Peter Bereczki
For example, I learnt about [neutral sections](https://en.wikipedia.org/wiki/Overhead_line#Neutral_section_(phase_break)), which are areas of the track that are unpowered. When the overhead power is sourced from different grids with potentially different frequencies, any bridging between the two can cause significant problems. So these are zones where the train is required to coast through with the traction system disconnected from the power. I'm not aware of this being a thing on our suburban system β apparently it's more of an issue for AC systems β but Wikipedia does suggest that there are some rail lines in this country that have track-side magnets that automates this: passing by the magnets operate a circuit breaker providing power to the traction motors.
I also learnt about mid-point anchors. I’ve seen these around our system with relatively newer infrastructure, I was curious as to why they needed to exist, and why they aren’t present in the older sections. Turns out they’re required when both the catenary and overhead lines are attached with tensioning equipment. These are usually weights, and since neither wire are attached to anything fix, they can moving freely along the track. Hence the need for these anchors to prevent that from happening. I also realised that in the older infrastructure, the catenary are connected to the gantries, which remove the need for such things.
Example of mid-point anchors on the Melbourne suburban system. Credit: Driver667
Anyway, forgive the rambling and nerdy post. I’ve have a fascination in these electrical systems and I always find such factoids interesting. Probably helps that finding this out offsets the negative feelings I got from spending all evening watching YouTube.
I’m still recovering from a cold, or at least thats the excuse I’m going with. ↩︎