Weeknotes 2022 W02

January 10​–​16, 2022
700 words

I’ve been low-key suffering from RSI this week. I took a break on Thursday as soon as I noticed it. The only way to cope with it is to stop using my hands until the pain subsides. In the past, I’ve made the mistake of powering through it. That only makes the problem worse, though. It means I could end up on sick leave for a week or more.


My budgeting app prototype has had little progress. It has a bug where it miscalculates the total expenses, and I haven’t been able to figure out why.

Any application that primarily deals with numbers and calculations will face similar difficulties. In my day-to-day work, bugs reveal themselves as exceptions or objects of the wrong type. But if all you have is numbers numbers numbers, correctness is way harder to verify.

The double-entry approach that I’ve taken simultaneously complicates things and simplifies things. I could’ve instead gone with a single-entry approach and sorta-kinda copied what YNAB does. That would defeat the purpose of me creating this app in the first place.

Multi-currency budgeting is also a pain, and I’m not sure this has been solved before, at least not in the way I have in mind.

I sure am giving myself a solid challenge.

In closecontact news, the services and databases have been shut down. There are some bits left to remove, but there’s no rush. We’re keeping the web site up in any case.


I’m participating in the Crafting Interpreters book club at work (see tweet). This is going to be fun.

Last year, I did a half-baked implementation of Lox (the language that the book is built around). I went off the rails and started doing my own thing, though. Having a book club will keep me in check — at least that’s the plan.

For the implementation language, I’m going with Crystal. I’ve been looking for an excuse to use it again. I wrote a lexer/scanner which followed the implementation in the book as closely as I could. It’ll help me stay out of trouble the future chapters, I hope. Because I’ve written lexers (and parsers) like these before, I was tempted to do something else this time. But I’ll leave that for another project.


I bought music! Space 1.8 by Nala Sinephro and it’s a fantastic listen. I also bought Promises, by Floating Points, Pharoah Sanders & The London Symphony Orchestra, and it’s equally fantastic. Both albums have been on repeat the last week.


I binge-watched Westworld seasons 1 and 2, and oh it’s good. It’s also quite intense and rather anxiety-inducing, and I will need a break before I move on to season 3. It’s certainly not casual TV!

I watched Shin Godzilla and didn’t enjoy it as much as I thought. It’s not an easy movie — not only is the monster a reference to the Fukushima disaster, the whole movie hits differently and much harder in the pandemic.

Now I’m on the hunt for some movies or TV series that are way more relaxed.

I had put Red Dead Redemption II aside for a while, but picked it up again. It turns out that this game (or its predecessor at least) was an inspiration for Westworld, and I’m not surprised.

In the world of Red Dead Redemption II, I’ve arrived at the biggest town in the game, Saint Denis, and the in-game characters pronounce it correctly — /sɛ̃.d(ə).ni/. It’s genuinely touching to hear my own name, pronounced properly, in a game. Absolutely not the part I expected to get emotional about, but here we are!

You can reply to this weeknotes entry by email. I’d love to hear your thoughts!
If you like what I write, stick your email address below and subscribe. I send out my weeknotes every Sunday morning. Alternatively, you can subscribe to the web feed.
Incoming links: Weeknotes 2022 W49: Chris.