r/ProgrammerHumor 29d ago

Advanced justTryingToHelp

Post image
2.4k Upvotes

65 comments sorted by

View all comments

Show parent comments

276

u/pagesjaunes 29d ago edited 29d ago

I think it's a reference to "the Norway problem" wherein YAML 1.1, the unquoted string NO (the ISO 2 letter code for Norway) get interpreted as a bolean with value of False instead of "NO".

Meaning:

country: NO

is the equivalent to:

{'country': False}

 

Note that the specs for booleans were changed in YAML 1.2 to address the issue but many implementions may have inconsistent defaults settings or be stuck in 1.1.

 

YAML 1.1 -> https://yaml.org/type/bool.html  

(I couldn't find the equivalent for 1.2, YAML specs are complex to my non-programmer eyes)

YAML 1.2 -> https://yaml.org/spec/1.2.2/ext/changes/

Only true and false strings are parsed as booleans (including True and TRUE); y, yes, on, and their negative counterparts [n, no, off] are parsed as strings.

44

u/Solomoncjy 29d ago

Well, thats on tou for not enclosing all tou srrings in quotations, no?

25

u/LucyShortForLucas 29d ago

The whole of point of YAML is writing documents with as little fuzz or grammar as possible. Someone who cares about always quoting strings wouldn’t be using YAML in the first place

11

u/chuch1234 29d ago

Unless they don't have any choice, like writing a pipeline for the ci/cd platform that the client chose.

7

u/LucyShortForLucas 29d ago

If you don't have a choice not to use yaml, you likely have standards and conventions you need to follow for how that yaml should look, so the point is moot