Bracketology for the Break Room: We Settled the Config Format War With a March Madness-Style Tournament and the Winner Made Half Our Slack Rage-Quit
Photo: TAlex99, CC BY-SA 4.0, via Wikimedia Commons
Every tech team has one argument that never dies. Ours started when Dave from platform posted a 400-line YAML file in the #infra channel with the caption "who designed this" and ended three weeks later with a formal bracket, a Google Form, and one very angry systems architect.
This is that story. Well, that bracket.
The Seeding: How We Got Eight Formats Into a Bracket
The rules were simple. Each format would be judged on three criteria, scored one to ten by a rotating panel of whoever was on-call and hadn't quit yet:
- Readability — can a human parse this at 2 a.m. without a syntax highlighter and a support animal?
- Tooling support — does every language under the sun have a parser, or do you get to write your own?
- Comment-friendliness — because config without comments is just a hostage situation.
The contenders: YAML, TOML, JSON, INI, XML, HCL, dotenv, and a write-in candidate from our intern named "just use environment variables, cowards."
The intern did not advance. But we respect the audacity.
Round One: YAML vs. INI, and Other Crimes
The opening matchups were brutal.
YAML vs. dotenv went to YAML, but not without casualties. Two panelists noted that YAML's whitespace sensitivity is a hate crime against people who paste config from Slack. One panelist wrote simply: "Norway problem. I will never forget. I will never forgive." YAML advanced on tooling support alone.
JSON vs. XML was billed as the grudge match of the century and delivered nothing. Both formats refuse to support comments, which in our scoring is like showing up to a potluck with an empty crockpot. JSON won on the tiebreaker of not requiring closing tags, and honestly, XML should be embarrassed it got that close.
TOML vs. HCL was the sleeper hit of round one. HCL fans (all three of them, mostly Terraform users from the Pacific Northwest) argued that blocks and interpolation beat TOML's "fancy INI cosplay." TOML took it on pure tooling ubiquity. Somewhere, a Rust developer felt a disturbance and smiled.
INI vs. the write-in candidate — INI cruised. The intern's environment variables manifesto got zero votes for readability after someone pasted a 60-character secrets string into the example. INI advanced while apologizing for nothing.
The Semifinals: Where YAML Choked
YAML versus TOML was the matchup everyone wanted, and it delivered everything except a YAML victory.
On readability, TOML's explicit tables beat YAML's "is this a nested list or a poem?" ambiguity. On comments, both did fine — full marks each, the first civil moment of the tournament. But tooling was where YAML's anchor quotes, its midnight indentation errors, and its yes: No booleans finally came home to roost. TOML won by eleven points and immediately got insufferable about it in the group chat.
The other semifinal, JSON versus INI, was a referendum on a question nobody expected: what do we actually owe the formats of our past?
JSON argued it won fair and square — it's everywhere, it's parseable, your toaster supports it. INI's rebuttal, delivered via a single panelist holding up a printed php.ini file, was devastating: "JSON can't have comments. INI can. JSON can't be edited by a junior admin on a plane with no internet. INI can. Checkmate."
INI advanced. The room went quiet.
The Final: The Result That Ended Friendships
TOML versus INI. The polished upstart versus the format that's been quietly holding together Windows, Git configs, and half of legacy Python since before some of you were born.
TOML took tooling easily — first-class parsers in Rust, Go, Python, and probably your microwave. Readability was closer than expected, because it turns out INI's flat simplicity is a feature when your alternative is four levels of bracketed tables.
But comments and raw human-editability gave INI the edge. Section headers, key = value, done. No type surprises. No anchors. No remembering whether it's two spaces or four. A format so simple that a hungover sysadmin cannot break it.
Your champion, and I need you to hear me out: the humble INI file.
Reader Poll Results: You Are All Cowards
Our polls told a different story than the panel. In the semifinal voting, YAML peaked at 61% of the popular vote before flaming out with the judges — a classic case of the format people use versus the format people like. TOML polled strongest among respondents under 30, INI dominated with anyone who has ever administered a Samba server in a server room that smelled like burnt coffee.
When asked "which format has hurt you the most," YAML won with 44% of the vote, followed by XML at 27% and one write-in answer that just said "my own .bashrc."
The Real Takeaway
Here's the uncomfortable truth the bracket surfaced: the best config format is the one your team can read on the worst day of its on-call life. TOML is objectively excellent. JSON is inescapable. YAML is a trap we keep setting for ourselves.
But INI winning isn't nostalgia. It's a reminder that simplicity compounds. The formats that survive decades aren't the ones with the most features — they're the ones a tired human can't screw up.
Dave has been quiet since the results posted. His Slack status just says key = value.
We think that's acceptance. Or the beginning of something.