On the summer solstice, 21 June, the sun set at 21:21 in London.
I’m sweating in thirty-degree heat as I write this. It makes it impossible to do or think anything.
Tomorrow is meant to be seven degrees cooler so I’m saving all my doing & thinking until then.
Sorry about all the weather chat. It’s just really hard to ignore the air around you.
I’ve privately made a lot of progress on my WebAssembly interpreter’s preprocessor. I’d been putting off the implementation of the type use abbreviation because it interacts with the identifier context and type definitions in a complicated way, but I had enough time this week to grind through it and get everything working nicely, which in turn allowed me to cut another tangled knot of complexity out of the parser.
It took about seventy commits in the end. I don’t think I’m a good enough programmer to have built this feature without breaking it down into such a large number of tiny incremental changes. Now I just have to polish it up and get it published.
One of the frustrations of working on this project is the length of the backtraces. Every time an exception bubbles up from the bowels of the parser or whatever, it generates screenfuls of mess that I have to scroll past to even see what the error message was. It’s not a huge problem but the pebble of needless hostility gets tiresome quickly.
Ruby 3.0 introduced a
--backtrace-limitoption to control this but it’s not fully useful: the default is still −1 (no limit) and the option can’t be set with
RUBYOPT, so there’s no way to provide a more humane default without explicitly saying
I don’t understand the reasoning behind whether an option is permitted in
RUBYOPT— something something security? if you know, please tell me! — but I got frustrated enough to write a quick patch to permit
--backtrace-limitso I can easily control it with an environment variable. And, well, since I was bothering to recompile Ruby, I also changed the default limit to a finite number and allowed
--backtrace-limitto set it back to infinity if needed. (It should probably be
This change may well be wrong but the 2-clause BSD licence gives me the right to make it, and now the pebble is gone. Free software is good.
Season one of Silo inches towards its terminal moraine. In episode nine our hero gets the MacGuffin they’ve been chasing all season, finally revealing to them… information which the viewer was given in episode one. Give me strength.
I’m not sure I’ll stay aboard for season two. Let episode ten decide.
I got to John Wick: Chapter 4 at last. It’s stylish and visually impressive but silly, overlong and suffocated by more lore than its flimsy premise can support. Hopefully that’s it now.
After I stopped posting to Twitter I left it in my Safari favourites and still reflexively checked it a couple of times a day. It wasn’t until this week that I noticed how unhappy it was making me: my friends rarely tweet so the “Following” tab is mostly ads, and “For you” is a firehose of right-wing culture war drivel.
I’m embarrassed it took me this long but I’ve removed it so I stop remembering to go there.