Article about Hack (technology)

Hack (technology)

Hack has several meanings in the technology and computer science fields: a clever or quick fix to a computer program problem; a clumsy or inelegant solution to a problem; or a modification of a program or device to give the user access to features that were otherwise unavailable to them.

Contents

  • 1 Origin of term
  • 2 History in Computer Science
  • 3 See also
  • 4 External links
  • 5 References

Origin of term

A fake fire truck on MIT's Great Dome
A fake fire truck on MIT's Great Dome

All of the modern meanings seem to be rooted in its widespread use as slang throughout the Massachusetts Institute of Technology (MIT), starting in the 1960s. There, the original meaning of "hack" was a quick, elaborate and/or bodged solution students devised for technical obstacle; it was used with hacker, meaning one who discovers and implements a hack. The word itself comes from the German word meaning "someone who makes furniture with an axe" [1], implying a lack of finesse in a "hack"; it is believed by many in the hacking community that the reason for this is because programs too large to run on the limited computer resources of the time had portions "chopped" or "hacked" out in order to be reduced to a more reasonable size.

See: MIT hacks

Over time, the meaning of the word there was expanded, perhaps through contact with the amateur radio community. It came to mean either a kludge, or the opposite of a kludge, as in a clever or elegant solution to a difficult problem. In the term "hack value" it also acquired a meaning of anything that was simultaneously fun and clever.

The initial hacker community at MIT, particularly those associated with the Tech Model Railroad Club, applied this pre-existing local slang to computer programming, producing the variant which first came into common use outside MIT.

History in Computer Science

A "hack" now means a clever or quick fix to a computer program problem, as in "That hack you made last night to the editor is working well". A hacker came into the lexicon as meaning one who hacks, using this definition. The surface implication (which might be a modest mocking and play on the literary definition) was a casual attempt to fix the problem, but the deeper meaning was something more clever and thus impressives.

It was used especially among US university computing center staff, such as those at Stanford in the period beginning approximately in the mid-1960s. The context determined whether the complimentary or derogatory meanings were implied. Phrases such as "ugly hack" or "quick hack" generally referred to the latter meaning; phrases such as "cool hack" or "neat hack" referred to the former.

In modern computer programming, a "hack" can refer to a solution or method which functions correctly but which is "ugly" in its concept, which works outside the accepted structures and norms of the environment, or which is not easily extendable or maintainable (see kludge).

In a similar vein, a "hack" may refer to works outside of computer programming. For example, a math hack means a clever solution to a mathematical problem. The GNU General Public License has been described as a copyright hack because it cleverly uses the copyright laws for a purpose the lawmakers did not foresee. All of these uses now also seem to be spreading beyond MIT as well.

The term has since acquired an additional and now more common meaning, since approximately the 1980s; this more modern definition was initially associated with crackers. This growing use of the term "hack" is to refer to a program that (sometimes illegally) modifies another program, often a computer game, giving the user access to features otherwise inaccessible to them. As an example of this use, for Palm OS users (until the 4th iteration of this operating system), a "hack" refers to an extension of the operating system which provides additional functionality. The general media also uses this term to describe the act of illegally breaking into a computer, but this meaning is disputed. The term is additionally used to refer to attempts to gain low-level access to hardware such as a graphing calculator, video game console, or other device (see CueCat for a notorious example) to expose or add functionality to a device that was unintended for use by end users by the company who created it. While it is generally accepted as a way of creating additional markets for such devices (and software as well), companies take different and sometimes inconsistent attitudes towards such practices, ranging from open acceptance (such as Texas Instruments for its graphing calculators and Lego for its Lego Mindstorms robotics gear) to outright hostility (such as Microsoft's attempts to lock out Xbox hackers or the DRM routines on Blu-Ray players designed to sabotage compromised players). Such activity is generally considered to exist in a legal gray area.

Sometimes the jargon used by hackers is thought of as a language in its own right, called Hackish (see the Jargon file). This should not be confused with "1337" or "leetspeak."

No comments: