I saw this one a while ago but still check it when I’m doing something that seems trivial but probably has many edge-cases.
I liked the one about music. If you’ve read a few partition, you’ll quickly realize music writing is more guidelines than actual rules. There are different ways to represent the same sequence of notes, and the choice made by the compositor conveys meaning. It’s more akin to a short story than a math formula really. And so, you cannot represent music programmatically without allowing some free-form input somewhere.
Oh I would mess this up so bad because I know very little about music. It’s funny because, in trying to develop something, we’re always trying to find absolute rules and restrict the user into our scheme and sometimes it just makes worse software.
I liked the point about “Okay, maybe not with European notation.” So many of these falsehoods are about cultural differences and, so often, we project our local understanding of a problem on the whole world. I mean, my first thought would be “they need some staff lines where they can put notes” but that’s not true for everyone.
I have one to add:
Programmers believe languages have a flag.
I used to work on a system that supported multiple languages and had to fight very hard not to put a country’s flag next to each language on the front end. People’s responses to the “wrong” flag being used for their language ranged from slightly annoyed to extremely volatile…