Metasyntactic variable
This article needs additional citations for verification. (September 2007) |
A metasyntactic variable (Template:PronEng) is a placeholder name, or an alias term, commonly used to denote the subject matter under discussion, or an arbitrary member of a class of things under discussion. The term originates from computer programming and other technical contexts, and is commonly used in examples by hackers and programmers. The use of a metasyntactic variable is helpful in freeing a programmer from creating a logically named variable, although the invented term may also become sufficiently popular and enter the language as a neologism. The word foo is the canonical example.
The same concept is employed in other fields where it is expressed by terms such as schematic variable (see logical form).
However, it has been plausibly suggested that the real reason for the term metasyntactic variable is that it sounds cool: the term is an example of computer jargon.
Examples
Nonsense words
Foo, Bar and Baz
Foo is the canonical metasyntactic variable, commonly used to represent an as-yet-unspecified term, value, process, function, destination or event but seldom a person (see Ned Baker, below). It is sometimes combined with bar to make foobar. This suggests that foo may have originated with the World War II slang term fubar, as an acronym for fouled/fucked up beyond all recognition/repair, although the Jargon File makes a reasonably good case [1] that foo predates fubar. Foo was also used as a nonsense word in the surrealistic comic strip Smokey Stover that was popular in the 1940s and 1950s. See also Foo fighter for more foo etymology, as well as RFC 3092. The popularity of "foo" and its derivatives with computer programmers and hackers was likely increased by its appearance in the classic 1976 Colossal Cave Adventure, found on almost every mainframe and mini-computer through the 1970s and 80's, where the graffiti "fee fie foe foo [sic]" is seen in the Giants' Cave. See xyzzy below for another example of the game's influence.
"Foo" can now also just be short for "fool", though its usage as an IT variable predates the AAVE "foo" becoming mainstream.
Bar, the canonical second metasyntactic variable, typically follows foo.
Baz, the canonical third metasyntactic variable, is commonly used after foo and bar. It is also a common Arabic surname, and appears (occasionally in the United Kingdom, more frequently in Australia) as a short form of the forename Barry.
Goo has been known to take the place of Baz in some circles.
Foo, bar, and baz are often compounded together to make such words as foobar, barbaz, and foobaz.
Gazonk
Gazonk is often used as an alternative for baz or as a third metasyntactic variable. Some early versions of the popular editor Emacs used gazonk.foo as a default filename.
bop
bop is often used as a fourth metasyntactic variable. It has the benefit of being short and easy to remember.
Quux
Quux, introduced by Guy L. Steele, Jr., is the canonical fourth metasyntactic variable, commonly used after baz. However, more recently Qux has become more common as the fourth variable, moving Quux to the fifth location. A probable reason for this is that Quux is often followed by the series Quuux, Quuuux, Quuuuux etc. and Qux fits this pattern perfectly.
In amateur radio, "QUX" means "What is the magnetic course to you?".
RFC 3092
RFC 3092, published on April Fools' Day of 2001, lists the "standard list of metasyntactic variables" as follows: foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud.
English words
Normal Words
English contains standard words that obviate the need to invent cute metasyntactic variables: For a thing: whatever, for a place: wherever, for a person: whoever. That the people tend to forget that these exist (until reminded) may be a phenomenon of human memory; Being generic, they lack specific associations that might bring them to mind. This could possibly be verified by actual research. [citation needed]
Needle and Haystack
Needle and haystack are commonly used in computer programming to describe the syntax of functions that involve a search parameter and a search target, such as searching a substring within a string; with these two words, derived from the idiom "to find a needle in a haystack", it is clearer where the substring for which to search for goes, and where the string to search in goes. This can be seen, for instance, in the documentation for some functions in the computer language PHP, see [2] for an example.
XPTO
XPTO is a very common variable name in Portuguese-speaking countries. Its origin, obscure to most by now, is from an old riddle about a sign with directions on how to cross a river (the answer to the riddle is that the X is to be read as the roman numeral 'ten', and the O as 'nothing', so that the sign reads 'despe-te e nada' - 'get naked and swim').
Arfle, barfle, gloop
Used by those with a BBC Micro or Sinclair Spectrum background. Originated as the response of the parser of a Level 9 BBC Micro adventure game to input it didn't understand. [3] An example of its use can be seen in this gcc bug report, along with other interesting metasyntactic variables.
Spam, ham, and eggs
Spam, ham, and eggs are the canonical metasyntactic variables used in the Python programming language. This is a reference to the famous comedy sketch Spam by Monty Python, the namesake of the language.
Wibble
First recorded in the 1840s alongside wobble, wibble rose to prominence after it was used as a nonsense word in the Roger Irrelevant cartoon strip in UK adult comic Viz in the 1980s and later used in an episode of Blackadder Goes Forth in 1989. The term is also used as a synonym for chatter and other contentless remarks, and (rarely) as a way of pronouncing "www"
In popular culture a 'Wibblenut' is a popular and witty individual, known for making clever and insightful comments.
In recent years, the term has come to mean to cry in such a way as to seem adorable, especially when one unwillingly instigates pity for oneself in the act of crying, and is often found when used in reference to fictional characters. This instance primarily occurs in the form of Internet slang, as it appears in Web forums and on blog sites, but may also be used in face-to-face conversation among peers as well.
Another usage of the word online is attributed to Dr. Samuel Ramsden, and is a term of random oddity, or a non sequitur, and briefly became an obsession on Star Trek roleplaying games.
Other examples
Other words used as metasyntactic variables include: beekeeper, bing, blarg, bleh, blort, corge, doit, dothestuff, garply, glarb, glarch, grault, hoge, kalaa, kuku, mum, puppu, stuff, smoo, sub, temp, test, thud, var, waldo, momo.
The word xyzzy is a "magic word" from the Colossal Cave Adventure, and therefore is often used as a metasyntactic variable, especially by old-school hackers. It turns up occasionally in other contexts, such as being the cheat code for Minesweeper on many versions of Microsoft Windows [1]. It is also the cheat-enabler in the popular PC game RoadRash.
Plugh, like xyzzy, is a "magic word" from the Colossal Cave Adventure. Similarly, blort is the name of a magic potion in the Infocom game Sorcerer (see Zork magic).
The term blah is often used because of its use as a placeholder term in common English speech. For example, here is how one might describe casually how to write a letter in colloquial English: "You write 'Dear so-and-so, blah, blah, blah, Sincerely, your name.'"
Standard English uses the word whatever as a metasyntactic word. It is one of the few that is actually in the dictionary as such, similar to wherever, however, and whenever. Despite being in the dictionary, whatever rarely makes the lists of metasyntactic variables. Using foo for many audiences would require explanation, but using whatever is readily accepted.
Numbers
17
Long described at MIT as 'the most random number'. [4]
23
The number 23 is also commonly used as an integer example—particularly when the connotations associated with 42 are undesirable. This number is noted as important in the Principia Discordia due to its relation to The Law of Fives, and is further popularized in the Illuminatus! Trilogy by Robert Anton Wilson and Robert Shea. It also makes frequent appearances in the novels of Robert Rankin, and to some extent may be regarded as 'Rankin's 42'.
37
37 is often selected by people asked to choose a number between 10 and 50, in which the two digits are not equal.[2] Consequently it is frequently chosen as a supposedly "random" number. The number also features prominently in the movie "Clerks" [5].
42
The number 42 is often a common initializer for integer variables, and acts in the same vein as a "metasyntactic value". It is taken from Douglas Adams' The Hitchhiker's Guide to the Galaxy, where Deep Thought concluded that it was "the answer," ultimately The Answer to Life, the Universe, and Everything.
47
The number 47 is sometimes used instead of 42 above, and is used mainly by members of the 47 society, Chief Delphi members, Pomona College graduates, or New Trek fans. The number is sometimes described as "42 corrected for inflation".
69
69 is often used as an example number. Popular among hackers as an addition to metasyntactic variables (foo69, bar69), also used in all sorts of hacks. 69 is popular because of its reference to a sexual position. It is also notable because it is the largest number whose factorial can be calculated by a pocket calculator limited to standard scientific notation with a 2 digit exponent. Montréal subway operators also routinely dial “69” on their train indicator numbers when they take their train out of service.
105
105 is sometimes used in conjunction with 69 due to the observation that 105 base 8 equals 69 in decimal, and 69 base 16 equals 105 in decimal.
666
666 is the Number of the Beast, and often refers to something considered bad or evil.
0815
0815 (named after the repetitive and boring MG 08/15-training) is used in German as either a random number or to reflect something mainstream, normal or boring.
OU812
OU812 ("Oh, you ate one too") is the name of an album by Van Halen, and is often used for its amusing phonetic properties as well as the fact that it contains both letters and numbers, useful for testing alphanumeric fields.
1337
1337 stands for leet, in Leetspeak; because of this positive (or ironic) connotation, it is commonly used. Shortened form of 31337, "eleet" (elite).
1701
1701 is often used by Star Trek fan programmers, because of its reference to the Starship Enterprise.
4711
4711, which is a brand of Eau de Cologne, is sometimes used by software engineers where an indeterminate, but specific, number is needed. This is probably because it has interesting numerical base properties. 4711 decimal == 11147 octal, 1147 decimal == 47B (hex, B=11 decimal) [3][4]
4744
Used to represent the largest quantity possible, stemming from the most powerful single-engined diesel-electric locomotive in the world, a 4000 HP Montreal Locomotive Works-built M-640 used by the Canadian Pacific Railway until the early 1990’s.
48879
48879 is commonly used as a hexadecimal number where it is represented as "BEEF". It often follows 57005 to form the hexadecimal phrase "DEAD BEEF".
49374
49374 is commonly used as a hexadecimal number where it is represented as "C0DE". It often follows 57005 to form the hexadecimal phrase "DEAD C0DE"; together these numbers are used in places to indicate source code that no longer works or is no longer used.
57005
57005 is commonly used as a hexadecimal number where it is represented as "DEAD".
61453
61453 is commonly used as a hexadecimal number where it is represented as "F00D". It often follows 47789 to form the hexadecimal phrase "BAAD F00D".
715517
715517 is used in Finnish computer speak as a boobs (tissit).
12648430
12648430 is commonly used as a hexadecimal number where it is represented as "C0FFEE".
3405691582
Used to fill a 32-bit value to mark it bad or unused, because of its hexadecimal representation "CAFEBABE". It is also used as the opening of compiled Java class files.
3735928559
Used to fill a 32-bit value to mark it bad or unused, because of its hexadecimal representation "DEADBEEF".
Names of people
J. Random and Ned Baker
J. Random and Ned Baker are the names of archetypal users; compare to "The Joneses". J. Random Hacker and J. Random User are also common.
Alice and Bob
Alice and Bob are names of the archetypal individuals used as examples in discussions of cryptographic protocols. Others include:
- Carol - a participant in three- and four-party protocols
- Dave - a participant in four-party protocols
- Ellen - a participant in five- and six-party protocols
- Frank - a participant in six-party protocols, and so on
- Eve or Oscar - an (evil) eavesdropper
- Mallory or Mallet - a malicious active attacker
- Trent - a trusted arbitrator
- Walter - a warden
- Peggy - a prover
- Victor - a verifier
- Sam - a trusted server (Uncle Sam)
- Charlie - a challenger or opponent
- Trudy - an intruder or malicious entity
Bob, Alice and Carol may have come from the 1969 movie Bob & Carol & Ted & Alice, or from the fact that they are common English names starting with A, B and C, the first letters of the alphabet. Dave, Ellen, and Frank are the next three letters. Some people continue this pattern, using Gloria or another similar term for the seventh participant, and so on (maintaining the pattern female, male, female, male...).
Fred and Barney
After the characters in the cartoon series The Flintstones. The most famous use of these is the example code in Learning Perl. Fred is also known to have been used simply because the keys are close together on the QWERTY keyboard.
Romeo and Juliet
JIDs like romeo@montague.net and juliet@capulet.com/balcony are often used in Jabber enhancement proposals in the same way as Alice and Bob.
Military names
Some names are most commonly used in military context.
- Private Snuffy
- LCpl Benotz specific to the USMC
- Susie Rottencrotch or Jane Rottencrotch; from the movie Full Metal Jacket
- GI Joe or GI Jane
- Beetle Bailey from the comic strip of the same name
- Gomer Pyle or Private Pyle; from the television show of the same name, also popularized by the movie Full Metal Jacket
- Tommy Atkins, origin of the name "Tommy" for a British soldier
- Private Bloggins, used primarily within the Canadian Forces as an arbitrary person, much like John Smith.
- Private N. Nönnönnöö (initials N.N.), example name used in training in the Finnish Defence Forces.
- J. S. Ragman literally "Joe Shit the Rag-man," a term used by the U. S. Navy as a generic person. An instructional manual from the 1980's had CDR J. S. Ragman as the example of a superior's approval.
Members of the Military
Branches of the U.S. military, as well as the Naval Academy specifically, often use certain names as placeholders when describing a theoretical event.
- W.T. Door - Any Naval Academy Midshipman (though often, a freshman). The name is a reference to the common occurrence of the writing on shipboard hatches to mean "water tight door." Midshipmen's nameplates on their dorm rooms read firstinitial. middleinitial. lastname. Hence, the joke is that the water tight door is actually the entrance to W.T.'s sleeping quarters.
- Joe Gish - W.T. Door's roommate
- Joe Mid - Any Naval Academy Midshipman
- Seaman Timmy - Often used to take the place of a helpless or "green" Sailor
- G.I. Joe - Any male Soldier
- G.I. Jane - Any female Soldier
- (Some Rank, usually very junior) Schmuckatelly - Any member
Other names
Sometimes placeholders from other contexts will be used: John Doe, Jane Roe, Richard Roe, A. N. Other, John Q. Public, and Bloggs or Joe Bloggs. Other nonsense names come from swapping initials, e.g. J. Pennings.
Companies
Yoyodyne, Acme, Ajax are frequently used.
Place names
Smallville and Metropolis
Smallville and Metropolis are fictional places from the Superman series of comic books. These are used to contrast urban and rural characteristics.
Also used to describe a location of extreme remoteness or that is difficult to access. "Bumfuck, Nowhere".
East Jesus
Another name for a remote, rural or backward small town. The religious reference might imply a town with conservative or religious values or might simply be used for its mildly blasphemous humor.
Jerkwater Town
Yet another name for a remote, rural or backward small town.
One theory of the term's origin is in the late 19th century from when steam powered trains needed to refill their water tanks regularly. The trains did not stop at extremely small towns where only people were boarding. Instead they slowed down so that riders could hop on and off. Since the tanks still needed to be refilled, barrels of water were "jerked" aboard from platforms as the train passed. [6]
There is also a possible etymological relationship with the term "jerk" when applied to a person to indicate that they are dull or stupid.
Middle of Nowhere
Sometimes colloquially known as In the Sticks, In the Boonies, East Buttfuck, "Bumfuck, Egypt" (BFE), East Boofu, Back of Bourke Unlike Nowhere; these metasyntactic variables indicate extreme remoteness and suggest contempt.
Plumnelly
Another term for a remote location, Plumnelly is often used in the context of a border between two states or other areas: "plum out of Georgia and nelly out of Alabama." It can also be expressed as "plum out of town and nelly out of this world" to suggest that the location is so remote it has almost left the map entirely.
Podunk University
This term is sometimes a placeholder for a generic university.
Y.U. Bum University
This term is sometimes a placeholder for a less generic university. Pronounced like "Why you bum, you."
University of Poppleton
This term is used in the United Kingdom as a place holder for a generic university. It is taken from a column written by Laurie Taylor in the Times Higher Education Supplement. The Higher Education Funding Council for England has a permanent test university for testing computer applications called the Poppleton University of Testing.
Waikikamukau
Traditional New Zealand placeholder for a small rural town. A plausible looking Māori place name, but which would be pronounced "Why kick a moo-cow?".
Beyond the Black Stump
Traditional Australian placeholder for somewhere distant or remote. Has connotations of "out in the outback somewhere." Also a novel by Neville Shute, and a comic strip.
Wassamatta U.
Sometimes used for any university. Almost never used with more than "U." to represent "university". Less common than Y.U Bum U., or others. Used in the Rocky & Bullwinkle cartoon series. Out loud, it sounds like "what's the matter [with] you" spoken with a strong Italian accent.
Blackacre, Whiteacre and Greenacre
Blackacre, Whiteacre, Greenacre, and variations thereof are the placeholder names of fictitious estates in land universally used by professors of law in common law jurisdictions, particularly in the area of real property, to discuss the rights of various parties to a piece of land.
Images
Test cards have been used as standard test images, as has Lenna.
Gene Names
In genetics, YFG is a commonly used abbreviation for "your favorite gene." For example, ΔYFG refers to a strain in which an unspecified, generic gene has been knocked out or deleted.
Other languages
Other languages sometimes have their own metasyntactic variables. For example:
- Jia, Yi, Bing, Ding - from Chinese
- Alena, prase, hovno - from Czech
- flaf, giraf, boing, kohest - from Danish
- Aap, Noot, Mies - from Dutch
- pippo, pluto, paperino (Italian names of the Disney characters Goofy, Pluto and Donald Duck) - from Italian
- Maria Bernasconi - from Italian in Switzerland
- toto, tata, titi - from French
- koko, lala, malakia - from Greek
- hoge, hogehoge, moge, huga, piyo - from Japanese
- peh, meh, shmeh - from Yiddish
- huu, haa - from Finnish
- hahaa, hihii, hohoo - also from Finnish
- kalatehas (fish factory) - from Estonian
- muh, bla, blubb, schlurps, schnurz, Lieschen Mueller - from German
- bubu, mumu, zeze - from Romanian
- brol, prout - from French in Belgium
- apa (the Swedish word for monkey), bepa, cepa, depa, flepa (alphabetical generalizations of apa); bla, blahuj, bulle, ugg, ugga, blargh, gunk, tjo, bork; Kalle, Olle, Pelle, Nisse (the diminutives of Karl, Olof, Per and Nils respectively) - from Swedish
- filan, hede, hödö, zıvır, ıvır - from Turkish
- fulano, mengano, zutano, pepe (Joe), pp (phonetic equivalent), cosa (in spanish, "cosa" can be anything, but usually refers to some physical object) - from Spanish
- Ploni (פלוני) as a person's name; Reuven (ראובן) and Shim'on (שמעון) as two persons (after Jacob's Sons)- from Hebrew
- Kuppuswamy, Ramaswamy - from Tamil
- Gipsz Jakab - from Hungarian
See also
- Placeholder name
- Free variables and bound variables
- gadget
- widget
- Hello World
- Lorem Ipsum
- Fnord
- Alice and Bob
- John Doe
References
- ^ http://www.eeggs.com/items/6818.html]
- ^ Poundstone, William (1983). Big Secrets. Quill. pp. pp. 178-179. ISBN 0-688-04830-7.
{{cite book}}
:|pages=
has extra text (help) - ^ "Business entities like account 4711, customer Jones, account 007, customer Smith are located on the banking company server." Software Architectures: Advances and Applications.
- ^
The point of the crash usually looks something like this "function+0x4711". MirOS Manual: crash(8).
External links
- The Jargon File entry on Foo, and also the entry on Commonwealth Hackish for non-US English words such as "wombat".
- RFC 3092 - The IETF memo on Foo (note that this is an April Fools' Day RFC memo).
- Acme::MetaSyntactic A Perl module providing metasyntactic variable names. Updated weekly.
- Jack and the Beanstalk, three versions of an English fairy tale, edited by prof. D. L. Ashliman.
- "Meet John Doe: stand-ins", section 3.7 in Ian Watson, Cognitive Design (Ph.D. dissertation, Rutgers University, 2005).