Jargon File



"[W]here else will you find ... a definition like 'A cuspy but bogus raving story about N random broken people'?"

- Steve Jackson

The Jargon File (also called The Hacker's Jargon File) is a dictionary of computer slang which was originally in plaintext format and is now available as HTML. It also includes a lot of computer hacker folklore, both in the appendixes and as part of the main text of the entries. The file originated in 1975, at a time when computers were only used by a few specialists. It was originally published in book form as The Hacker's Dictionary in 1983, edited by Guy L. Steele Jr.

At that time, the university AI labs that spawned the Jargon File were dying, and the Jargon File fell into disuse. It was picked up again by Eric Raymond in 1990; he maintained the file, adding new Internet-related material, and published several revisions in 1991, 1993 and 1996 as The New Hacker's Dictionary, though not without controversy. (Raymond was accused of writing material that's more true of himself than of hackers in general. However, in the documentation on the last live version Raymond claims to have deleted any entries he could not verify as being live and in active use among hackers; the "Deleted" section of the File's change log bears this out.)

The file is still around, but maintenance abruptly stopped in 2004, and the file is heavily subject to Technology Marches On, having never been fully adapted to the omnipresent Web-based Internet of modern times.

Every so often someone tries to make the file live again. No attempt has yet succeeded.

The last version, now more than a decade old, can be found here.


 * Ha Ha Only Serious
 * Ice Cream Koan

"Microsloth Windows: /mi:krohsloth` windohz/, n. (Variants combine {Microshift, Macroshaft, Microsuck} with {Windoze, WinDOS}. Hackerism(s) for 'Microsoft Windows'. A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition."
 * Astroturf: Source of one of the earliest definitions of the sense in which we present it.
 * Black Box: The File is rife with terms describing programming Black Boxes, most notably Black Magic.
 * CamelCase: The Jargon File definition varies from modern usage -- what ATT and many others recognize as "CamelCase", the File calls BiCapitalization.  According to the File, "true" camelCase requires the first letter be lowercase, so as to provide a "hump" in the middle of the word.
 * Canon: Source of the canonical definition of "canonical", as used in most non-religious contexts today.
 * The Coconut Effect: See the entry for "Green Lightning".
 * Conspiracy Theory: Invoked with its entry for "TINC" ("There Is No Cabal").
 * Devil's Dictionary: The Jargon File occasionally slips into this mode, but for the most part is a rather straightforward example of the dictionary genre, even if at times informal or Ha Ha Only Serious:

"A novice was trying to fix a broken Lisp machine by turning the power off and on. Knight, seeing what the student was doing spoke sternly: "You can not fix a machine by just power-cycling it with no understanding of what is going wrong." Knight turned the machine off and on. The machine worked."
 * Explosive Overclocking: The entry for the "Halt and Catch Fire" machine language instruction.
 * Finagle's Law: Has a defining entry, with a citation for what might be the original source.
 * Ha Ha Only Serious: Defined by the file.
 * Hanlon's Razor: Possibly the earliest expression of the concept under that name.
 * Have You Tried Rebooting?: See Ice Cream Koan, below.
 * Ice Cream Koan: Several such sayings, in reference to which the phrase "ice cream koan" was coined, originated at MIT in the 1970s and found their way into the Jargon File. One example:


 * (It also plays on the absurdity that understanding alone is enough to make the exact same behavior work.)


 * If I Wanted X, I Would Y: A slight variation: "If you want PL/I, you know where to find it."
 * Layman's Terms: Despite being written by hackers for hackers, its definitions very often present abstruse or obscure tech concepts in plan, simple-to-understand terms.
 * Names Given to Computers: The real-life Shub-Internet was named after a joke in the Jargon File and operated as a server in the Pentagon for a number of years. Obviously a very silly type-6, relating to the Internet's origins as a US Defense Department project.
 * Neologism: The source or earliest documentation of many terms that later entered widespread use.
 * Not-So-Imaginary Friend: The File defines a "dancing frog" as any bug that occurs unpredictably and cannot be readily induced. Such bugs are extremely difficult to deal with. A reference to the cartoon One Froggy Evening.
 * Older Than They Think: Some of the terms in the File which have become pretty much standard usage in computing (both professional and hobby), like such as frob, foo and mung, are believed to date back to the early 1950s and the Tech Model Railroad Club at MIT.
 * Perplexing Plurals: Documents the classic hacker usages of Vax/Vaxen and box/boxen (both by analogy to ox/oxen), among others.
 * Puff of Logic: Schroedinbugs, in which a program works fine until someone looking at the source code realizes it shouldn't work, at which point it stops working.
 * Read the Freaking Manual: The File has a surprisingly detailed entry for the acronym RTFM, although it is by no means the origination of the term.
 * Recursive Acronym: Contains possibly the earliest definition of the concept, along with examples.
 * Sock Puppet: As with Astroturf above, the File is one of the first, if not the first, formal definition of the usage as we document it.
 * Technology Marches On: Even as of the late 1990s updates it was already more of a historical document than a living one.
 * Too Many Cooks Spoil the Soup: The file contains an entry -- Brooks's Law -- which states that "Adding manpower to a late project makes it later", with mathematical justification; dividing a task among N people gets the work done in O(N) time, but actually coordinating that work and getting it merged back into a completed project takes O(N^2) because of duplication, intercommunication problems (two people on a project have one line of communication (A<->B); four people have six), and general laziness (if there's a hundred people on a task, there will be a few who think they don't need to pull their weight).
 * Unpredictable Results: See the entry for "nasal demons".
 * Words Do Not Make the Magic: See the Ice Cream Koan quoted above.
 * Yiddish as a Second Language: Hacker parlance is absolutely full of Yiddish and Yiddish-derived words -- DRECNET, farkled, foo, glitch and kludge, even (and especially) "hack" itself, just to name a few.