If you’ve ever read a networking tutorial, a code sample, or pretty much any technical document, you’ve seen foo and bar. They’re everywhere — and until RFC 3092, nobody had formally documented where they came from.
Published on April 1, 2001, this RFC applies full academic rigor to a fundamentally silly question: why do we call things “foo”?
The History
The trail goes back further than you’d expect:
- 1930s comic strips — Bill Holman’s Smokey Stover featured a fireman and nonsense phrases like “Where there’s foo, there’s fire.” Holman claimed he found the word on a Chinese figurine.
- Chinese origins — The term likely connects to the Chinese character 福 (fu), meaning good fortune — the same one found on guardian lion statues.
- WWII military slang — “Foo fighters” described unexplained radar traces. The word became military graffiti in the same vein as “Kilroy was here.”
- FUBAR — The obvious connection to the military acronym (Fucked Up Beyond All Repair), though linguistic evidence suggests “foo” may have come first.
Why It Matters (It Doesn’t)
The real joke is the format. The authors cataloged 212 prior RFCs that used “foo” or “bar” without ever defining them, then wrote a full etymological analysis with citations, historical documentation, and cross-references — all for a placeholder word.
It’s a perfect example of hacker culture: taking something absurd completely seriously, with impeccable documentation.
The Standard Sequence
For the record, the canonical order of metasyntactic variables is:
- foo
- bar
- baz
- qux
- quux
- corge
- grault
- garply
- waldo
- fred
- plugh
- xyzzy
- thud
If you’ve ever gotten past baz in a code example, you were probably having a rough day.