Jump to content

Hacker: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 78: Line 78:


*[[Steve Wozniak]], a co-founder of Apple Computer (with [[Steve Jobs]]). Got his start making devices for phone phreaking, with a hand from [[John Draper]].
*[[Steve Wozniak]], a co-founder of Apple Computer (with [[Steve Jobs]]). Got his start making devices for phone phreaking, with a hand from [[John Draper]].

*[[Theo de Raadt]], the creator of [[OpenBSD]] and [[OpenSSH]].


===Security experts===
===Security experts===

Revision as of 17:01, 10 April 2006

A hacker is a person who creates and modifies computer software and computer hardware, including computer programming, administration, and (in)security.

In computer programming, a 'hacker' is a programmer who hacks or reaches a goal by employing a series of modifications to exploit or extend existing code or resources. In computer security, a hacker is a person able to exploit a system or gain unauthorized access through skill and tactics. This usually refers to a black hat hacker. There are also white hats (ethical hackers), and grey hats. In other technical fields, hacker is extended to mean a person who makes things work beyond perceived limits through their own technical skill, such as a hardware hacker, or reality hacker. However, for some the word has a negative connotation and refers to a person who "hacks" or uses kludges to accomplish programming tasks that are ugly, inelegant, and inefficient. The negative form of the noun "hack" is even used among users of the positive sense of "hacker".

Definitions of hack

The word hack has several definitions, according to the dictionary. One is "to cut irregularly, without skill or definite purpose." Newspaper journalists are sometimes called "hacks", which could potentially be construed as a reference to an old style method of copy editing involving an encyclopedia, a manual typewriter, a pair of scissors and a roll of scotch tape. Cutting (one synonym for "hack") and pasting blocks of text or software source code in order to factor and reorganize an essay or program are activities familiar to writers and computer programmers alike. When typing on an old fashioned mechanical typewriter, a phalanx of typebars chops against the ribbon, paper, and platten, making a characteristic "hacking" noise.

Another speculation is that the word "hacker" is a humorously ironic conflation of elegant and well spoken eloquent prosody, to "a raspy, chopping, cough." When a person doesn't know how to pronounce a word, they will sometimes fill in with a, hcahw, coughing sound. Reporters are known to attempt writing about a subject they do not completely comprehend, don't get the facts or story straight, and thus sometimes "hack the story to pieces". So, perhaps to some, a neophyte programmer is thereby termed a "hacker", and that would explain why one sense of the word "hack" is given as "A quick and inelegant, though functional solution to a programming problem."

Categories of hacker

A glider from Conway's Game of Life.
A glider from Conway's Game of Life.

The hacker community (the set of people who would describe themselves as hackers, or who would be described by others as hackers) falls into at least four partially overlapping categories. Sometimes people in these categories are called a different name, such as "cracker" instead of hacker.

Hacker: Highly skilled programmer

The positive usage of hacker is one who knows a (sometimes specified) set of programming interfaces well enough to write software rapidly and expertly. This type of hacker is well-respected, although the term still carries some of the meaning of hack, developing programs without adequate planning. This zugzwang gives freedom and the ability to be creative against methodical careful progress. At their best, hackers can be very productive. The technical downside of hacker productivity is often in maintainability, documentation, and completion. Very talented hackers may become bored with a project once they have figured out all of the hard parts, and be unwilling to finish off the "details". This attitude can cause friction in environments where other programmers are expected to pick up the half finished work, decipher the structures and ideas, and bullet-proof the code. In other cases, where a hacker is willing to maintain their own code, a company may be unable to find anyone else who is capable or willing to dig through code to maintain the program if the original programmer moves on to a new job.

Additionally, there is sometimes a social downside associated with hacking. The stereotype of a hacker as having gained technical ability at a cost in social ability may have an uncomfortable amount of factual foundation in many individuals. While not universal, nor even restricted to hackers, the obsessive/compulsive nature, difficulty in relating to other individuals, and often abrasive personalities of some hackers makes some of them difficult to work with or to organize into teams; Richard Stallman (RMS) is a good example of this. Some within the hacker community have speculated that some mild form of autism might be involved in the case of some hackers. In one more pronounced example of such, Bram Cohen, developer of BitTorrent, has been self-diagnosed as having Asperger's syndrome. However, no formal studies of autistic tendencies in hackers have been done.

Hacker: Computer and network security expert

