JargonFile/original/html/K/kluge.html
2014-03-27 18:54:56 +00:00

77 lines
7.7 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>kluge</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../K.html" title="K"/><link rel="previous" href="kludge.html" title="kludge"/><link rel="next" href="kluge-around.html" title="kluge around"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">kluge</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="kludge.html">Prev</a> </td><th width="60%" align="center">K</th><td width="20%" align="right"> <a accesskey="n" href="kluge-around.html">Next</a></td></tr></table><hr/></div><dt><a id="kluge"/><dt xmlns="" id="kluge"><b>kluge</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="pronunciation">/klooj/</span></dt></dt><dd><p> [from the German &#8216;klug&#8217;, clever; poss. related to
Polish &amp; Russian &#8216;klucz&#8217; (a key, a hint, a main
point)]</p></dd><dd><p> 1. <span class="grammar">n.</span> A Rube Goldberg (or Heath
Robinson) device, whether in hardware or software. </p></dd><dd><p> 2. <span class="grammar">n.</span> 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
<a href="../A/ad-hockery.html"><i class="glossterm">ad-hockery</i></a> and verges on being a
<a href="../C/crock.html"><i class="glossterm">crock</i></a>. </p></dd><dd><p> 3. <span class="grammar">n.</span> Something that works for
the wrong reason. </p></dd><dd><p> 4. <span class="grammar">vt.</span> To insert a kluge into a
program. &#8220;<span class="quote">I've kluged this routine to get around that weird bug, but
there's probably a better way.</span>&#8221; </p></dd><dd><p> 5. [WPI] <span class="grammar">n.</span> A feature that is
implemented in a <a href="../R/rude.html"><i class="glossterm">rude</i></a> manner.</p></dd><dd><p>Nowadays this term is often encountered in the variant spelling
&#8216;kludge&#8217;. Reports from <a href="../O/old-fart.html"><i class="glossterm">old fart</i></a>s are
consistent that &#8216;kluge&#8217; was the original spelling, reported
around computers as far back as the mid-1950s and, at that time, used
exclusively of <span class="emphasis"><em>hardware</em></span> kluges. In 1947, the
<i class="citetitle">New York Folklore Quarterly</i> reported a classic
shaggy-dog story &#8216;Murgatroyd the Kluge Maker&#8217; then current in
the Armed Forces, in which a &#8216;kluge&#8217; was a complex and puzzling
artifact with a trivial function. Other sources report that
&#8216;kluge&#8217; was common Navy slang in the WWII era for any piece of
electronics that worked well on shore but consistently failed at
sea.</p><p>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 &#8220;<span class="quote">Kluge paper feeder</span>&#8221;, 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 &#8212; but oh, so clever! People who tell this story
also aver that &#8216;Kluge&#8217; was the name of a design
engineer.</p><p>There is in fact a Brandtjen &amp; Kluge Inc., an old family business
that manufactures printing equipment &#8212; interestingly, their name is
pronounced <span class="pronunciation">/kloo´gee/</span>!
Henry Brandtjen, president of the firm, told me (ESR, 1994) that his
company was co-founded by his father and an engineer named Kluge <span class="pronunciation">/kloo´gee/</span>, who built and co-designed
the original Kluge automatic feeder in 1919. Mr. Brandtjen claims,
however, that this was a <span class="emphasis"><em>simple</em></span> 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.</p><p><a href="../T/TMRC.html"><i class="glossterm">TMRC</i></a> 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 <a href="../F/foobar.html"><i class="glossterm">foobar</i></a>). It
seems likely that &#8216;kluge&#8217; 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 <a href="../T/TMRC.html"><i class="glossterm">TMRC</i></a> is also
located) during the war.</p><p>The variant &#8216;kludge&#8217; was apparently popularized by the
<a href="../D/Datamation.html"><i class="glossterm">Datamation</i></a> article mentioned under
<a href="kludge.html"><i class="glossterm">kludge</i></a>; it was titled <i class="citetitle">How to Design a
Kludge</i> (February 1962, pp. 30, 31). This spelling was probably
imported from Great Britain, where <a href="kludge.html"><i class="glossterm">kludge</i></a> 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
<tt class="systemitem">alt.folklore.computers</tt> over the
First and Second Edition versions of this entry; everybody used to think
<a href="kludge.html"><i class="glossterm">kludge</i></a> was just a mutation of
<a href="kluge.html"><i class="glossterm">kluge</i></a>). It now appears that the British, having
forgotten the etymology of their own &#8216;kludge&#8217; when
&#8216;kluge&#8217; crossed the Atlantic, repaid the U.S. by lobbing the
&#8216;kludge&#8217; orthography in the other direction and confusing their
American cousins' spelling!</p><p>The result of this history is a tangle. Many younger U.S. hackers
pronounce the word as <span class="pronunciation">/klooj/</span> but
spell it, incorrectly for its meaning and pronunciation, as
&#8216;kludge&#8217;. (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 <span class="pronunciation">/kluhj/</span> 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
<span class="pronunciation">/kluhj/</span> but use the wider
American meaning!</p><p>Some observers consider this mess appropriate in view of the word's
meaning.</p></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="kludge.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="../K.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="kluge-around.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">kludge </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> kluge around</td></tr></table></div></body></html>