[from the German `klug', clever; poss. related to Polish & Russian
`klucz' (a key, a hint, a main point)]
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. Other
correspondents differ with Mr. Brandtjen's history of the device and
his allegation that it was a simple rather than complex one, but
agree that the Kluge automatic feeder was the most likely source of
the folklore.
{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 under {kludge}; 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.
[glossary]
[Reference(s) to this entry by made by: {crock}{foo}{kludge}{kluge}{kluge around}{knurd}{mung}{munge}{quick-and-dirty}{Unix brain damage}{workaround}]