Weeknotes 2022 W20: Birthday
I had my birthday on Thursday! I took the day off with the intention of spending it as quality me-time, and cycled a few hours around the North side of Berlin.
I also, by accident, found a World War II cemetery, the remains of a forced labor camp, a dilapidated bunker and another Soviet war memorial. Berlin can be intense. The Soviet war memorial had police presence near the entrance, and near the central monument I found a teddy bear wearing a blue flag with a yellow sunflower on it. Subtle!
Apart from that, my trip was very relaxing and very much what I was looking for. I treated myself to ice cream and a Rhabarberschorle (rhubarb spritzer) and spent quite some time in a large park under the bright blue sky and a hot sun. I could certainly do this more often.
Spending my birthday on my own time was a great choice.
The trip to Belgium with Justine got postponed from June to an unspecified future date. It felt stressful to make it work smoothly for both of us. We’ve not decided on a new date, but the trip will definitely be more enjoyable if we can be relaxed about it!
Gremlins:
-
I’ve been randomly getting
The given fd is not accessible because RubyVM reserves it
. Not sure what is going on, but it sounds very broken. -
The Nanoc test suite occasionally segfaults. This has been going on for years, and it’s immensely tough to fix because I have been entirely unable to reproduce this crash; it only happens on GitHub Actions.
I’ve made progress with my bytecode implementation of Lox (from the Crafting Interpreters book). It now has support for closures, though it has some bugs I need to fix still.
Last week, I wrote how I deliberately did not implement support for global variables. It turns out that this decision created a lot more work for my interpreter to be able to handle even simple programs. Take a look at this:
fun a() {
print "hi";
}
fun b() {
a();
}
b();
The body of function b
accesses a
. This would be straightforward if a
were a global variable — but it is not. This piece of code only started working after I added in support for closures, which was far from straightforward.
It’s all good fun though, and I’m learning a lot in building this VM. Language implementation is a surprising amount of fun.
My implementing equality in Ruby article is going to be published coming week. Probably. (You can already read the draft if you wish.)
The more I think about it, the more I believe that Ruby and static typing don’t go well together. I appreciate the effort that has gone into Sorbet, but I also believe that Sorbet is never going to get to a point where it feels at home in Ruby land.
It’s quite different from how I feel about TypeScript: I find it much more difficult to write JavaScript than TypeScript, and in TypeScript I feel much more at ease. I suspect that this is mostly because JavaScript is such a broken language that it needs the support of TypeScript to feel sane.
I’ve finished Better Call Saul season 1, and I’m now into season 2. Never before have I empathized with someone so morally flexible as Jimmy McGill.
I’m also (slowly) continuing to watch The X-Files. I’m now in season 3, and it’s getting better and better. It’s still very 90s, but I think it has aged rather well. One reason why The X-Files still looks so good is because it was filmed in 16:9!
I’ve not really been playing any games recently. I’m not getting too much enjoyment out of No Man’s Sky; the grinding feels too much like work.
I still plan on replacing the CPU, motherboard, RAM and hard drive of my gaming PC. It’s not the highest priority, especially with summer around the corner.
Links:
-
Tasks, lists, and promises: Sometimes all you need is common sense to get stuff done.
-
Bike: Tool for thought (Hog Bay Software): This is a new outliner for macOS written by Jesse Grosjean. I’ve been trialing it for a bit and I’m liking it!
-
My Programming Principles (Luca Pette): A great deal of Luca’s writing resonates with me.
All the reading I do about cryptocurrencies and blockchain tech is becoming more and more like disaster tourism. Help yourself to these links:
-
(Un)Stablecoins and the Crypto Crash (Bennett Tomlin on Tech Won’t Save Us): Last week, I wrote that I was struggling to understand the collapse of
$LUNA
. This podcast episode shed some light on that. -
Lagarde Says Crypto Is ‘Worth Nothing’ and Should Be Regulated (Bloomberg). Not surprising.
-
Crypto Company Turns Games It Doesn’t Own into NFTs, Quickly Deletes Them: The crypto-bros keep thinking that they can monetize anything, even things they don’t own.
-
Crypto, which was supposed to decentralize wealth and power, has just made it worse. (münecat for More Perfect Union). Quote: “.01% of bitcoin holders hold 27% of all bitcoin.” Yikes.