• So, walk up the hill, then it’s through the gate to get to the path. Piece of cake.

    Oh… 🤔

    An open gate in front of a temporary fence blocking access to a path.
  • Trying out a bit of an experiment. I’m going to start accenting a few posts here with a small image in the form of marginalia, similar to what Dave Winer does on Scripting News. We’ll start with a classic for this post: a “website under construction” sign (this won’t appear in the RSS feed, so click through to see it).

    This has been something I’ve been thinking about trying for a while, and I’ll be honest, I have no idea how it’ll look here. In fact I’m a little nervous about this. Would it enhance the post in any way, or be the blogging equivalent of clip-art on a Powerpoint slide? Would it make the site look dated, or even work with the type of posts I write here? I personally like the ones that appear on Scripting News, but I do wonder if that’s because they’re more likely to sit beside comments about the status quo, rather than the “today I did this” or “struggling with that” posts I tend to write here (this unbalance of topics is an anxiety I have about this blog that’s best suited for another time).

    I guess we’ll find out together. I’ll try them for a bit and see how I feel in, say, a month. If I don’t like them, or I find myself never adding them, then I’ll pull them down and consider the experiment complete. Hopefully by then I’d have some answers.

  • Really enjoyed the conversation between Sam Harris and George Saunders. I’ve not read anything from Saunders, but they had quite an insightful discussion about writing and culture (and a hint of politics) that it might be worth looking at some of his fiction. 🎙️

  • Almost didn’t make it to the gym this evening. Glad I had a change of heart. Also glad that it came while the gym was still open.

    (I say “change of heart”, as if the decision was made in the abstract. But it was the bad, guilty vibes that actually drove me to go.)

  • Gave the sample Storytime episode for my train line a try, and it’s not for me. Aside from being something not available wherever I get my other podcasts, the sample was really overproduced, with backing audio and cheesey sound effects. Not a fan of those sorts of podcasts.

  • The nature of AWS is that, even with things like ChatGTP, there are still traps laying about for those poor souls that don’t know what they don’t know. For example: did you know that you cannot immediately delete a secret value? You can only “schedule” it to be deleted at a future date that’s no earlier than 7 days from now. The secret won’t show up in the console, but you can’t use the same secret ID until it’s actually gone.

    So good luck recovering from any mistakes you’ve made creating a secret via the AWS console instead of using Cloud Formation, like I did today. I guess some things’ll never change.

  • Been working on a Cloud Formation stack that defines IAM resources: roles, policies, profiles, etc. I can do a little bit already, like change policy documents, but writing this all from scratch is beyond me. ChatGPT has been a great help here. Would’ve been bothering my coworkers all day otherwise.

  • Code merged and artefacts prepared. Now to deploy it on brand spanking new infrastructure.

  • So, this is how my morning went.

    A drawing of a Git commit tree showing a successful merge of Y with a green CI/CD run, a few commits of me making changes to a branch over the course of 2 days, then eight commits with a few minutes between each one with each one having a red CI/CD run. The commit messages suggest that each one was an attempt to fix the CI/CD problems of the previous one.

    Apologies to my reviewers for all the notification emails they’re receiving during this battle with the CI/CD build.

    It took 14 commits, but the battle’s finally won. Now to hide evidence of the struggle by squashing all these into a single commit. 🥸

    Just kidding: merging the MR will squash them anyway.

  • Might be the only way I’ll learn another language is I put the spoken training audio to music, preferably something that can pass as a entry to Eurovision.

  • Linux administration is quite fun. I don’t usually get an opportunity to do it as part of my day-to-day, so it’s always a joy having a task that involves SSH and interacting with a shell. 🐧

    Auto-generated description: A penguin is sitting in a gaming chair and typing on a colorful keyboard in front of three computer monitors displaying code. The caption on the image reads: L33t H4x0rf
  • 📺 Fallout: Season 1 (2024)

    Quick review of Fallout: Series 1 (2024), by Graham Wagner. Score: Not For Me. This might be a bounce. I'm aware of the game (although I never played it myself) so I had hopes for an interesting story. And yeah, the plot is good. But the visuals are just a little too graphic for me. I couldn't make it through the second episode. Which is a shame, because I'm quite impressed by the production quality: writing, acting, cinematography; they're all very good. Maybe I should try the game.
  • 👨‍💻 New post on Linux over at Coding Bits: Packaging Services With Systemd

  • More Tools For Blogging Tool

    Spent the last week working on Blogging Tool. I want to get as much done as a I can before motivation begins to wain, and it begins languishing like every other project I’ve worked on. Not sure I can stop that, but I think I can get the big ticket items in there so it’ll be useful to me while I start work on something else.

    I do have plans for some new tools for Blogging Tool: making it easier to make Lightbox Gallery was just the start. This last week I managed to get two of them done, along with some cross-functional features which should help with any other tools I make down the road.

    Continue reading →

  • Oof! These mornings have been really cold this last week. Had to bring out my wool and possum fur gloves for the walk to the cafe in 0.5°C weather.

  • 🔗 Adding Github-Style Markdown Alerts to Eleventy

    GitHub has alerts (aka callouts) Markdown support where the syntax looks like [Obsidian’s.]

    So apparently, if we were using Github instead of Gitlab, I could’ve had it all. 😏

  • One other thing I found this morning during my exploration of Markdown and Asciidoc is that many tools have a problem with JSON code blocks containing JavaScript-like comments. They’re reported as syntax errors, and sometimes they break the syntax highlighting. They’re still included in the rendered HTML, but it feels to me like the tools do so begrudgingly. Gitlab even marks them up with a red background colour.

    Why so strict? The code blocks are for human consumption, and it’s really useful to annotate them occasionally. I always find myself adding remarks like “this is the new line”; or removing large, irrelevant chunk of JSON and replacing it with an ellipsis indicating that I’ve done so.

    I know that some Markdown parsers support line annotations, but each one has a different syntax, and they don’t work for every annotation I want to make. But you know what does? Comments! I know how to write them, they’re easy to add, and they’re the same everywhere. Just let me use them in blocks of JSON code, please.

    Oh, and also let me add trailing commas too.

  • Asciidoc, Markdown, And Having It All

    Took a brief look at Asciidoc this morning.

    This is for that Markdown document I’ve been writing in Obsidian. I’ve been sharing it with others using PDF exports, but it’s importance has grown to a point where I need to start properly maintaining a change log. And also… sharing via PDF exports? What is this? Microsoft Word in the 2000s?

    So I’m hoping to move it to a Gitlab repo. Gitlab does support Markdown with integrated Mermaid diagrams, but not Obsidian’s extension for callouts. I’d like to be able to keep these callouts as I used them in quite a few places.

    Continue reading →

  • Must say I enjoyed The Rest Is History’s recent podcast on Dragons. They go into how these mythical beasts developed over the years, how they’re seen differently in different cultures, and how they entered the mainstream. Just watch out for the odd spoiler for House of the Dragon series 1. 🎙️

  • Eight months in and I’m still enjoying writing technical documents in Obsidian. I’ve never really appreciated how well it works for this form of writing. I wish we were using this for our knowledge base, instead of Confluence.

    It probably needs integrated version control, but I guess one could simply use Git for that.

  • Key ring.

    Image of a keychain with the phrase 'Everyone I know has gone to Europe and all I got is all this work to do' with stars below Europe, and laptop and briefcase emoji below 'Work to do'
  • It’s always after you commit to a deadline that you find the tasks that you forgot to do.

  • I think if I ever created a Tetris game for the TI-83 graphing calculator, I would call it “Tetris Instruments.”

  • My Position On Blocking AI Web Crawlers

    I’m seeing a lot of posts online about sites and hosting platforms blocking web crawlers used for AI training. I can completely understand their position, and fully support them: it’s their site and they can do what they want.

    Allow me to lay my cards on the table. My current position is to allow these crawlers to access my content. I’m choosing to opt in, or rather, not to opt out. I’m probably in the minority here (well, the minority of those I follow), but I do have a few reasons for this, with the principal one being that I use services like ChatGTP and get value from them. So to prevent them from training their models on my posts feels personally hypocritical to me. It’s the same reason why I don’t opt out of Github Copilot crawling my open source projects (although that’s a little more theoretical, as I’m not a huge user of Copilot). To some, this position might sound weird, and when you consider the gulf between what value these AI companies get from scraping the web verses what value I get from them as a user, it may seem downright stupid. And if you approach it from a logical perspective, it probably is. But hey, we’re in the realm of feelings, and right now this is just how I feel. Of course, if I were to make a living out of this site, it would be a different story. But I don’t.

    Continue reading →

  • Finally did something today that I should’ve done a long time ago: buy a UPS. Hopefully power outages will no longer bring down my Mac Mini server while I’m away (power is usually quite reliable when I’m home, but as soon as I leave for any extended period of time… 🪫).

    A box containing a Digitech 650VA Line Interactive Uninterruptible Power Supply (UPS) is placed on a wooden kitchen table.

    Also, shoutouts to Jaycar. The one I originally wanted was in stock but was faulty, so they gave me this one instead, which had more capacity (650 VA, vs. 600 VA) and knocked $50 off the price. Great customer service.

  • Sometimes I wonder how and why my work email address got onto various B2B marketing email lists. “Want to buy some network gear, or setup a meeting with our account manager?” What? No! Even if I wanted to, that’s not a decision I’m authorised to make.

  • In today’s demonstration of the gulf between taste and ability, may I present my attempt at fixing the fence extension:

    Auto-generated description: A partially damaged wooden fence with a makeshift repair tied together using green string and an olive tree branch protruding through the slats.

    Part of the challenge was getting to it. I had to hack out a path through the overgrown beds:

    Auto-generated description: A fenced backyard features dense, overgrown plants with long, slender leaves amid a paved ground.

    Trust me when I say that this is an improvement. 😅

  • Checked out of the Cockatiel Cafe and heading home to Melbourne. Always a little melancholy leaving Canberra, but I’m sure to be back soon enough. As for the “residents” I was looking after, I’ll be seeing them again real soon. More posts then I’m sure.

    Two cockatiels, one white and the other yellow, perched on a cage in a room.
  • One of these days, I’m going to make change to a Dockerfile or a Github workflow, and it’s going to work the first time.

  • 🔗 How the “Nutbush” became Australia’s unofficial national dance

    It’s amusing to grow up thinking everyone did this up until a few years ago, when someone from overseas told me they never learnt this dance. Anyway, this is totally a thing. Last wedding I attended, we absolutely did the Nutbush. 😄

  • Been asked to do a routine task today. This is the fifth time I’ve started it, the fifth time I said to myself “hmm, I should probably automate this,” and the fifth time I just did it manually. Now wondering if that was time well spent.

    Two columns, the left one with the heading 'This Universe' and five evenly sized boxes with the label 'Nah, it'll take too long. I'll do it next time', the right one with the heading 'Alternate Universe' with one large box with 250% the height of the left boxes with the label 'Build the thing' , and six small boxes taking up 50% the height of the left boxes
  • Blogging Gallery Tool

    Oof! It’s been a while, hasn’t it.

    Not sure why I expected my side-project work to continue while I’m here in Canberra. Feels like a waste of a trip to go somewhere — well, not “unique”, I’ve been here before; but different — and expect to spend all your time indoors writing code. Maybe a choice I would’ve made when I was younger, but now? Hmm, better to spend my time outdoors, “touching grass”. So that’s what I’ve been doing.

    Continue reading →

  • MacOS has cat, but not tac. Fortunately, Vim came to the rescue with this command:

    :global/^/move 0
    

    Source: Superuser

  • Thinking About Plugins In Go

    Thought I’d give Go’s plugin package a try for something. Seems to works fine for the absolutely simple things. But start importing any dependencies and it becomes a non-starter. You start seeing these sorts of error messages when you try to load the plugin:

    plugin was built with a different version of package golang.org/x/sys/unix
    

    Looks like the host and plugins need to have exactly the same dependencies. To be fair, the package documentation says as much, and also states that the best use of plugins is for dynamically loaded modules build from the same source. But that doesn’t help me and what I’m trying to do, which is encoding a bunch of private struct types as Protobuf messages.

    Continue reading →

  • It’s easy for me to say this now, but I would pay a non-zero number of dollars for a set of well designed and well curated sites that can replace Know Your Meme, Fandom, and all these song lyric sites. I’d be fine it they also host ads, so long as there’s one or two, and none of them are video.

  • I’d be curious to know if there’re any Go apps that are using the plugin package. I’m not aware of any myself; most seem to use things like shell-outs or embedded languages. It seems like the package itself is little more than an experiment so I’m not that surprised, but it’s a little disappointing.

  • I’m a little suspicious of using project starter kits for learning something new. Sure it can whip up that React or Svelte web-app in a few seconds, but then you’re left with maintaining project infrastructure that you didn’t build yourself. Might be best to start learning projects from scratch.

  • One of these days, I’m going to write a long form post, and do the narration in a single take.

  • Word Cloud

    From Seth’s blog:

    Consider building a word cloud of your writing.

    Seems like a good idea so that’s what I did, taking the contents of the first page of this blog. Here it is:

    A word cloud containing the words of the first page of this blog

    Some observations:

    • One of the most prominent words is “just”, with “it’s” not far behind. I though it’s because I started a lot of sentences with “it’s just”, but it turns out I’ve only used that phrase once, while the individual words show up around 10 times each. I guess I use “just” a lot (apparently, so does Seth). I am surprise to see the word “anyway” only showing up twice.
    • Lots of first-person pronouns and articles, like “I’m”, “I’ve”, and “mine”. That’s probably not going to change either. This is just1 the tonal choice I’ve made. I read many blogs that mainly speak in the second person and I don’t think it’s a style that works for me. Although I consciously know that they’re not speaking to me directly, or even to the audience as a whole, I don’t want to give that impression myself, unless that’s my intention. So it’ll be first person for the foreseeable future I’m sure.
    • Because it’s only the first page, many of the more prominent words are from recent posts. So lots about testing, OS/2, and Bundanoon. I would like to cut down on how much I write about testing. A lot of it is little more than venting, which I guess is what one does on their blog, but I don’t want to make a habit of it.
    • I see the word “good” is prominent. That’s good: not a lot of negative writing (although, this is a choice too).
    • I see the word “video” is also prominent. That’s probably not as good. Might be a sign I’m talking a little too much about the videos I’ve been watching.

    Anyway, I thought these findings were quite interesting. One day, I’ll have to make another word cloud across all the posts on this blog.

    Continue reading →

  • Cracked open Acorn to come up with a new wordmark for Apple:

    The word 'Apple' with an uppercase I replacing the lowercase L, with both the A and I in black with the remaining letters in grey

    Yes, I know I’ve got work to do. 😜