• And that makes it the third time this week that I encountered a bug involving DynamoDB that was avoidable with a unit test that actually used a proper database.

    Meme of the Simpsons featuring the purple Stern lecture Plumbing van, with the text modified to say 'Stern Lecture Coding' and 'I told you not to Mock that'.

    (To be fair, this time is was my fault: I haven’t got around to writing the unit test yet).

  • Github/Gitlab code search is fine, but have you ever tried grep -l -r methodName projects/*? Seems to be not that much slower and like 100x more reliable.

  • I wish Ghost allowed readers to choose a different email address to send newsletters, rather than just send them to the email address associated with the account itself. I’ve got news for you: send reading material to my personal inbox and I’ll never see it. That’s just not where I read stuff: it’s all in Feedbin.

    Even better would be a private RSS feed. I know Gruber had issues with doing way back during the Google Reader days. But those days are gone, so it might be worth trying this again. Seems to work for Stratechery.

  • For the last few years, I’ve been using 4/24 as the expiry date of test credit cards within Stripe. Well those days are literally in the past now.

    Screenshot of a new credit card setup within Stripe showing the test credit card number of 4242 4242 4242 4242, and the expiry date 4/24, and the error message saying 'Your card's expiry date is in the past'.
  • UCL: Breaking And Continuation

    I’ve started trying to integrate UCL into a second tool: Dynamo Browse. And so far it’s proving to be a little difficult. The problem is that this will be replacing a dumb string splitter, with command handlers that are currently returning a tea.Msg type that change the UI in some way.

    UCL builtin handlers return a interface{} result, or an error result, so there’s no reason why this wouldn’t work. But tea.Msg is also an interface{} types, so it will be difficult to tell a UI message apart from a result that’s usable as data.

    Continue reading →

  • I’d be curious to know why Microsoft renamed Azure Active Directory to “Entra.” That name is… not good.

  • 👨‍💻 New post on Databases over at the Coding Bits blog: Counting In DynamoDB

  • Day 30: hometown

    It’s far from perfect, but it’s good to call this place home. #mbapr

    Photo of the Melbourne skyline, facing Flinders St. station and the CBD, with the pedestrian bridge on the right, as taken from a bridge with an iron railing over the Yarra River.
  • After a two month hiatus, the coffee booth at the station has reopened. All is well in the world once more. ☕😵‍💫

  • Day 29: drift

    Drifted a little from the path at this point of my hike today. Could be easy to get lost though, so it was important not to drift too far. #mbapr

    Australian landscape photo of rocks and native plants under a cloudy sky.
  • 📺 Sugar: Season 1 (2024)

    Quick review of Sugar: Season 1 (2024), by Mark Protosevich. Review reads as follows: Nah, sorry. I couldn't get through the first episode. I know what they were trying for: classic story of the keen detective, with the fast car and the cool lady companions and all. But it just didn't gel with me (might be because I have no nostalgia for the format). Plus, the cuts across time were awkward: it made it hard to follow what was going on. I'm sure this is for someone, but it's definitely not for me. Overall review: poor
  • 📺 Mission: Impossible – Fallout (2018)

    Quick review of Mission: Impossible – Fallout, 2018, by Christopher McQuarrie. Review reads as follows: A pretty competent action movie. Good example of what I'd call an 'airplane movie,' which is a movie that's good to watch on hour 7 of a 14 hour flight. A pretty thin plot that doesn't require a lot of concentration, yet lots of nice set pieces, and some lovely shots of European cities. Overall rating: okay
  • Day 28: community #mbapr

    A local market in front of a collection of national flags from around the world
  • Manual Moreale hit the nail on the head with this quote from his latest post:

    The web is not dying. The web is huge. The web is ever-expanding. The fact that the web is just the same 5 big websites is a fucking lie. It’s like saying the restaurant industry is the same 5 fast food chains. It is not. It’s up to you to decide to stop visiting those 5 sites and stop ingesting their fast food content.

    It feels like when these people say “the web”, they mean “whatever platform I’m addicted to.” Might be time they started trying out that URL bar that appears at the top of every browser.

  • 👨‍💻 New post on Go over at the Coding Bits blog: Custom Import Paths In Go

  • Day 27: surprise

    Quite surprised that this photo came out as well as it did. Was purely an accidental press of the shutter button. #mbapr

    Photo of the Apple magic keyboard with focus on K, L, and M.
  • Interesting to see Google starting to solicit reviews for apps that came with the phone, such as the… Phone.

    Screenshot of a request for a review of the android Phone app, with five unfilled stars and a message saying that reviews will be public
  • 🔗 the biggest threat facing your team, whether you’re a game developer or a tech founder or a CEO, is not what you think

    Igore the click-batey headline: this is quite a good post. Really enjoyed it. And, on the whole, I agree with the author. Via Jim Nielsen’s notes

  • Day 26: critter

    Watch out for these ones. #mbapr

    A white glyph painted on an asphalt path depicting a snake and the word 'Caution' underneath.
  • UCL: The Simplifications Paid Off

    The UCL simplifications have been implemented, and they seem to be largely successful.

    Ripped out all the streaming types, and changed pipes to simply pass the result of the left command as first argument of the right.

    "Hello" | echo ", world"
    --> "Hello, world"
    

    This has dramatically improved the use of pipes. Previously, pipes could only be used to connect streams. But now, with pretty much anything flowing through a pipe, that list of commands has extended to pretty much every builtins and user-defined procs. Furthermore, a command no longer needs to know that it’s being used in a pipeline: whatever flows through the pipe is passed transparently via the first argument to the function call. This has made pipes more useful, and usable in more situations.

    Continue reading →

  • Thou Doth Promote Too Much

    Manual Moreale wrote an interesting post about self promotion, where he reflects on whether closing out all his People and Blogs post with a line pointing to his Ko-Fi page is too much:

    And so I added that single line. But adding that single line was a struggle. Because in my head, it’s obvious that if you do enjoy something and are willing to support it, you’d probably go look for a way to do it. That’s how my brain works. But unfortunately, that’s not how the internet works. Apparently, the correct approach seems to be the opposite one. You have to constantly remind people to like and subscribe, to support, to contribute, and to share.

    Continue reading →

  • Some emus have moved into a nearby sanctuary a few weeks ago. I managed to catch a glimpse of one during my walk today. A rare treat indeed.

    An emu standing by a wire fence.
  • Day 25: spine #mbapr

    A cabinet in a museum showing the skeletons of prehistoric vertebraes
  • Day 24: light #mbapr

    A city road at night, with cars driving towards the camera, and yellow, purple, and blue lights strung up above the street, featuring peacocks and Rangoli decorations celebrating Diwali
  • I was snakily going to suggest a “HTML naked day” to complement both CSS and JS naked day, but then I realise that that’s the default for all modern web frontend development. 😏