MacOS Nix Setup (an alternative to Homebrew)

17 Oct, 2020 - 8 minutes

I recently got a new Macbook, and began setting up the Nix package manager to install my developer toolset. I mainly did this to try and have a working setup without installing Homebrew. Since I ran into a few issues, I wanted to briefly document what I did and why in case others wanted to try the same.

Why Nix? (and why not Homebrew or MacPorts?)

The short answer: hype.

The long answer: I’ve been frustrated with Homebrew’s user experience for years now, and used this opportunity to start afresh. The default non-Homebrew answer is the venerable MacPorts, which has been around for quite a while. Most people who aren’t functional programming or build system nerds should probably use MacPorts, as it has been around long enough to have good support documentation floating around the internet. Unfortunately I’m a sucker for hermetic builds 1, so I decided to try Nix.

German for Programmers

3 Feb, 2019 - 12 minutes

After 2 years of learning German I’ve noticed that, for the most part, you can go a long way by mapping foreign concepts to ones that you already know. In particular, I’ve had success mapping aspects of German grammar to programming concepts I use every day. After all, programmers deal with weird grammars all the time, why not take advantage of that skill?

Gendered nouns: forward error correction

Probably the first difficulty people run into when leaning German is memorizing the gender of each noun and properly declining that noun’s articles when used in a sentence. While the grammar is mostly regular here, two things make this challenging: the nonsensical assignment of genders to nouns1 and the sheer amount of memorization required to select the correct declension once the gender of the noun is known.