-
Finished reading: Keep Going: 10 Ways to Stay Creative in Good Times and Bad by Austin Kleon π
-
Speaking of Anders Jensen, he’s composed a few songs for the 8 Bit Keys YouTube channel. Usually he’ll release them as tracks on his albums, but I couldn’t find the last one he wrote, and I’ve been liking it a lot. So I’m placing a time-stamped link to it here so I can go back to it. πΊ
-
Have been on Bandcamp buying more music from Anders Enger Jensen. Started listening to both Retro Grooves Version 4 and Version 5. Can recommend the first track on version 4. π΅
-
Day One Waffling
Thinking about my journalling in Day One recently and Iβm wondering if itβs time to move it off to something else, maybe Markdown files in a Git repository. Still mulling it over but every time I weigh the two options in my mind, the simpler Markdown approach always wins out.
Plain old Markdown files are just way more versatile and portable than what Day One offers. I can put them in a private Hugo (or Eleventy) site and browse them in a web browser, with the backing of a full HTML renderer that offers, amongst other things, figures with captions (yes, I want them that badly). Making them into a book will be more involved than what Day One offers, but Iβve been a little unhappy with how books from Day One are laid out anyway. Doing it from Markdown files will be pricier and more involved, but at least Iβll have a bit more control over how it looks.1
Continue reading β -
First Impressions of Eleventy
I tend to use Hugo whenever I need a static site. But my magpie tendencies have driven me to take a look at Eleventy, and I can definitely see the appeal.
Going through the Eleventy quick-start guide, Iβm quite impressed with how easy it was to setup a bespoke layout for a single site. Iβve done similar things in a few Hugo sites and while I wouldnβt describe it as βhardβ, itβs certainly more involved. Hugoβs decent, but it feels quiteβ¦ engineered. Thatβs not necessarily a bad thing: putting together something using one of the pre-built themes is quite straightforward. But going beyond a few theme customisations involves a fair bit of work compare to Eleventy.
Continue reading β -
Maybe it’s just because my expectations are shaped with my usage of Go, but I pretty much expect any modern language designed for writing non-trivial applications to have unit test support built-in nowadays.
Which is why it’s a bit surprising to see a language as opinionated as Elm that doesn’t include a core test package and test runner out of the box. I had to download a third-party test runner and install a non-core package to write and run unit tests. Not difficult to do, but still quite an uncharacteristic, JavaScript-esc approach to supporting this aspect of development in an otherwise integrated language toolkit.
-
Finally got a chance to say hello to Evie, the young border collie, this morning. She and her human are regulars at the cafe I go to, so I see them quite frequently from afar. But this was the first day she came to my table for a pat.
After all, as Merlin Mann says in his Wisdom Project document:
Say hello to every dog.
Absolutely! Especially if they say hello to you first.
-
π₯ Elm Connections #3: Group Matching
In which I work on “categories”, the model and logic that deals with the groups the player is to “connect”, plus find my way with how sets work in Elm.
-
π Apple Watch Series 9 and Ultra 2 Ban Takes Effect; Apple Appeals
The ITCβs ruling was subject to a potential veto by U.S. President Biden by December 25th, but today, the Office of the U.S. Trade Representative issued a statement that it has decided against vetoing the ITC ruling, meaning that the ruling is now final.
It seems odd to me that Apple was expecting a reprieve from the White House over this patient dispute with Masimo. Issuing a veto looks like choosing one US company over another. Doesnβt seem like good political optics to me. Maybe it seemed to Apple it was worth a shot. π€·ββοΈ
-
π₯ Elm Connections #2: Starting The Playfield
In which I continue work on a Connections clone in Elm by starting work on the playfield.
-
For those that celebrate, a very Merry Christmas to you and yours; and a happy and safe holiday season to all.
-
2023 Song of The Year
Well, believe it or not, my standing Christmas Eve Mass organ gig has come around once more1, so it’s time to decide on this year’s Song of The Year. This is the second post in this series, so please see last year’s post on what this nonsense is all about.
This year’s nominees are (not too many this year):
- Wooden Ship, from Antarctica β Suit for guitar and orchestra by Nigel Westlake.
- Penguin Ballet, from Antarctica β Suit for guitar and orchestra by Nigel Westlake. Not really a new track for me, but I’m including it here anyway as it’s been many years since I last heard it2.
And the winner is: Wooden Ship by Nigel Westlake π
Continue reading β -
π₯ Elm Connections #1: First Steps
In which I record video of me building a Connections (or Conlextions) clone in Elm (while at the same time, have a go at editing video).
-
This new protected crossing was installed on one of my walking routes while I was away. It’s actually about time, as this rail crossing sits between two curves and with no warning of an approaching train, was actually rather dangerous. Plus, it’s always fun seeing new rail infrastructure installed.
-
Making some progress in learning Elm for building frontends. Started working on a Connections clone, which I’m calling “Clonections”. This is what I’ve got so far:
It’s been fun using Elm to build this. So far I’m liking the language. Of course, now I’ll have to come up with puzzles for this. π
-
Testing out a personal PeerTube instance for hosting videos. If you see a video of Ducks and Purple Hens, then it’s working (it’s a longer version of this video).
EDIT on 17 Nov 2025: I’ve since taken my PeerTube instance down.
-
Evening arrival.
-
Sunlight over south Canberra.
-
Epic Feature Branch Redux
Trying a long term feature branch approach for something we need to do at work again. I’ve tried this before, with mixed results, and I rather not do it this way. But the alternative is feature flagging a significant part of the system, adding cruft that would never be cleaned up. At least this way, we have a chance to go in with a crowbar and just clear out the code we no longer need.
Continue reading β -
I don’t know when it’s started, but if you’ve generated some Go code from a gRPC schema, and you try to cmd + click on one of the generated symbols within GoLand, instead of actually going to the Go code, you’re sent to the Protobuf schema itself.
Usually cmd + click will just take you to the code defining that symbol, and in previous versions, it did for this generated gRPC code as well. This is a recent change, and it’sβ¦ less than useful, to me at least.
Fortunately, opt + cmd + click will take you to the actual generated code.
-
No, itβs no good. Iβm turning off predictive text on my iPad. It just gets in the way too often, autocompleting phrases while Iβm typing them out, resulting in extra letters that I need to clean up. Iβm sure it works great with an on-screen keyboard, but it doesnβt for me and my hardware one.
-
π Hardcore Software: //build It and They Will Come (Hopefully) (paywall)
I remember this Build conference. I was using Windows 7 at the time and it was exciting to see Windows 8 previewed like this. It was a major departure from what I was used to, and I was eager awaiting the Ars Technica reviews of the OS, the apps, and how things like contracts will work for developers.
But⦠it was an excitement I had for others. I was less than excited about the idea of seeing the desktop take a backseat to this brand new world of Metro and touch based interactions. I guess I was not the only one.
Itβs quite a shame really. The devs at Microsoft clearly put a lot of work into re-enginerring the entire OS.
-
It looks like the early reviews of Apple’s Journal app from those who blog and journal already (in other words, those in the practice of writing regularly) is that the app is quite basic, and although the entry suggestions are nice, the writing experience is not as good as Day One. I guess that’s good news for Day One, in that there’s no risk of them being sherlocked.
But Automattic shouldn’t rest on their laurels. There are a few things I’d like to see them add to Day One, such as image captions (oh, I really wish for image captions) and maybe a nicer reading experience when you just want to browse your journal (the sidebar and editor just doesn’t work for me when I just want to browse the entries).
So, yeah, Day One position looks to be secure; but that’s no reason why it couldn’t be made better.
-
Iβm still really enjoying Matthias Ottβs Own Your Web newsletter. I recommend checking it out, even if youβve got a personal site. Each issue usually has some great links to other blogs and resources about maintaining a personal site.
-
I realise I’ve been posting a lot about Ivy, and not a whole lot about Archie. So to even the scales a little, here’s a video of Archie receiving a head scratch this morning.
-
Evening walk, with the currawongs out in force. This one was nice enough to let me take a photo.
-
If you’ve checked out the 12 Days of Web (HT to @mandaris for sharing), and you were curious as to why popover is an attribute rather than a HTML tag, this section from OpenUI’s post about the feature explains the reason.
In short:
a content attribute allows behavior to be applied to any element
while maintaining semantics of that element:
Semantics are provided by elements, and behaviors are confered on those elements via attributes. This situation is exactly analogous to
contenteditableortabindex.Yeah, okay. I can see why it was done that way.
-
Looking at the Elm language after reading this post from Jim Nielsen. Looks interesting, especially the model-view-controller pattern it’s uses for building web UIs. Yes, it’s not an approach that’s unique, and yes, it’s more-or-less the same pattern as one would use with React and Redux1. But I like how it seems baked into the language design. Not sure if that is was an accident (such a pattern generally works well with functional languages) or intentional, but the language seems quite suited for it. I’d be curious to try it out.
And that’s why I’ll never be rich: I’m not focused enough. One could argue that I don’t need to play around with another frickin’ technology, given that I’ve played with Stimulus, Svelte, and vanilla JavaScript recently; not to mention all the others I’ve tried. Best to use one and master it.
But curiosity, and my magpie need to look at new shiny things, just gets the better of me. Plus that elusive sense of trying to find that “perfect way” of building web-based UIs that I’m sure most JavaScript frontend devs are looking for, even with the knowledge that no such way exists.
Ah well. π€·
-
No system design survives first contact with the user.
(with apologies to Helmuth von Moltke the Elder and Correlli Barnett, and probably a bunch of others).
Today, I was the user.
-
Conlextions #95
π¦π¦π¦π¦
πͺπͺπͺπͺ
π¨π¨π¨π©
π¨π¨π¨π¨
π©π©π©π©Solve Time: 2 minutes, 18 seconds
Argh! So close to a perfect score.
-
A fun part of preparing for product demos is coming up with fanciful names for organisations. Today it was a video production house that specialises in “content”. I gave it the name “Content Mill Productions”. I even gave it a logo, using DALL-E.
Not that clever, but good enough for a demo.
-
I’ve been watching that YouTube video about plagiarism that was mentioned on the latest episode of Shop Talk (some other podcast I listened to recently may have also mentioned it, although I can’t remember which one). I’m only an hour in β it’s more than 3 hours long so it’ll take me a couple of days to watch the whole thing β but it’s been fascinating. It’s quite something to see how blatant some of these cases of plagiarism are. πΊ
-
Some follow-up on my Docker issues. Found that setting concurrent downloads to 1 and bumping up max retries helped stabilised the pull a bit. It was then possible to let the download run in the background with (some) confidence that it was less likely to die on me. Details posted on Working Set.
-
Wish Docker’s image pull was smarter. Any download failure will cause the command to exit, even if other downloads are in progress. It also re-downloads images that were already pulled and extracted in the last invocation. Can’t it just reuse downloads it got five minutes ago? Is that so hard?! π
-
Looking forward to hearing more about Apple’s new Journalling app. I have no good reason why: it’s very unlikely I’d start using it myself. But I am curious to see how it measures up to Day One. I’m also curious to know how portable the entries are, whether you can export them to other apps.
-
Never underestimate the software project that works. It might be the crappiest bit of code you’ve ever written; if it does the job, it’s worth 10x the code you haven’t written, even with your grand designs of quality code.
Relatedly: try to get the system you want on the first version.
-
Today’s infrastructure related question: is the water level of this (artificial) lake too high, or is the bridge just too low?
-
π Link previews or ads
Itβs thoughtful posts like this that keeps me on Micro.blog.
Also, chalk me up as one whoβd rather keep link previews out of the timeline. I posted a link in Discord and the preview was so obnoxious I wish I could hide it (really Discord? Why canβt I hide it?).
-
Ivy’s been soliciting for head scratches by rubbing her head over people’s palm. It’s a technique that tends to work.
-
Conlextions #89
π¨π¦π¦π¦
π¦π¦π¦π¦
π¨π¨π¨π¨
π©πͺπͺπͺ
π©πͺπͺπͺ
πͺπͺπͺπͺ
π©π©π©π©
Solve Time: 2 minutes, 5 secondsIf Mike Oldfield released “Mistake” as part of Crises (and in the 1960s instead of the 1980s), I probably would’ve gotten a better score. π