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
Node:some random X, Next:[12462]sorcerer's apprentice mode,
Previous:[12463]softy, Up:[12464]= S =
some random X adj.
Used to indicate a member of class X, with the implication that Xs are
interchangeable. "I think some random cracker tripped over the guest
timeout last night." See also [12465]J. Random.
Node:sorcerer's apprentice mode, Next:[12466]SOS, Previous:[12467]some
random X, Up:[12468]= S =
sorcerer's apprentice mode n.
[from Goethe's "Der Zauberlehrling" via Paul Dukas's "L'apprenti
sorcier" the film "Fantasia"] A bug in a protocol where, under some
circumstances, the receipt of a message causes multiple messages to be
sent, each of which, when received, triggers the same bug. Used esp.
of such behavior caused by [12469]bounce message loops in [12470]email
software. Compare [12471]broadcast storm, [12472]network meltdown,
[12473]software laser, [12474]ARMM.
Node:SOS, Next:[12475]source, Previous:[12476]sorcerer's apprentice
mode, Up:[12477]= S =
SOS /S-O-S/
n.,obs. An infamously [12478]losing text editor. Once, back in the
1960s, when a text editor was needed for the PDP-6, a hacker crufted
together a [12479]quick-and-dirty `stopgap editor' to be used until a
better one was written. Unfortunately, the old one was never really
discarded when new ones came along. SOS is a descendant (`Son of
Stopgap') of that editor, and many PDP-10 users gained the dubious
pleasure of its acquaintance. Since then other programs similar in
style to SOS have been written, notably the early font editor BILOS
/bye'lohs/, the Brother-In-Law Of Stopgap (the alternate expansion
`Bastard Issue, Loins of Stopgap' has been proposed).
Node:source, Next:[12480]source of all good bits, Previous:[12481]SOS,
Up:[12482]= S =
source n.
[very common] In reference to software, `source' is invariably
shorthand for `source code', the preferred human-readable and
human-modifiable form of the program. This is as opposed to object
code, the derived binary executable form of a program. This shorthand
readily takes derivative forms; one may speak of "the sources of a
system" or of "having source".
Node:source of all good bits, Next:[12483]space-cadet keyboard,
Previous:[12484]source, Up:[12485]= S =
source of all good bits n.
A person from whom (or a place from which) useful information may be
obtained. If you need to know about a program, a [12486]guru might be
the source of all good bits. The title is often applied to a
particularly competent secretary.
Node:space-cadet keyboard, Next:[12487]spaceship operator,
Previous:[12488]source of all good bits, Up:[12489]= S =
space-cadet keyboard n.
A now-legendary device used on MIT LISP machines, which inspired
several still-current jargon terms and influenced the design of
[12490]EMACS. It was equipped with no fewer than seven shift keys:
four keys for [12491]bucky bits (control',meta', `hyper', and
super') and three like regular shift keys, calledshift', `top', and
`front'. Many keys had three symbols on them: a letter and a symbol on
the top, and a Greek letter on the front. For example, the `L' key had
an `L' and a two-way arrow on the top, and the Greek letter lambda on
the front. By pressing this key with the right hand while playing an
appropriate `chord' with the left hand on the shift keys, you could
get the following results:
L
lowercase lshift-L
uppercase Lfront-L
lowercase lambdafront-shift-L
uppercase lambdatop-L
two-way arrow (front and shift are ignored)And of course each of these might also be typed with any combination
of the control, meta, hyper, and super keys. On this keyboard, you
could type over 8000 different characters! This allowed the user to
type very complicated mathematical text, and also to have thousands of
single-character commands at his disposal. Many hackers were actually
willing to memorize the command meanings of that many characters if it
reduced typing time (this attitude obviously shaped the interface of
EMACS). Other hackers, however, thought having that many bucky bits
was overkill, and objected that such a keyboard can require three or
four hands to operate. See [12492]bucky bits, [12493]cokebottle,
[12494]double bucky, [12495]meta bit, [12496]quadruple bucky.
Note: early versions of this entry incorrectly identified the
space-cadet keyboard with the `Knight keyboard'. Though both were
designed by Tom Knight, the latter term was properly applied only to a
keyboard used for ITS on the PDP-10 and modeled on the Stanford
keyboard (as described under [12497]bucky bits). The true space-cadet
keyboard evolved from the first Knight keyboard.
Node:spaceship operator, Next:[12498]SPACEWAR,
Previous:[12499]space-cadet keyboard, Up:[12500]= S =
spaceship operator n.
The glyph <=>, so-called apparently because in the low-resolution
constant-width font used on many terminals it vaguely resembles a
flying saucer. [12501]Perl uses this to denote the
signum-of-difference operation.
Node:SPACEWAR, Next:[12502]spaghetti code, Previous:[12503]spaceship
operator, Up:[12504]= S =
SPACEWAR n.
A space-combat simulation game, inspired by E. E. "Doc" Smith's
"Lensman" books, in which two spaceships duel around a central sun,
shooting torpedoes at each other and jumping through hyperspace. This
game was first implemented on the PDP-1 at MIT in 1962. In 1968-69, a
descendant of the game motivated Ken Thompson to build, in his spare
time on a scavenged PDP-7, the operating system that became
[12505]Unix. Less than nine years after that, SPACEWAR was
commercialized as one of the first video games; descendants are still
[12506]feeping in video arcades everywhere.
Node:spaghetti code, Next:[12507]spaghetti inheritance,
Previous:[12508]SPACEWAR, Up:[12509]= S =
spaghetti code n.
Code with a complex and tangled control structure, esp. one using many
GOTOs, exceptions, or other `unstructured' branching constructs.
Pejorative. The synonym `kangaroo code' has been reported, doubtless
because such code has so many jumps in it.
Node:spaghetti inheritance, Next:[12510]spam,
Previous:[12511]spaghetti code, Up:[12512]= S =
spaghetti inheritance n.
[encountered among users of object-oriented languages that use
inheritance, such as Smalltalk] A convoluted class-subclass graph,
often resulting from carelessly deriving subclasses from other classes
just for the sake of reusing their code. Coined in a (successful)
attempt to discourage such practice, through guilt-by-association with
[12513]spaghetti code.
Node:spam, Next:[12514]spam bait, Previous:[12515]spaghetti
inheritance, Up:[12516]= S =
spam vt.,vi.,n.
[from "Monty Python's Flying Circus"] 1. To crash a program by
overrunning a fixed-size buffer with excessively large input data. See
also [12517]buffer overflow, [12518]overrun screw, [12519]smash the
stack. 2. To cause a newsgroup to be flooded with irrelevant or
inappropriate messages. You can spam a newsgroup with as little as one
well- (or ill-) planned message (e.g. asking "What do you think of
abortion?" on soc.women). This is often done with [12520]cross-posting
(e.g. any message which is crossposted to alt.rush-limbaugh and
alt.politics.homosexuality will almost inevitably spam both groups).
This overlaps with [12521]troll behavior; the latter more specific
term has become more common. 3. To send many identical or
nearly-identical messages separately to a large number of Usenet
newsgroups. This is more specifically called `ECP', Excessive
Cross-Posting. This is one sure way to infuriate nearly everyone on
the Net. See also [12522]velveeta and [12523]jello. 4. To bombard a
newsgroup with multiple copies of a message. This is more specifically
called `EMP', Excessive Multi-Posting. 5. To mass-mail unrequested
identical or nearly-identical email messages, particularly those
containing advertising. Especially used when the mail addresses have
been culled from network traffic or databases without the consent of
the recipients. Synonyms include [12524]UCE, [12525]UBE. 6. Any large,
annoying, quantity of output. For instance, someone on IRC who walks
away from their screen and comes back to find 200 lines of text might
say "Oh no, spam".
The later definitions have become much more prevalent as the Internet
has opened up to non-techies, and to most people senses 3 4 and 5 are
now primary. All three behaviors are considered abuse of the net, and
are almost universally grounds for termination of the originator's
email account or network connection. In these senses the term `spam'
has gone mainstream, though without its original sense or folkloric
freight - there is apparently a widespread myth among [12526]lusers
that "spamming" is what happens when you dump cans of Spam into a
revolving fan.
Node:spam bait, Next:[12527]spamblock, Previous:[12528]spam,
Up:[12529]= S =
spam bait n.
Email addresses included in, or comprising the entirety of, a usenet
message so that spammers mining a newsgroup with an [12530]address
harvester will collect them. These addresses can be people who have
offended or annoyed the poster, or who are included so that a spammer
will spam an official, thereby causing himself trouble. One
particularly effective form of spam bait is the address of a
[12531]teergrube.
Node:spamblock, Next:[12532]spamhaus, Previous:[12533]spam bait,
Up:[12534]= S =
spamblock /spam'blok/ n.
[poss. by analogy to sunblock] Text inserted in an email address to
render it invalid and thus useless to spammers. For example, the
address `jrandom@hacker.org' might be transformed to
`jrandom@NOSPAM.hacker.org'. Adding spamblock to an address is often
referred to as `munging' it (see [12535]munge)-. This evasion tactic
depends on the fact that most spammers collect names with some sort of
[12536]address harvester on volumes too high to de-mung by hand, but
individual humans reading an email message can readily spot and remove
a spamblock in the from address.
Note: This is not actually a very effective tactic, and may already be
passing out of use in early 1999 after about two years of life. In
both mail and news, it's essentially impossible to keep a smart
address harvester from mining out the addresses in the message header
and trace lines. Therefore the only people who can be protected are
third parties mentioned by email address in the message - not a common
enough case to interest spammers.
Node:spamhaus, Next:[12537]spamvertize, Previous:[12538]spamblock,
Up:[12539]= S =
spamhaus spam'hows n.
Pejorative term for an internet service provider that permits or even
encourages [12540]spam mailings from its systems. The plural is
`spamhausen'. There is a web page devoted to [12541]tracking
spamhausen.
The most notorious of the spamhausen was Sanford Wallace's Cyber
Promotions Inc., shut down by a lawsuit on 16 October 1997. The
anniversary of the shutdown is celebrated on Usenet as Spam Freedom
Day, but lesser imitators of the Spamford still infest various murky
corners of the net. Since prosecution of spammers became routine under
the junk-fax laws and statues specifically targeting spam, spamhausen
have declined in relative importance; today, hit-and-run attacks by
spammers using [12542]relay rape and [12543]throwaway accounts on
reputable ISPs seem to account for most of the flow.
Node:spamvertize, Next:[12544]spangle, Previous:[12545]spamhaus,
Up:[12546]= S =
spamvertize v.
To advertise using [12547]spam. Pejorative.
Node:spangle, Next:[12548]spawn, Previous:[12549]spamvertize,
Up:[12550]= S =
spangle n.
[UK] The singular of [12551]bells and whistles. See also
[12552]spungle.
Node:spawn, Next:[12553]special-case, Previous:[12554]spangle,
Up:[12555]= S =
spawn n.,vi.
[techspeak] In UNIX parlance, to create a child process from withina process. Technically this is a fork'; the termspawn' is a bit
more general and is used for threads (lightweight processes) as well
as traditional heavyweight processes. 2. In gaming, meant to indicate
where (spawn-point') and when a player comes to life (orre-spawns')
after being killed. Opposite of [12556]frag.
Node:special-case, Next:[12557]speedometer, Previous:[12558]spawn,
Up:[12559]= S =
special-case vt.
To write unique code to handle input to or situations arising in a
program that are somehow distinguished from normal processing. This
would be used for processing of mode switches or interrupt characters
in an interactive interface (as opposed, say, to text entry or normal
commands), or for processing of [12560]hidden flags in the input of a
batch program or [12561]filter.
Node:speedometer, Next:[12562]spell, Previous:[12563]special-case,
Up:[12564]= S =
speedometer n.
A pattern of lights displayed on a linear set of LEDs (today) or nixie
tubes (yesterday, on ancient mainframes). The pattern is shifted left
every N times the operating system goes through its [12565]main loop.
A swiftly moving pattern indicates that the system is mostly idle; the
speedometer slows down as the system becomes overloaded. The
speedometer on Sun Microsystems hardware bounces back and forth like
the eyes on one of the Cylons from the wretched "Battlestar Galactica"
TV series.
Historical note: One computer, the GE 600 (later Honeywell 6000)
actually had an analog speedometer on the front panel, calibrated in
instructions executed per second.
Node:spell, Next:[12566]spelling flame, Previous:[12567]speedometer,
Up:[12568]= S =
spell n.
Syn. [12569]incantation.
Node:spelling flame, Next:[12570]spider, Previous:[12571]spell,
Up:[12572]= S =
Comments (0)