Info file: jargon.info, -*-Text-*- produced by texinfo-format-buffer from file: jargon.tex Note: this is an info file intended for browsing with GNU Emacs or any info-compatible browser. It includes two kinds of nonstandard markup; entry references are surrounded with {} and entry keywords with ::.  File: jargon.info Node: Iron Age, Prev: iron, Up: = I =, Next: iron box :Iron Age: n. In the history of computing, 1961--1971 --- the formative era of commercial {mainframe} technology, when {big iron} {dinosaur}s ruled the earth. These began with the delivery of the first PDP-1, coincided with the dominance of ferrite {core}, and ended with the introduction of the first commercial microprocessor (the Intel 4004) in 1971. See also {Stone Age}; compare {elder days}.  File: jargon.info Node: iron box, Prev: Iron Age, Up: = I =, Next: ironmonger :iron box: [UNIX/Internet] n. 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}.  File: jargon.info Node: ironmonger, Prev: iron box, Up: = I =, Next: ITS :ironmonger: [IBM] n. Derogatory. A hardware specialist. Compare {sandbender}, {polygon pusher}.  File: jargon.info Node: ITS, Prev: ironmonger, Up: = I =, Next: IWBNI :ITS:: /I-T-S/ n. 1. Incompatible Time-sharing System, an influential but 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). See {Appendix A}. 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}.  File: jargon.info Node: IWBNI, Prev: ITS, Up: = I =, Next: IYFEG :IWBNI: // [abbreviation] `It Would Be Nice If'. Compare {WIBNI}.  File: jargon.info Node: IYFEG, Prev: IWBNI, Up: = I =, Next: J. Random :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}.  File: jargon.info Node: = J =, Prev: = I =, Up: The Jargon Lexicon, Next: = K = = J = ===== * Menu: * J. Random:: * J. Random Hacker:: * jack in:: * jaggies:: * JCL:: * JEDR:: * JFCL:: * jiffy:: * job security:: * jock:: * joe code:: * jolix:: * JR[LN]:: * JRST:: * juggling eggs:: * jump off into never-never land:: * jupiter::  File: jargon.info Node: J. Random, Prev: IYFEG, Up: = J =, Next: J. Random Hacker :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.  File: jargon.info Node: J. Random Hacker, Prev: J. Random, Up: = J =, Next: jack in :J. Random Hacker: [MIT] /J rand'm hak'r/ n. 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).  File: jargon.info Node: jack in, Prev: J. Random Hacker, Up: = J =, Next: jaggies :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's primarily used by MUD and IRC fans and younger hackers on BBS systems.  File: jargon.info Node: jaggies, Prev: jack in, Up: = J =, Next: JCL :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).  File: jargon.info Node: JCL, Prev: jaggies, Up: = J =, Next: JEDR :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}.  File: jargon.info Node: JEDR, Prev: JCL, Up: = J =, Next: JFCL :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.  File: jargon.info Node: JFCL, Prev: JEDR, Up: = J =, Next: jiffy :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 jargon-1 co-authors, had JFCL on the license plate of his BMW for years. Usage: rare except among old-time PDP-10 hackers.  File: jargon.info Node: jiffy, Prev: JFCL, Up: = J =, Next: job security :jiffy: n. 1. The duration of one tick of the system clock on the 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}.  File: jargon.info Node: job security, Prev: jiffy, Up: = J =, Next: jock :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.  File: jargon.info Node: jock, Prev: job security, Up: = J =, Next: joe code :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 of this.  File: jargon.info Node: joe code, Prev: jock, Up: = J =, Next: jolix :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.  File: jargon.info Node: jolix, Prev: joe code, Up: = J =, Next: JR[LN] :jolix: n. /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 is called BSD/386. See {BSD}.  File: jargon.info Node: JR[LN], Prev: jolix, Up: = J =, Next: JRST :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'.  File: jargon.info Node: JRST, Prev: JR[LN], Up: = J =, Next: juggling eggs :JRST: /jerst/ [based on the PDP-10 jump instruction] v.,obs. 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}.  File: jargon.info Node: juggling eggs, Prev: JRST, Up: = J =, Next: jump off into never-never land :juggling eggs: vi. Keeping a lot of {state} in your head while modifying a program. "Don't bother me now, I'm juggling eggs", means that an interrupt is likely to result in the program's being scrambled. In the classic first-contact SF novel `The Mote in God's Eye', by Larry Niven and Jerry Pournelle, an alien describes a very difficult task by saying "We juggle priceless eggs in variable gravity." That is a very hackish use of language. See also {hack mode}.  File: jargon.info Node: jump off into never-never land, Prev: juggling eggs, Up: = J =, Next: jupiter :jump off into never-never land: [from J. M. Barrie's `Peter Pan'] v. Same as {branch to Fishkill}, but more common in technical cultures associated with non-IBM computers that use the term `jump' rather than `branch'. Compare {hyperspace}.  File: jargon.info Node: jupiter, Prev: jump off into never-never land, Up: = J =, Next: K :jupiter: [IRC] vt. To kill an {IRC} {robot} or user and then take its place by adopting its {nick} so that it cannot reconnect. Named after a particular IRC user who did this to NickServ, the robot in charge of preventing people from inadvertently using a nick claimed by another user.  File: jargon.info Node: = K =, Prev: = J =, Up: The Jargon Lexicon, Next: = L = = K = ===== * Menu: * K:: * K&R:: * kahuna:: * kamikaze packet:: * kangaroo code:: * ken:: * kgbvax:: * KIBO:: * kick:: * kill file:: * killer micro:: * killer poke:: * kilo-:: * KIPS:: * KISS Principle:: * kit:: * klone:: * kludge:: * kluge:: * kluge around:: * kluge up:: * Knights of the Lambda Calculus:: * Knuth:: * kremvax:: * kyrka::  File: jargon.info Node: K, Prev: jupiter, Up: = K =, Next: K&R :K: /K/ [from {kilo-}] n. A kilobyte. This is used both as a spoken word and a written suffix (like {meg} and {gig} for megabyte and gigabyte). See {{quantifiers}}.  File: jargon.info Node: K&R, Prev: K, Up: = K =, Next: kahuna :K&R: [Kernighan and Ritchie] n. Brian Kernighan and Dennis Ritchie's book `The C Programming Language', esp. the classic and influential first edition (Prentice-Hall 1978; ISBN 0-113-110163-3). Syn. {White Book}, {Old Testament}. See also {New Testament}.  File: jargon.info Node: kahuna, Prev: K&R, Up: = K =, Next: kamikaze packet :kahuna: /k*-hoo'nuh/ [IBM: from the Hawaiian title for a shaman] n. Synonym for {wizard}, {guru}.  File: jargon.info Node: kamikaze packet, Prev: kahuna, Up: = K =, Next: kangaroo code :kamikaze packet: n. The `official' jargon for what is more commonly called a {Christmas tree packet}. {RFC}-1025, `TCP and IP Bake Off' says: 10 points for correctly being able to process a "Kamikaze" packet (AKA nastygram, christmas tree packet, lamp test segment, et al.). That is, correctly handle a segment with the maximum combination of features at once (e.g., a SYN URG PUSH FIN segment with options and data). See also {Chernobyl packet}.  File: jargon.info Node: kangaroo code, Prev: kamikaze packet, Up: = K =, Next: ken :kangaroo code: n. Syn. {spaghetti code}.  File: jargon.info Node: ken, Prev: kangaroo code, Up: = K =, Next: kgbvax :ken: /ken/ n. 1. [UNIX] Ken Thompson, principal inventor of UNIX. In the early days he used to hand-cut distribution tapes, often with a note that read "Love, ken". Old-timers still use his first name (sometimes uncapitalized, because it's a login name and mail address) in third-person reference; it is widely understood (on USENET, in particular) that without a last name `Ken' refers only to Ken Thompson. Similarly, Dennis without last name means Dennis Ritchie (and he is often known as dmr). See also {demigod}, {{UNIX}}. 2. A flaming user. This was originated by the Software Support group at Symbolics because the two greatest flamers in the user community were both named Ken.  File: jargon.info Node: kgbvax, Prev: ken, Up: = K =, Next: KIBO :kgbvax: /K-G-B'vaks/ n. See {kremvax}.  File: jargon.info Node: KIBO, Prev: kgbvax, Up: = K =, Next: kick :KIBO: /ki:'boh/ 1. [acronym] Knowledge In, Bullshit Out. A summary of what happens whenever valid data is passed through an organization (or person) that deliberately or accidentally disregards or ignores its significance. Consider, for example, what an advertising campaign can do with a product's actual specifications. Compare {GIGO}; see also {SNAFU principle}. 2. James Parry , a USENETter infamous for various surrealist net.pranks and an uncanny, machine-assisted knack for joining any thread in which his nom de guerre is mentioned.  File: jargon.info Node: kick, Prev: KIBO, Up: = K =, Next: kill file :kick: [IRC] v. To cause somebody to be removed from a {IRC} channel, an option only available to {CHOP}s. This is an extreme measure, often used to combat extreme {flamage} or {flood}ing, but sometimes used at the chop's whim. Compare {gun}.  File: jargon.info Node: kill file, Prev: kick, Up: = K =, Next: killer micro :kill file: [USENET] n. (alt. `KILL file') Per-user file(s) used by some {USENET} reading programs (originally Larry Wall's `rn(1)') to discard summarily (without presenting for reading) articles matching some particularly uninteresting (or unwanted) patterns of subject, author, or other header lines. Thus to add a person (or subject) to one's kill file is to arrange for that person to be ignored by one's newsreader in future. By extension, it may be used for a decision to ignore the person or subject in other media. See also {plonk}.  File: jargon.info Node: killer micro, Prev: kill file, Up: = K =, Next: killer poke :killer micro: [popularized by Eugene Brooks] n. A microprocessor-based machine that infringes on mini, mainframe, or supercomputer performance turf. Often heard in "No one will survive the attack of the killer micros!", the battle cry of the downsizers. Used esp. of RISC architectures. The popularity of the phrase `attack of the killer micros' is doubtless reinforced by the movie title "Attack Of The Killer Tomatoes" (one of the {canonical} examples of so-bad-it's-wonderful among hackers). This has even more flavor now that killer micros have gone on the offensive not just individually (in workstations) but in hordes (within massively parallel computers).  File: jargon.info Node: killer poke, Prev: killer micro, Up: = K =, Next: kilo- :killer poke: n. A recipe for inducing hardware damage on a machine via insertion of invalid values (see {poke}) in a memory-mapped control register; used esp. of various fairly well-known tricks on {bitty box}es without hardware memory management (such as the IBM PC and Commodore PET) that can overload and trash analog electronics in the monitor. See also {HCF}.  File: jargon.info Node: kilo-, Prev: killer poke, Up: = K =, Next: KIPS :kilo-: [SI] pref. See {{quantifiers}}.  File: jargon.info Node: KIPS, Prev: kilo-, Up: = K =, Next: KISS Principle :KIPS: /kips/ [abbreviation, by analogy with {MIPS} using {K}] n. Thousands (*not* 1024s) of Instructions Per Second. Usage: rare.  File: jargon.info Node: KISS Principle, Prev: KIPS, Up: = K =, Next: kit :KISS Principle: /kis' prin'si-pl/ n. "Keep It Simple, Stupid". A maxim often invoked when discussing design to fend off {creeping featurism} and control development complexity. Possibly related to the {marketroid} maxim on sales presentations, "Keep It Short and Simple".  File: jargon.info Node: kit, Prev: KISS Principle, Up: = K =, Next: klone :kit: [USENET; poss. fr. DEC slang for a full software distribution, as opposed to a patch or upgrade] n. A source software distribution that has been packaged in such a way that it can (theoretically) be unpacked and installed according to a series of steps using only standard UNIX tools, and entirely documented by some reasonable chain of references from the top-level {README file}. The more general term {distribution} may imply that special tools or more stringent conditions on the host environment are required.  File: jargon.info Node: klone, Prev: kit, Up: = K =, Next: kludge :klone: /klohn/ n. See {clone}, sense 4.  File: jargon.info Node: kludge, Prev: klone, Up: = K =, Next: kluge :kludge: /klooj/ or /kluhj/ n. Common (but incorrect) variant of {kluge}, q.v.  File: jargon.info Node: kluge, Prev: kludge, Up: = K =, Next: kluge around :kluge: /klooj/ [from the German `klug', clever] 1. n. A Rube Goldberg (or Heath Robinson) device, whether in hardware or software. (A long-ago `Datamation' article by Jackson Granholme said: "An ill-assorted collection of poorly matching parts, forming a distressing whole.") 2. n. A clever programming trick intended to solve a particular nasty case in an expedient, if not clear, manner. Often used to repair bugs. Often involves {ad-hockery} and verges on being a {crock}. In fact, the TMRC Dictionary defined `kludge' as "a crock that works". 3. n. Something that works for the wrong reason. 4. vt. To insert a kluge into a program. "I've kluged this routine to get around that weird bug, but there's probably a better way." 5. [WPI] n. A feature that is implemented in a {rude} manner. Nowadays this term is often encountered in the variant spelling `kludge'. Reports from {old fart}s are consistent that `kluge' was the original spelling, reported around computers as far back as the mid-1950s and, at that time, used exclusively of *hardware* kluges. In 1947, the `New York Folklore Quarterly' reported a classic shaggy-dog story `Murgatroyd the Kluge Maker' then current in the Armed Forces, in which a `kluge' was a complex and puzzling artifact with a trivial function. Other sources report that `kluge' was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea. However, there is reason to believe this slang use may be a decade older. Several respondents have connected it to the brand name of a device called a "Kluge paper feeder" dating back at least to 1935, an adjunct to mechanical printing presses. The Kluge feeder was designed before small, cheap electric motors and control electronics; it relied on a fiendishly complex assortment of cams, belts, and linkages to both power and synchronize all its operations from one motive driveshaft. It was accordingly tempermental, subject to frequent breakdowns, and devilishly difficult to repair --- but oh, so clever! One traditional folk etymology of `kluge' makes it the name of a design engineer; in fact, `Kluge' is a surname in German, and the designer of the Kluge feeder may well have been the man behind this myth. {TMRC} and the MIT hacker culture of the early '60s seems to have developed in a milieu that remembered and still used some WII military slang (see also {foobar}). It seems likely that `kluge' came to MIT via alumni of the many military electronics projects that had been located in Cambridge (many in MIT's venerable Building 20, in which {TMRC} is also located) during the war. The variant `kludge' was apparently popularized by the {Datamation} article mentioned above; it was titled "How to Design a Kludge" (February 1962, pp. 30, 31). Some people who encountered the word first in print or on-line jumped to the reasonable but incorrect conclusion that the word should be pronounced /kluhj/ (rhyming with `sludge'). The result of this tangled history is a mess; in 1993, many (perhaps even most) hackers pronounce the word correctly as /klooj/ but spell it incorrectly as `kludge' (compare the pronunciation drift of {mung}). Some observers consider this appropriate in view of its meaning.  File: jargon.info Node: kluge around, Prev: kluge, Up: = K =, Next: kluge up :kluge around: vt. To avoid a bug or difficult condition by inserting a {kluge}. Compare {workaround}.  File: jargon.info Node: kluge up, Prev: kluge around, Up: = K =, Next: Knights of the Lambda Calculus :kluge up: vt. To lash together a quick hack to perform a task; this is milder than {cruft together} and has some of the connotations of {hack up} (note, however, that the construction `kluge on' corresponding to {hack on} is never used). "I've kluged up this routine to dump the buffer contents to a safe place."  File: jargon.info Node: Knights of the Lambda Calculus, Prev: kluge up, Up: = K =, Next: Knuth :Knights of the Lambda Calculus: n. A semi-mythical organization of wizardly LISP and Scheme hackers. The name refers to a mathematical formalism invented by Alonzo Church, with which LISP is intimately connected. There is no enrollment list and the criteria for induction are unclear, but one well-known LISPer has been known to give out buttons and, in general, the *members* know who they are....  File: jargon.info Node: Knuth, Prev: Knights of the Lambda Calculus, Up: = K =, Next: kremvax :Knuth: /nooth/ [Donald E. Knuth's `The Art of Computer Programming'] n. Mythically, the reference that answers all questions about data structures or algorithms. A safe answer when you do not know: "I think you can find that in Knuth." Contrast {literature, the}. See also {bible}.  File: jargon.info Node: kremvax, Prev: Knuth, Up: = K =, Next: kyrka :kremvax: /krem-vaks/ [from the then large number of {USENET} {VAXen} with names of the form foovax] n. Originally, a fictitious USENET site at the Kremlin, announced on April 1, 1984 in a posting ostensibly originated there by Soviet leader Konstantin Chernenko. The posting was actually forged by Piet Beertema as an April Fool's joke. Other fictitious sites mentioned in the hoax were moskvax and {kgbvax}. This was probably the funniest of the many April Fool's forgeries perpetrated on USENET (which has negligible security against them), because the notion that USENET might ever penetrate the Iron Curtain seemed so totally absurd at the time. In fact, it was only six years later that the first genuine site in Moscow, demos.su, joined USENET. Some readers needed convincing that the postings from it weren't just another prank. Vadim Antonov, senior programmer at Demos and the major poster from there up to mid-1991, was quite aware of all this, referred to it frequently in his own postings, and at one point twitted some credulous readers by blandly asserting that he *was* a hoax! Eventually he even arranged to have the domain's gateway site *named* kremvax, thus neatly turning fiction into truth and demonstrating that the hackish sense of humor transcends cultural barriers. [Mr. Antonov also contributed the Russian-language material for this lexicon. --- ESR] In an even more ironic historical footnote, kremvax became an electronic center of the anti-communist resistance during the bungled hard-line coup of August 1991. During those three days the Soviet UUCP network centered on kremvax became the only trustworthy news source for many places within the USSR. Though the sysops were concentrating on internal communications, cross-border postings included immediate transliterations of Boris Yeltsin's decrees condemning the coup and eyewitness reports of the demonstrations in Moscow's streets. In those hours, years of speculation that totalitarianism would prove unable to maintain its grip on politically-loaded information in the age of computer networking were proved devastatingly accurate --- and the original kremvax joke became a reality as Yeltsin and the new Russian revolutionaries of `glasnost' and `perestroika' made kremvax one of the timeliest means of their outreach to the West.  File: jargon.info Node: kyrka, Prev: kremvax, Up: = K =, Next: lace card :kyrka: /shir'k*/ [Swedish] n. See {feature key}.  File: jargon.info Node: = L =, Prev: = K =, Up: The Jargon Lexicon, Next: = M = = L = ===== * Menu: * lace card:: * language lawyer:: * languages of choice:: * larval stage:: * lase:: * laser chicken:: * lasherism:: * laundromat:: * LDB:: * leaf site:: * leak:: * leaky heap:: * leapfrog attack:: * legal:: * legalese:: * LER:: * LERP:: * let the smoke out:: * letterbomb:: * lexer:: * lexiphage:: * life:: * Life is hard:: * light pipe:: * lightweight:: * like kicking dead whales down the beach:: * like nailing jelly to a tree:: * line 666:: * line eater the:: * line noise:: * line starve:: * link farm:: * link-dead:: * lint:: * lion food:: * Lions Book:: * LISP:: * literature the:: * lithium lick:: * little-endian:: * live data:: * Live Free Or Die!:: * livelock:: * liveware:: * lobotomy:: * locals, the:: * locked and loaded:: * locked up:: * logic bomb:: * logical:: * loop through:: * loose bytes:: * lord high fixer:: * lose:: * lose lose:: * loser:: * losing:: * loss:: * lossage:: * lost in the noise:: * lost in the underflow:: * lots of MIPS but no I/O:: * low-bandwidth:: * LPT:: * Lubarsky's Law of Cybernetic Entomology:: * lunatic fringe:: * lurker:: * luser::  File: jargon.info Node: lace card, Prev: kyrka, Up: = L =, Next: language lawyer :lace card: n. obs. A {{punched card}} with all holes punched (also called a `whoopee card' or `ventilator card'). Card readers tended to jam when they got to one of these, as the resulting card had too little structural strength to avoid buckling inside the mechanism. Card punches could also jam trying to produce these things owing to power-supply problems. When some practical joker fed a lace card through the reader, you needed to clear the jam with a `card knife' --- which you used on the joker first.  File: jargon.info Node: language lawyer, Prev: lace card, Up: = L =, Next: languages of choice :language lawyer: n. A person, usually an experienced or senior software engineer, who is intimately familiar with many or most of the numerous restrictions and features (both useful and esoteric) applicable to one or more computer programming languages. A language lawyer is distinguished by the ability to show you the five sentences scattered through a 200-plus-page manual that together imply the answer to your question "if only you had thought to look there". Compare {wizard}, {legal}, {legalese}.  File: jargon.info Node: languages of choice, Prev: language lawyer, Up: = L =, Next: larval stage :languages of choice: n. {C} and {LISP}. Nearly every hacker knows one of these, and most good ones are fluent in both. Smalltalk and Prolog are also popular in small but influential communities. There is also a rapidly dwindling category of older hackers with FORTRAN, or even assembler, as their language of choice. They often prefer to be known as {Real Programmer}s, and other hackers consider them a bit odd (see "{The Story of Mel, a Real Programmer}" in {Appendix A}). Assembler is generally no longer considered interesting or appropriate for anything but {HLL} implementation, {glue}, and a few time-critical and hardware-specific uses in systems programs. FORTRAN occupies a shrinking niche in scientific programming. Most hackers tend to frown on languages like {{Pascal}} and {{Ada}}, which don't give them the near-total freedom considered necessary for hacking (see {bondage-and-discipline language}), and to regard everything that's even remotely connected with {COBOL} or other traditional {card walloper} languages as a total and unmitigated {loss}.  File: jargon.info Node: larval stage, Prev: languages of choice, Up: = L =, Next: lase :larval stage: n. Describes a period of monomaniacal concentration on coding apparently passed through by all fledgling hackers. Common symptoms include the perpetration of more than one 36-hour {hacking run} in a given week; neglect of all other activities including usual basics like food, sleep, and personal hygiene; and a chronic case of advanced bleary-eye. Can last from 6 months to 2 years, the apparent median being around 18 months. A few so afflicted never resume a more `normal' life, but the ordeal seems to be necessary to produce really wizardly (as opposed to merely competent) programmers. See also {wannabee}. A less protracted and intense version of larval stage (typically lasting about a month) may recur when one is learning a new {OS} or programming language.  File: jargon.info Node: lase, Prev: larval stage, Up: = L =, Next: laser chicken :lase: /layz/ vt. To print a given document via a laser printer. "OK, let's lase that sucker and see if all those graphics-macro calls did the right things."  File: jargon.info Node: laser chicken, Prev: lase, Up: = L =, Next: lasherism :laser chicken: n. Kung Pao Chicken, a standard Chinese dish containing chicken, peanuts, and hot red peppers in a spicy pepper-oil sauce. Many hackers call it `laser chicken' for two reasons: It can {zap} you just like a laser, and the sauce has a red color reminiscent of some laser beams. In a variation on this theme, it is reported that some Australian hackers have redesignated the common dish `lemon chicken' as `Chernobyl Chicken'. The name is derived from the color of the sauce, which is considered bright enough to glow in the dark (as, mythically, do some of the inhabitants of Chernobyl).  File: jargon.info Node: lasherism, Prev: laser chicken, Up: = L =, Next: laundromat :Lasherism: [Harvard] n. A program that solves a standard problem (such as the Eight Queens puzzle or implementing the {life} algorithm) in a deliberately nonstandard way. Distinguished from a {crock} or {kluge} by the fact that the programmer did it on purpose as a mental exercise. Such constructions are quite popular in exercises such as the {Obfuscated C contest}, and occasionally in {retrocomputing}. Lew Lasher was a student at Harvard around 1980 who became notorious for such behavior.  File: jargon.info Node: laundromat, Prev: lasherism, Up: = L =, Next: LDB :laundromat: n. Syn. {disk farm}; see {washing machine}.  File: jargon.info Node: LDB, Prev: laundromat, Up: = L =, Next: leaf site :LDB: /l*'d*b/ [from the PDP-10 instruction set] vt. To extract from the middle. "LDB me a slice of cake, please." This usage has been kept alive by Common LISP's function of the same name. Considered silly. See also {DPB}.  File: jargon.info Node: leaf site, Prev: LDB, Up: = L =, Next: leak :leaf site: n. A machine that merely originates and reads USENET news or mail, and does not relay any third-party traffic. Often uttered in a critical tone; when the ratio of leaf sites to backbone, rib, and other relay sites gets too high, the network tends to develop bottlenecks. Compare {backbone site}, {rib site}.  File: jargon.info Node: leak, Prev: leaf site, Up: = L =, Next: leaky heap :leak: n. With qualifier, one of a class of resource-management bugs that occur when resources are not freed properly after operations on them are finished, so they effectively disappear (leak out). This leads to eventual exhaustion as new allocation requests come in. {memory leak} and {fd leak} have their own entries; one might also refer, to, say, a `window handle leak' in a window system.  File: jargon.info Node: leaky heap, Prev: leak, Up: = L =, Next: leapfrog attack :leaky heap: [Cambridge] n. An {arena} with a {memory leak}.  File: jargon.info Node: leapfrog attack, Prev: leaky heap, Up: = L =, Next: legal :leapfrog attack: n. Use of userid and password information obtained illicitly from one host (e.g., downloading a file of account IDs and passwords, tapping TELNET, etc.) to compromise another host. Also, to TELNET through one or more hosts in order to confuse a trace (a standard cracker procedure).  File: jargon.info Node: legal, Prev: leapfrog attack, Up: = L =, Next: legalese :legal: adj. Loosely used to mean `in accordance with all the relevant rules', esp. in connection with some set of constraints defined by software. "The older =+ alternate for += is no longer legal syntax in ANSI C." "This parser processes each line of legal input the moment it sees the trailing linefeed." Hackers often model their work as a sort of game played with the environment in which the objective is to maneuver through the thicket of `natural laws' to achieve a desired objective. Their use of `legal' is flavored as much by this game-playing sense as by the more conventional one having to do with courts and lawyers. Compare {language lawyer}, {legalese}.  File: jargon.info Node: legalese, Prev: legal, Up: = L =, Next: LER :legalese: n. Dense, pedantic verbiage in a language description, product specification, or interface standard; text that seems designed to obfuscate and requires a {language lawyer} to {parse} it. Though hackers are not afraid of high information density and complexity in language (indeed, they rather enjoy both), they share a deep and abiding loathing for legalese; they associate it with deception, {suit}s, and situations in which hackers generally get the short end of the stick.  File: jargon.info Node: LER, Prev: legalese, Up: = L =, Next: LERP :LER: /L-E-R/ [TMRC, from `Light-Emitting Diode'] n. A light-emitting resistor (that is, one in the process of burning up). Ohm's law was broken. See {SED}.  File: jargon.info Node: LERP, Prev: LER, Up: = L =, Next: let the smoke out :LERP: /lerp/ vi.,n. Quasi-acronym for Linear Interpolation, used as a verb or noun for the operation. E.g., Bresenham's algorithm lerps incrementally between the two endpoints of the line.  File: jargon.info Node: let the smoke out, Prev: LERP, Up: = L =, Next: letterbomb :let the smoke out: v. To fry hardware (see {fried}). See {magic smoke} for the mythology behind this.  File: jargon.info Node: letterbomb, Prev: let the smoke out, Up: = L =, Next: lexer :letterbomb: n. A piece of {email} containing {live data} intended to do nefarious things to the recipient's machine or terminal. It is possible, for example, to send letterbombs that will lock up some specific kinds of terminals when they are viewed, so thoroughly that the user must cycle power (see {cycle}, sense 3) to unwedge them. Under UNIX, a letterbomb can also try to get part of its contents interpreted as a shell command to the mailer. The results of this could range from silly to tragic. See also {Trojan horse}; compare {nastygram}.  File: jargon.info Node: lexer, Prev: letterbomb, Up: = L =, Next: lexiphage :lexer: /lek'sr/ n. Common hacker shorthand for `lexical analyzer', the input-tokenizing stage in the parser for a language (the part that breaks it into word-like pieces). "Some C lexers get confused by the old-style compound ops like `=-'."  File: jargon.info Node: lexiphage, Prev: lexer, Up: = L =, Next: life :lexiphage: /lek'si-fayj`/ n. A notorious word {chomper} on ITS. See {bagbiter}.  File: jargon.info Node: life, Prev: lexiphage, Up: = L =, Next: Life is hard :life: n. 1. A cellular-automata game invented by John Horton Conway and first introduced publicly by Martin Gardner (`Scientific American', October 1970); the game's popularity had to wait a few years for computers on which it could reasonably be played, as it's no fun to simulate the cells by hand. Many hackers pass through a stage of fascination with it, and hackers at various places contributed heavily to the mathematical analysis of this game (most notably Bill Gosper at MIT, who even implemented life in {TECO}!; see {Gosperism}). When a hacker mentions `life', he is much more likely to mean this game than the magazine, the breakfast cereal, or the human state of existence. 2. The opposite of {USENET}. As in {Get a life!}  File: jargon.info Node: Life is hard, Prev: life, Up: = L =, Next: light pipe :Life is hard: [XEROX PARC] prov. This phrase has two possible interpretations: (1) "While your suggestion may have some merit, I will behave as though I hadn't heard it." (2) "While your suggestion has obvious merit, equally obvious circumstances prevent it from being seriously considered." The charm of the phrase lies precisely in this subtle but important ambiguity.  File: jargon.info Node: light pipe, Prev: Life is hard, Up: = L =, Next: lightweight :light pipe: n. Fiber optic cable. Oppose {copper}.  File: jargon.info Node: lightweight, Prev: light pipe, Up: = L =, Next: like kicking dead whales down the beach :lightweight: adj. Opposite of {heavyweight}; usually found in combining forms such as `lightweight process'.  File: jargon.info Node: like kicking dead whales down the beach, Prev: lightweight, Up: = L =, Next: like nailing jelly to a tree :like kicking dead whales down the beach: adj. Describes a slow, difficult, and disgusting process. First popularized by a famous quote about the difficulty of getting work done under one of IBM's mainframe OSes. "Well, you *could* write a C compiler in COBOL, but it would be like kicking dead whales down the beach." See also {fear and loathing}  File: jargon.info Node: like nailing jelly to a tree, Prev: like kicking dead whales down the beach, Up: = L =, Next: line 666 :like nailing jelly to a tree: adj. Used to describe a task thought to be impossible, esp. one in which the difficulty arises from poor specification or inherent slipperiness in the problem domain. "Trying to display the `prettiest' arrangement of nodes and arcs that diagrams a given graph is like nailing jelly to a tree, because nobody's sure what `prettiest' means algorithmically."  File: jargon.info Node: line 666, Prev: like nailing jelly to a tree, Up: = L =, Next: line eater the :line 666: [from Christian eschatological myth] n. The notational line of source at which a program fails for obscure reasons, implying either that *somebody* is out to get it (when you are the programmer), or that it richly deserves to be so gotten (when you are not). "It works when I trace through it, but seems to crash on line 666 when I run it." "What happens is that whenever a large batch comes through, mmdf dies on the Line of the Beast. Probably some twit hardcoded a buffer size."  File: jargon.info Node: line eater the, Prev: line 666, Up: = L =, Next: line noise :line eater, the: [USENET] n. 1. A bug in some now-obsolete versions of the netnews software that used to eat up to BUFSIZ bytes of the article text. The bug was triggered by having the text of the article start with a space or tab. This bug was quickly personified as a mythical creature called the `line eater', and postings often included a dummy line of `line eater food'. Ironically, line eater `food' not beginning with a space or tab wasn't actually eaten, since the bug was avoided; but if there *was* a space or tab before it, then the line eater would eat the food *and* the beginning of the text it was supposed to be protecting. The practice of `sacrificing to the line eater' continued for some time after the bug had been {nailed to the wall}, and is still humorously referred to. The bug itself is still (in mid-1991) occasionally reported to be lurking in some mail-to-netnews gateways. 2. See {NSA line eater}.  File: jargon.info Node: line noise, Prev: line eater the, Up: = L =, Next: line starve :line noise: n. 1. [techspeak] Spurious characters due to electrical noise in a communications link, especially an RS-232 serial connection. Line noise may be induced by poor connections, interference or crosstalk from other circuits, electrical storms, {cosmic rays}, or (notionally) birds crapping on the phone wires. 2. Any chunk of data in a file or elsewhere that looks like the results of line noise in sense 1. 3. Text that is theoretically a readable text or program source but employs syntax so bizarre that it looks like line noise in senses 1 or 2. Yes, there are languages this ugly. The canonical example is {TECO}; it is often claimed that "TECO's input syntax is indistinguishable from line noise." Other non-{WYSIWYG} editors, such as Multics `qed' and Unix `ed', in the hands of a real hacker, also qualify easily, as do deliberately obfuscated languages such as {INTERCAL}.  File: jargon.info Node: line starve, Prev: line noise, Up: = L =, Next: link farm :line starve: [MIT] 1. vi. To feed paper through a printer the wrong way by one line (most printers can't do this). On a display terminal, to move the cursor up to the previous line of the screen. "To print `X squared', you just output `X', line starve, `2', line feed." (The line starve causes the `2' to appear on the line above the `X', and the line feed gets back to the original line.) 2. n. A character (or character sequence) that causes a terminal to perform this action. ASCII 0011010, also called SUB or control-Z, was one common line-starve character in the days before microcomputers and the X3.64 terminal standard. Unlike `line feed', `line starve' is *not* standard {{ASCII}} terminology. Even among hackers it is considered a bit silly. 3. [proposed] A sequence such as \c (used in System V echo, as well as {{nroff}} and {{troff}}) that suppresses a {newline} or other character(s) that would normally be emitted.  File: jargon.info Node: link farm, Prev: line starve, Up: = L =, Next: link-dead :link farm: [UNIX] n. A directory tree that contains many links to files in a master directory tree of files. Link farms save space when one is maintaining several nearly identical copies of the same source tree --- for example, when the only difference is architecture-dependent object files. "Let's freeze the source and then rebuild the FROBOZZ-3 and FROBOZZ-4 link farms." Link farms may also be used to get around restrictions on the number of `-I' (include-file directory) arguments on older C preprocessors. However, they can also get completely out of hand, becoming the filesystem equivalent of {spaghetti code}.  File: jargon.info Node: link-dead, Prev: link farm, Up: = L =, Next: lint :link-dead: [MUD] adj. Said of a {MUD} character who has frozen in place because of a dropped Internet connection.  File: jargon.info Node: lint, Prev: link-dead, Up: = L =, Next: lion food :lint: [from UNIX's `lint(1)', named for the bits of fluff it picks from programs] 1. vt. To examine a program closely for style, language usage, and portability problems, esp. if in C, esp. if via use of automated analysis tools, most esp. if the UNIX utility `lint(1)' is used. This term used to be restricted to use of `lint(1)' itself, but (judging by references on USENET) it has become a shorthand for {desk check} at some non-UNIX shops, even in languages other than C. Also as v. {delint}. 2. n. Excess verbiage in a document, as in "this draft has too much lint".  File: jargon.info Node: lion food, Prev: lint, Up: = L =, Next: Lions Book :lion food: [IBM] n. Middle management or HQ staff (by extension, administrative drones in general). From an old joke about two lions who, escaping from the zoo, split up to increase their chances but agreed to meet after 2 months. When they finally meet, one is skinny and the other overweight. The thin one says: "How did you manage? I ate a human just once and they turned out a small army to chase me --- guns, nets, it was terrible. Since then I've been reduced to eating mice, insects, even grass." The fat one replies: "Well, *I* hid near an IBM office and ate a manager a day. And nobody even noticed!"  File: jargon.info Node: Lions Book, Prev: lion food, Up: = L =, Next: LISP :Lions Book: n. `Source Code and Commentary on UNIX level 6', by John Lions. The two parts of this book contained (1) the entire source listing of the UNIX Version 6 kernel, and (2) a commentary on the source discussing the algorithms. These were circulated internally at the University of New South Wales beginning 1976--77, and were, for years after, the *only* detailed kernel documentation available to anyone outside Bell Labs. Because Western Electric wished to maintain trade secret status on the kernel, the Lions book was never formally published and was only supposed to be distributed to affiliates of source licensees. In spite of this, it soon spread by samizdat to a good many of the early UNIX hackers.  File: jargon.info Node: LISP, Prev: Lions Book, Up: = L =, Next: literature the :LISP: [from `LISt Processing language', but mythically from `Lots of Irritating Superfluous Parentheses'] n. The name of AI's mother tongue, a language based on the ideas of (a) variable-length lists and trees as fundamental data types, and (b) the interpretation of code as data and vice-versa. Invented by John McCarthy at MIT in the late 1950s, it is actually older than any other {HLL} still in use except FORTRAN. Accordingly, it has undergone considerable adaptive radiation over the years; modern variants are quite different in detail from the original LISP 1.5. The dominant HLL among hackers until the early 1980s, LISP now shares the throne with {C}. See {languages of choice}. All LISP functions and programs are expressions that return values; this, together with the high memory utilization of LISPs, gave rise to Alan Perlis's famous quip (itself a take on an Oscar Wilde quote) that "LISP programmers know the value of everything and the cost of nothing". One significant application for LISP has been as a proof by example that most newer languages, such as {COBOL} and {Ada}, are full of unnecessary {crock}s. When the {Right Thing} has already been done once, there is no justification for {bogosity} in newer languages.