The Jargon File, Version 4.0.0, 24 Jul 1996
Chapter 24
:Infinite-Monkey Theorem: /n./ "If you put an {infinite} number of monkeys at typewriters, eventually one will bash out the script for Hamlet." (One may also hypothesize a small number of monkeys and a very long period of time.) This theorem asserts nothing about the intelligence of the one {random} monkey that eventually comes up with the script (and note that the mob will also type out all the possible *incorrect* versions of Hamlet). It may be referred to semi-seriously when justifying a {brute force} method; the implication is that, with enough resources thrown at it, any technical challenge becomes a {one-banana problem}.
This theorem was first popularized by the astronomer Sir Arthur Eddington. It became part of the idiom of techies via the classic SF short story "Inflexible Logic" by Russell Maloney, and many younger hackers know it through a reference in Douglas Adams's "Hitchhiker's Guide to the Galaxy".
:infinity: /n./ 1. The largest value that can be represented in a particular type of variable (register, memory location, data type, whatever). 2. `minus infinity': The smallest such value, not necessarily or even usually the simple negation of plus infinity. In N-bit twos-complement arithmetic, infinity is 2^(N-1) - 1 but minus infinity is - (2^(N-1)), not -(2^(N-1) - 1). Note also that this is different from "time T equals minus infinity", which is closer to a mathematician's usage of infinity.
:inflate: /vt./ To decompress or {puff} a file. Rare among Internet hackers, used primarily by MS-DOS/Windows types.
:Infocom: /n./ A now-legendary games company, active from 1979 to 1989, that commercialized the MDL parser technology used for {Zork} to produce a line of text adventure games that remain favorites among hackers. Infocom's games were intelligent, funny, witty, erudite, irreverent, challenging, satirical, and most thoroughly hackish in spirit. The physical game packages from Infocom are now prized collector's items. The software, thankfully, is still extant; Infocom games were written in a kind of P-code and distributed with a P-code interpreter core, and freeware emulators for that interpreter have been written to permit the P-code to be run on platforms the games never originally graced.
:initgame: /in-it'gaym/ /n./ [IRC] An {IRC} version of the venerable trivia game "20 questions", in which one user changes his {nick} to the initials of a famous person or other named entity, and the others on the channel ask yes or no questions, with the one to guess the person getting to be "it" next. As a courtesy, the one picking the initials starts by providing a 4-letter hint of the form sex, nationality, life-status, reality-status. For example, MAAR means "Male, American, Alive, Real" (as opposed to "fictional"). Initgame can be surprisingly addictive. See also {hing}.
[1996 update: a recognizable version of the initgame has become a staple of some radio talk shows in the U.S. We had it first! -- ESR]
:insanely great: /adj./ [Mac community, from Steve Jobs; also BSD Unix people via Bill Joy] Something so incredibly {elegant} that it is imaginable only to someone possessing the most puissant of {hacker}-natures.
:INTERCAL: /in't*r-kal/ /n./ [said by the authors to stand for `Compiler Language With No Pronounceable Acronym'] A computer language designed by Don Woods and James Lyons in 1972. INTERCAL is purposely different from all other computer languages in all ways but one; it is purely a written language, being totally unspeakable. An excerpt from the INTERCAL Reference Manual will make the style of the language clear:
It is a well-known and oft-demonstrated fact that a person whose work is incomprehensible is held in high esteem. For example, if one were to state that the simplest way to store a value of 65536 in a 32-bit INTERCAL variable is:
DO :1 <- #0$#256
any sensible programmer would say that that was absurd. Since this is indeed the simplest method, the programmer would be made to look foolish in front of his boss, who would of course have happened to turn up, as bosses are wont to do. The effect would be no less devastating for the programmer having been correct.
INTERCAL has many other peculiar features designed to make it even more unspeakable. The Woods-Lyons implementation was actually used by many (well, at least several) people at Princeton. The language has been recently reimplemented as C-INTERCAL and is consequently enjoying an unprecedented level of unpopularity; there is even an alt.lang.intercal newsgroup devoted to the study and ... appreciation of the language on Usenet.
An INTERCAL implementation is available at the Retrocomputing Museum, http://www.ccil.org/retro.
:interesting: /adj./ In hacker parlance, this word has strong connotations of `annoying', or `difficult', or both. Hackers relish a challenge, and enjoy wringing all the irony possible out of the ancient Chinese curse "May you live in interesting times". Oppose {trivial}, {uninteresting}.
:Internet:: /n./ The mother of all networks. First incarnated beginning in 1969 as the ARPANET, a U.S. Department of Defense research testbed. Though it has been widely believed that the goal was to develop a network architecture for military command-and-control that could survive disruptions up to and including nuclear war, this is a myth; in fact, ARPANET was conceived from the start as a way to get most economical use out of then-scarce large-computer resources.
As originally imagined, ARPANET's major use would have been to support what is now called remote login and more sophisticated forms of distributed computing, but the infant technology of electronic mail quickly grew to dominate actual usage. Universities, research labs and defense contractors early discovered the Internet's potential as a medium of communication between *humans* and linked up in steadily increasing numbers, connecting together a quirky mix of academics, techies, hippies, SF fans, hackers, and anarchists. The roots of this lexicon lie in those early years.
Over the next quarter-century the Internet evolved in many ways. The typical machine/OS combination moved from DEC {PDP-10}s and {PDP-20}s, running {TOPS-10} and {TOPS-20}, to PDP-11s and VAXes and Suns running {Unix}, and in the 1990s to Unix on Intel microcomputers. The Internet's protocols grew more capable, most notably in the move from NCP/IP to {TCP/IP} in 1982 and the implementation of Domain Name Service in 1983. With TCP/IP and DNS in place. It was around this time that people began referring to the collection of interconnected networks with ARPANET at its core as "the Internet".
The ARPANET had a fairly strict set of participation guidelines -- connected institutions had to be involved with a DOD-related research project. By the mid-80s, many of the organizations clamoring to join didn't fit this profile. In 1986, the National Science Foundation built NSFnet to open up access to its five regional supercomputing centers; NSFnet became the backbone of the Internet, replacing the original ARPANET pipes (which were formally shut down in 1990). Between 1990 and late 1994 the pieces of NSFnet were sold to major telecommunications companies until the Internet backbone had gone completely commercial.
That year, 1994, was also the year the mainstream culture discovered the Internet. Once again, the {killer app} was not the anticipated one -- rather, what caught the public imagination was the hypertext and multimedia features of the World Wide Web. As of early 1996, the Internet has seen off its only serious challenger (the OSI protocol stack favored by European telecom monopolies) and is in the process of absorbing into itself many of of the proprietary networks built during the second wave of wide-area networking after 1980. It is now a commonplace even in mainstream media to predict that a globally-extended Internet will become the key unifying communications technology of the next century. See also {network, the} and {Internet address}.
:Internet address:: /n./ 1. [techspeak] An absolute network address of the form [email protected], where foo is a user name, bar is a {sitename}, and baz is a `domain' name, possibly including periods itself. Contrast with {bang path}; see also {network, the} and {network address}. All Internet machines and most UUCP sites can now resolve these addresses, thanks to a large amount of behind-the-scenes magic and {PD} software written since 1980 or so. See also {bang path}, {domainist}. 2. More loosely, any network address reachable through Internet; this includes {bang path} addresses and some internal corporate and government networks.
Reading Internet addresses is something of an art. Here are the four most important top-level functional Internet domains followed by a selection of geographical domains:
com commercial organizations edu educational institutions gov U.S. government civilian sites mil U.S. military sites
Note that most of the sites in the com and edu domains are in the U.S. or Canada.
us sites in the U.S. outside the functional domains su sites in the ex-Soviet Union (see {kremvax}). uk sites in the United Kingdom
Within the us domain, there are subdomains for the fifty states, each generally with a name identical to the state's postal abbreviation. Within the uk domain, there is an ac subdomain for academic sites and a co domain for commercial ones. Other top-level domains may be divided up in similar ways.
:interrupt: 1. [techspeak] /n./ On a computer, an event that interrupts normal processing and temporarily diverts flow-of-control through an "interrupt handler" routine. See also {trap}. 2. /interj./ A request for attention from a hacker. Often explicitly spoken. "Interrupt -- have you seen Joe recently?" See {priority interrupt}. 3. Under MS-DOS, nearly synonymous with `system call', because the OS and BIOS routines are both called using the INT instruction (see {{interrupt list, the}}) and because programmers so often have to bypass the OS (going directly to a BIOS interrupt) to get reasonable performance.
:interrupt list, the:: /n./ [MS-DOS] The list of all known software interrupt calls (both documented and undocumented) for IBM PCs and compatibles, maintained and made available for free redistribution by Ralf Brown <[email protected]>. As of late 1992, it had grown to approximately two megabytes in length.
:interrupts locked out: /adj./ When someone is ignoring you. In a restaurant, after several fruitless attempts to get the waitress's attention, a hacker might well observe "She must have interrupts locked out". The synonym `interrupts disabled' is also common. Variations abound; "to have one's interrupt mask bit set" and "interrupts masked out" are also heard. See also {spl}.
:IRC: /I-R-C/ /n./ [Internet Relay Chat] A worldwide "party line" network that allows one to converse with others in real time. IRC is structured as a network of Internet servers, each of which accepts connections from client programs, one per user. The IRC community and the {Usenet} and {MUD} communities overlap to some extent, including both hackers and regular folks who have discovered the wonders of computer networks. Some Usenet jargon has been adopted on IRC, as have some conventions such as {emoticon}s. There is also a vigorous native jargon, represented in this lexicon by entries marked `[IRC]'. See also {talk mode}.
:iron: /n./ Hardware, especially older and larger hardware of {mainframe} class with big metal cabinets housing relatively low-density electronics (but the term is also used of modern supercomputers). Often in the phrase {big iron}. Oppose {silicon}. See also {dinosaur}.
:Iron Age: /n./ In the history of computing, 1961--1971 -- the formative era of commercial {mainframe} technology, when ferrite-core {dinosaur}s ruled the earth. The Iron Age began, ironically enough, with the delivery of the first minicomputer (the PDP-1) and ended with the introduction of the first commercial microprocessor (the Intel 4004) in 1971. See also {Stone Age}; compare {elder days}.
:iron box: /n./ [Unix/Internet] A special environment set up to trap a {cracker} logging in over remote connections long enough to be traced. May include a modified {shell} restricting the cracker's movements in unobvious ways, and `bait' files designed to keep him interested and logged on. See also {back door}, {firewall machine}, {Venus flytrap}, and Clifford Stoll's account in "{The Cuckoo's Egg}" of how he made and used one (see the {Bibliography} in Appendix C). Compare {padded cell}.
:ironmonger: /n./ [IBM] A hardware specialist (derogatory). Compare {sandbender}, {polygon pusher}.
:ISP: /I-S-P/ Common abbreviation for Internet Service Provider, a kind of company that barely existed before 1993. ISPs sell Internet access to the mass market. While the big nationwide commercial BBSs with Internet access (like America Online, CompuServe, GEnie, Netcom, etc.) are technically ISPs, the term is usually reserved for local or regional small providers (often run by hackers turned entrepreneurs) who resell Internet access cheaply without themselves being information providers or selling advertising. Compare {NSP}.
:ITS:: /I-T-S/ /n./ 1. Incompatible Time-sharing System, an influential though highly idiosyncratic operating system written for PDP-6s and PDP-10s at MIT and long used at the MIT AI Lab. Much AI-hacker jargon derives from ITS folklore, and to have been `an ITS hacker' qualifies one instantly as an old-timer of the most venerable sort. ITS pioneered many important innovations, including transparent file sharing between machines and terminal-independent I/O. After about 1982, most actual work was shifted to newer machines, with the remaining ITS boxes run essentially as a hobby and service to the hacker community. The shutdown of the lab's last ITS machine in May 1990 marked the end of an era and sent old-time hackers into mourning nationwide (see {high moby}). The Royal Institute of Technology in Sweden is maintaining one `live' ITS site at its computer museum (right next to the only TOPS-10 system still on the Internet), so ITS is still alleged to hold the record for OS in longest continuous use (however, {{WAITS}} is a credible rival for this palm). 2. A mythical image of operating-system perfection worshiped by a bizarre, fervent retro-cult of old-time hackers and ex-users (see {troglodyte}, sense 2). ITS worshipers manage somehow to continue believing that an OS maintained by assembly-language hand-hacking that supported only monocase 6-character filenames in one directory per account remains superior to today's state of commercial art (their venom against Unix is particularly intense). See also {holy wars}, {Weenix}.
:IWBNI: // Abbreviation for `It Would Be Nice If'. Compare {WIBNI}.
:IYFEG: // [Usenet] Abbreviation for `Insert Your Favorite Ethnic Group'. Used as a meta-name when telling ethnic jokes on the net to avoid offending anyone. See {JEDR}.
= J = =====
:J. Random: /J rand'm/ /n./ [generalized from {J. Random Hacker}] Arbitrary; ordinary; any one; any old. `J. Random' is often prefixed to a noun to make a name out of it. It means roughly `some particular' or `any specific one'. "Would you let J. Random Loser marry your daughter?" The most common uses are `J. Random Hacker', `J. Random Loser', and `J. Random Nerd' ("Should J. Random Loser be allowed to {gun} down other people?"), but it can be used simply as an elaborate version of {random} in any sense.
:J. Random Hacker: /J rand'm hak'r/ /n./ [MIT] A mythical figure like the Unknown Soldier; the archetypal hacker nerd. See {random}, {Suzie COBOL}. This may originally have been inspired by `J. Fred Muggs', a show-biz chimpanzee whose name was a household word back in the early days of {TMRC}, and was probably influenced by `J. Presper Eckert' (one of the co-inventors of the electronic computer).
:jack in: /v./ To log on to a machine or connect to a network or {BBS}, esp. for purposes of entering a {virtual reality} simulation such as a {MUD} or {IRC} (leaving is "jacking out"). This term derives from {cyberpunk} SF, in which it was used for the act of plugging an electrode set into neural sockets in order to interface the brain directly to a virtual reality. It is primarily used by MUD and IRC fans and younger hackers on BBS systems.
:jaggies: /jag'eez/ /n./ The `stairstep' effect observable when an edge (esp. a linear edge of very shallow or steep slope) is rendered on a pixel device (as opposed to a vector display).
:JCL: /J-C-L/ /n./ 1. IBM's supremely {rude} Job Control Language. JCL is the script language used to control the execution of programs in IBM's batch systems. JCL has a very {fascist} syntax, and some versions will, for example, {barf} if two spaces appear where it expects one. Most programmers confronted with JCL simply copy a working file (or card deck), changing the file names. Someone who actually understands and generates unique JCL is regarded with the mixed respect one gives to someone who memorizes the phone book. It is reported that hackers at IBM itself sometimes sing "Who's the breeder of the crud that mangles you and me? I-B-M, J-C-L, M-o-u-s-e" to the tune of the "Mickey Mouse Club" theme to express their opinion of the beast. 2. A comparative for any very {rude} software that a hacker is expected to use. "That's as bad as JCL." As with {COBOL}, JCL is often used as an archetype of ugliness even by those who haven't experienced it. See also {IBM}, {fear and loathing}.
A (poorly documented, naturally) shell simulating JCL syntax is available at the Retrocomputing Museum http://www.ccil.org/retro.
:JEDR: // /n./ Synonymous with {IYFEG}. At one time, people in the Usenet newsgroup rec.humor.funny tended to use `JEDR' instead of {IYFEG} or ` '; this stemmed from a public attempt to suppress the group once made by a loser with initials JEDR after he was offended by an ethnic joke posted there. (The practice was {retcon}ned by the expanding these initials as `Joke Ethnic/Denomination/Race'.) After much sound and fury JEDR faded away; this term appears to be doing likewise. JEDR's only permanent effect on the net.culture was to discredit `sensitivity' arguments for censorship so thoroughly that more recent attempts to raise them have met with immediate and near-universal rejection.
:JFCL: /jif'kl/, /jaf'kl/, /j*-fi'kl/ vt., obs. (alt. `jfcl') To cancel or annul something. "Why don't you jfcl that out?" The fastest do-nothing instruction on older models of the PDP-10 happened to be JFCL, which stands for "Jump if Flag set and then CLear the flag"; this does something useful, but is a very fast no-operation if no flag is specified. Geoff Goodfellow, one of the Steele-1983 co-authors, had JFCL on the license plate of his BMW for years. Usage: rare except among old-time PDP-10 hackers.
:jiffy: /n./ 1. The duration of one tick of the system clock on your computer (see {tick}). Often one AC cycle time (1/60 second in the U.S. and Canada, 1/50 most other places), but more recently 1/100 sec has become common. "The swapper runs every 6 jiffies" means that the virtual memory management routine is executed once for every 6 ticks of the clock, or about ten times a second. 2. Confusingly, the term is sometimes also used for a 1-millisecond {wall time} interval. Even more confusingly, physicists semi-jokingly use `jiffy' to mean the time required for light to travel one foot in a vacuum, which turns out to be close to one *nanosecond*. 3. Indeterminate time from a few seconds to forever. "I'll do it in a jiffy" means certainly not now and possibly never. This is a bit contrary to the more widespread use of the word. Oppose {nano}. See also {Real Soon Now}.
:job security: /n./ When some piece of code is written in a particularly {obscure} fashion, and no good reason (such as time or space optimization) can be discovered, it is often said that the programmer was attempting to increase his job security (i.e., by making himself indispensable for maintenance). This sour joke seldom has to be said in full; if two hackers are looking over some code together and one points at a section and says "job security", the other one may just nod.
:jock: /n./ 1. A programmer who is characterized by large and somewhat brute-force programs. See {brute force}. 2. When modified by another noun, describes a specialist in some particular computing area. The compounds `compiler jock' and `systems jock' seem to be the best-established examples.
:joe code: /joh' kohd`/ /n./ 1. Code that is overly {tense} and unmaintainable. "{Perl} may be a handy program, but if you look at the source, it's complete joe code." 2. Badly written, possibly buggy code.
Correspondents wishing to remain anonymous have fingered a particular Joe at the Lawrence Berkeley Laboratory and observed that usage has drifted slightly; the original sobriquet `Joe code' was intended in sense 1.
1994 update: This term has now generalized to ` code', used to designate code with distinct characteristics traceable to its author. "This section doesn't check for a NULL return from malloc()! Oh. No wonder! It's Ed code!". Used most often with a programmer who has left the shop and thus is a convenient scapegoat for anything that is wrong with the project.
:jolix: /joh'liks/ /n.,adj./ 386BSD, the freeware port of the BSD Net/2 release to the Intel i386 architecture by Bill Jolitz and friends. Used to differentiate from BSDI's port based on the same source tape, which used to be called BSD/386 and is now BSD/OS. See {BSD}.
:JR[LN]: /J-R-L/, /J-R-N/ /n./ The names JRL and JRN were sometimes used as example names when discussing a kind of user ID used under {{TOPS-10}} and {WAITS}; they were understood to be the initials of (fictitious) programmers named `J. Random Loser' and `J. Random Nerd' (see {J. Random}). For example, if one said "To log in, type log one comma jay are en" (that is, "log 1,JRN"), the listener would have understood that he should use his own computer ID in place of `JRN'.
:JRST: /jerst/ /v. obs./ [based on the PDP-10 jump instruction] To suddenly change subjects, with no intention of returning to the previous topic. Usage: rather rare except among PDP-10 diehards, and considered silly. See also {AOS}.