The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗
- Author: Eric S. Raymond
- Performer: 0262680920
Book online «The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗». Author Eric S. Raymond
theories (see [6533]quantum bogodynamics, [6534]computron).
Jokes that involve screwily precise reasoning from bizarre,ludicrous, or just grossly counter-intuitive premises.
Fascination with puns and wordplay.
A fondness for apparently mindless humor with subversive currents
of intelligence in it -- for example, old Warner Brothers and Rocky &
Bullwinkle cartoons, the Marx brothers, the early B-52s, and Monty
Python's Flying Circus. Humor that combines this trait with elements
of high camp and slapstick is especially favored.
References to the symbol-object antinomies and associated ideas inZen Buddhism and (less often) Taoism. See [6535]has the X nature,
[6536]Discordianism, [6537]zen, [6538]ha ha only serious, [6539]koan,
[6540]AI koans.
See also [6541]filk, [6542]retrocomputing, and the Portrait of J.
Random Hacker in [6543]Appendix B. If you have an itchy feeling that
all six of these traits are really aspects of one thing that is
incredibly difficult to talk about exactly, you are (a) correct and
(b) responding like a hacker. These traits are also recognizable
(though in a less marked form) throughout [6544]science-fiction
fandom.
Node:Hackers (the movie), Next:[6545]hacking run,
Previous:[6546]hacker humor, Up:[6547]= H =
Hackers (the movie) n.
A notable bomb from 1995. Should have been titled "Crackers", because
cracking is what the movie was about. It's understandable that they
didn't however; titles redolent of snack food are probably a tough
sell in Hollywood.
Node:hacking run, Next:[6548]Hacking X for Y, Previous:[6549]Hackers
(the movie), Up:[6550]= H =
hacking run n.
[analogy with bombing run' orspeed run'] A hack session extended
long outside normal working times, especially one longer than 12
hours. May cause you to `change phase the hard way' (see [6551]phase).
Node:Hacking X for Y, Next:[6552]Hackintosh, Previous:[6553]hacking
run, Up:[6554]= H =
Hacking X for Y n.
[ITS] Ritual phrasing of part of the information which ITS made
publicly available about each user. This information (the INQUIR
record) was a sort of form in which the user could fill out various
fields. On display, two of these fields were always combined into a
project description of the form "Hacking X for Y" (e.g., "Hacking
perceptrons for Minsky"). This form of description became traditional
and has since been carried over to other systems with more general
facilities for self-advertisement (such as Unix [6555]plan files).
Node:Hackintosh, Next:[6556]hackish, Previous:[6557]Hacking X for Y,
Up:[6558]= H =
Hackintosh n.
An Apple Lisa that has been hacked into emulating a Macintosh (alsocalled a `Mac XL'). 2. A Macintosh assembled from parts theoretically
belonging to different models in the line.
Node:hackish, Next:[6559]hackishness, Previous:[6560]Hackintosh,
Up:[6561]= H =
hackish /hak'ish/ adj.
(also [6562]hackishness n.) 1. Said of something that is or involves a
hack. 2. Of or pertaining to hackers or the hacker subculture. See
also [6563]true-hacker.
Node:hackishness, Next:[6564]hackitude, Previous:[6565]hackish,
Up:[6566]= H =
hackishness n.
The quality of being or involving a hack. This term is considered
mildly silly. Syn. [6567]hackitude.
Node:hackitude, Next:[6568]hair, Previous:[6569]hackishness,
Up:[6570]= H =
hackitude n.
Syn. [6571]hackishness; this word is considered sillier.
Node:hair, Next:[6572]hairball, Previous:[6573]hackitude, Up:[6574]= H
=
hair n.
[back-formation from [6575]hairy] The complications that make
something hairy. "Decoding [6576]TECO commands requires a certain
amount of hair." Often seen in the phrase `infinite hair', which
connotes extreme complexity. Also in `hairiferous' (tending to promote
hair growth): "GNUMACS elisp encourages lusers to write complex
editing modes." "Yeah, it's pretty hairiferous all right." (or just:
"Hair squared!")
Node:hairball, Next:[6577]hairy, Previous:[6578]hair, Up:[6579]= H =
hairball n.
[Fidonet] A large batch of messages that a store-and-forwardnetwork is failing to forward when it should. Often used in the phrase
"Fido coughed up a hairball today", meaning that the stuck messages
have just come unstuck, producing a flood of mail where there had
previously been drought. 2. An unmanageably huge mass of source code.
"JWZ thought the Mozilla effort bogged down because the code was a
huge hairball." 3. Any large amount of garbage coming out suddenly.
"Sendmail is coughing up a hairball, so expect some slowness accessing
the Internet."
Node:hairy, Next:[6580]HAKMEM, Previous:[6581]hairball, Up:[6582]= H =
hairy adj.
Annoyingly complicated. "[6583]DWIM is incredibly hairy." 2.Incomprehensible. "[6584]DWIM is incredibly hairy." 3. Of people,
high-powered, authoritative, rare, expert, and/or incomprehensible.
Hard to explain except in context: "He knows this hairy lawyer who
says there's nothing to worry about." See also [6585]hirsute.
A well-known result in topology called the Brouwer Fixed-Point Theorem
states that any continuous transformation of a 2-sphere into itself
has at least one fixed point. Mathematically literate hackers tend to
associate the term `hairy' with the informal version of this theorem;
"You can't comb a hairy ball smooth."
The adjective `long-haired' is well-attested to have been in slang use
among scientists and engineers during the early 1950s; it was
equivalent to modern `hairy' senses 1 and 2, and was very likely
ancestral to the hackish use. In fact the noun `long-hair' was at the
time used to describe a person satisfying sense 3. Both senses
probably passed out of use when long hair was adopted as a signature
trait by the 1960s counterculture, leaving hackish `hairy' as a sort
of stunted mutant relic.
In British mainstream use, "hairy" means "dangerous", and
consequently, in British programming terms, "hairy" may be used to
denote complicated and/or incomprehensible code, but only if that
complexity or incomprehesiveness is also considered dangerous.
Node:HAKMEM, Next:[6586]hakspek, Previous:[6587]hairy, Up:[6588]= H =
HAKMEM /hak'mem/ n.
MIT AI Memo 239 (February 1972). A legendary collection of neat
mathematical and programming hacks contributed by many people at MIT
and elsewhere. (The title of the memo really is "HAKMEM", which is a
6-letterism for `hacks memo'.) Some of them are very useful
techniques, powerful theorems, or interesting unsolved problems, but
most fall into the category of mathematical and computer trivia. Here
is a sampling of the entries (with authors), slightly paraphrased:
Item 41 (Gene Salamin): There are exactly 23,000 prime numbers less
than 2^(18).
Item 46 (Rich Schroeppel): The most probable suit distribution in
bridge hands is 4-4-3-2, as compared to 4-3-3-3, which is the most
evenly distributed. This is because the world likes to have unequal
numbers: a thermodynamic effect saying things will not be in the state
of lowest energy, but in the state of lowest disordered energy.
Item 81 (Rich Schroeppel): Count the magic squares of order 5 (that
is, all the 5-by-5 arrangements of the numbers from 1 to 25 such that
all rows, columns, and diagonals add up to the same number). There are
about 320 million, not counting those that differ only by rotation and
reflection.
Item 154 (Bill Gosper): The myth that any given programming language
is machine independent is easily exploded by computing the sum of
powers of 2. If the result loops with period = 1 with sign +, you are
on a sign-magnitude machine. If the result loops with period = 1 at
-1, you are on a twos-complement machine. If the result loops with
period greater than 1, including the beginning, you are on a
ones-complement machine. If the result loops with period greater than
1, not including the beginning, your machine isn't binary -- the
pattern should tell you the base. If you run out of memory, you are on
a string or bignum system. If arithmetic overflow is a fatal error,
some fascist pig with a read-only mind is trying to enforce machine
independence. But the very ability to trap overflow is machine
dependent. By this strategy, consider the universe, or, more
precisely, algebra: Let X = the sum of many powers of 2 = ...111111
(base 2). Now add X to itself: X + X = ...111110. Thus, 2X = X - 1, so
X = -1. Therefore algebra is run on a machine (the universe) that is
two's-complement.
Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the only
number such that if you represent it on the [6589]PDP-10 as both an
integer and a floating-point number, the bit patterns of the two
representations are identical.
Item 176 (Gosper): The "banana phenomenon" was encountered when
processing a character string by taking the last 3 letters typed out,
searching for a random occurrence of that sequence in the text, taking
the letter following that occurrence, typing it out, and iterating.
This ensures that every 4-letter string output occurs in the original.
The program typed BANANANANANANANA.... We note an ambiguity in the
phrase, "the Nth occurrence of." In one sense, there are five 00's in
0000000000; in another, there are nine. The editing program TECO finds
five. Thus it finds only the first ANA in BANANA, and is thus
obligated to type N next. By Murphy's Law, there is but one NAN, thus
forcing A, and thus a loop. An option to find overlapped instances
would be useful, although it would require backing up N - 1 characters
before seeking the next N-character string.
Note: This last item refers to a [6590]Dissociated Press
implementation. See also [6591]banana problem.
HAKMEM also contains some rather more complicated mathematical and
technical items, but these examples show some of its fun flavor.
An HTML transcription of the entire document is available at
[6592]http://www.inwap.com/pdp10/hbaker/hakmem/hakmem.html.
Node:hakspek, Next:[6593]Halloween Documents, Previous:[6594]HAKMEM,
Up:[6595]= H =
hakspek /hak'speek/ n.
A shorthand method of spelling found on many British academic bulletin
boards and [6596]talker systems. Syllables and whole words in a
sentence are replaced by single ASCII characters the names of which
are phonetically similar or equivalent, while multiple letters are
usually dropped. Hence, for' becomes4'; two',too', and `to'
become 2';ck' becomes `k'. "Before I see you tomorrow" becomes "b4
i c u 2moro". First appeared in London about 1986, and was probably
caused by the slowness of available talker systems, which operated on
archaic machines with outdated operating systems and no standard
methods of communication. Has become rarer since. See also [6597]talk
mode.
Node:Halloween Documents, Next:[6598]hammer, Previous:[6599]hakspek,
Up:[6600]= H =
Halloween Documents n.
A pair of Microsoft internal strategy memoranda leaked to ESR in late
1998 that confirmed everybody's paranoia about the current [6601]Evil
Empire. [6602]These documents praised the technical excellence of
[6603]Linux and outlined a counterstrategy of attempting to lock in
customers by "de-commoditizing" Internet protocols and services. They
were extensively cited on the Internet and in the press and proved so
embarrassing that Microsoft PR barely said a word in public for six
months afterwards.
Node:hammer, Next:[6604]hamster, Previous:[6605]Halloween Documents,
Up:[6606]= H =
hammer vt.
Commonwealth hackish syn. for [6607]bang on.
Node:hamster, Next:[6608]HAND, Previous:[6609]hammer, Up:[6610]= H =
hamster n.
[Fairchild] A particularly slick little piece of code that does onething well; a small, self-contained hack. The image is of a hamster
[6611]happily spinning its exercise wheel. 2. A tailless mouse; that
is, one with an infrared link to a receiver on the machine, as opposed
to the conventional cable. 3. [UK] Any item of hardware made by
Amstrad, a company famous for its cheap plastic PC-almost-compatibles.
Node:HAND, Next:[6612]hand cruft, Previous:[6613]hamster, Up:[6614]= H
=
HAND //
[Usenet: very common] Abbreviation: Have A Nice Day. Typically used to
close a [6615]Usenet posting, but also used to informally close
emails; often preceded by [6616]HTH.
Node:hand cruft, Next:[6617]hand-hacking, Previous:[6618]HAND,
Up:[6619]= H =
hand cruft vt.
[pun on `hand craft'] See [6620]cruft, sense 3.
Node:hand-hacking, Next:[6621]hand-roll, Previous:[6622]hand cruft,
Up:[6623]= H =
hand-hacking n.
[rare] The practice of translating [6624]hot spots from an[6625]HLL into hand-tuned assembler, as opposed to trying to coerce
the compiler into generating better code. Both the term and the
practice are becoming uncommon. See [6626]tune, [6627]bum, [6628]by
hand; syn. with v. [6629]cruft. 2. [common] More generally, manual
construction or patching of data sets that would normally be generated
by a translation utility and interpreted by another program, and
aren't really designed to be read or modified by humans.
Node:hand-roll, Next:[6630]handle, Previous:[6631]hand-hacking,
Up:[6632]= H =
hand-roll v.
[from obs. mainstream slang `hand-rolled' in opposition to
`ready-made', referring to cigarettes] To perform a normally automated
software installation or configuration process [6633]by hand; implies
that the normal process failed due to bugs
Comments (0)