Hack (computer science)
   HOME

TheInfoList



OR:

A kludge or kluge () is a
workaround A workaround is a bypass of a recognized problem or limitation in a system or policy. A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed. But workarounds are frequently as creative as true solut ...
or quick-and-dirty solution that is clumsy, inelegant, inefficient, difficult to extend and hard to maintain. This term is used in diverse fields such as
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
,
aerospace engineering Aerospace engineering is the primary field of engineering concerned with the development of aircraft and spacecraft. It has two major and overlapping branches: aeronautical engineering and astronautical engineering. Avionics engineering is s ...
,
Internet slang Internet slang (also called Internet shorthand, cyber-slang, netspeak, digispeak or chatspeak) is a non-standard or unofficial form of language used by people on the Internet to communicate to one another. An example of Internet slang is "LOL" m ...
, evolutionary neuroscience, and government. It is similar in meaning to the naval term '' jury rig''.


Etymology

The word has alternate spellings ('' kludge'' and ''
kluge Kluge (, ) is a German-derived surname. In German, capitalizing, and adding a final to, the adjective (meaning "clever"), creates a noun meaning "clever one". Although the adjective is a feminine form, the noun can be feminine, neuter or masc ...
''), pronunciations ( and , rhyming with ''judge'' and ''stooge'', respectively), and several proposed
etymologies Etymology () The New Oxford Dictionary of English (1998) – p. 633 "Etymology /ˌɛtɪˈmɒlədʒi/ the study of the class in words and the way their meanings have changed throughout time". is the study of the history of the form of words a ...
.


Jackson W. Granholm

The ''
Oxford English Dictionary The ''Oxford English Dictionary'' (''OED'') is the first and foundational historical dictionary of the English language, published by Oxford University Press (OUP). It traces the historical development of the English language, providing a c ...
'' (2nd ed., 1989), cites Jackson W. Granholm's 1962 "How to Design a Kludge" article in the American computer magazine ''
Datamation ''Datamation'' is a computer magazine that was published in print form in the United States between 1957 and 1998,
''.
kludge Also kluge. . 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'. ...
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:
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 "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 "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, there are examples of its use before the 1960s.


Germanic sources

