= 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-13-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 <kibo@world.std.com>, 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; very common] (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 sustaining
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....

   :knobs: pl.n.  Configurable options, even in software and    even
those you can't adjust in real time.  Anything you can    {twiddle} is
a knob.  "Has this PNG viewer got an alpha knob?"     Software may be
described as having "knobs and switches" or    occasionally "knobs and
lights".

   :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    {the
literature}.  See also {bible}.  There is a Donald    Knuth home page at
  `http://www-cs-faculty.Stanford.EDU/~knuth'.

   :koan: /koh'an/ n.  A Zen teaching riddle.  Classically,    koans
are attractive paradoxes to be meditated on; their purpose is    to
help one to enlightenment by temporarily jamming normal    cognitive
processing so that something more interesting can happen    (this
practice is associated with Rinzei Zen Buddhism).  Hackers are    very
fond of the koan form and compose their own koans for    humororous
and/or enlightening effect.  See {AI Koans},    {has the X nature},
{hacker humor}.

   :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}.

