Kludge
Encyclopedia
A kludge is a workaround
, a quick-and-dirty
solution, a clumsy or inelegant, yet effective, solution to a problem, typically using parts that are cobbled together. This term is diversely used in fields such as computer science
, aerospace engineering
, Internet slang
, and evolutionary neuroscience
.
The word kludge is a synthesis of the words "fudge" and "kluge" and forms a linguistic mirror of its meaning by being itself: "an ill-assorted collection of poorly-matching parts, forming a distressing whole." Kludge has absorbed the colloquial meaning of fudge, which itself is used to swallow the cruder interjection "fuck", and hence fudge passes on an "all fucked up" sense as well. These meanings in conjunction with the makeshift sense of kluge form the constellation of allusions cast by the word kludge.
The Oxford English Dictionary
(2nd ed., 1989) kludge entry cites one source for this word's earliest recorded usage, definition, and etymology
: Jackson W. Granholm's 1962 "How to Design a Kludge" article, which appeared in the American computer magazine Datamation
.
The German surname Kluge
derives from klug "prudent; smart". Although the OED2 notes Granholm was "jocular", it accepts his ironic etymology from a fictional "Fink and Wiggles" for Funk & Wagnalls lexicographer.
This OED2 entry also includes the verbal kludge "to improvise with a kludge or kludges" and kludgemanship "skill in designing or applying kludges".
The Jargon File
(a.k.a. The New Hacker's Dictionary), which is a glossary
of internet slang
maintained by Eric S. Raymond
, differentiates kludge from kluge and cites usage examples predating 1962.
This Jargon File entry notes kludge apparently derives via British military slang from Scots
kludge or kludgie meaning "a common toilet", and became confused with U.S. kluge during or after World War II.
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". The Jargon File gives possible etymologies from naval
slang (cf. jury rig
) or printing equipment.
First, kluge "was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea". A 1947 article in the New York Folklore Quarterly recorded the 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." When Murgatroyd enlists into the Navy, he gives "kluge maker" as his occupation. Because none of the officers knows what a kluge is, Murgatroyd ascends through the ranks, eventually becoming "kluge maker, first class". When an admiral demands that Murgatroyd build him a kluge, he constructs a strange object with springs in all directions. He then drops it over the side of the ship into the ocean, where it goes "kkluuge".
Second, the "Kluge paper feeder" was an automatic paper feeder for printing press
es, which was first manufactured by Brandtjen and Kluge
in 1919. It supposedly had a Rube Goldberg machine
reputation, and was "temperamental, subject to frequent breakdowns, and devilishly difficult to repair — but oh, so clever!"
The Jargon File further includes kluge around "to avoid a bug or difficult condition by inserting a kluge", kluge up "to lash together a quick hack to perform a task". After Granholm's 1962 "How to Design a Kludge" article popularized the kluge variant kludge, both were interchangeably used and confused. The Jargon File concludes:
Other suggested folk etymologies or backronyms for kludge or kluge is from klumsy, lame, ugly, dumb, but good enough, or klutzy, lashup, under, going, engineering.
A reasonable hypothesis for the origin of the term dates back to 1907, "when John Brandtjen convinced two young machinists from Oslo, Norway named Abel and Eneval Kluge to service and install presses for his fledgling printing equipment firm" (see external link, history of the Kluge Platen Press). In 1919, the brothers invented an automatic feeder for printing presses which, by 1929, allowed Brandtjen & Kluge to move into a 3-story building in St. Paul, MN. The Kluge brothers continued to innovate, and the company still exists as of 2011.
While the automatic feeder was a success, unverified sources claim that it developed a reputation for being temperamental, prone to breakdowns, and difficult to repair. Given that the feeder bore the Kluge name, it seems reasonable that it became a byword for overly-complex mechanical contraptions. The Free Online Dictionary of Computing claims that the kluge "was used in connection with computers as far back as the mid-1950s and, at that time, was used exclusively of *hardware* kluges".http://foldoc.org/kluge The fact that it was originally applied only to hardware again points back to the paper feeder as the original source of the term. FOLDOC goes on to say, "TMRC and the MIT hacker culture of the early 1960s 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 run in Cambridge during the war (many in MIT's venerable Building 20, which housed TMRC until the building was demolished in 1999)." This would explain the terms introduction into the software community.
This explanation would then point to the source of the term as a Norwegian surname, with no connection to German.
The term "kludge" would then seem to have separate origins, possibly in Britain. The terms tended to merge because of their similar pronunciations and meanings. However, "kluge" seems to have the sense of overly complicated, while "kludge" has only the sense of poorly done.
Perhaps the ultimate kludge was the first US
space station
, Skylab
. Its two major components, the Saturn Workshop and the Apollo Telescope Mount
, began their 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 together 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 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."
terminology, a kludge (or often a "hack") is a solution to a problem, doing a task, or fixing a system (whether hardware or software) that is inefficient, inelegant, or even unfathomable, but which nevertheless (more or less) works. To kludge around something is to avoid a bug or some difficult condition by building a kludge, perhaps relying on properties of the bug itself to assure proper operation. It is somewhat similar in spirit to a workaround
, only without the grace. A kludge is often used to change the behavior of a system after it is finished, without having to make fundamental changes. Sometimes to keep backwards compatibility, but often simply because it is easier. That something was often originally a crock, which is why it must now be hacked to make it work. Note that a hack might be a kludge, but that 'hack' could be, at least in computing, ironic praise, for a quick fix solution to a frustrating problem.
A kludge is often used to fix an unanticipated problem in an earlier kludge; this is essentially a kind of cruft
.
Something might be a kludge if it fails in corner case
s, but this is a less common sense as such situations are not expected to come up in typical usage. More commonly, a kludge is a poorly working heuristic which was expected to work well. An intimate knowledge of the context (i.e., problem domain and/or the kludge's execution environment) is typically required to build a corner case kludge. As a consequence, they are sometimes ironically praised.
An anecdotal example of a kludge involved a computer part supposedly manufactured in the Soviet Union
during the 1960s. The part needed slightly delayed receipt of a signal to work. Rather than setting up a timing system, the kludge was to make the internal wires extra-long, increasing the distance and thus increasing the time the electrical signal took to reach its destination.
A variation on this use of kludge is evasion of an unknown problem or bug in a computer program
. Rather than continue to struggle to find out exactly what is causing the bug and how to fix it, the programmer may hack the problem by the simple kludge of writing new code which compensates. For example, if a variable keeps ending up doubled in a certain code area, add code which divides by two when it is used, after the original code has been executed.
In computer networking, use of NAT
(Network Address Translation) (RFC 1918) or PAT (Port Address Translation) to cope with the shortage of IPv4
addresses is an example of a kludge. Another common example are quickstart
s like those shipped with OpenOffice.org
, Real Player, Quicktime
and Adobe
products, in which a bloated program that normally takes a long time to load is kept in memory to reduce the delay in starting it.
In FidoNet
terminology, the term "kludge" refers to a piece of control data embedded inside a message.
, particularly in reference to the human brain
.
The neuroscientist David Linden
discusses how intelligent design
proponents have misconstrued brain anatomy.
The research psychologist Gary Marcus
's book Kluge: The Haphazard Construction of the Human Mind compares evolutionary kluges with engineering ones like manifold vacuum
-powered windshield wipers – when you accelerated or drove uphill, "Your wipers slowed to a crawl, or even stopped working altogether."
, genetically engineered human beings called Nietzscheans use the term disparagingly to refer to genetically unmodified humans.
Workaround
A workaround is a bypass of a recognized problem in a system. A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed...
, a quick-and-dirty
Quick-and-dirty
Quick-and-dirty is a term used in reference to anything that is an easy way to implement a workaround or "kludge". Its usage is popular among programmers, who use it to describe a crude solution or programming implementation that is imperfect, inelegant, or otherwise inadequate, but which solves or...
solution, a clumsy or inelegant, yet effective, solution to a problem, typically using parts that are cobbled together. This term is diversely used in fields such as computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
, aerospace engineering
Aerospace engineering
Aerospace engineering is the primary branch of engineering concerned with the design, construction and science of aircraft and spacecraft. It is divided into two major and overlapping branches: aeronautical engineering and astronautical engineering...
, Internet slang
Internet slang
Internet slang is a type of slang that Internet users have popularized, and in many cases, have coined. Such terms often originate with the purpose of saving keystrokes. Many people use the same abbreviations in texting and instant messaging, and social networking websites...
, and evolutionary neuroscience
Evolutionary neuroscience
Evolutionary neuroscience is an interdisciplinary scientific research field that studies the evolution of nervous systems. Evolutionary neuroscientists attempt to understand the evolution and natural history of nervous system structure and function. The field draws on concepts and findings from...
.
Pronunciation and etymology
The present word has alternate spellings (kludge and kluge) and pronunciations (ˈklʌdʒ and ˈkluːdʒ, rhyming with fudge and stooge respectively), and several proposed etymologies.The word kludge is a synthesis of the words "fudge" and "kluge" and forms a linguistic mirror of its meaning by being itself: "an ill-assorted collection of poorly-matching parts, forming a distressing whole." Kludge has absorbed the colloquial meaning of fudge, which itself is used to swallow the cruder interjection "fuck", and hence fudge passes on an "all fucked up" sense as well. These meanings in conjunction with the makeshift sense of kluge form the constellation of allusions cast by the word kludge.
The Oxford English Dictionary
Oxford English Dictionary
The Oxford English Dictionary , published by the Oxford University Press, is the self-styled premier dictionary of the English language. Two fully bound print editions of the OED have been published under its current name, in 1928 and 1989. The first edition was published in twelve volumes , and...
(2nd ed., 1989) kludge entry cites one source for this word's earliest recorded usage, definition, and etymology
Etymology
Etymology is the study of the history of words, their origins, and how their form and meaning have changed over time.For languages with a long written history, etymologists make use of texts in these languages and texts about the languages to gather knowledge about how words were used during...
: Jackson W. Granholm's 1962 "How to Design a Kludge" article, which appeared in the American computer magazine Datamation
Datamation
Datamation was a print computer magazine published in the United States between 1957 and 1998. When first published it wasn't clear there would be a significant market for a computer magazine given how few computers there were...
.
kludge (ˈkluːdʒ) Also kluge. [J. W. Granholm's jocular invention: see first quot.; cf. also bodge v., fudge v.]
'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'. …
The word 'kludge' is...derived from the German adjective klug, originally meaning 'smart' or 'witty'.... 'Kludge' eventually came to mean 'not so smart'.
The German surname Kluge
Kluge
Kluge is a German-derived surname. Among German-speakers, it is pronounced "KLOO-guh" and is derived from the German adjective klug .Those bearing it include:* Friedrich Kluge , German linguist...
derives from klug "prudent; smart". Although the OED2 notes Granholm was "jocular", it accepts his ironic etymology from a fictional "Fink and Wiggles" for Funk & Wagnalls lexicographer.
A phone call to Phineas Burling can be revealing. Phineas Burling is the Chief calligrapher with the Fink and Wiggles Publishing Company, Inc. Fink and Wiggles are, of course, the well known publishers of the NEW MULTILINGUAL DICTIONARY. According to Burling, the word "kludge" first appeared in the English language in the early fifteen-hundreds. It was imported into the geographic region of the lowlands between King's Lynn (then Bishop's Lynn) and the Isle of Ely by Dutch settlers arriving there to reclaim tidelands of the Wash as rutabaga fields. …
The word "kludge" is, according to Burling, derived from the same root as the German "klug" (Dutch kloog, Swedish Klag, Danish Klog, Gothic Klaugen, Lettish Kladnis and Sanskrit 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 the leading definition given by the NEW MULTILINGUAL is, "An ill-assorted collection of poorly-matching parts, forming a distressing whole."
It is in this latter sense that "Kludge" is used by computer hardware men. 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. There is a certain, indefinable, masochistic finesse that must go into true Kludge building. The professional can spot it instantly. The amateur may readily presume that "that's the way computers are".
This OED2 entry also includes the verbal kludge "to improvise with a kludge or kludges" and kludgemanship "skill in designing or applying kludges".
The Jargon File
Jargon File
The Jargon File is a glossary of computer programmer slang. The original Jargon File was a collection of terms from technical cultures such as the MIT AI Lab, the Stanford AI Lab and others of the old ARPANET AI/LISP/PDP-10 communities, including Bolt, Beranek and Newman, Carnegie Mellon...
(a.k.a. The New Hacker's Dictionary), which is a glossary
Glossary
A glossary, also known as an idioticon, vocabulary, or clavis, is an alphabetical list of terms in a particular domain of knowledge with the definitions for those terms...
of internet slang
Internet slang
Internet slang is a type of slang that Internet users have popularized, and in many cases, have coined. Such terms often originate with the purpose of saving keystrokes. Many people use the same abbreviations in texting and instant messaging, and social networking websites...
maintained by Eric S. Raymond
Eric S. Raymond
Eric Steven Raymond , often referred to as ESR, is an American computer programmer, author and open source software advocate. After the 1997 publication of The Cathedral and the Bazaar, Raymond was for a number of years frequently quoted as an unofficial spokesman for the open source movement...
, differentiates kludge from kluge and cites usage examples predating 1962.
kludge
1. /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.
2. [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.")
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 Jargon File entry notes kludge apparently derives via British military slang from Scots
Scots language
Scots is the Germanic language variety spoken in Lowland Scotland and parts of Ulster . It is sometimes called Lowland Scots to distinguish it from Scottish Gaelic, the Celtic language variety spoken in most of the western Highlands and in the Hebrides.Since there are no universally accepted...
kludge or kludgie meaning "a common toilet", and became confused with U.S. kluge during or after World War II.
kluge: /klooj/ [from the German 'klug', clever; poss. related to Polish & Russian 'klucz' (a key, a hint, a main point)]
1. n. A Rube GoldbergRube GoldbergReuben Garrett Lucius Goldberg was an American cartoonist, sculptor, author, engineer and inventor.He is best known for a series of popular cartoons depicting complex gadgets that perform simple tasks in indirect, convoluted ways. These devices, now known as Rube Goldberg machines, are similar to...
(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.
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". The Jargon File gives possible etymologies from naval
Navy
A navy is the branch of a nation's armed forces principally designated for naval and amphibious warfare; namely, lake- or ocean-borne combat operations and related functions...
slang (cf. jury rig
Jury rig
Jury rigging refers to makeshift repairs or temporary contrivances, made with only the tools and materials that happen to be on hand. Originally a nautical term, on sailing ships a jury rig is a replacement mast and yards improvised in case of damage or loss of the original mast.-Etymology:The...
) or printing equipment.
First, kluge "was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea". A 1947 article in the New York Folklore Quarterly recorded the 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." When Murgatroyd enlists into the Navy, he gives "kluge maker" as his occupation. Because none of the officers knows what a kluge is, Murgatroyd ascends through the ranks, eventually becoming "kluge maker, first class". When an admiral demands that Murgatroyd build him a kluge, he constructs a strange object with springs in all directions. He then drops it over the side of the ship into the ocean, where it goes "kkluuge".
Second, the "Kluge paper feeder" was an automatic paper feeder for printing press
Printing press
A printing press is a device for applying pressure to an inked surface resting upon a print medium , thereby transferring the ink...
es, which was first manufactured by Brandtjen and Kluge
Brandtjen and Kluge
Brandtjen and Kluge is manufacturer of both platen and web foil stamping, embossing & diecutting presses, and folder-gluers. They also distribute blanking systems & cutters...
in 1919. It supposedly had a Rube Goldberg machine
Rube Goldberg machine
A Rube Goldberg machine, contraption, device, or apparatus is a deliberately over-engineered or overdone machine that performs a very simple task in a very complex fashion, usually including a chain reaction...
reputation, and was "temperamental, subject to frequent breakdowns, and devilishly difficult to repair — but oh, so clever!"
The Jargon File further includes kluge around "to avoid a bug or difficult condition by inserting a kluge", kluge up "to lash together a quick hack to perform a task". After Granholm's 1962 "How to Design a Kludge" article popularized the kluge variant kludge, both were interchangeably used and confused. The Jargon File concludes:
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.
Other suggested folk etymologies or backronyms for kludge or kluge is from klumsy, lame, ugly, dumb, but good enough, or klutzy, lashup, under, going, engineering.
Recapitulation
As noted above, the term "kluge" as an overly-complicated or obscure contraption dates back at least to 1947, as evidenced by the article in the "New York Folklore Quarterly" (see ref. 5), but the term must have been in use long before that for the story to have any sense. The following purports to be a summary of the original article that is somewhat more complete than the one quoted above:On being drafted into the navy, Murgatroyd gave his profession as "kluge maker".
Not wanting to seem ignorant, the clerk simply wrote this down.
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, until he reached the dizzy heights of commodore.
One day the admiral came to inspect the ship.
When Murgatroyd explained he was a kluge maker, 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".http://our-local.co.uk/index.php?topic=23170.5;wap2
A reasonable hypothesis for the origin of the term dates back to 1907, "when John Brandtjen convinced two young machinists from Oslo, Norway named Abel and Eneval Kluge to service and install presses for his fledgling printing equipment firm" (see external link, history of the Kluge Platen Press). In 1919, the brothers invented an automatic feeder for printing presses which, by 1929, allowed Brandtjen & Kluge to move into a 3-story building in St. Paul, MN. The Kluge brothers continued to innovate, and the company still exists as of 2011.
While the automatic feeder was a success, unverified sources claim that it developed a reputation for being temperamental, prone to breakdowns, and difficult to repair. Given that the feeder bore the Kluge name, it seems reasonable that it became a byword for overly-complex mechanical contraptions. The Free Online Dictionary of Computing claims that the kluge "was used in connection with computers as far back as the mid-1950s and, at that time, was used exclusively of *hardware* kluges".http://foldoc.org/kluge The fact that it was originally applied only to hardware again points back to the paper feeder as the original source of the term. FOLDOC goes on to say, "TMRC and the MIT hacker culture of the early 1960s 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 run in Cambridge during the war (many in MIT's venerable Building 20, which housed TMRC until the building was demolished in 1999)." This would explain the terms introduction into the software community.
This explanation would then point to the source of the term as a Norwegian surname, with no connection to German.
The term "kludge" would then seem to have separate origins, possibly in Britain. The terms tended to merge because of their similar pronunciations and meanings. However, "kluge" seems to have the sense of overly complicated, while "kludge" has only the sense of poorly done.
In aerospace engineering
In aerospace design a kluge was a temporary design using separate commonly available components that were not flight worthy 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.Perhaps the ultimate kludge was the first US
United States
The United States of America is a federal constitutional republic comprising fifty states and a federal district...
space station
Space station
A space station is a spacecraft capable of supporting a crew which is designed to remain in space for an extended period of time, and to which other spacecraft can dock. A space station is distinguished from other spacecraft used for human spaceflight by its lack of major propulsion or landing...
, Skylab
Skylab
Skylab was a space station launched and operated by NASA, the space agency of the United States. Skylab orbited the Earth from 1973 to 1979, and included a workshop, a solar observatory, and other systems. It was launched unmanned by a modified Saturn V rocket, with a mass of...
. Its two major components, the Saturn Workshop and the Apollo Telescope Mount
Apollo Telescope Mount
The Apollo Telescope Mount, or ATM, is the name of a solar observatory that was attached to Skylab, the first US space station.The ATM was one of a number of projects that came out of the late 1960s Apollo Applications Program, which studied a wide variety of ways to use the infrastructure...
, began their development as separate projects (the SWS was kludged from the S-IVB
S-IVB
The S-IVB was built by the Douglas Aircraft Company and served as the third stage on the Saturn V and second stage on the Saturn IB. It had one J-2 engine...
stage of the Saturn 1B and Saturn V
Saturn V
The Saturn V was an American human-rated expendable rocket used by NASA's Apollo and Skylab programs from 1967 until 1973. A multistage liquid-fueled launch vehicle, NASA launched 13 Saturn Vs from the Kennedy Space Center, Florida with no loss of crew or payload...
launch vehicles, the ATM was kludged from an early design for the descent stage of the Apollo Lunar Module
Apollo Lunar Module
The Apollo Lunar Module was the lander portion of the Apollo spacecraft built for the US Apollo program by Grumman to carry a crew of two from lunar orbit to the surface and back...
). Later the SWS and ATM were folded into the Apollo Applications Program
Apollo Applications program
The Apollo Applications Program was established by NASA headquarters in 1968 to develop science-based manned space missions using surplus material from the Apollo program...
, but the components were to have been launched separately, then docked together 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
Apollo Command/Service Module
The Command/Service Module was one of two spacecraft, along with the Lunar Module, used for the United States Apollo program which landed astronauts on the Moon. It was built for NASA by North American Aviation...
at the axial docking port of the Multiple Docking Adapter.
The Airlock Module's manufacturer, McDonnell Douglas
McDonnell Douglas
McDonnell Douglas was a major American aerospace manufacturer and defense contractor, producing a number of famous commercial and military aircraft. It formed from a merger of McDonnell Aircraft and Douglas Aircraft in 1967. McDonnell Douglas was based at Lambert-St. Louis International Airport...
, even recycled the hatch design from its Gemini spacecraft
Project Gemini
Project Gemini was the second human spaceflight program of NASA, the civilian space agency of the United States government. Project Gemini was conducted between projects Mercury and Apollo, with ten manned flights occurring in 1965 and 1966....
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
Marshall Space Flight Center
The George C. Marshall Space Flight Center is the U.S. government's civilian rocketry and spacecraft propulsion research center. The largest center of NASA, MSFC's first mission was developing the Saturn launch vehicles for the Apollo moon program...
, 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."
In computer science
In modern computingComputer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
terminology, a kludge (or often a "hack") is a solution to a problem, doing a task, or fixing a system (whether hardware or software) that is inefficient, inelegant, or even unfathomable, but which nevertheless (more or less) works. To kludge around something is to avoid a bug or some difficult condition by building a kludge, perhaps relying on properties of the bug itself to assure proper operation. It is somewhat similar in spirit to a workaround
Workaround
A workaround is a bypass of a recognized problem in a system. A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed...
, only without the grace. A kludge is often used to change the behavior of a system after it is finished, without having to make fundamental changes. Sometimes to keep backwards compatibility, but often simply because it is easier. That something was often originally a crock, which is why it must now be hacked to make it work. Note that a hack might be a kludge, but that 'hack' could be, at least in computing, ironic praise, for a quick fix solution to a frustrating problem.
A kludge is often used to fix an unanticipated problem in an earlier kludge; this is essentially a kind of cruft
Cruft
Cruft is jargon for computer software or hardware that is of poor quality. The term originates from source code that is rewritten leaving irrelevant or unwanted data within the code.-History:...
.
Something might be a kludge if it fails in corner case
Corner case
A corner case is a problem or situation that occurs only outside of normal operating parameters – specifically one that manifests itself when multiple environmental variables or conditions are simultaneously at extreme levels, even though each parameter is within the specified range for that...
s, but this is a less common sense as such situations are not expected to come up in typical usage. More commonly, a kludge is a poorly working heuristic which was expected to work well. An intimate knowledge of the context (i.e., problem domain and/or the kludge's execution environment) is typically required to build a corner case kludge. As a consequence, they are sometimes ironically praised.
An anecdotal example of a kludge involved a computer part supposedly manufactured in the Soviet Union
Soviet Union
The Soviet Union , officially the Union of Soviet Socialist Republics , was a constitutionally socialist state that existed in Eurasia between 1922 and 1991....
during the 1960s. The part needed slightly delayed receipt of a signal to work. Rather than setting up a timing system, the kludge was to make the internal wires extra-long, increasing the distance and thus increasing the time the electrical signal took to reach its destination.
A variation on this use of kludge is evasion of an unknown problem or bug in a computer program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
. Rather than continue to struggle to find out exactly what is causing the bug and how to fix it, the programmer may hack the problem by the simple kludge of writing new code which compensates. For example, if a variable keeps ending up doubled in a certain code area, add code which divides by two when it is used, after the original code has been executed.
In computer networking, use of NAT
Network address translation
In computer networking, network address translation is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device....
(Network Address Translation) (RFC 1918) or PAT (Port Address Translation) to cope with the shortage of IPv4
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...
addresses is an example of a kludge. Another common example are quickstart
QuickStart
QuickStart is a loading method used by several different software applications, designed to speed up the loading time of their software. Some load the core files and libraries during computer startup and allows the applications to start more quickly when selected later. QuickStarters typically...
s like those shipped with OpenOffice.org
OpenOffice.org
OpenOffice.org, commonly known as OOo or OpenOffice, is an open-source application suite whose main components are for word processing, spreadsheets, presentations, graphics, and databases. OpenOffice is available for a number of different computer operating systems, is distributed as free software...
, Real Player, Quicktime
QuickTime
QuickTime is an extensible proprietary multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. The classic version of QuickTime is available for Windows XP and later, as well as Mac OS X Leopard and...
and Adobe
Adobe Systems
Adobe Systems Incorporated is an American computer software company founded in 1982 and headquartered in San Jose, California, United States...
products, in which a bloated program that normally takes a long time to load is kept in memory to reduce the delay in starting it.
In FidoNet
FidoNet
FidoNet is a worldwide computer network that is used for communication between bulletin board systems. It was most popular in the early to mid 1990s, prior to the introduction of easy and affordable access to the Internet...
terminology, the term "kludge" refers to a piece of control data embedded inside a message.
In evolutionary neuroscience
The kludge or kluge metaphor has been adapted in fields such as evolutionary neuroscienceEvolutionary neuroscience
Evolutionary neuroscience is an interdisciplinary scientific research field that studies the evolution of nervous systems. Evolutionary neuroscientists attempt to understand the evolution and natural history of nervous system structure and function. The field draws on concepts and findings from...
, particularly in reference to the human brain
Human brain
The human brain has the same general structure as the brains of other mammals, but is over three times larger than the brain of a typical mammal with an equivalent body size. Estimates for the number of neurons in the human brain range from 80 to 120 billion...
.
The neuroscientist David Linden
David Linden
David J. Linden is an American professor of neuroscience at Johns Hopkins University in Baltimore, Maryland, and the author of The Accidental Mind: How Brain Evolution Has Given Us Love, Memory, Dreams, and God....
discusses how intelligent design
Intelligent design
Intelligent design is the proposition that "certain features of the universe and of living things are best explained by an intelligent cause, not an undirected process such as natural selection." It is a form of creationism and a contemporary adaptation of the traditional teleological argument for...
proponents have misconstrued brain anatomy.
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 despite the kludgy design of the brain as molded by the twists and turns of evolutionary history. Rather, we have them precisely because of that history.
The research psychologist Gary Marcus
Gary Marcus
Gary F. Marcus is a research psychologist whose work focuses on language, biology, and the mind. Dr. Marcus is a Professor in the Department of Psychology at New York University and Director of the NYU Infant Language Center...
's book Kluge: The Haphazard Construction of the Human Mind compares evolutionary kluges with engineering ones like manifold vacuum
Manifold vacuum
Manifold vacuum, or engine vacuum in an internal combustion engine is the difference in air pressure between the engine's intake manifold and Earth's atmosphere....
-powered windshield wipers – when you accelerated or drove uphill, "Your wipers slowed to a crawl, or even stopped working altogether."
For instance, the vertebrate eye's retinaRetinaThe vertebrate retina is a light-sensitive tissue lining the inner surface of the eye. The optics of the eye create an image of the visual world on the retina, which serves much the same function as the film in a camera. Light striking the retina initiates a cascade of chemical and electrical...
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 spots, one in each eye.
Other uses
In the science fiction television series AndromedaAndromeda (TV series)
Andromeda is a Canadian-American science fiction television series, based on unused material by the late Star Trek creator Gene Roddenberry, developed by Robert Hewitt Wolfe, and produced by Roddenberry's widow, Majel Barrett Roddenberry. It starred Kevin Sorbo as High Guard Captain Dylan Hunt...
, genetically engineered human beings called Nietzscheans use the term disparagingly to refer to genetically unmodified humans.
See also
- BricolageBricolageBricolage is a term used in several disciplines, among them the visual arts, to refer to the construction or creation of a work from a diverse range of things that happen to be available, or a work created by such a process...
- Quick-and-dirtyQuick-and-dirtyQuick-and-dirty is a term used in reference to anything that is an easy way to implement a workaround or "kludge". Its usage is popular among programmers, who use it to describe a crude solution or programming implementation that is imperfect, inelegant, or otherwise inadequate, but which solves or...
- Rube Goldberg machineRube Goldberg machineA Rube Goldberg machine, contraption, device, or apparatus is a deliberately over-engineered or overdone machine that performs a very simple task in a very complex fashion, usually including a chain reaction...
- Unintended consequenceUnintended consequenceIn the social sciences, unintended consequences are outcomes that are not the outcomes intended by a purposeful action. The concept has long existed but was named and popularised in the 20th century by American sociologist Robert K. Merton...
- JugaadJugaadJugaad are locally-made motor vehicles that are used mostly in small villages as a means of low cost transportation in rural India. Jugaad literally means an improvised arrangement or work-around, which has to be used because of lack of resources...
– Hindi for kludge
External links
- First Usage of "Kludge" on UseNET (26 May 1981)
- First Usage of "Kluge" on UseNET (14 December 1981)
- The Jargon File: Kludge
- World Wide Words: Kludge
- Work-arounds, Make-work, and Kludges, Philip Koopman and Robert R. Hoffman
- There I Fixed It, weblog consisting of kludges
- http://www.kluge.biz/index.php?page=a-history-of-innovation, history of the Kluge Platen Press