Weeknotes 2024 W26: Solitaire

June 24​–​30, 2024
1800 words

Quick bits:


Shower thoughts:


I published my Solitaire game. You can download it on itch.io.

If you try to open the game on macOS, you’ll get a warning that it can’t be verified.1 But there is a workaround for you: to open the macOS version, right-click on the application and choose “Open” from the drop-down menu.

If you’re interested in the source code:2 download the .love file and change the extension to .zip, and then open that archive. LÖVE files are just ZIP files, so this works for any game made with LÖVE!

I’m still working on it! Among the features I want to implement are a bunch of different game modes. Here is one which I call “micro-solitaire,” which has a tiny tableau and only the cards 2, 3, 4 and A:3

Hope you enjoy!


I had a dentist visit earlier this week, to fix a cavity in my wisdom tooth. Those teeth are hard to reach to clean properly!

It reminds me of a conversation I had with my dentist in Belgium, who suggested pulling all my wisdom teeth. When I asked why, she said that they could all get cavities. I had to mentally restrain myself from asking “well, why don’t you pull all my teeth” but I’m not quite that sort of cheeky bastard.

The cavity is fixed — and I have now also finally applied for dental insurance, which I think I should’ve done years ago.


I have received a job offer, and now the contract negotiation phase begins.

It’s been a long time in the making. I started looking for something new in December (or maybe even earlier — can’t remember) which means I’ve been looking for more than half a year already. The market is picking up, but the competition is fierce. I’ve gotten plenty of rejections where the feedback was that I was certainly qualified, but other candidates were just a little bit better suited for this particular role.

I have high hopes for this particular job. More details in the upcoming week­notes, no doubt!


More and more tech companies include a code review challenge in their interview process. I like this in theory, as it has the potential to be much better than a coding challenge at giving a clear picture of the interviewee’s capabilities and the interviewing company’s culture.

But code review challenges are also tricky to get right, because the way I review a code change differs vastly depending on the context:

My #1 priority when doing a code review is to not be a blocker when I can avoid it. It is more important to keep the pace of development going, than to make sure no code gets integrated until it is “perfect.” Code is always malleable; a code review does not set the code in stone, and there is no such thing as “perfect” code.

In general, I will approve a change unless it has critical problems:

(This list is not complete, but that is what comes to mind right now.)

When reviewing a code change, I’ll ask myself the question “does this change make anything worse?” — and if the answer is no, then I’ll generally approve the change.

There are a few types of issue that I might highlight, but not mark as blocker:

While I find that this approach to reviewing code changes works really well, it tends to not resonate well in technical interviews.5 This is, as far as I can tell, because most code review challenges are about spotting all the problems in a given piece of code, rather than as a reviewer helping code get shipped.

As with any step in the job interview process, a code review challenge is something where you’ll have to play the game: say what the interviewer wants to hear, and not necessarily what you think. Shrug.


Every time I publish my week­notes, I create a new, blank week­notes entry, and that makes me anxious because I continuously have the fear of not having anything to say for the coming week.

Time and time again, this has proven to be false: my week­notes entries likely average a thousand words these days, and that is, in my opinion, a lot.

And besides, if there were a week where I had little interesting to say — so what? There is no bar that I need to meet. I do what I do because I like it, and so whatever I achieve is exactly right.


Entertainment:


Toots and tweets:

Links:

Tech links:


  1. This is because I don’t have a subscription to the Apple Developer Program, which is required to be able to properly distribute apps. But it’s 99 USD a year, which is a cost I cannot justify at the moment. ↩︎

  2. I have a private Git repository on GitHub, but I am too self-conscious about the commit history to make it public. ↩︎

  3. Miniature game modes like these aren’t just fun for quick games, but they’re extraordinarily useful for testing during development. ↩︎

  4. I need to point out that the purpose of code review is not to find defects, and code reviews are particularly ineffective at preventing defects. ↩︎

  5. It frankly also does not resonate well at some employers, either. Shopify, for example, has the bizarre practice of “tophatting,” which requires the code reviewer to manually test out all changes — even if those changes are covered by end-to-end tests. ↩︎

  6. Riven (Cyan, 2024), published by Cyan. ↩︎

  7. It stands out to me at least, perhaps because I do my own daily journaling with fountain pen and paper. My handwriting is distinctly less pretty than that of the Riven journals, however. Perhaps my only complaint is that the in-game journals set unrealistic beauty expectations! ↩︎

  8. Cities: Skylines II (Colossal Order, 2023), published by Paradox Interactive. ↩︎

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.