Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Kludge
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Unmaintainable solution}} {{About|workarounds|the American music magazine|Kludge (magazine)}} {{Use dmy dates|date=July 2021}} [[File:Miles Glacier Bridge, damage and kludge, 1984.jpg|upright=1.3|thumb|Part of the [[Miles Glacier Bridge]], with a "kludge" (temporary fix) to make the bridge usable after [[1964 Alaska earthquake|earthquake]] damage.]] A '''kludge''' or '''kluge''' ({{IPAc-en|k|l|ʌ|dʒ|,_|k|l|uː|dʒ}}) is a [[workaround]] or makeshift solution that is clumsy, inelegant, inefficient, difficult to extend, and hard to maintain. This term is used in diverse fields such as [[computer science]], [[aerospace engineering]], [[Internet slang]], [[evolutionary neuroscience]], [[animation]] and government. It is similar in meaning to the naval term ''[[jury rig]]''. == Etymology == The word has alternate spellings (''[[Wikt:kludge|kludge]]'' and ''[[Wikt:kluge|kluge]]''), pronunciations ({{IPAc-en|k|l|ʌ|dʒ}} and {{IPAc-en|k|l|uː|dʒ}}, rhyming with ''judge'' and ''stooge'', respectively), and several proposed [[etymologies]]. === Jackson W. Granholm === The ''[[Oxford English Dictionary]]'' (2nd ed., 1989), cites Jackson W. Granholm's 1962 "How to Design a Kludge" article<ref name="Granholm 1962">{{cite magazine |last=Granholm |first=Jackson W. |title=How to Design a Kludge |magazine=Datamation |date=February 1962 |volume=8 |number=2 |pages=30–31 |url=http://bitsavers.org/magazines/Datamation/196202.pdf#page=32 |publisher=Frank D. Thompson |access-date=November 20, 2023}}</ref> in the American [[computer magazine]] ''[[Datamation]]''.<ref>{{cite web |last=Mapstone |first=Robina |title=Computer Oral History Collection, Jackson Granholm |date=7 June 1973 |work=Smithsonian National Museum of American History |publisher=[[Smithsonian Institution]] |url=http://www.invention.smithsonian.org/downloads/fa_cohc_tr_gran730607.pdf |url-status=dead |archive-url=https://web.archive.org/web/20061130173342/http://invention.smithsonian.org/downloads/fa_cohc_tr_gran730607.pdf |archive-date=30 November 2006}}</ref> {{blockquote|1='''kludge''' {{IPA|/kluːdʒ/}} Also '''kluge'''. (J. W. Granholm's jocular invention: see first quot.; cf. also ''bodge'' v., ''fudge'' v.)<br />'An ill-assorted collection of poorly-matching parts, forming a distressing whole' (Granholm); esp. in ''Computing'', a machine, system, or program that has been improvised or 'bodged' together; a hastily improvised and poorly thought-out solution to a fault or 'bug'. ...}} ''OED'' defines these two ''kludge'' [[Cognate (etymology)|cognates]] as: ''bodge'' 'to patch or mend clumsily' and ''fudge'' 'to fit together or adjust in a clumsy, makeshift, or dishonest manner'. The ''OED'' entry also includes the verb ''kludge'' ('to improvise with a kludge or kludges') and ''kludgemanship'' ('skill in designing or applying kludges'). Granholm humorously imagined a fictitious source for the term:<ref name="Granholm 1962" /> {{blockquote|1= Phineas Burling is the chief calligrapher with the Fink and Wiggles Publishing Company, Inc. ... According to Burling, the word "kludge" first appeared in the English language in the early fifteen-hundreds. ... The word "kludge" is, according to Burling, derived from the same root as the German {{lang|de|klug}} (Dutch {{lang|nl|kloog}}, Swedish {{Lang|sv|klag}}, Danish {{lang|da|klog}}, Gothic {{lang|got|klaugen}}, Lettish [Latvian] {{lang|lv|kladnis}} and Sanskrit {{lang|sa|veklaunn}}), originally meaning 'smart' or 'witty'. In the typical machinations of language in evolutionary growth, the word "kludge" eventually came to mean 'not so smart' or 'pretty ridiculous' .... Today "kludge" forms one of the most beloved words in design terminology, and it stands ready for handy application to the work of anyone who gins up 110-volt circuitry to plug into the 220 VAC source. The building of a kludge, however, is not work for amateurs. }} Although ''OED'' accepts Granholm's coinage of the term (not the fanciful pseudo-etymology quoted above), there are examples of its use before the 1960s. === Germanic sources === American [[Yiddish]] speakers use {{transliteration|yi|klug}} ({{lang|yi|{{linktext|קלוג}}}}) to mean 'too smart by half', the reflected meaning of German {{lang|de|klug}} ('clever'). This may explain the idea of 'clever but clumsy and temporary', as well as the pronunciation variation from German.<ref>{{cite web |url=http://www.yiddishdictionaryonline.com/ |title=Yiddish Dictionary Online ייִדיש װערטערבוך אַפֿן װעב |access-date=1 August 2014 |archive-date=2 February 2006 |archive-url=https://web.archive.org/web/20060202015659/http://www.yiddishdictionaryonline.com/ |url-status=dead}}</ref> A reasonable translation of ''kludge'' into German yields {{lang|de|{{linktext|Krücke}}}} i.e. 'crutch' (cf. ''bridge'' vs. {{lang|de|{{linktext|Brücke}}}}). Cf. German {{lang|de|{{linktext|Kloß}}}} ('dumpling', 'clod', diminutive {{lang|de|Klößchen}}), [[Low Saxon]] {{lang|nds|klut}}, {{lang|nds|klute}}, Dutch {{lang|nl|kluit}},<ref>{{cite web |title=Wörterbuchnetz – Grammatisch-Kritisches Wörterbuch der Hochdeutschen Mundart |url=http://woerterbuchnetz.de/cgi-bin/WBNetz/wbgui_py?sigle=Adelung&mode=Vernetzung&hitlist=&patternlist=&lemid=DK01431}}</ref> perhaps related to Low German diminutive {{lang|nds|klütje}} ('dumpling', 'clod'), standard [[Danish language|Danish]] {{lang|da|kludder}} ('mess, disorder, clutter') and Danish [[Jutlandic dialect|Jutland dialect]] {{lang|jut|klyt}} ('piece of bad workmanship'),.<ref>{{cite journal |last=Hansen |first=Aage |date=1926 |editor1-last=Knudsen |editor1-first=Gunnar |editor2-last=Kristensen |editor2-first=Marius |title=Et par etymologier |url=http://danskestudier.dk/materiale/1926.pdf |journal=Danske Studier |language=da |publisher=Nordisk Forlag |pages=90 |access-date=22 December 2011 |archive-date=26 April 2012 |archive-url=https://web.archive.org/web/20120426065956/http://danskestudier.dk/materiale/1926.pdf |url-status=dead}}</ref> Arguments against the derivation from German {{lang|de|klug}}: * There is no equivalent usage in German * Both English pronunciations contain the [[soft G|soft ''g'']] ({{ipa|[[dʒ]]}}) not present in German * The word emerges in English only in the 20th century * The alleged Swedish translation, {{lang|sv|klag}}, is incorrect and would properly be spelled {{lang|sv|klok}}. An alternative etymology<ref name="jargon">{{cite web |title=The Jargon File: kludge |author=Eric S. Raymond |url=http://www.catb.org/~esr/jargon/html/K/kludge.html |access-date=2 November 2010}}</ref> suggests that the ''kludge'' spelling in particular derives ultimately from a word in [[Scots language|Scots]] (a language closely related to English): {{lang|sco|cludge}} or {{lang|sco|cludgie/cludgey}} meaning 'toilet' (in either the room or device sense),<ref>{{cite web |title=Cludgie |work=Dictionaries of the Scots Language / Dictionars o the Scots Leid |volume=X |date=2005 |orig-date=1976 |publisher=[[University of Glasgow]] |url= https://dsl.ac.uk/entry/snd/snds2007}}</ref> with the ''kluge'' spelling possibly deriving from German, until the two terms were confused in the mid-20th century, as British and American (respectively) military slang.<ref name="jargon" /> {{crossreference|printworthy=y|(See [[#Kludge vs. kluge|below]].)}} == Kludge vs. kluge == The ''[[Jargon File]]'' (a.k.a. ''The New Hacker's Dictionary''), a [[glossary]] of computer programmer slang maintained by [[Eric S. Raymond]], differentiates ''kludge'' from ''kluge'' and cites usage examples pre-dating 1962. ''Kluge'' seems to have the sense of 'overcomplicated', while ''kludge'' has only the sense of 'poorly done'.<ref name="jargon" /> {{blockquote|1= '''kludge''' /kluhj/ # 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. # [TMRC] A ''crock'' that works. (A long-ago ''Datamation'' article by Jackson Granholme {{sic}} similarly said: "An ill-assorted collection of poorly matching parts, forming a distressing whole.") # 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 ''Jargon File'' entry notes that ''kludge'' apparently derives via British military slang from [[Scots language|Scots]] {{lang|sco|cludge/cludgie}} ('toilet'), and became confused with American ''kluge'' during or after World War II.<ref name="jargon" /> {{blockquote|1= '''kluge''': /klooj/ [from the German {{lang|de|klug}}, 'clever'; poss. related to Polish & Russian {{lang|pl|klucz}} ('a key, a hint, a main point')] # n. A [[Rube Goldberg]] (or [[Heath Robinson]]) device, whether in hardware or software. # 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. # n. Something that works for the wrong reason. # 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." # [<nowiki />[[Worcester Polytechnic Institute|WPI]]<nowiki />] n. A feature that is implemented in a rude manner. }} This entry notes ''kluge'', which is now often spelled ''kludge'', "was the original spelling, reported around computers as far back as the mid-1950s and, at that time, used exclusively of hardware kluges".<ref name="jargon" /> ''Kluge'' "was common Navy slang in the [[World War II]] era for any piece of electronics that worked well on shore but consistently failed at sea".<ref name="jargon" /> A summary of a 1947 article in the ''New York Folklore Quarterly'' states:<ref name="folklore">{{cite journal |last=Nolan Underwood |first=Agnes |title=Folklore from G.I. Joe |journal=New York Folklore Quarterly |date=Winter 1947 |publisher=New York Folklore Society |volume=III |issue=4 |pages=285–297}}</ref><ref>{{cite web |url=http://our-local.co.uk/index.php?topic=23170.5;wap2 |title=Obsolete Occupations |work=Chew the Cud |via=Our-Local.co.uk |archive-url= https://web.archive.org/web/20190403094004/https://our-local.co.uk/index.php?topic=23170.5;wap2 |archive-date=April 3, 2019}}</ref> {{blockquote|1=On being drafted into the navy, Murgatroyd gave his profession as "kluge maker" .... Whenever Murgatroyd was asked what he was doing, he said he was making a kluge, and actually he was one of the world's best kluge makers. Not wanting to seem ignorant, his superiors kept giving him commendations and promotions. ... One day ... the admiral asked him what a kluge was – the first person ever to do so. Murgatroyd said it was hard to explain, but he would make one so the admiral could see what it was. After a couple of days, he returned with a complex object. "Interesting," said the admiral, "but what does it do?" In reply, Murgatroyd dropped it over the side of the ship. As the thing sank, it went "kluge". }} The ''Jargon File'' further includes ''kluge around'', 'to avoid a bug or difficult condition by inserting a kluge', and ''kluge up'', 'to lash together a quick hack to perform a task'. After Granholm's 1962 article popularized the ''kludge'' variant, both were interchangeably used and confused. The ''Jargon File'' concludes:<ref name="jargon" /> {{blockquote|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'. ... 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.}} == Industries == === Aerospace engineering === In [[aerospace]], a kludge was a temporary design using separate commonly available components that were not flightworthy in order to proof the design and enable concurrent software development while the integrated components were developed and manufactured. The term was in common enough use to appear in a fictional movie about the US space program.<ref>''[[Marooned (1969 film)|Marooned]]'', a 1969 film. Dialog between space crew and Ted approximately 30 minutes into the movie, following capsule power down. Ted says, "I'm in Huntsville kludging up a simulator of the XRV." The film was based on the [[Marooned (novel)|1964 novel]] of the same name.</ref> Perhaps the ultimate kludge was the first [[United States|US]] [[space station]], [[Skylab]]. Its two major components, the Saturn Workshop and the [[Apollo Telescope Mount]], began development as separate projects (the SWS was kludged from the [[S-IVB]] stage of the [[Saturn 1B]] and [[Saturn V]] launch vehicles, the ATM was kludged from an early design for the descent stage of the [[Apollo Lunar Module]]). Later the SWS and ATM were folded into the [[Apollo Applications Program]], but the components were to have been launched separately, then docked in orbit. In the final design, the SWS and ATM were launched together, but for the single-launch concept to work, the ATM had to pivot 90 degrees on a truss structure from its launch position to its on-orbit orientation, clearing the way for the crew to dock its [[Apollo Command/Service Module]] at the axial docking port of the Multiple Docking Adapter. The Airlock Module's manufacturer, [[McDonnell Douglas]], even recycled the hatch design from its [[Project Gemini|Gemini spacecraft]] and kludged what was originally designed for the conical Gemini Command Module onto the cylindrical Skylab Airlock Module. The Skylab project, managed by the [[National Aeronautics and Space Administration]]'s [[Marshall Space Flight Center]], was seen by the Manned Spacecraft Center (later [[Johnson Space Center]]) as an invasion of its historical role as the NASA center for manned spaceflight. Thus, MSC personnel missed no opportunity to disparage the Skylab project, calling it "the kludge".<ref>{{Cite book |last1=Dunar |first1=Andrew J. |url=https://books.google.com/books?id=15NYG6C9GaUC&dq=msc+skylab+kludge&pg=PA188 |title=Power to Explore: A History of Marshall Space Flight Center, 1960-1990 |last2=Administration |first2=U. S. National Aeronautics and Space |date=1999 |publisher=National Aeronautics and Space Administration, NASA History Office, Office of Policy and Plans |isbn=978-0-16-058992-8 |language=en}}</ref> === Computer science === In modern [[computer science|computing]] terminology, a "kludge" (or often a "'''hack'''") is a solution to a problem, the performance of a task, or a system fix which is inefficient, inelegant ("hacky"), or even incomprehensible, but which somehow works. It is similar to a [[workaround]], but quick. To "kludge around something" is to avoid a [[Computer bug|bug]] or difficulty by building a kludge, perhaps exploiting properties of the bug itself. A kludge is often used to modify a working system while avoiding fundamental changes, or to ensure backwards compatibility. ''Hack'' can also be used with a positive connotation, for a quick solution to a frustrating problem.<ref>{{cite book |last=Kidder |first=Tracey |title=The Soul of a New Machine |publisher=Avon |year=1982 |isbn=978-0-380-59931-8 |title-link=The Soul of a New Machine}}</ref><ref>{{cite web |last1=Raymond |first1=Eric S. |title=The Jargon File: The Meaning of 'Hack' |url=http://www.catb.org/~esr/jargon/html/meaning-of-hack.html |date=2004}}</ref> A kludge is often used to fix an unanticipated problem in an earlier kludge; this is essentially a kind of [[cruft]]. A solution might be a kludge if it fails in [[corner case]]s. An intimate knowledge of the problem domain and execution environment is typically required to build a corner-case kludge. More commonly, a kludge is a [[heuristic (computer science)|heuristic]] which was expected to work almost always, but ends up failing often. A 1960s [[Soviet Union|Soviet]] anecdote tells of a computer part which needed a slightly delayed signal to work. Rather than setting up a timing system, the kludge was to connect long coils of internal wires to slow the electrical signal. Another type of kludge is the evasion of an unknown problem or bug in a [[computer program]]. Rather than continue to struggle to diagnose and fix the bug, the programmer may write additional code to compensate. For example, if a variable keeps ending up doubled, a kludge may be to add later code that divides by two rather than to search for the original incorrect computation. In computer networking, use of [[Network address translation|NAT]] (Network Address Translation) (RFC 1918) or [[Port address translation|PAT]] (Port Address Translation) to cope with the shortage of [[Internet Protocol|IPv4]] addresses is an example of a kludge. In [[FidoNet]] terminology, ''kludge'' refers to a piece of control data embedded inside a message. === Evolutionary neuroscience === {{see also|Evolutionary baggage}} The ''kludge'' or ''kluge'' metaphor has been adapted in fields such as [[evolutionary neuroscience]], particularly in reference to the [[human brain]]. The neuroscientist [[David J. Linden|David Linden]] discusses how [[intelligent design]] proponents have misconstrued brain anatomy:<ref>{{cite book |last=Linden |first=David J. |title=The Accidental Mind: How Brain Evolution Has Given Us Love, Memory, Dreams, and God |publisher=Belknap Press |year=2007 |pages=[https://archive.org/details/accidentalmind0000lind/page/245 245–246] |isbn=978-0-674-02478-6 |url=https://archive.org/details/accidentalmind0000lind/page/245}}</ref> {{blockquote|The transcendent aspects of our human experience, the things that touch our emotional and cognitive core, were not given to us by a Great Engineer. These are not the latest design features of an impeccably crafted brain. Rather, at every turn, brain design has been a kludge, a workaround, a jumble, a pastiche. The things we hold highest in our human experience (love, memory, dreams, and a predisposition for religious thought) result from a particular agglomeration of ad hoc solutions that have been piled on through millions of years of evolution history. It's not that we have fundamentally human thoughts and feelings {{em|despite}} the kludgy design of the brain as molded by the twists and turns of evolutionary history. Rather, we have them precisely {{em|because}} of that history.}} The research psychologist [[Gary Marcus]]'s book ''[[Kluge (book)|Kluge: The Haphazard Construction of the Human Mind]]'' compares evolutionary kluges with engineering ones like [[manifold vacuum]]-powered [[windshield wipers]] – when accelerating or driving uphill, "Your wipers slowed to a crawl, or even stopped working altogether." Marcus described a biological kluge:<ref>{{cite book |last=Marcus |first=Gary |title=Kluge: The Haphazard Construction of the Human Mind |publisher=Houghton Mifflin Co. |year=2008 |pages=[https://archive.org/details/klugehaphazardco00marc/page/4 4–5] |isbn=978-0-618-87964-9 |url-access=registration |url=https://archive.org/details/klugehaphazardco00marc/page/4}}</ref> {{blockquote|For instance, the vertebrate eye's [[retina]] that is installed backward, facing the back of the head rather than the front. As a result, all kinds of stuff gets in its way, including a bunch of wiring that passes through the eye and leaves us with a pair of [[Blind spot (vision)|blind spot]]s, one in each eye.}} == Other uses == In [[John Varley (author)|John Varley]]'s 1985 short story "Press Enter_", the antagonist, a reclusive hacker, adopts the identity Charles Kluge. In the science fiction television series ''[[Andromeda (TV series)|Andromeda]]'', genetically engineered human beings called Nietzscheans use the term disparagingly to refer to genetically unmodified humans. In a 2012 article, political scientist [[Steven Teles]] used the term "kludgeocracy" to criticize the complexity of social welfare policy in the United States. Teles argues that institutional and political obstacles to passing legislation often drive policy makers to accept expedient fixes rather than carefully thought out reforms.<ref name="teles_2013">{{cite journal |last=Teles |first=Steven M. |title=Kludgeocracy in America |url=http://www.nationalaffairs.com/publications/detail/kludgeocracy-in-america |journal=[[National Affairs]] |date=Fall 2017 |issue=33 |access-date=19 November 2017}}</ref><ref name="lawler_2017">{{cite news |last=Lawler |first=Joseph |title=Steven Teles Explains 'Kludgeocracy' |url=http://www.realclearpolicy.com/blog/2012/12/14/steven_teles_explains_kludgeocracy_378.html |access-date=19 November 2017 |agency=Real Clear Policy |date=14 December 2012}}</ref> == See also == {{Commons category|Kludges}} *[[Bodging#English slang|Bodge]], British slang for a kludge *{{lang|fr|[[Bricolage]]}}, a kludge-like approach to visual arts * [[Chindōgu]], a Japanese term for deliberately "un-useful" inventions, created as a hobby and entertainment * [[Frugal innovation]] – simplifying a product and its manufacture, especially to produce a version affordable in developing countries * [[Gung ho]], a technique of guerilla industry employed at the [[Chinese Industrial Cooperatives]] in WWII * {{lang|hi-Latn|[[Jugaad]]}}, an Indian equivalent term (also more specifically refers to kludge-built vehicles) * [[Jury rigging]], an originally nautical term of related meaning * [[KLUDGE (tag)]], a programmer's annotation that some element of computer source code is of low quality or hastily implemented * {{section link|MacGyver in popular culture#MacGyverisms and "to MacGyver"}}, terms derived from a TV character known for inventive kludges * [[Urawaza]] == References == {{Reflist}} == External links == {{Wiktionary|kluge|kludge}} * [http://groups.google.com/group/fa.human-nets/browse_thread/thread/ff5a4de4d4374851/5b5eba82dd9b9812?lnk=st&q=&rnum=13#5b5eba82dd9b9812 First Usage of "Kludge" on UseNET (26 May 1981)] * [http://groups.google.com/group/fa.works/browse_thread/thread/6e608123bbbe5ccd/d769a8d2676dac29?lnk=st&q=kluge&rnum=5#d769a8d2676dac29 First Usage of "Kluge" on UseNET (14 December 1981)] * [http://www.catb.org/~esr/jargon/html/K/kludge.html The Jargon File: Kludge] * [http://www.worldwidewords.org/qa/qa-klu1.htm World Wide Words: Kludge] * [http://www.ece.cmu.edu/~koopman/essays/koopman03_workarounds.pdf Work-arounds, Make-work, and Kludges], Philip Koopman and Robert R. Hoffman [[Category:Software quality]] [[Category:Mechanical engineering]]
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:About
(
edit
)
Template:Blockquote
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category
(
edit
)
Template:Crossreference
(
edit
)
Template:IPAc-en
(
edit
)
Template:Ipa
(
edit
)
Template:Lang
(
edit
)
Template:Reflist
(
edit
)
Template:Section link
(
edit
)
Template:See also
(
edit
)
Template:Short description
(
edit
)
Template:Transliteration
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Wiktionary
(
edit
)
Search
Search
Editing
Kludge
Add topic