American
Yiddish Yiddish (, or , ''yidish'' or ''idish'', , ; , ''Yidish-Taytsh'', ) is a West Germanic language historically spoken by Ashkenazi Jews. It originated during the 9th century in Central Europe, providing the nascent Ashkenazi community with a ve ...
speakers use ' () to mean "too smart by half", the reflected meaning of German ' ("clever"). This may explain the idea of clever but clumsy and temporary, as well as the pronunciation variation from German. A reasonable translation of kludge into German yields i.e. crutch. Cf. German ("clod", diminutive ),
Low Saxon Low Saxon, also known as West Low German ( nds, Nedersassisch, Nedersaksies; nl, Nedersaksisch) are a group of Low German dialects spoken in parts of the Netherlands, northwestern Germany and southern Denmark (in North Schleswig by parts of ...
''klut'', ''klute'', Dutch , perhaps related to Low German diminutive ''klütje'' ("dumpling, clod"), Danish Jutland dialect ''klyt'' ("piece of bad workmanship, kludge"), and Standard Danish ("mess, disorder"). Arguments against the derivation from German ': * There is no equivalent usage in German * Both pronunciations contain the soft "g" () not present in German * The word emerges in English only in the 20th century * The alleged Swedish translation, ''klag'', is incorrect and would properly be spelled ''klok''.


Paper feeder

Another hypothesis dates to 1907, "when John Brandtjen convinced two young machinists from
Oslo Oslo ( , , or ; sma, Oslove) is the capital and most populous city of Norway. It constitutes both a county and a municipality. The municipality of Oslo had a population of in 2022, while the city's greater urban area had a population of ...
, Norway named Abel and Eneval Kluge to service and install presses for his fledgling printing equipment firm". In 1919, the brothers invented an automatic feeder for printing presses which was a success, though "temperamental, subject to frequent breakdowns, and devilishly difficult to repair — but oh, so clever!" The Kluge brothers continued to innovate, and the company remained active as of 2020. Given that the feeder bore the Kluge name, it seems reasonable that it became a byword for over-complex mechanical contraptions.


Acronym

Other suggested
folk etymologies Folk etymology (also known as popular etymology, analogical reformation, reanalysis, morphological reanalysis or etymological reinterpretation) is a change in a word or phrase resulting from the replacement of an unfamiliar form by a more famili ...
or backronyms for ''kludge'' or ''kluge'' are: klumsy, lame, ugly, dumb, but good enough; or klutzy lashup, under-going engineering.


Kludge vs kluge

The
Jargon File The Jargon File is a glossary and usage dictionary of slang used by computer programmers. The original Jargon File was a collection of terms from technical cultures such as the MIT AI Lab, the Stanford AI Lab (SAIL) and others of the old ARPANET ...
(a.k.a. ''The New Hacker's Dictionary''), a
glossary A glossary (from grc, γλῶσσα, ''glossa''; language, speech, wording) also known as a vocabulary or clavis, is an alphabetical list of terms in a particular domain of knowledge with the definitions for those terms. Traditionally, a gl ...
of computer programmer slang maintained by
Eric S. Raymond Eric Steven Raymond (born December 4, 1957), often referred to as ESR, is an American software developer, open-source software advocate, and author of the 1997 essay and 1999 book ''The Cathedral and the Bazaar''. He wrote a guidebook for the ...
, differentiates ''kludge'' from ''kluge'' and cites usage examples predating 1962. ''Kluge'' seems to have the sense of overcomplicated, while ''kludge'' has only the sense of poorly done.
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. #
MRC MRC may refer to Government * Medical Research Council (United Kingdom) * Medical Reserve Corps, a US network of volunteer organizations * Municipalité régionale de comté (regional county municipality), Quebec, Canada * Military Revolutionar ...
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.") # 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 ''cludge'' or ''cludgie'' meaning "a common toilet", and became confused with U.S. ''kluge'' during or after World War II.
kluge: /klooj/ rom the German 'klug', clever; poss. related to Polish & Russian 'klucz' (a key, a hint, a main point)# n. A
Rube Goldberg Reuben Garrett Lucius Goldberg (July 4, 1883 – December 7, 1970), known best as Rube Goldberg, was an American cartoonist, sculptor, author, engineer, and inventor. Goldberg is best known for his popular cartoons depicting complicated gadge ...
(or
Heath Robinson William Heath Robinson (31 May 1872 – 13 September 1944) was an English cartoonist, illustrator and artist, best known for drawings of whimsically elaborate machines to achieve simple objectives. In the UK, the term "Heath Robinson contr ...
) 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." # WPI.html" ;"title="Worcester_Polytechnic_Institute.html" ;"title="/nowiki>Worcester Polytechnic Institute">WPI">Worcester_Polytechnic_Institute.html" ;"title="/nowiki>Worcester Polytechnic Institute">WPIn. 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". ''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". A summary of a 1947 article in the ''New York Folklore Quarterly'' states:
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", ''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.


Industries


Aerospace engineering

In
aerospace Aerospace is a term used to collectively refer to the atmosphere and outer space. Aerospace activity is very diverse, with a multitude of commercial, industrial and military applications. Aerospace engineering consists of aeronautics and ast ...
, 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. Perhaps the ultimate kludge was the first US
space station A space station is a spacecraft capable of supporting a human crew in orbit for an extended period of time, and is therefore a type of space habitat. It lacks major propulsion or landing systems. An orbital station or an orbital space station ...
,
Skylab Skylab was the first United States space station, launched by NASA, occupied for about 24 weeks between May 1973 and February 1974. It was operated by three separate three-astronaut crews: Skylab 2, Skylab 3, and Skylab 4. Major operations ...
. 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 Saturn V is a retired American super heavy-lift launch vehicle developed by NASA under the Apollo program for human exploration of the Moon. The rocket was human-rated, with multistage rocket, three stages, and powered with liquid-propellant r ...
launch vehicles, the ATM was kludged from an early design for the descent stage of the
Apollo Lunar Module The Apollo Lunar Module (LM ), originally designated the Lunar Excursion Module (LEM), was the lunar lander spacecraft that was flown between lunar orbit and the Moon's surface during the United States' Apollo program. It was the first crewed ...
). 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 The Apollo command and service module (CSM) was one of two principal components of the United States Apollo spacecraft, used for the Apollo program, which landed astronauts on the Moon between 1969 and 1972. The CSM functioned as a mother sh ...
at the axial docking port of the Multiple Docking Adapter. The Airlock Module's manufacturer,
McDonnell Douglas McDonnell Douglas was a major American aerospace manufacturing corporation and defense contractor, formed by the merger of McDonnell Aircraft and the Douglas Aircraft Company in 1967. Between then and its own merger with Boeing in 1997, it ...
, even recycled the hatch design from its
Gemini spacecraft Project Gemini () was NASA's second human spaceflight program. Conducted between projects Mercury and Apollo, Gemini started in 1961 and concluded in 1966. The Gemini spacecraft carried a two-astronaut crew. Ten Gemini crews and 16 individual ...
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 The National Aeronautics and Space Administration (NASA ) is an independent agency of the US federal government responsible for the civil space program, aeronautics research, and space research. NASA was established in 1958, succeeding ...
's
Marshall Space Flight Center The George C. Marshall Space Flight Center (MSFC), located in Redstone Arsenal, Alabama (Huntsville postal address), is the U.S. government's civilian rocketry and spacecraft propulsion research center. As the largest NASA center, MSFC's firs ...
, was seen by the Manned Spacecraft Center (later
Johnson Space Center The Lyndon B. Johnson Space Center (JSC) is NASA's center for human spaceflight (originally named the Manned Spacecraft Center), where human spaceflight training, research, and flight control are conducted. It was renamed in honor of the late ...
) 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".


Computer science

In modern
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
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 A workaround is a bypass of a recognized problem or limitation in a system or policy. A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed. But workarounds are frequently as creative as true solut ...
, but quick and ugly. To "kludge around something" is to avoid a 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. A kludge is often used to fix an unanticipated problem in an earlier kludge; this is essentially a kind of
cruft Cruft is a jargon word for anything that is left over, redundant and getting in the way. It is used particularly for defective, superseded, useless, superfluous, or dysfunctional elements in computer software. History Around 1958, the term wa ...
. A solution might be a kludge if it fails in
corner case In engineering, a corner case (or pathological case) involves a problem or situation that occurs only outside normal operating parameters—specifically one that manifests itself when multiple environmental variables or conditions are simultaneou ...
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 A heuristic (; ), or heuristic technique, is any approach to problem solving or self-discovery that employs a practical method that is not guaranteed to be optimal, perfect, or rational, but is nevertheless sufficient for reaching an immediate ...
which was expected to work almost always, but ends up failing often. A 1960s
Soviet The Soviet Union,. officially the Union of Soviet Socialist Republics. (USSR),. was a List of former transcontinental countries#Since 1700, transcontinental country that spanned much of Eurasia from 1922 to 1991. A flagship communist state, ...
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 A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. Computer programs are one component of software, which also includes software documentation, documentation and oth ...
. 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
NAT Nat or NAT may refer to: Computing * Network address translation (NAT), in computer networking Organizations * National Actors Theatre, New York City, U.S. * National AIDS trust, a British charity * National Archives of Thailand * National A ...
(Network Address Translation) (RFC 1918) or PAT (Port Address Translation) to cope with the shortage of
IPv4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version d ...
addresses is an example of a kludge. In FidoNet terminology, ''kludge'' refers to a piece of control data embedded inside a message.


Evolutionary neuroscience

The ''kludge'' or ''kluge'' metaphor has been adapted in fields such as evolutionary neuroscience, particularly in reference to the
human brain The human brain is the central organ of the human nervous system, and with the spinal cord makes up the central nervous system. The brain consists of the cerebrum, the brainstem and the cerebellum. It controls most of the activities of ...
. The neuroscientist David Linden discusses how
intelligent design Intelligent design (ID) is a pseudoscientific argument for the existence of God, presented by its proponents as "an evidence-based scientific theory about life's origins". Numbers 2006, p. 373; " Dcaptured headlines for its bold attempt to ...
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 F. Marcus (born February 8, 1970) is a professor emeritus of psychology and neural science at New York University. In 2014 he founded Geometric Intelligence, a machine-learning company later acquired by Uber. Marcus's books include '' Guit ...
'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."
For instance, the vertebrate eye's
retina The retina (from la, rete "net") is the innermost, light-sensitive layer of tissue of the eye of most vertebrates and some molluscs. The optics of the eye create a focused two-dimensional image of the visual world on the retina, which the ...
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
John Varley John Varley may refer to: * John Varley (canal engineer) (1740–1809), English canal engineer * John Varley (painter) (1778–1842), English painter and astrologer * John Varley (author) (born 1947), American science fiction author * John Silvest ...
's 1985 short story "Press Enter_", the antagonist, a reclusive hacker, adopts the identity Charles Kluge. In the science fiction television 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.


See also

*
Bricolage In the arts, ''bricolage'' ( French for " DIY" or "do-it-yourself projects") is the construction or creation of a work from a diverse range of things that happen to be available, or a work constructed using mixed media. The term ''bricolage' ...
* Jugaad, an Indian version of "kludge" * Bodging and Jury rigging, two English terms of similar meaning. *
MacGyver Angus "Mac" MacGyver is the title character and the protagonist in the TV series ''MacGyver''. He is played by Richard Dean Anderson in the 1985 original series. Lucas Till portrays a younger version of MacGyver in the 2016 reboot. In both p ...
*
Unintended consequence In the social sciences, unintended consequences (sometimes unanticipated consequences or unforeseen consequences) are outcomes of a purposeful action that are not intended or foreseen. The term was popularised in the twentieth century by Ameri ...
* Drop-in replacement * KLUDGE (tag)


References


External links

{{Wiktionary, kluge, kludge
First Usage of "Kludge" on UseNET (26 May 1981)

First Usage of "Kluge" on UseNET (14 December 1981)





Work-arounds, Make-work, and Kludges
Philip Koopman and Robert R. Hoffman Software quality Mechanical engineering