A kludge [klooj] 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. The present word has alternate spellings (kludge and kluge) and pronunciations (rhyming with fudge and stooge respectively), and several proposed etymologies.
Kluge was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea. In aerospace design a kluge was a temporary design using separate commonly available components that were not flight worthy to proof the design.
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 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.
In modern computing 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.
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.
The kludge or kluge metaphor has been adapted in fields such as neuroscience and evolutionary biology, particularly in reference to the human brain. Neuroscientist David Linden discusses how intelligent design 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.’
Leave a Reply