YAML is weird.15 Mar 2021
Igal Tabachnik had a shitpost about YAML on Twitter. I didn’t totally get it, so I keep reading and was rewarded with not only understanding the shitpost, but also learning a bit more about YAML. Both of these links are funny and informative.
From Geoffrey Huntley’s noyaml.com page, I understood the Twitter post:
🚨 Anyone who uses YAML long enough will eventually get burned when attempting to abbreviate Norway 🚨
NOis parsed as a boolean type, which with the YAML 1.1 spec, there are 22 options to write “true” or “false.”
You have to wrap “NO” in quotes to get the expected result.
Linked, and funny, from the noyaml page is this brutally honest post about the kops project, where they had inadvertedly created a complex langauge around yaml that was only debuggable in runtime, which ummm … and how they fixed it by getting rid of all the yaml.
There’s a hilarious graphic in the center that says, “list of things we needed to fix: 1. Our shit.”
This is quite amazing, really, how they just threw this buggy stuff away and didn’t look back:
Kris convinced the team to scrap all their templated YAML files. In one commit, they removed the entire kops models directory where the YAML was.
How did they do it? They just
rm -rfd the entire directory and then observed what broke. And then they fixed the issues one bug at a time.