A hacker is one who exploits systems or gains unauthorized access through clever tactics and detailed knowledge, that is, through the use of a hack. However, because most hacks do not exploit systems or gain unauthorized access, most people who have enough technical skill to produce clever hacks consider the use of the word hacker in this sense to be bigotry. Malicious hackers in this sense are often called black hat hackers, but it is more appropriate to call them crackers (from criminal hacker) as this is a term which distinguishes the exploitation of security weaknesses from hacking in general. The opposite term of black hat is white hat, are ethical hackers those who attempt to break into systems or networks in order to help the owners of the system by making them aware of security flaws, or to perform some other altruistic activity. Other hackers often viewed negatively include phreakers and software crackers.

Hacker: Hardware modifier

Another type of hacker is one who creates novel hardware modifications. At the most basic end of this spectrum are those who make frequent changes to the hardware in their computers using standard components, or make semi-cosmetic themed modifications to the appearance of the machine. This type of Hacker modifes his/her computer for performance needs and/or attractiveness. These changes often include adding memory, storage or LEDs and cold cathode tubes for light effects. These people often show off their talents in contests, and many enjoy LAN parties. At the more advanced end of the hardware hackers are those who modify hardware (not limited to computers) to expand capabilities; this group blurs into the culture of hobbyist inventors and professional electronics engineering. An example of such modification includes the addition of TCP/IP Internet capabilities to a number of vending machines and Coffee makers during the late 1980's and early 1990's.

Hackers who have the ability to write circuit-level code, device drivers, firmware, low-level networking, (and even more impressively, using these techniques to make devices do things outside of their spec sheets), are typically in very high regard among hacker communities. This is primarily due to the difficulty and enormous complexity of this type of work, and the electrical engineering knowledge required to do so. Such hackers are rare, and almost always considered to be wizards or gurus of a very high degree.

Hacker stereotypes

There are theoretical types of hackers who are considered to possess an atypical level of skill beyond that of other meanings of the positive form of "hacker", which include the Guru and the Wizard.

In some portions of the computer community, a Wizard is one who can do anything a hacker can, but elegantly; while a Guru not only can do so elegantly, but instruct those who do not know how. In other portions, a Guru is one with a very broad degree of expertise, while a Wizard is expert in a very narrow field, distinctions seemingly more at home in a RPG world, and not often heard in actual conversation.

Recognized hackers

Due to the overlapping nature of the hacker concept space, many of these individuals could be included in more than one category. See also Hacker (computer security), which has a list of people in that category, including criminal or unethical hackers.

Recognized programmers

  • Linus Torvalds, who was a computer science student at the University of Helsinki when he began writing the Linux kernel in 1991.
  • Mel Kaye, a near-legendary figure and the archetypal Real Programmer[1]. He was credited with doing "the bulk of the programming" for the Royal McBee LGP-30 drum-memory computer in the 1950s. Ed Nather, another hacker, published the "Story of Mel" in the 1980s, which is now regarded as one of the most famous pieces of hacker folklore.
  • Dan Bernstein, the author of qmail and djbdns, also a mathematician and cryptographer.
  • John Carmack, a widely recognized and influential game programmer. Through his work, he has made significant contributions to the field of 3D computer graphics and his games have sold in the millions. In 1999, Carmack appeared as number 10 in TIME's list of the 50 most influential people in technology.
  • Bill Gates, the co-founder of Microsoft, created the original Microsoft BASIC in 8 weeks. He is currently most famous for having headed the Forbes list of the world's richest for many years.
  • Bill Gosper, mathematician and programmer, and contemporary of Richard Greenblatt.
  • Bill Joy, the co-founder of Sun Microsystems and author of many fundamental UNIX utilities.
  • John McCarthy, the inventor of the Lisp programming language. Also coined the term "Artificial Intelligence".
  • Rob Pike, a software engineer and author. He is best known for his work at Bell Labs, where he was a member of the Unix team and was involved in the creation of the Plan 9 and Inferno operating systems.
  • Richard Stallman, the founder of the free software movement and the GNU project, and wrote the early versions of Emacs and gcc.
  • Larry Wall, the creator of the Perl programming language.

Security experts

Hardware modifiers

Hacker media personalities

Listed below are individuals who, while fitting in one or more of the above categories, are more widely famous (especially among the general public) for their media presence than their technical accomplishments.

See also

  • Levy, Steven (1984). Hackers: Heroes of the Computer Revolution. Doubleday. ISBN 0385191952.
  • Sterling, Bruce (1992). The Hacker Crackdown. Bantam. ISBN 055308058X.
  • Slatalla, Michelle (1995). Masters of Deception: The Gang That Ruled Cyberspace. HarperCollins. ISBN 0060170301. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  • Dreyfus, Suelette (1997). Underground: Tales of Hacking, Madness and Obsession on the Electronic Frontier. Mandarin. ISBN 1863305955.