-
π Devlog
Weiro - Update 6th March 2026
A small update on Weiro. I've been working on it over the past week, trying to get it in a state that is pleasant to use. I'm been trying to get something halfway usable before doubt scuppers my motivation and this project appears on the growing list of aborted attempts at making a CMS. There've been one or two close calls, but it hasn't caused me to stop yet. A large part of that was a feature I knew I wanted but was daunting to implement: uploads. Continue reading β
-
π Devlog
CSVTool - A Vibe-coded CSV Editor
One of the fun aspects of these new code agents is seeing what they're capable of producing just form the prompt, so called "vibe-coding." There are some that are definitely all in on the concept: I'm thinking of Steve Yeggie and his Gas Town work. As for myself, I still prefer to be a bit more hands on. But it's still amusing to see what these agents are capable of just from the prompt. Continue reading β
-
Coffee at the cafe may cost around $6.50. But I’m not paying for just coffee: if I wanted coffee, I would’ve made it at home. I’m paying for “coffee at the cafe,” to have the ability to be out, sit, read, or write a post like this.
-
πΌοΈ Gallery
Newport Workshops Open Day
Where we’re going we don’t needβ¦ roads. Continue reading β
-
On the train heading into the city. It’s like freaking peek hour.
-
My Coolify instance has been running really slowly over the last few days. I may start looking at alternatives, or maybe go back to using Dokku.
-
PostgreSQL Docker and "No space left on device"
Dealing with PostgreSQL Docker complaining about “No space left on device” Continue reading β
-
Ooh, this is a nice new feature of Pocket Casts: the web player now includes chapter markers in the scrubber. You can mouse over them to get the chapter name, and click them to jump to the chapter.
-
It’s
apted andapklicable tobrewsomethingyumoccasionally. #package-management-humour π -
Go iterators don’t have a built in way to send errors back, so I borrowed something from Haskell and made a “maybe” type:
type Maybe[T any] { Value T Err error } func (m Maybe[T]) Get() (T, error) { return m.Value, m.Err }The iterator pushes values wrapped in this, which would have
Valueset if one is available, orErrset if not. TheGet()method provides a convenient way to get both, allowing for patterns that look much like the following:func consume() error { for m := range myIter() { val, err := m.Get() if err != nil { return err } } doThingWithVal(val) } -
Had a go (heh) at making a Go iterator. It was simpler than I expected, once I got my head around how they work. It’s a push model, the iterator pushes value to a yield function, which sends it to
range, and receives a flag on whether to continue. The package docs do a good job explaining this. -
Argh! Yeah, frickin’ tram replacement busses. Effin’ loving the Grand Prix. π
-
Must say the MacBook Neo looks like an interesting offering. I don’t need a laptop β I use a desktop at home β but that may be where the strength of such a computer lies: a laptop for those that generally don’t use laptops. Could be useful for travel (I don’t travel that often either).
-
Are the sounds made by reversing EVs designed to be awful? Well, I guess they get my head turning so they must be doing something right. π
-
Really enjoying Inkwell, @manton’s RSS reader. Using it on the phone has been pretty good. Adjusting to the river approach to RSS has been interesting. I’ve been finding myself saving less and trying to get through more posts during the day, less they drop out of the Today view.
-
Here’s a pitch for the maintainers of Homebrew: make
brew updateandbrew upgradealiases of the same command, then addbrew update brew(orbrew upgrade brew) to upgrade Homebrew itself. End this confusion once and for all. -
Well mark this one off your bucket list: appearing in someone’s travel vlog recommended to you by the YouTube algorithm. π


-
π Devlog
3rd March 2026
This is a crosspost from devlog.lmika.org. I’m going to try and write posts about what I’ve been working on over there, while crossposting them here. Original post was made using Weiro, another attempt at a blogging CMS I’ve been working on. Oof! Everyone’s building blogging CMS’s now, apparently. Since starting work on this project, I saw one other announce their own CMS that was vibe-coded with Claude. No shame in that: making something that works for you is part of the joy of participating in the Indie-web. Continue reading β
-
Ooh, the barge is back. This time it’s car themed, probably because of the F1.
-
Oof! As a non-American, it’s sometimes a little hard to listen to Ben Thompson.
-
I do wonder if some of the patterns we’ve been using in software engineering, like multi-repo micro-service architecture, is actually a determent to agent coding. Those were deployed to help human developers coordinate, but it subdivides the possible area for agents to operate in. A monolith in a single repo, remarkably, may actually be better here.
-
How is it that people making screenshot mark-up apps still don’t understand that the blend mode for highlights should be multiply, not mix with alpha. A real highlighter would keep the text black, and won’t produce obvious overcoating. This just looks like I’m smearing yellow paint everywhere.
-
Grand final bocce match at Fitzroy Gardens. Congrats to Foxy for winning the season.
-
Oof! Glad that’s over.
-
Also saw a flock of pigeons enjoying the morning.