Chapter V: Rare: book (10)
: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 `<ethnic>'; 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 `<name> 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}.
: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." See also {hack mode}.
:jump off into never-never land: /v./ [from J. M. Barrie's
"Peter Pan"] 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}.
:jupiter: /vt./ [IRC] 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.
= K = =====
:K: /K/ /n./ [from {kilo-}] A kilobyte. Used both as a
spoken word and a written suffix (like {meg} and {gig} for
megabyte and gigabyte). See {{quantifiers}}.
: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}.
:k-: /pref./ Extremely. Not commonly used among hackers, but
quite common among crackers and {warez d00dz} in compounds such
as `k-kool' /K'kool'/, `k-rad' /K'rad'/, and
`k-awesome' /K'aw`sm/. Also used to intensify negatives; thus,
`k-evil', `k-lame', `k-screwed', and `k-annoying'. Overuse
of this prefix, or use in more formal or technical contexts, is
considered an indicator of {lamer} status.
:kahuna: /k*-hoo'n*/ /n./ [IBM: from the Hawaiian title for a
shaman] Synonym for {wizard}, {guru}.
: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}.
:kangaroo code: /n./ Syn. {spaghetti code}.
: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.
:kgbvax: /K-G-B'vaks/ /n./ See {kremvax}.
: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 <[email protected]>, 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.
:kiboze: /v./ [Usenet] To {grep} the Usenet news for a string,
especially with the intention of posting a follow-up. This
activity was popularised by Kibo (see {KIBO}, sense 2).
:kibozo: /ki:-boh'zoh/ /n./ [Usenet] One who
{kiboze}s but is not Kibo (see {KIBO}, sense 2).
:kick: /v./ [IRC] 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}.
:kill file: /n./ [Usenet] (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}.
:killer app: The application that actually makes a mass
market for a promising but under-utilized technology. First used
in the mid-1980s to describe Lotus 1-2-3 once it became evident
that demand for that product had been the major driver of the early
business market for IBM PCs. The term was then restrospectively
applied to VisiCalc, which had played a similar role in the success
of the Apple II. After 1994 it became commonplace to describe the
World Wide Web as the Internet's killer app. One of the standard
questions asked about each new personal-computer technology as it
emerges has become "what's the killer app?"
:killer micro: /n./ [popularized by Eugene Brooks] 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 title of the movie "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).
[1996 update: Eugene Brooks was right. Since this term first
entered the Jargon File in 1990, the minicomputer has effectively
vanished, the {mainframe} sector is in deep and apparently
terminal decline (with IBM but a shadow of its former self), and
even the supercomputer business has contracted into a smaller
niche. It's networked killer micros as far as the eye can see.
--ESR]
:killer poke: /n./ A recipe for inducing hardware damage on a
machine via insertion of invalid values (see {poke}) into 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}.
:kilo-: /pref./ [SI] See {{quantifiers}}.
:KIPS: /kips/ /n./ [abbreviation, by analogy with {MIPS}
using {K}] Thousands (*not* 1024s) of Instructions Per
Second. Usage: rare.
: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".
:kit: /n./ [Usenet; poss. fr. DEC slang for a full software
distribution, as opposed to a patch or upgrade] 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.
:klone: /klohn/ /n./ See {clone}, sense 4.
:kludge: 1. /klooj/ /n./ Incorrect (though regrettably
common) spelling of {kluge} (US). These two words have been
confused in American usage since the early 1960s, and widely
confounded in Great Britain since the end of World War II.
2. [TMRC] A {crock} that works. (A long-ago "Datamation"
article by Jackson Granholme similarly said: "An ill-assorted
collection of poorly matching parts, forming a distressing
whole.") 3. /v./ To use a kludge to get around a problem. "I've
kludged around it for now, but I'll fix it up properly later."
This word appears to have derived from Scots `kludge' or
`kludgie' for a common toilet, via British military slang. It
apparently became confused with U.S. {kluge} during or after
World War II; some Britons from that era use both words in
definably different ways, but {kluge} is now uncommon in Great
Britain. `Kludge' in Commonwealth hackish differs in meaning from
`kluge' in that it lacks the positive senses; a kludge is something
no Commonwealth hacker wants to be associated too closely with.
Also, `kludge' is more widely known in British mainstream slang
than `kluge' is in the U.S.
:kluge: /klooj/ [from the German `klug', clever; poss.
related to Polish `klucza', a trick or hook] 1. /n./ A Rube
Goldberg (or Heath Robinson) device, whether in hardware or
software. 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}. 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", an adjunct to mechanical
printing presses. Legend has it that 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 temperamental, subject to
frequent breakdowns, and devilishly difficult to repair -- but oh,
so clever! People who tell this story also aver that `Kluge' was
the name of a design engineer.
There is in fact a Brandtjen & Kluge Inc., an old family business
that manufactures printing equipment -- interestingly, their name
is pronounced /kloo'gee/! Henry Brandtjen, president of the
firm, told me (ESR, 1994) that his company was co-founded by his
father and an engineer named Kluge /kloo'gee/, who built and
co-designed the original Kluge automatic feeder in 1919.
Mr. Brandtjen claims, however, that this was a *simple* device
(with only four cams); he says he has no idea how the myth of its
complexity took hold.
{TMRC} and the MIT hacker culture of the early '60s seems to
have developed in a milieu that remembered and still used some WWII
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). This spelling was
probably imported from Great Britain, where {kludge} has an
independent history (though this fact was largely unknown to
hackers on either side of the Atlantic before a mid-1993 debate in
the Usenet group alt.folklore.computers over the First and
Second Edition versions of this entry; everybody used to think
{kludge} was just a mutation of {kluge}). It now appears that
the British, having forgotten the etymology of their own `kludge'
when `kluge' crossed the Atlantic, repaid the U.S. by lobbing the
`kludge' orthography in the other direction and confusing their
American cousins' spelling!
The result of this history is a tangle. Many younger U.S. hackers
pronounce the word as /klooj/ but spell it, incorrectly for its
meaning and pronunciation, as `kludge'. (Phonetically, consider
huge, refuge, centrifuge, and deluge as opposed to sludge, judge,
budge, and fudge. Whatever its failings in other areas, English
spelling is perfectly consistent about this distinction.) British
hackers mostly learned /kluhj/ orally, use it in a restricted
negative sense and are at least consistent. European hackers have
mostly learned the word from written American sources and tend to
pronounce it /kluhj/ but use the wider American meaning!
Some observers consider this mess appropriate in view of the word's
meaning.
:kluge around: /vt./ To avoid a bug or difficult condition by
inserting a {kluge}. Compare {workaround}.
: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."
: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....
:Knuth: /knooth'/ /n./ [Donald E. Knuth's "The Art of
Computer Programming"] 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}. There is a Donald
Knuth home page at
http://www-cs-faculty.Stanford.EDU/~knuth.
:kremvax: /krem-vaks/ /n./ [from the then large number of
{Usenet} {VAXen} with names of the form foovax]
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 fact
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.
:kyrka: /shir'k*/ /n./ [Swedish] See {feature key}.
= L = =====
: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.
:lamer: /n./ [prob. originated in skateboarder slang] Synonym
for {luser}, not used much by hackers but common among {warez
d00dz}, crackers, and {phreaker}s. Oppose {elite}. Has the
same connotations of self-conscious elitism that use of {luser}
does among hackers.
Crackers also use it to refer to cracker {wannabee}s. In phreak
culture, a lamer is one who scams codes off others rather than
doing cracks or really understanding the fundamental concepts. In
{warez d00dz} culture, where the ability to wave around cracked
commercial software within days of (or before) release to the
commercial market is much esteemed, the lamer might try to upload
garbage or shareware or something incredibly old (old in this
context is read as a few years to anything older than 3
days).
: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}.
:languages of choice: /n./ {C}, {C++}, {LISP}, and
{Perl}. Nearly every hacker knows one of C or LISP, and most
good ones are fluent in both. C++, despite some serious drawbacks,
is generally preferred to other object-oriented languages (though
in
1996 it looks as though Java may soon displace it in the affections
of hackers, if not everywhere). Since around 1990 Perl has rapidly
been gaining favor, especially as a tool for systems-administration
utilities and rapid prototyping. 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 even remotely connected with {COBOL} or
other traditional {card walloper} languages as a total and
unmitigated {loss}.
: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.
: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."
: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).
:Lasherism: /n./ [Harvard] 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.
:laundromat: /n./ Syn. {disk farm}; see {washing
machine}.
:LDB: /l*'d*b/ /vt./ [from the PDP-10 instruction set] 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}.
: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}.
: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.
:leaky heap: /n./ [Cambridge] An {arena} with a {memory
leak}.
: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, the act of TELNETting through one or more
hosts in order to confuse a trace (a standard cracker procedure).
:leech: /n./ Among BBS types, crackers and {warez d00dz},
one who consumes knowledge without generating new software, cracks,
or techniques. BBS culture specifically defines a leech as someone
who downloads files with few or no uploads in return, and who does
not contribute to the message section. Cracker culture extends
this definition to someone (a {lamer}, usually) who constantly
presses informed sources for information and/or assistance, but has
nothing to contribute.
: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}.
: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.
:LER: /L-E-R/ /n./ [TMRC, from `Light-Emitting Diode'] A
light-emitting resistor (that is, one in the process of burning
up). Ohm's law was broken. See also {SED}.
:LERP: /lerp/ /vi.,n./ Quasi-acronym for Linear
Interpolation, used as a verb or noun for the
operation. "Bresenham's algorithm lerps incrementally between the
two endpoints of the line."
:let the smoke out: /v./ To fry hardware (see {fried}). See
{magic smoke} for a discussion of the underlying mythology.
:letterbomb: 1. /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}. 2. Loosely, a
{mailbomb}.
: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 `=-'."
:lexiphage: /lek'si-fayj`/ /n./ A notorious word {chomper}
on ITS. See {bagbiter}. This program would draw on a selected
victim's bitmapped terminal the words "THE BAG" in ornate
letters, followed a pair of jaws biting pieces of it off.
: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!}"
:Life is hard: /prov./ [XEROX PARC] 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.
:light pipe: /n./ Fiber optic cable. Oppose {copper}.
:lightweight: /adj./ Opposite of {heavyweight}; usually
found in combining forms such as `lightweight process'.
: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}.
: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."
Hacker use of this term may recall mainstream slang
originated early in the 20th century by President Theodore
Roosevelt. There is a legend that, weary of inconclusive talks
with Colombia over the right to dig a canal through its
then-province Panama, he remarked, "Negotiating with those pirates
is like trying to nail currant jelly to the wall." Roosevelt's
government subsequently encouraged the anti-Colombian insurgency
that created the nation of Panama.
:line 666: [from Christian eschatological myth] /n./ The
notional 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."
:line eater, the: /n. obs./ [Usenet] 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 was still occasionally reported to be lurking in some
mail-to-netnews gateways as late as 1991. 2. See {NSA line
eater}.
: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}.
: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.
:linearithmic: /adj./ Of an algorithm, having running time that
is O(N log N). Coined as a portmanteau of `linear' and
`logarithmic' in "Algorithms In C" by Robert Sedgewick
(Addison-Wesley 1990, ISBN 0-201-51425-7).
:link farm: /n./ [Unix] 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}.
:link-dead: /adj./ [MUD] Said of a {MUD} character who has
frozen in place because of a dropped Internet connection.
:lint: [from Unix's `lint(1)', named for the bits of
fluff it supposedly 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".
:Linux:: /lee'nuhks/ or /li'nuks/, *not* /li:'nuhks/
/n./ The free Unix workalike created by Linus Torvalds and
friends starting about 1990 (the pronunciation /lee'nuhks/ is
preferred because the name `Linus' has an /ee/ sound in Swedish).
This may be the most remarkable hacker project in history -- an
entire clone of Unix for 386, 486 and Pentium micros, distributed
for free with sources over the net (ports to Alpha and Sparc-based
machines are underway). This is what {GNU} aimed to be, but the
Free Software Foundation has not (as of early 1996) produced the
kernel to go with its Unix toolset (which Linux uses). Other,
similar efforts like FreeBSD and NetBSD have been much less
successful. The secret of Linux's success seems to be that Linus
worked much harder early on to keep the development process open
and recruit other hackers, creating a snowball effect.
:lion food: /n./ [IBM] Middle management or HQ staff (or, 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 agree 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!"
: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 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.
[1996 update: The Lions book lives again! It will finally see legal
public print as ISBN 1-57398-013-7 from Peer-To-Peer
Communications, with a forward by Dennis Ritchie.]
:LISP: /n./ [from `LISt Processing language', but mythically
from `Lots of Irritating Superfluous Parentheses'] 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.
:list-bomb: /v./ To {mailbomb} someone by forging
messages causing the victim to become a subscriber to many mailing
lists. This is a self-defeating tactic; it merely forces mailing
list servers to require confirmation by return message for every
subscription.
:literature, the: /n./ Computer-science journals and other
publications, vaguely gestured at to answer a question that the
speaker believes is {trivial}. Thus, one might answer an
annoying question by saying "It's in the literature." Oppose
{Knuth}, which has no connotation of triviality.
:lithium lick: /n./ [NeXT] Steve Jobs. Employees who have
gotten too much attention from their esteemed founder are said to
have `lithium lick' when they begin to show signs of Jobsian fervor
and repeat the most recent catch phrases in normal conversation ---
for example, "It just works, right out of the box!"
:little-endian: /adj./ Describes a computer architecture in
which, within a given 16- or 32-bit word, bytes at lower addresses
have lower significance (the word is stored `little-end-first').
The PDP-11 and VAX families of computers and Intel microprocessors
and a lot of communications and networking hardware are
little-endian. See {big-endian}, {middle-endian}, {NUXI
problem}. The term is sometimes used to describe the ordering of
units other than bytes; most often, bits within a byte.
:live: /li:v/ /adj.,adv./ Opposite of `test'. Refers to
actual real-world data or a program working with it. For example,
the response to "I think the record deleter is finished" might
be "Is it live yet?" or "Have you tried it out on live data?"
This usage usually carries the connotation that live data is more
fragile and must not be corrupted, or bad things will happen. So a
more appropriate response might be: "Well, make sure it works
perfectly before we throw live data at it." The implication here
is that record deletion is something pretty significant, and a
haywire record-deleter running amok live would probably cause great
harm.
:live data: /n./ 1. Data that is written to be interpreted and
takes over program flow when triggered by some un-obvious
operation, such as viewing it. One use of such hacks is to break
security. For example, some smart terminals have commands that
allow one to download strings to program keys; this can be used to
write live data that, when listed to the terminal, infects it with
a security-breaking {virus} that is triggered the next time a
hapless user strikes that key. For another, there are some
well-known bugs in {vi} that allow certain texts to send
arbitrary commands back to the machine when they are simply viewed.
2. In C code, data that includes pointers to function {hook}s
(executable code). 3. An object, such as a {trampoline}, that
is constructed on the fly by a program and intended to be executed
as code.
:Live Free Or Die!: /imp./ 1. The state motto of New Hampshire,
which appears on that state's automobile license plates. 2. A
slogan associated with Unix in the romantic days when Unix
aficionados saw themselves as a tiny, beleaguered underground
tilting against the windmills of industry. The "free" referred
specifically to freedom from the {fascist} design philosophies
and crufty misfeatures common on commercial operating systems.
Armando Stettner, one of the early Unix developers, used to give
out fake license plates bearing this motto under a large Unix, all
in New Hampshire colors of green and white. These are now valued
collector's items. Recently (1994) an inferior imitation of these
has been put in circulation with a red corporate logo added.
:livelock: /li:v'lok/ /n./ A situation in which some critical
stage of a task is unable to finish because its clients perpetually
create more work for it to do after they have been serviced but
before it can clear its queue. Differs from {deadlock} in that
the process is not blocked or waiting for anything, but has a
virtually infinite amount of work to do and can never catch up.
:liveware: /li:v'weir/ /n./ 1. Synonym for {wetware}.
Less common. 2. [Cambridge] Vermin. "Waiter, there's some
liveware in my salad..."
:lobotomy: /n./ 1. What a hacker subjected to formal management
training is said to have undergone. At IBM and elsewhere this term
is used by both hackers and low-level management; the latter
doubtless intend it as a joke. 2. The act of removing the
processor from a microcomputer in order to replace or upgrade it.
Some very cheap {clone} systems are sold in `lobotomized' form
-- everything but the brain.
:locals, the: /pl.n./ The users on one's local network (as
opposed, say, to people one reaches via public Internet or UUCP
connects). The marked thing about this usage is how little it has
to do with real-space distance. "I have to do some tweaking on
this mail utility before releasing it to the locals."
:locked and loaded: /adj./ [from military slang for an M-16
rifle with magazine inserted and prepared for firing] Said of a
removable disk volume properly prepared for use -- that is, locked
into the drive and with the heads loaded. Ironically, because
their heads are `loaded' whenever the power is up, this
description is never used of {{Winchester}} drives (which are
named after a rifle).
:locked up: /adj./ Syn. for {hung}, {wedged}.
:logic bomb: /n./ Code surreptitiously inserted into an
application or OS that causes it to perform some destructive or
security-compromising activity whenever specified conditions are
met. Compare {back door}.
:logical: /adj./ [from the technical term `logical device',
wherein a physical device is referred to by an arbitrary
`logical' name] Having the role of. If a person (say, Les
Earnest at SAIL) who had long held a certain post left and were
replaced, the replacement would for a while be known as the
`logical' Les Earnest. (This does not imply any judgment on the
replacement.) Compare {virtual}.
At Stanford, `logical' compass directions denote a coordinate
system in which `logical north' is toward San Francisco,
`logical west' is toward the ocean, etc., even though logical
north varies between physical (true) north near San Francisco and
physical west near San Jose. (The best rule of thumb here is that,
by definition, El Camino Real always runs logical north-and-south.)
In giving directions, one might say: "To get to Rincon Tarasco
restaurant, get onto {El Camino Bignum} going logical north."
Using the word `logical' helps to prevent the recipient from
worrying about that the fact that the sun is setting almost
directly in front of him. The concept is reinforced by North
American highways which are almost, but not quite, consistently
labeled with logical rather than physical directions. A similar
situation exists at MIT: Route 128 (famous for the electronics
industry that has grown up along it) is a 3-quarters circle
surrounding Boston at a radius of 10 miles, terminating near the
coastline at each end. It would be most precise to describe the
two directions along this highway as `clockwise' and
`counterclockwise', but the road signs all say "north" and
"south", respectively. A hacker might describe these directions
as `logical north' and `logical south', to indicate that they
are conventional directions not corresponding to the usual
denotation for those words. (If you went logical south along the
entire length of route 128, you would start out going northwest,
curve around to the south, and finish headed due east, passing
along one infamous stretch of pavement that is simultaneously route
128 south and Interstate 93 north, and is signed as such!)
:loop through: /vt./ To process each element of a list of
things. "Hold on, I've got to loop through my paper mail."
Derives from the computer-language notion of an iterative loop;
compare `cdr down' (under {cdr}), which is less common among C
and Unix programmers. ITS hackers used to say `IRP over' after
an obscure pseudo-op in the MIDAS PDP-10 assembler (the same IRP op
can nowadays be found in Microsoft's assembler).
:loose bytes: /n./ Commonwealth hackish term for the padding
bytes or {shim}s many compilers insert between members of a
record or structure to cope with alignment requirements imposed by
the machine architecture.
:lord high fixer: /n./ [primarily British, from Gilbert &
Sullivan's `lord high executioner'] The person in an organization
who knows the most about some aspect of a system. See {wizard}.
:lose: [MIT] /vi./ 1. To fail. A program loses when it
encounters an exceptional condition or fails to work in the
expected manner. 2. To be exceptionally unesthetic or crocky.
3. Of people, to be obnoxious or unusually stupid (as opposed to
ignorant). See also {deserves to lose}. 4. /n./ Refers to
something that is {losing}, especially in the phrases "That's a
lose!" and "What a lose!"
:lose lose: /interj./ A reply to or comment on an undesirable
situation. "I accidentally deleted all my files!" "Lose,
lose."
:loser: /n./ An unexpectedly bad situation, program,
programmer, or person. Someone who habitually loses. (Even
winners can lose occasionally.) Someone who knows not and knows
not that he knows not. Emphatic forms are `real loser', `total
loser', and `complete loser' (but not **`moby loser', which
would be a contradiction in terms). See {luser}.
:losing: /adj./ Said of anything that is or causes a {lose}
or {lossage}.
:loss: /n./ Something (not a person) that loses; a situation in
which something is losing. Emphatic forms include `moby loss',
and `total loss', `complete loss'. Common interjections are
"What a loss!" and "What a moby loss!" Note that `moby
loss' is OK even though **`moby loser' is not used; applied to an
abstract noun, moby is simply a magnifier, whereas when applied to
a person it implies substance and has positive connotations.
Compare {lossage}.
:lossage: /los'*j/ /n./ The result of a bug or malfunction.
This is a mass or collective noun. "What a loss!" and "What
lossage!" are nearly synonymous. The former is slightly more
particular to the speaker's present circumstances; the latter
implies a continuing {lose} of which the speaker is currently a
victim. Thus (for example) a temporary hardware failure is a loss,
but bugs in an important tool (like a compiler) are serious
lossage.
:lost in the noise: /adj./ Syn. {lost in the underflow}.
This term is from signal processing, where signals of very small
amplitude cannot be separated from low-intensity noise in the
system. Though popular among hackers, it is not confined to
hackerdom; physicists, engineers, astronomers, and statisticians
all use it.
:lost in the underflow: /adj./ Too small to be worth
considering; more specifically, small beyond the limits of accuracy
or measurement. This is a reference to `floating underflow', a
condition that can occur when a floating-point arithmetic processor
tries to handle quantities smaller than its limit of magnitude. It
is also a pun on `undertow' (a kind of fast, cold current that
sometimes runs just offshore and can be dangerous to swimmers).
"Well, sure, photon pressure from the stadium lights alters the
path of a thrown baseball, but that effect gets lost in the
underflow." Compare {epsilon}, {epsilon squared}; see also
{overflow bit}.
:lots of MIPS but no I/O: /adj./ Used to describe a person who
is technically brilliant but can't seem to communicate with human
beings effectively. Technically it describes a machine that has
lots of processing power but is bottlenecked on input-output (in
1991, the IBM Rios, a.k.a. RS/6000, is a notorious recent example).
:low-bandwidth: /adj./ [from communication theory] Used to
indicate a talk that, although not {content-free}, was not
terribly informative. "That was a low-bandwidth talk, but what
can you expect for an audience of {suit}s!" Compare
{zero-content}, {bandwidth}, {math-out}.
:LPT: /L-P-T/ or /lip'it/ or /lip-it'/ /n./ Line printer,
of course. Rare under Unix, more common among hackers who grew up
with ITS, MS-DOS, CP/M and other operating systems that were
strongly influenced by early DEC conventions.
:Lubarsky's Law of Cybernetic Entomology: /prov./ "There is
*always* one more bug."
Comments
Log in to leave a comment.
The Jargon File, Version 4.0.0, 24 Jul 1996Chapter V: Rare: book (10)
0%34 min left in chapter