• Day 7: Panic. #inktober

    Two stick figures are running away from a UFO that is projecting a message saying WE BRING PEACE PLEASE DON'T RUN with the title DAY 7: PANIC written above.
  • Must remember to resist shortening words while I’m over here. Entered a cafe and enquired about their “breakey,” and the person behind the counter looked at me blankly. Eventually it became clear I wanted to know about their breakfast. πŸ˜„

  • Day 6: Ogre. #inktober

    Auto-generated description: A simple blue ink drawing of an ogre holding a club is sketched on a dotted notebook page labeled Day 6: Ogre.
  • Day 5: Smack. #inktober

    Auto-generated description: A simple line drawing depicts a person being playfully smacked on the face with their hands raised.
  • It was an absolute pleasure catching up with @JohnPhilpin for coffee today. Great conversation about tech, music, and Micro.blog.

    Auto-generated description: Two men are sitting at a wooden table inside a cafΓ©, enjoying coffee and smiling at the camera.
  • Johnsonville, the Skyline Walkway, and the Inevitable

    A second day in Wellington. Continue reading β†’

  • Day 4: Cactus. #inktober

    Auto-generated description: A simple blue ink drawing of a cactus with two arms and small spikes on a dotted notebook page labeled DAY 4: CACTUS is shown.
  • A Day In Wellington

    Visiting the botanical gardens and the summit of Mt. Victoria. Continue reading β†’

  • I can go pretty much anywhere in Australia or New Zealand, order a white coffee, and it’ll be decent. I’ve yet to have a great white coffee anywhere north of the equator. I think the milk makes a huge difference. It feels… IDK, “heavier” than it does down here.

  • Went out this evening to look around the harbour area a bit. I enjoyed this art installation: Fibre-Optic Colonnade Car Wash, by Eddie Clemens.

  • A very brisk greetings from Wellington. Good to be back on the east side of the Ditch again. πŸ‡³πŸ‡Ώ

    The New Zealand Parliament, known as the Beehive. A distinctive round building with horizontal lines and a dark top, located at the end of a street lined with trees and modern buildings.
  • Day 3: Miniature. #inktober

    A hand-drawn sketch labeled DAY 3: MINIATURE shows a small square inside a larger square being pointed at by a pen tip.
  • Chalk me down as someone not thrilled at “customer” being used in place of “passenger.” Yes, yes, I know I paid for passage. But I pay for a lot of things, and “customer” could be used to describe me in any of them. Is variety such a bad thing here?

  • I have friends who are unafraid to spend multiple weeks abroad with a single carry-on backpack. I can’t do that; I’m not a light traveller. I don’t think I’m a heavy traveller either. Just someone who thinks waiting a few minutes on the other end is worth the extra luggage capacity.

  • Day 2: Relic #inktober

    Auto-generated description: A rough sketch of broken pillars or relics on a flat surface is drawn in blue ink on dotted notebook paper with the title DAY 2: RELIC written above.
  • Another thing I learnt about PostgreSQL: notifications sent within a transaction will only be dispatch to listeners until and unless the transaction is committed. So inserting rows in one transaction, and notifying something which will consume those rows in another should not result in a deadlock.

  • Dev Notes: Select Locks In PostgreSQL

    Locking In PostgreSQL and a shared outbox pattern. Continue reading β†’

  • Checking my foreign currency reserves to see if there is any I can offload on my upcoming trip. Current holdings are $8.70 SGD and $20.00 USD. No kiwis.

    Auto-generated description: A collection of Singapore currency including pink two-dollar bills and various coins is displayed on a gray surface alongside a folded twenty-dollar bill.
  • Not sure if this is just an Aussie thing, but in grade 4 we were issued “pen licenses” where we could start writing in pen, rather than pencil. I almost lost mine during probation because I used pen for drawings too. I guess I needed to get the “heavy pen usage” rating for that. πŸ˜„

  • My ego is going to regret this. But what the hell, I’m going to give Inktober a try this year. Here’s day 1: Apple. #inktober

    Auto-generated description: A hand-drawn sketch of an Apple computer with an apple displayed on the screen and a keyboard below it, labeled PAL 1 APPLE.
  • Preparing some work for a new feature, and it feels a bit like the divsion of work that comes from drawing an owl:

    Task 1. Add these two new columns to the database schema.
    Task 2. Build the rest of the frickin’ feature.

  • Took a brief look at Spacefast. Looks interesting. What’s appealing is that it’s private by default, which is something I wish more static-site hosting offered.

  • I’ve been taking the tram to work recently, for uninteresting reasons (*cough* coffee *cough*). This usually involves a 5 minute wait at Flinders St. Today I wondered if I could walk one stop south at the Arts Centre, just across the river. Made it comfortably, with plenty of time to spare.

    Auto-generated description: A city street with tram tracks leads toward a skyline of modern skyscrapers and a historic church with a pointed steeple.
  • I know Gruber likes to say that Markdown isn’t really designed as a replacement for WYSIWYG editors, but as someone who spent today fighting Pages, I cannot disagree more. Sure WYSIWYG is approachable, but do anything that needs to maintain a house style, and it all ends in tears.

  • TIL about socat, a Unix command that can be used to create bi-directional TCP proxies, much like ssh -L. Example (via), forward traffic from local port 8080 to example.com port 5545:

    socat tcp-l:8080,fork,reuseaddr tcp:example.com:5545
    

    Useful for setting up ad-hoc proxies to a Kubernetes cluster to access resources only available to the cluster itself. Launch socat using kubectx run with a port set in the cluster:

    kubectl run --rm -it --port 8080 --image alpine \
       --overrides='{"metadata":{"name":"my-proxy"}}' \
       sh -- sh -c 'apk add socat && socat tcp-l:8080,fork,reuseaddr tcp:backend.example.com:5545'
    

    Then, setup a port forward to your pod to access the port locally:

    kubectl port-forward pod/my-proxy 8080:8080
    

    With this, you can now access backend.example.com:5545 on localhost port 8080.

  • The Compartmentaliser's Survival Guide To Obsidian Bases

    My pattern for setting up Obsidian Bases for distinct topics. Continue reading β†’

  • As expected, irrational anxiety about my upcoming trip has developed. Happens every time. Not going to try and probe the reason, I’m just going to ride it out. It’ll pass in time. If anything, it’s a good sign that I’m doing something right.

  • I don’t have the setup for one now, but it would be nice to own a record player. I can see the appeal for it. Nostalgia is definitely a factor, but it’s also something tactical to see and do to play music. Simply Chromecasting something just doesn’t have that level of… um, intention, I guess.

  • It’s only a few years ago when I came to appreciate how useful sport is in the social fabric. Growing up I dismissed it as useless expulsion of effort, but there’s more to that. It’s one of those common societal touchstones that are increasingly rare. In the least, it’s a conversation opener.

  • Thrilling Grand Final. Shame about the outcome. Would’ve been good for Fremantle to pick up a premiership.

  • πŸ“— Vibelog

    Porting Old Delphi Games To The Browser

    This is pretty nice. I had some old Delphi games made more than 20 years ago that I wanted to get running again. They’re not very good games, but they were ones I spent a lot of time on in the past, and I wanted to make sure they were preserved in some way. In the past I would try to get them running in an emulator, with limited success. My ultimate goal is to get them running in the browser so they would survive any more platform changes.

    Continue reading β†’

  • Rewatched 2001: A Space Odyssey last night. It really is an amazing film. I do appreciate all the details that are unessential to plot: checking it through “voice-print identification,” how every panel has detailed instructions. I also got a kick out of realising that Floyd would have to be in that premium economy seat for three days on his trans-lunar journey.

  • Might be a long time before I ask an AI agent to book my next trip, lest it screw up something. But at least it’s useful for checking the bookings I’ve made, giving me some assurance that I haven’t screwed up something.

    A message requests verification of saved emails to ensure flight and accommodation dates align with no overlapping or missing bookings, accompanied by a response indicating the intention to build a timeline and check for booking gaps or overlaps.
  • Trying some test HTML5 exports of my Godot game. There were some minor incompatibilities but so far it seems very functional in the browser. Web tech has gone a long way.

  • Also, we need new languages. We’ve seem to settle on using configuration languages in domains that don’t call for them, like YAML for workflows. They’re never a great fit: clunky and difficult to work with. It’s a domain crying out for something better. Don’t know what that is… but something.

  • With the rise of coding agents, I’ve seen a few wondering if this would be the death of new programming languages. My conjecture is that this will never happen. The reason is simple: people like designing new programming languages. Maybe they’ll be relegated to simple toys, but they’ll be made.

  • Sometimes, the best you can ask of a day’s work is that you’ve managed to cleaned up the mess you made as quickly and throughly as you can, and that nobody else noticed. 😏

  • Maybe I should rename this blog “Leon’s Tribulating Journey Through the Consequences of Questionable Decisions Made by Others and the Self.” πŸ˜€

  • If you’re building a service that uses a message bus with payloads that you design and control, don’t start using the headers to put information that could be put into the payload. Just change the frickin’ payload. 😀

  • More services need to add the ability for users to add general remarks to things. Having facts about something in an admin console and other facts in, say, a Wiki, is no good. You’re not leveraging a person’s natural ability to colocate relevant information in a single place. People are going to forget about that Wiki page, or have trouble finding it when they’re staring at the admin console and are under the pump to track something down. Slapping a memo in that admin console is so cheap, but could be so useful.