Music Theory for Programmers
runjs.appFantastic content. Went looking for this on HN after seeing it on lobsters, since I don't have an account there yet. It's truly sad that some of these gems never get front page coverage, for whatever reason.
Anyway, this will be useful as I've struggled to get into an instrument myself and often found myself asking "why" to a lot of accepted conventions. Appreciate all the time you put into this.
I can't play an instrument, even after multiple attempts. The main problem for me was understanding the theory. When you start learning, you're expected to accept a lot of things at face value with very little explanation for why things in music are the way they are.
This article documents my own journey into understanding music through writing code and taking a first-principles approach. This enabled me to understand things like why there are 12 notes and why notes in the same key sound good. Hopefully, if you are in a similar position to me, this will give you a foundational understanding of music that you can reason about instead of memorising.
Disclosure: I built RunJS, and this is on its blog. It gets a mention in the last paragraph and nowhere else.