• 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.

    A border collie with her tongue out next to a table at an outdoor seating area.

    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.

    A postcard with a photo with a kangaroo in a Christmas suit with a Joey with a candy cane, and a cockatoo with a scarf, with the message 'Merry Christmas' above the photograph and 'From lmika' below it
  • 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.

    A pedesterian rail crossing with feces and automated gates that will close when a train passes by. This is backed by suburban streets and trees.
  • 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.

    Airplane taxing at an airport with an orange sunset flaring near the nose.
  • Sunlight over south Canberra.

    Aerial photo of a cloudy sunset over an urban area near the camera and hills in the distance, with sunlight streaming through the clouds and lighting the foothills.
  • 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.

    Currawong in profile standing on grass
  • 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 contenteditable or tabindex.

    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.

    Generated DALL-E image of a logo for a fake organisation. Prompt: A corporate logo for 'Content Mill Productions'. The logo features an old-fashioned windmill, representing tradition and history, as the central element. Surrounding the windmill is a prominent banner with the studio's name 'Content Mill Productions' in a clear, professional font. The design is modern yet classic, combining elements of both to create a unique and memorable logo. The color palette is sophisticated, with a blend of navy blue, white, and a touch of gold to add a hint of elegance.

    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?

    An artificial lake, covered in some form of red water plant, with a road bridge that is about 50 cm close to the water line.
  • πŸ”— 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.

    A while cockatiel on an open palm with her head resting on the fingers. The photos taken within a room.
  • Conlextions #89
    🟨🟦🟦🟦
    🟦🟦🟦🟦
    🟨🟨🟨🟨
    🟩πŸŸͺπŸŸͺπŸŸͺ
    🟩πŸŸͺπŸŸͺπŸŸͺ
    πŸŸͺπŸŸͺπŸŸͺπŸŸͺ
    🟩🟩🟩🟩
    Solve Time: 2 minutes, 5 seconds

    If Mike Oldfield released “Mistake” as part of Crises (and in the 1960s instead of the 1980s), I probably would’ve gotten a better score. πŸ˜›