Posted my first “real” list on Album Whale: my list of new and rediscovered albums of 2023. It’s a little on the small side, but that’s because I tend to listen to familiar stuff most of the time. I do have plans to post those as well, but we’ll start with something small.

🔗 Pika

Seeing this makes me want to try it. I think I have a problem: I want to try all of the blogging CMSes. But I have no need for it now, so I’ll just keep a link to it here for later.

Github Actions, Default Token Permissions, And Publishing Binaries

Looks like Github’s locked down the access rights of the GITHUB_TOKEN recently. This is the token that’s available to all Github actions by default.

After taking a GoReleaser config file from an old project and using it in a new one, I encountered this error when GoReleaser tried to publish the binaries as part of a Github Release:

failed to publish artifacts:
could not release:
PATCH https://api.github.com/repos/lmika/<project>/releases/139475588:
403 Resource not accessible by integration []

After a quick search, I found this Github issue which seemed to cover the same problem. It looks like the way to resolve this is to explicitly add the content: write permission to the Github Actions YAML file:

name: Create Release

on:
  push:
    tags:
      - 'v*'

# Add this section
permissions:
  contents: write
  
jobs:
  build:
    runs-on: ubuntu-latest

And sure enough, after adding the permissions section, Goreleaser was able to publish the binaries once again.

There’s a bunch of other permissions that might be helpful for other things, should you need it.

In lieu of sharing my Vision Pro review, let me share with you my Visual Ear Worms list.

So apparently I can’t even look at the album cover of “Tubular Bells 2” without having it play in my head.

Defense contractors should lean in to what they do in their recruitment ads. None of this “explore growth opportunities” fluff. Go with something like “Love blowing stuff up? We’ve got the job for you!”

It takes me longer to come up with half-baked tools for writing Jira tickets than to just write the Jira tickets. I still think of making them though. Because I just can’t stand writing Jira tickets in Jira.

Learnt two things about the Vision Pro buying experience from a colleague today:

  1. You’ll need an iPhone. Guess that rules me out (well, that plus I’m not in the US)
  2. The thing that scans your face is actually an App Clip, which is the only case I’ve heard of one being used in a non-demo way.

More YouTube watching this evening. These three videos about scam Chrome plugins were amusing and, I guess, a good argument for human curation of these “marketplaces”. Kinda pains me to say that. I wish it wasn’t so. 📺

Thoughts on The Failure of Microsoft Bob

Watching a YouTube video about Microsoft Bob left me wondering if one of the reasons why Bob failed was that it assumed that users, who may have been intimidated by a GUI when they first encountered one, would be intimidated for ever. That their level of skill will always remain one in which the GUI was scary and unusable, and their only success in using a computer is through applications like Bob.

That might be true for some, but I believe that such cases are a fewer representation of the userbase as a whole. If someone’s serious about getting the most out of their computer, even back then when the GUI was brand new, I can’t see how they wouldn’t naturally skill up, or at least want to.

I think that’s why I’m bothered by GUIs that sacrifice functionality in leau of “simplicity.” It might be helpful at the start, but pretty soon people would grow comfortable using your UI, and will hit against the artificial capabilities of the application sooner than you expect.

Not that I’m saying that all UIs should be as complex as Logic Pro for no reason: if the domain is simple, then keep it simple. But when deciding on the balance between simplicity and capability, perhaps have trust in your users’ abilities. If they’re motivated (and your UI design is decent) I’m sure they’ll be able to master something a little more complex.

At least, that’s what this non-UI designer believes.

You don’t need to be an iOS developer to get the “build it, and see what happens” experience. Just get a CloudFormation stack with a DynamoDB table and GSI. Oh, you want to add a new attribute to an index, or change an index’s projection? Well, just do it and see what happens (it’ll probably fail).

I removed the paper wasp nest this morning. Surprisingly, doing nothing didn’t solve the problem. The nest was growing and was impeding my ability to hang out my washing. So it had to go. Good thing it was on a leaf, which made it easy to remove it once the wasps themselves were dealt with.

Bocce in a nearby park this afternoon. A bit sunny but otherwise a really nice day for it. Also had a spectator for a few minutes:

A juvenile magpie on a dirt track.

Chris Coyer writes about companies always asking about our experience:

In a way, it’s hard to blame companies because they honestly want to know and, in the best-case scenario, actually use what they get to make things better. But it’s oh-so-overwhelming. Just constantly about every single little thing.

This annoys me too, particuarily for software I have to use. I’m constantly getting ask how my Slack Huddle went. But to Slack’s credit, theirs are reasonably nonintrusive. Less so is the one from Docker, which throws up a feedback modal just when I’m about to do something in their console.

Reading Manton’s post this morning reminds of one the projects I worked on. It was a Java GUI app called CBL that we would deploy to Windows machines of our customers. It would constantly crash and whenever it did, it was impossible to get the stack-trace. I added a class which would show the stack-trace to the user, so they could copy and paste it to support. I could’ve named it anything but I chose the name “CBLMessageOfDeath”.

It’s not nearly as creative as “vetos” but, much like Manton, it made me smile whenever I had to work with it. And compared to alternative names like “ErrorDialog”, it did a better job of being more interesting and memorable. It’d had to, or I wouldn’t remember it after a decade and a half.

Working on one of the admin sections of the project I was alluding to yesterday. Here’s a screencast of how it’s looking so far.

The styling and layout is not quite final. I’m focusing more on functionality, and getting layout and whitespace looking good always takes time. But compared to how it looked before I started working on it this morning, I think it’s a good start.

🔗 The amazing helicopter on Mars, Ingenuity, will fly no more

Ingenuity has been an incrediable achievement. The engineers at NASA should be so proud of themselves. It’s sad to see this chopper grounded now, but seeing it fly for as long as it did has been a joy. Bravo!

It’s a bit frustrating that iOS treats all apps as if they’re info-scraping, money-grabbing, third-class citizens. How many times do I have to grant clipboard access to NetNewsWire before they realise that yes, I actually trust the app developer?

Why I Use a Mac

Why do I use a Mac?

Because I can’t get anything I need to get done on an iPad.

Because I can’t type to save myself on a phone screen.

Because music software doesn’t exist on Linux.

Because the Bash shell doesn’t exist on Windows (well, it didn’t when I stopped using it).

That’s why I use a Mac.

I’ve been bouncing around projects recently but last week I’ve settled on one that I’ve been really excited about. This is reboot five of this idea, but I think this time it’ll work because I’m not building it for myself, at least not entirely. Anyway, more to say when I have something to show.