I made two loaves of bread this week, one for me and one for Esther. I like how I’m continuously improving, and I’m thankful to the YouTube guides and the
#bread channel at work!
There’s a wheat supply problem. People in Germany are panic-buying flour, which I believe is because Ukraine and Russia together supply 25–30% of the world’s wheat. As a result, it’s been weeks since I found the kind of wheat flour I use (German type 550) in supermarkets in Berlin. Lately, the supermarkets here — I checked multiple — are entirely out of all types of flour. The shelves are empty.
Fortunately, I managed to snatch 3kg off Amazon Fresh, so I guess I have now joined the group of people who are panic buying.
I’ve finally started making illustrations for the article on implementing equality in Ruby — an article on which I’ve now been working for months. Creating illustrations is a healthy challenge, from becoming proficient with Affinity Designer to figuring out how to embed the SVG figures in HTML.
I’m happy with what I’ve achieved so far. The fonts and colors of these figures are controlled by the CSS stylesheet, which means the colors are an exact match, and the figures adapt nicely to dark mode, too. It’s rather fancy!
I’ve become better at writing, though I still have a lot of room to grow when it comes to visually illustrating ideas.
I wrote an article! Using a modal lexer for parsing sub-languages. If you’ve ever wondered how to write a lexer for interpolated strings and nested comments, this article is for you.
It’s interesting that I initially considered this article as rather short, despite the reading time estimate being over 20 minutes. The article on equality (which is still work in progress) has a reading time estimate of close to 45 minutes — by far the longest one yet.
I rewrote the lexer of my implementation of Lox (the language from Crafting Interpreters) with this technique, and it’s a lot shorter, too.
I saw that GitHub’s documentation is no longer powered by Nanoc. Aww. It had a good run, but now it’s powered by Node.js, which is probably the right choice for a long-lived project.
Node.js did not exist when Nanoc came out. Heck, when I created Nanoc, Ruby was absolutely winning as the web development platform. Times sure have changed.
I’m still using Nanoc and I don’t see myself switching to anything else anytime soon. It’s still the best at what it does. You’ll not be able to convince me otherwise.
My gaming PC is due for an upgrade. Last year, I upgraded the graphics card (thanks Tiago), which was a huge improvement. Still, recent games don’t run well (20–30fps), and turning the graphics quality down doesn’t help. The graphics card is not the bottleneck anymore!
I’ve identified three parts that probably need upgrading:
The CPU is 8 years old, and running at 100% most of the time. In all likelihood, this is the most important component that needs upgrading.
New CPUs require different sockets! Therefore, I’ll also need to upgrade the motherboard.
The RAM I’m using is DDR3, and newer motherboards have DDR4 or DDR5, so I’ll have to replace the RAM as well.
I’d also like to replace my hard drive from 2017, as it seems to be unable to keep up with my network download speed. A 1 TB SSD should speed up my gaming PC as well; the PC has a bit of a problem with textures loading in very slowly.
Speaking of entertainment:
I watched Black Mesa: The 16 Year Project to Remake Half-Life, and afterwards bought my own copy of Black Mesa. It’s interesting to replay Half Life as an upgraded game: I’m having considerably more fun than with the original Half Life. I’m now in Apprehension, which is about halfway through the game.
I got Anno 1800 a long time ago and picked it up again. It’s difficult and I don’t think I quite understand how to play it correctly.
I (re-)watched Atomic Blonde with Esther and that was good fun. I had forgotten most of the movie; being able to forget plot twists sure is a superpower. It’s a good movie and it was definitely worth the re-watch.
Here are some links to noteworthy articles and videos:
Please put units in names (Ruud van Asseldonk): Yes please! Relatedly, I keep fantasizing about a programming language with units built in.
On Rigor, White Supremacy, and Occam’s Razor (Avdi Grimm)
The Sanction-Fueled Destruction of the Russian Aviation Industry (Wendover Productions)
The Innovative Way Ghent, Belgium Removed Cars From The City: Oh my, Ghent has improved! I’m looking forward to visiting it again this year, and with my Brompton of course.
There is no shortage of material on the topic of blockchains:
Abuse on the blockchain (Guest lecture at Stanford University by Molly White)
The Edited Latecomer’s Guide to Crypto (Molly White et al.)
Math in Solidity (Part 2: Overflow) (Mikhail Vladimirov) shows how broken Solidity, the language used by Ethereum for smart contract, really is.