• SPAs written in React are to the web as Electron apps are to MacOS. You can find a good one if your lucky, but generally they’re terrible to use, they don’t respect any of the browser idioms, they break browser search, and generally contain stupid UI decisions that make using them annoying (you’ve already fetched the 100 items from the server, why are you showing them to me in pages of 10 items at a time?).

  • Building something with HTMX is such an interesting experience. Quite different to things like React, where the principal is ui = f(state). With HTMX, it feels like the UI is the state. Your web service is essentially a giant state machine for static HTML.

  • I sometimes wonder if my drive to seek out stock music from YouTube videos “tarnishes” it in some way. As in, disrupts the original emotions I felt when I first heard it in the video. Probably not. It hasn’t happened with any of the previous tracks. Why would it happen with the latest one?

  • In many ways, stock music isn’t really “interesting” music. It’s often long and repetitive, themes are usually flat and unexplored, there’s rarely any melody, and never any singing. That’s its role though: it’s to accent the subject, not to be the subject. So why am I so drawn to it? πŸ€”

  • From a podcast:

    Q: Are humans are going to spend their attention on essentially e-commerce sites?

    A: I think humans loved to shop.

    Pff! Not this human.

  • Listening to Antidote X by Van Sandano from Yuma 🎡

    Yep, more stock music I heard on a YouTube video, fell in love with, and had to seek out.

  • An app built to detect what music is currently playing would benefit greatly with access to YouTube’s content ID database. After all, everyone’s incentivised to have their work in there so it’s fingerprinted on uploaded videos.

    On an unrelated note, Android’s music detection feature is amazing.

  • TIAL that sleep is actually not available on the Distroless Docker images, at least from what I can see from Stack Overflow. So if you’re going to use Pod Lifecycle events to wait for requests to finish up, you’ll need some other means of sleeping.

  • TIL about Pod lifecycle hooks, allowing one to run commands when a Pod is spinning up or shutting down. The preStop one is crucial for graceful shutdown of a Pod. It runs after the Pod’s been disconnected from the endpoint, but before it receives a SIGTERM. Adding a sleep here should help with that.

  • Is taking a whole feature produced by a coding agent, doing some light refactoring to make it closer to your preferred style, then submitting it for review, the modern day equivalent of adding an egg to a prepackaged cake mix?

  • πŸ”— How many MacBook Neo buyers would have bought an Air before?:

    My suspicion is that the majority of those buyers are going to be new to the Mac. However at least some percentage are going to be people who would have bought an Air previously

    I don’t know. I wonder if these are Apple people that wouldn’t have bought anything at all. If one already has a primary Mac, and wants a secondary that’s a little more capable than an iPad, a MacBook Air feels just a little too much. The Neo feels like it’s just enough computer for this sort of role.

  • A skill I was not expecting to pick up while using coding agents: recognising when they get into trouble and you have to intervene to help them out. When you see them reach for Perl, you know they’re getting desperate. πŸ˜›

  • If Android Messages had its way, every relationship will be one of two forms: intimate friends and family, and spammers that must never contact you again. It would be nice to have a third option, for businesses, or contacts you need to deal with, but you wouldn’t necessarily call friends.

  • Also, interestingly, for a city supposedly known for its street art, PTV works quite hard to make sure that public transport infrastructure is graffiti free (sometimes a little too hard). Here’s a line they can use for their next anti-vandalism campaign: “in our lanes, not our trains.”

  • Also, it would be interesting to know how many people treat State Library as a transfer to the Loop. I get the feeling that a few do, based on the number of people that get off and not go through to the street. It’s not too surprising. The last few transfers for myself have gone quite well.

    The platforms of State Library station with a crowd of people moving towards the escalators.
  • Still taking the Metro Tunnel. In Feb it was mainly for the novelty of it. When March came round I realised it was costing me more, and I went back to my old commute. But I switched back to it during the free public transport period in April, and now May.

    The front of Anzac station Albert Road entrance
  • Might be just me, but I don’t think the need to explain of the difference between “personal” and “personnel” requires a YouTube video.

  • Had to launch Screen with UTF-8 support. I thought I made a note of how to do so, but I couldn’t find it where I usually keep these things. Luckily, my memory came in handy:

    screen -UdR
    

    The -U enables UTF-8 support. -dR detaches an old session and reattaches it to yours (or starts a new one).

  • Enjoyed listening to a Toto concert recording this evening. There’s no doubt that Africa is a masterpiece, but I really like how they played English Eyes, essentially starting the song at the bridge. It makes for a much better version to my ears, despite loosing the first two verses.

  • πŸ”— Josh Michielsen: Separate Your Go Tests with Build Tags

    Huh, it never occurred to me to use build tags to separate unit and integration tests. Looks like a nice pattern.

  • Heard someone on the train talk about names. “Leo is Leo, and Leon is Leon,” she said. As a Leon I can confirm that Leon is indeed Leon… most of the time. You’ll be surprised how often Leon is missheard and mistakenly written as Lion (happened a few weeks ago).

  • The problem with being a bad sleeper is that you can’t use the excuse of a bad sleep to get out of work. πŸ˜›

  • Incidentally, this is probably the first vibe coded project that uses something beyond my current knowledge. When I asked for an Android app, the agent decided to use Jetpack Compose, a DSL for creating UIs much like Swift UI, and something I have no experience with. Looks pretty nice though.

  • Talked to the agents yesterday and it’s come back with this Android app. Primed the pump, as it were, by bookmarking a few posts in Quick Reads for the commute home. We’ll see if I’ll read them.

    Auto-generated description: Two mobile app screens display lists of article titles and detailed blog content, featuring topics like A Field Guide to Learning and The Silly Apps Graveyard.
  • Oof! Almost fell for a phishing email. Got a “payment failed” email seemingly from OpenAI and without thinking, I clicked the big link to update my payment method. Caught myself and took note of the sender before the page finished loading (it was a frickin’ Gmail address, for heaven’s sake). Closed it immediately and blocked the sender.

    The thing is, I’ve been getting some payment failure emails recently as I had to update my credit card and I missed some subscriptions. Maybe without that recency bias my guard wouldn’t have been so far down as it was this evening. Although probably not because there wasn’t much thinking going through my head when I saw the email. I was distracted, tired, and just absentminded.

    It probably didn’t help that it also slipped through the spam and phishing filter. Funny how such protection could lull someone in a false sense of security: “the email’s not in the spam filter, so it must be genuine.” 🀦

    Anyway, be careful out there.