• Hearing that Microsoft Recall uses an AI model trained to observe the GUI, it all feels so… bizatine to me. Might be that my experience is coloured by previous attempts at UI automation testing but surely there’s a better way to do this at the API layer.

    Well, I guess it includes a collective action problem to solve, too.

    And it doesn’t guarantee all that sweet, sweet shareholder investment cash that seems to drive most decisions to turn to AI features recently (this “stock-price driven development” is one of the reasons why I try to avoid working at public companies).

  • Don't Leave User Experience For Later

    DDH wrote a post yesterday that resonates with me. This is how he opens: Programmers are often skeptical of aesthetics because they frequently associate it with veneering I doubt DHH reads this blog, but he could’ve address this post directly at me. I’m skeptical about aesthetics. Well… maybe not skeptical, but if we’re talking about personal projects, I do consider it less important than the functional side of things. Or at least I did. Continue reading →

  • I used Micro.blogs find and replace for the first time today, to change a bunch of links to point to a new domain. Worked like a charm. I really like these sorts of power features; the ones that you don’t use everyday, but when you need it, and they deliver, it makes your job a whole lot easier.

  • Kind of had it with Lime and the other dockless scooters. I’m sure most users are fine, but a large number of them are inconsiderate pricks that I just want the whole enterprise to close. If you use these services, then I implore you: stand your bike/scooter upright and do not block the path! 🚳

  • Sometimes in life, when you’re faced with a task you don’t know to solve, the best way to make forward progress is to close your eyes and just start with something, anything, even if it’s not the best or even a good idea.

    So watch out Dev cluster. I’m going to YOLO this! 🏃‍♂️

  • Two Months Doing Weeknotes

    It’s been a bit over two months since I’ve started writing weeknotes at work, and I’m sure you’re all on the edge of your seat dying to know how it’s going. Well, I’m please to say that, on net, it’s been quite helpful. Now, I’ve gotta be honest here: doing weeknotes is not quite a decision that’s completely my own. We’re technically required to write these notes and submit them to our managers1. Continue reading →

  • Got gallery.folio.red back up this morning. Took longer than I hoped, since the cert expired and renewing it was delayed due to the Lets Encrypt outage. Also fought with the bugs in Photo Bucket during the upgrade. But the import worked and the site’s back up again, so all’s well that ends well.

  • The Site Page Model

    I opened up Photo Bucket this morning and found a bunch of commits involving pages. I had no idea why I added them, until I launched it and started poking around the admin section. I tried a toggle on the Design page which controlled whether the landing page showed a list of photos or galleries, and after finding that it wasn’t connected to anything, it all came flooding back to me. Continue reading →

  • 🔗 Finish your projects

    If there’s ever an article I should print out and staple to my forehead, it’s this one.

  • I’ve been really enjoying all the WeblogPoMo posts that the PoMo bot has been relaying. Discovered a bunch of new blogs this way, that I’ve now added to NetNewsWire.

  • Had to miss the first part of Micro.camp this year, unfortunately. My meeting with the sandman went long. Hope to catch up on the keynote and state of the platform videos later.

  • 🔗 Slack users horrified to discover messages used for AI training

    I’d like to avoid jumping on the “I have everything AI” bandwagon, but I agree that Slacks use of private message data to train their LLM is a pretty significant breach of trust. A lot of sensative data runs through their system, and although they may be hosting it, it’s not theirs to do as they please. Maybe they think it’s within their right, what with their EULAs and everything, but if I were a paying customer — of enterprise software, if you remember — I’d make bloody sure that data is the customer and the customer’s own.

    It’ll be interesting to see how this will affect me personally. We use Slack at work and I know management is very sensative about IP (and given the domain, I can understand). Maybe I’ll finally get to try Teams out.

  • Friday Development Venting Session

    Had a great venting session with someone at work about the practices of micro-services, the principals of component driven development, mocking in unit tests, and interfaces in Go. Maybe one day I’ll write all this up, but it was so cathartic to express how we can do better on all these fronts. If anyone is to ask what I think, here it is in brief: Micro-services might be suitable for what you’re building if you’re Amazon or Google, where you have teams of 20 developers working on a single micro-service. Continue reading →

  • Flights to Canberra booked. Going to be bird watching again real soon.

  • If the macOS devs are looking for something to do: here’s a free idea. Detect when the user is typing on their keyboard, say using keystrokes in the last N seconds, and if it’s greater than some low number, prevent any window from stealing keyboard focus.

  • I must agree once again with Manual Morale on his recent post about search and the future of the web:

    I think curation, actual human curation, is going to play an important role in the future. In a web filled with generated nonsense, content curated by knowledgeable human beings is going to be incredibly valuable.

    Ben Thompson has been arguing this point too: in a world of AI generating undifferentiated “content”, that which has the human element, either in it’s creation or curation, would stand apart. He says he bets his career on this belief. I think it’s a bet worth taking.

  • How is it that it’s become so natural to write about stuff here, yet I’m freezing in my boots drafting up an email to a blogger in response to a call for some feedback?

  • Love that NetNewsWire has a setting to open links in Safari instead of the built-in WebView. Very useful for articles which require an active login session, which I’m more likely to have in Safari. To enable, go to Settings and turn off “Open Links in NetNewsWire”.

    Screenshot of a portion of NetNewsWires iOS setting with Open Link in NetNewsWire turned off
  • Never thought I’d be desperate enough for food and money that I’d be forced to learn everything there is to know about authentication, OAuth, and SSO, but here we are. 🤓

    P.S. I’m trying to be droll here. Please don’t test me on my knowledge of OAuth or SSO. 😅

  • Writing Good Data Migration Scripts

    I’m waiting for a data migration to finish, so I’ve naturally got migration scripts on my mind. There’s an art to writing a good migration script. It may seem that simply throwing together a small Python script would be enough; and for the simpler cases, it very well might be. But it’s been my experience that running the script in prod is likely to be very different than doing test runs in dev. Continue reading →

  • I appreciate projects like Next.JS put a lot of effort into their guides, but they still need to provide a basic API reference. Knowing about request helpers is fine, but do they return strings or arrays? What if a query parameter’s not set? This is stuff I need to know. 🤷

  • Working in the project which is using TypeScript for the code, and Go for the deployment configuration. Wish it was the other way around, where Go is used for the code, and TypeScript… isn’t used at all. 😛

  • 👨‍💻 New post on Databases over at the Coding Bits blog: PostgreSQL BIGSERIAL “Type”

  • I haven’t gone all in with AI co-pilots or anything with my coding setup yet, but the latest version of GoLand comes with what is essentially a line completion feature that I actually find quite useful. I suspect there’s some ML in there as it seems to understand context and produce suggested line completions that are, more often than not, pretty much what I was going to type out by hand anyway. Many times I could implement most of a new function simply by typing Tab several times. Impressive work, JetBrains.

  • On Sharing Too Much About Too Little

    Manuel Moreale wrote an interesting post today about sharing stuff online: Life can be joyful and wonderful and marvellous. But it can also be a fucking nightmare. And yes, it’s important to celebrate the victories and to immortalise the glorious moment. But it’s also important to document the failures, the shitty moments, the dark places our minds find themselves stuck in. It’s all part of what makes us unique after all. Continue reading →