Science  People  Locations  Timeline
Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Home > Kluge


 Contents
:For the German American billionaire see John Werner Kluge
For the German Field Marshal see Günther von Kluge

__NOTOC__ A kludge (or kluge) is a 'solution' for accomplishing a task, originally a mechanical one and usually an engineering one, which consists of various otherwise unrelated parts and mechanisms, cobbled together in a untidy or downright messy manner. A kludge is never elegant except ironically, nor, serviceability to the task at hand excepted, is it ever admirable. Despite this, it generally takes a skilled craftsman, someone intimately familar with the requirements of the desired task, the properties of the raw material at hand, and the ultimate operating environment, to produce a workaround monstrously clunky enough to be called a kludge.

1 Earliest recorded use

There are reports that the term was in use as early as the 1940s in Britain, although the first usage listed by the Oxford English Dictionary is by J.W. Granholm in the American Datamation magazine in 1962:

Feb. 30/1 The word ‘kludge’ is..derived from the same root as the German Kluge.., originally meaning ‘smart’ or ‘witty’... ‘Kludge’ eventually came to mean ‘not so smart’ or ‘pretty ridiculous’. Ibid. 30/2 The building of a Kludge..is not work for amateurs. There is a certain, indefinable, masochistic finesse that must go into true Kludge building.

The German word meant here is actually 'klug' (no e), and is more 'clever' or 'sly' than 'smart' or 'intelligent'.

2 Naval use

In naval parlance, a kluge was usually a machine or process which worked perfectly ashore, but never aboard ship. The resulting inoperative machinery was regarded as so much clutter; a minor naval use of the word came to apply to clutter in general, especially as it might impede shipboard operations. Compare with Rube Goldberg's machines or Heath Robinson's.

3 Computer science use

In modern computing terminology, a kludge is a method of solving a problem, doing a task, or fixing a system (whether hardware or software) that is inefficient, inelegant, or unfathomable, but which nevertheless works. To kluge around 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 much grace. The was often originally a crockEspecially in engineering, a crock is a botched attempt or design to achieve something. An automobile with intentionally designed square wheels would be a crock. Most of Rube Goldberg's or Heath Robinson's unlikely machines were crocks and, because they w, which is why it must now be hackedHack is a term in the slang of the technology culture which has come into existence over the past few decades. As a noun, it has a number of related meanings; as a verb, it means creating or participating in a hack. All of the modern meanings seem to be r to make it work. Note that a hack might be a kludge, but that 'hack' could be, at least in computing, ironic praise. For instance, "Thanks for your hack last night kludging the printer driver. Works now."

Something might be a kludge if it fails in corner casesA corner case is a problem or situation that occurs only outside of normal operating parameters--especially one that manifests itself when multiple environmental variables or conditions are simultaneously at extreme levels. For example, a stereo speaker m, but this is a less common sense as such situations are never, ever, expected to actually happen. (For some value of 'never', anyway.) More commonly, a kludge is a poorly working heuristicFor alternative uses, see heuristic In computer science, two fundamental goals are finding algorithms with provably good run times and with provably good, usually optimal, solution quality. A heuristic is an algorithm that gives up one or both of these go which was expected (hoped, dreamed for) to work well. An intimate knowledge of the context (ie, 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. For instance, "I can't believe you were able to kludge up something to make the system work with that brontosaurus printer of Smith's. Should have trashed it years ago. Wow!"



Read more »

Non User