Now RPG and his then-wife KBT (Kathy Tracy) were putting us up

(putting up with us?) in their home for our visit, so to thank them

JONL and I took them out to a nice French restaurant of their

choosing. I unadventurously chose the filet mignon, and KBT had je

ne sais quoi du jour, but RPG and JONL had lapin (rabbit).

(Waitress: "Oui, we have fresh rabbit, fresh today." RPG: "Well,

JONL, I guess we won't need any *ginger*!")

We finished the meal late, about 11 P.M., which is 2 A.M Boston

time, so JONL and I were rather droopy. But it wasn't yet

midnight. Off to Uncle Gaylord's!

Now the French restaurant was in Redwood City, north of Palo Alto.

In leaving Redwood City, we somehow got onto route 101 going north

instead of south. JONL and I wouldn't have known the difference

had RPG not mentioned it. We still knew very little of the local

geography. I did figure out, however, that we were headed in the

direction of Berkeley, and half-jokingly suggested that we continue

north and go to Uncle Gaylord's in Berkeley.

RPG said "Fine!" and we drove on for a while and talked. I was

drowsy, and JONL actually dropped off to sleep for 5 minutes. When

he awoke, RPG said, "Gee, JONL, you must have slept all the way

over the bridge!", referring to the one spanning San Francisco Bay.

Just then we came to a sign that said "University Avenue". I

mumbled something about working our way over to Telegraph Avenue;

RPG said "Right!" and maneuvered some more. Eventually we pulled

up in front of an Uncle Gaylord's.

Now, I hadn't really been paying attention because I was so sleepy,

and I didn't really understand what was happening until RPG let me

in on it a few moments later, but I was just alert enough to notice

that we had somehow come to the Palo Alto Uncle Gaylord's after

all.

JONL noticed the resemblance to the Palo Alto store, but hadn't

caught on. (The place is lit with red and yellow lights at night,

and looks much different from the way it does in daylight.) He

said, "This isn't the Uncle Gaylord's I went to in Berkeley! It

looked like a barn! But this place looks *just like* the one back

in Palo Alto!"

RPG deadpanned, "Well, this is the one *I* always come to when I'm

in Berkeley. They've got two in San Francisco, too. Remember,

they're a chain."

JONL accepted this bit of wisdom. And he was not totally ignorant

--- he knew perfectly well that University Avenue was in Berkeley,

not far from Telegraph Avenue. What he didn't know was that there

is a completely different University Avenue in Palo Alto.

JONL went up to the counter and asked for ginger honey. The guy at

the counter asked whether JONL would like to taste it first,

evidently their standard procedure with that flavor, as not too

many people like it.

JONL said, "I'm sure I like it. Just give me a cone." The guy

behind the counter insisted that JONL try just a taste first.

"Some people think it tastes like soap." JONL insisted, "Look, I

*love* ginger. I eat Chinese food. I eat raw ginger roots. I

already went through this hassle with the guy back in Palo Alto. I

*know* I like that flavor!"

At the words "back in Palo Alto" the guy behind the counter got a

very strange look on his face, but said nothing. KBT caught his

eye and winked. Through my stupor I still hadn't quite grasped

what was going on, and thought RPG was rolling on the floor

laughing and clutching his stomach just because JONL had launched

into his spiel ("makes rotten meat a dish for princes") for the

forty-third time. At this point, RPG clued me in fully.

RPG, KBT, and I retreated to a table, trying to stifle our

chuckles. JONL remained at the counter, talking about ice cream

with the guy b.t.c., comparing Uncle Gaylord's to other ice cream

shops and generally having a good old time.

At length the g.b.t.c. said, "How's the ginger honey?" JONL said,

"Fine! I wonder what exactly is in it?" Now Uncle Gaylord

publishes all his recipes and even teaches classes on how to make

his ice cream at home. So the g.b.t.c. got out the recipe, and he

and JONL pored over it for a while. But the g.b.t.c. could contain

his curiosity no longer, and asked again, "You really like that

stuff, huh?" JONL said, "Yeah, I've been eating it constantly back

in Palo Alto for the past two days. In fact, I think this batch is

about as good as the cones I got back in Palo Alto!"

G.b.t.c. looked him straight in the eye and said, "You're *in* Palo

Alto!"

JONL turned slowly around, and saw the three of us collapse in a

fit of giggles. He clapped a hand to his forehead and exclaimed,

"I've been hacked!"

[My spies on the West Coast inform me that there is a close relative

of the raspberry found out there called an `olallieberry' --- ESR]

[Ironic footnote: it appears that the {meme} about ginger vs.

rotting meat may be an urban legend. It's not borne out by an

examination of medieval recipes or period purchase records for

spices, and appears full-blown in the works of Samuel Pegge, a

gourmand and notorious flake case who originated numerous food

myths. --- ESR]

:sagan: /say'gn/ [from Carl Sagan's TV series "Cosmos";

think "billions and billions"] n. A large quantity of anything.

"There's a sagan different ways to tweak EMACS." "The

U.S. Government spends sagans on bombs and welfare --- hard to say

which is more destructive."

:SAIL:: /sayl/, not /S-A-I-L/ n. 1. Stanford Artificial

Intelligence Lab. An important site in the early development of

LISP; with the MIT AI Lab, BBN, CMU, XEROX PARC, and the UNIX

community, one of the major wellsprings of technical innovation and

hacker-culture traditions (see the {{WAITS}} entry for details).

The SAIL machines were officially shut down in late May 1990, scant

weeks after the MIT AI Lab's ITS cluster was officially

decommissioned. 2. The Stanford Artificial Intelligence Language

used at SAIL (sense 1). It was an Algol-60 derivative with a

coroutining facility and some new data types intended for building

search trees and association lists.

:salescritter: /sayls'kri`tr/ n. Pejorative hackerism for a computer

salesperson. Hackers tell the following joke:

Q. What's the difference between a used-car dealer and a

computer salesman?

A. The used-car dealer knows he's lying. [Some versions add:

...and probably knows how to drive.]

This reflects the widespread hacker belief that salescritters are

self-selected for stupidity (after all, if they had brains and the

inclination to use them, they'd be in programming). The terms

`salesthing' and `salesdroid' are also common. Compare

{marketroid}, {suit}, {droid}.

:salsman: /salz'm*n/ v. To flood a mailing list or newsgroup with

huge amounts of useless, trivial or redundant information. From

the name of a hacker who has frequently done this on some widely

distributed mailing lists.

:salt mines: n. Dense quarters housing large numbers of programmers

working long hours on grungy projects, with some hope of seeing the

end of the tunnel in N years. Noted for their absence of sunshine.

Compare {playpen}, {sandbox}.

:salt substrate: [MIT] n. Collective noun used to refer to potato

chips, pretzels, saltines, or any other form of snack food

designed primarily as a carrier for sodium chloride. From the

technical term `chip substrate', used to refer to the silicon on the

top of which the active parts of integrated circuits are deposited.

:same-day service: n. Ironic term used to describe long response

time, particularly with respect to {{MS-DOS}} system calls (which

ought to require only a tiny fraction of a second to execute).

Such response time is a major incentive for programmers to write

programs that are not {well-behaved}. See also {PC-ism}.

:samurai: n. A hacker who hires out for legal cracking jobs,

snooping for factions in corporate political fights, lawyers

pursuing privacy-rights and First Amendment cases, and other

parties with legitimate reasons to need an electronic locksmith.

In 1991, mainstream media reported the existence of a loose-knit

culture of samurai that meets electronically on BBS systems, mostly

bright teenagers with personal micros; they have modeled

themselves explicitly on the historical samurai of Japan and on the

"net cowboys" of William Gibson's {cyberpunk} novels. Those

interviewed claim to adhere to a rigid ethic of loyalty to their

employers and to disdain the vandalism and theft practiced by

criminal crackers as beneath them and contrary to the hacker ethic;

some quote Miyamoto Musashi's `Book of Five Rings', a classic

of historical samurai doctrine, in support of these principles.

See also {Stupids}, {social engineering}, {cracker},

{hacker ethic, the}, and {dark-side hacker}.

:sandbender: [IBM] n. A person involved with silicon lithography and

the physical design of chips. Compare {ironmonger}, {polygon

pusher}.

:sandbox: n. 1. (also `sandbox, the') Common term for the

R&D department at many software and computer companies (where hackers

in commercial environments are likely to be found). Half-derisive,

but reflects the truth that research is a form of creative play.

Compare {playpen}. 2. Syn. {link farm}

:sanity check: n. 1. The act of checking a piece of code (or

anything else, e.g., a USENET posting) for completely stupid mistakes.

Implies that the check is to make sure the author was sane when it

was written; e.g., if a piece of scientific software relied on a

particular formula and was giving unexpected results, one might

first look at the nesting of parentheses or the coding of the

formula, as a `sanity check', before looking at the more complex

I/O or data structure manipulation routines, much less the

algorithm itself. Compare {reality check}. 2. A run-time test,

either validating input or ensuring that the program hasn't screwed

up internally (producing an inconsistent value or state).

:Saturday-night special: [from police slang for a cheap handgun] n.

A program or feature kluged together during off hours, under a

deadline, and in response to pressure from a {salescritter}.

Such hacks are dangerously unreliable, but all too often sneak into

a production release after insufficient review.

:say: vt. 1. To type to a terminal. "To list a directory

verbosely, you have to say `ls -l'." Tends to imply a

{newline}-terminated command (a `sentence'). 2. A computer

may also be said to `say' things to you, even if it doesn't have

a speech synthesizer, by displaying them on a terminal in response

to your commands. Hackers find it odd that this usage confuses

{mundane}s.

:scag: vt. To destroy the data on a disk, either by corrupting the

filesystem or by causing media damage. "That last power hit scagged

the system disk." Compare {scrog}, {roach}.

:scanno: n. An error in a document caused by a scanner glitch,

analgous to typo or {thinko}.

:schroedinbug: [MIT: from the Schroedinger's Cat thought-experiment in

quantum physics] n. A design or implementation bug in a program

which doesn't manifest until someone reading source or using the

program in an unusual way notices that it never should have worked,

at which point the program promptly stops working for everybody

until fixed. Though this sounds impossible, it happens; some

programs have harbored latent schroedinbugs for years. Compare

{heisenbug}, {Bohr bug}, {mandelbug}.

:science-fiction fandom:: n. Another voluntary subculture having a

very heavy overlap with hackerdom; most hackers read SF and/or

fantasy fiction avidly, and many go to `cons' (SF conventions) or

are involved in fandom-connected activities such as the Society for

Creative Anachronism. Some hacker jargon originated in SF fandom;

see {defenestration}, {great-wall}, {cyberpunk}, {h}, {ha ha

only serious}, {IMHO}, {mundane}, {neep-neep}, {Real

Soon Now}. Additionally, the jargon terms {cowboy},

{cyberspace}, {de-rezz}, {go flatline}, {ice}, {virus},

{wetware}, {wirehead}, and {worm} originated in SF

stories.

:scram switch: [from the nuclear power industry] n. An

emergency-power-off switch (see {Big Red Switch}), esp. one

positioned to be easily hit by evacuating personnel. In general,

this is *not* something you {frob} lightly; these often

initiate expensive events (such as Halon dumps) and are installed

in a {dinosaur pen} for use in case of electrical fire or in

case some luckless {field servoid} should put 120 volts across

himself while {Easter egging}. (See also {molly-guard}.)

:scratch: 1. [from `scratchpad'] adj. Describes a data

structure or recording medium attached to a machine for testing or

temporary-use purposes; one that can be {scribble}d on without

loss. Usually in the combining forms `scratch memory',

`scratch register', `scratch disk', `scratch tape',

`scratch volume'. See {scratch monkey}. 2. [primarily

IBM] vt. To delete (as in a file).

:scratch monkey: n. As in "Before testing or reconfiguring, always

mount a {scratch monkey}", a proverb used to advise caution

when dealing with irreplaceable data or devices. Used to refer to

any scratch volume hooked to a computer during any risky operation

as a replacement for some precious resource or data that might

otherwise get trashed.

This term preserves the memory of Mabel, the Swimming Wonder

Monkey, star of a biological research program at the University of

Toronto ca. 1986. Mabel was not (so the legend goes) your ordinary

monkey; the university had spent years teaching her how to swim,

breathing through a regulator, in order to study the effects of

different gas mixtures on her physiology. Mabel suffered an

untimely demise one day when DEC {PM}ed the PDP-11 controlling

her regulator (see also {provocative maintenance}).

It is recorded that, after calming down an understandably irate

customer sufficiently to ascertain the facts of the matter, a DEC

troubleshooter called up the {field circus} manager responsible

and asked him sweetly, "Can you swim?"

Not all the consequences to humans were so amusing; the sysop of

the machine in question was nearly thrown in jail at the behest of

certain clueless droids at the local `humane' society. The moral

is clear: When in doubt, always mount a scratch monkey.

:screw: [MIT] n. A {lose}, usually in software. Especially used for

user-visible misbehavior caused by a bug or misfeature. This use

has become quite widespread outside MIT.

:screwage: /skroo'*j/ n. Like {lossage} but connotes that the

failure is due to a designed-in misfeature rather than a simple

inadequacy or a mere bug.

:scribble: n. To modify a data structure in a random and

unintentionally destructive way. "Bletch! Somebody's

disk-compactor program went berserk and scribbled on the i-node

table." "It was working fine until one of the allocation routines

scribbled on low core." Synonymous with {trash}; compare {mung},

which conveys a bit more intention, and {mangle}, which is more

violent and final.

:scrog: /skrog/ [Bell Labs] vt. To damage, trash, or corrupt a

data structure. "The list header got scrogged." Also reported

as `skrog', and ascribed to the comic strip "The Wizard of

Id". Compare {scag}; possibly the two are related. Equivalent

to {scribble} or {mangle}.

:scrool: /skrool/ [from the pioneering Roundtable chat system in

Houston ca. 1984; prob. originated as a typo for `scroll'] n. The

log of old messages, available for later perusal or to help one get

back in synch with the conversation. It was originally called the

`scrool monster', because an early version of the roundtable

software had a bug where it would dump all 8K of scrool on a user's

terminal.

:scrozzle: /skroz'l/ vt. Used when a self-modifying code segment runs

incorrectly and corrupts the running program or vital data. "The

damn compiler scrozzled itself again!"

:scruffies: n. See {neats vs. scruffies}.

:SCSI: [Small Computer System Interface] n. A bus-independent

standard for system-level interfacing between a computer and

intelligent devices. Typically annotated in literature with `sexy'

(/sek'see/), `sissy' (/sis'ee/), and `scuzzy' (/skuh'zee/) as

pronunciation guides --- the last being the overwhelmingly

predominant form, much to the dismay of the designers and their

marketing people. One can usually assume that a person who

pronounces it /S-C-S-I/ is clueless.

:ScumOS: n. Unflattering hackerism for SunOS, the UNIX variant

supported on Sun Microsystems's UNIX workstations (see also

{sun-stools}), and compare {AIDX}, {terminak},

{Macintrash} {Nominal Semidestructor}, {Open DeathTrap},

{HP-SUX}. Despite what this term might suggest, Sun was

founded by hackers and still enjoys excellent relations with

hackerdom; usage is more often in exasperation than outright

loathing.

:search-and-destroy mode: n. Hackerism for the search-and-replace

facility in an editor, so called because an incautiously chosen

match pattern can cause {infinite} damage.

:second-system effect: n. (sometimes, more euphoniously,

`second-system syndrome') When one is designing the successor to

a relatively small, elegant, and successful system, there is a

tendency to become grandiose in one's success and design an

{elephantine} feature-laden monstrosity. The term was first

used by Fred Brooks in his classic `The Mythical Man-Month:

Essays on Software Engineering' (Addison-Wesley, 1975; ISBN

0-201-00650-2). It described the jump from a set of nice, simple

operating systems on the IBM 70xx series to OS/360 on the

360 series. A similar effect can also happen in an evolving

system; see {Brooks's Law}, {creeping elegance}, {creeping

featurism}. See also {{Multics}}, {OS/2}, {X}, {software

bloat}.

This version of the jargon lexicon has been described (with

altogether too much truth for comfort) as an example of

second-system effect run amok on jargon-1....

:secondary damage: n. When a fatal error occurs (esp. a

{segfault}) the immediate cause may be that a pointer has been

trashed due to a previous {fandango on core}. However, this

fandango may have been due to an *earlier* fandango, so no

amount of analysis will reveal (directly) how the damage occurred.

"The data structure was clobbered, but it was secondary damage."

By extension, the corruption resulting from N cascaded

fandangoes on core is `Nth-level damage'. There is at least

one case on record in which 17 hours of {grovel}ling with

`adb' actually dug up the underlying bug behind an instance of

seventh-level damage! The hacker who accomplished this

near-superhuman feat was presented with an award by his fellows.

:security through obscurity: n. A name applied by hackers to most

OS vendors' favorite way of coping with security holes --- namely,

ignoring them and not documenting them and trusting that nobody

will find out about them and that people who do find out about them

won't exploit them. This never works for long and occasionally

sets the world up for debacles like the {RTM} worm of 1988 (see

{Great Worm, the}), but once the brief moments of panic created

by such events subside most vendors are all too willing to turn

over and go back to sleep. After all, actually fixing the bugs

would siphon off the resources needed to implement the next

user-interface frill on marketing's wish list --- and besides, if

they started fixing security bugs customers might begin to

*expect* it and imagine that their warranties of

merchantability gave them some sort of *right* to a system

with fewer holes in it than a shotgunned Swiss cheese, and

*then* where would we be?

Historical note: There are conflicting stories about the origin of

this term. It has been claimed that it was first used in the

USENET newsgroup in comp.sys.apollo during a campaign to get

HP/Apollo to fix security problems in its UNIX-{clone}

Aegis/DomainOS (they didn't change a thing). {ITS} fans, on the

other hand, say it was coined years earlier in opposition to the

incredibly paranoid {Multics} people down the hall, for whom

security was everything. In the ITS culture it referred to (1) the

fact that that by the time a tourist figured out how to make

trouble he'd generally gotten over the urge to make it, because he

felt part of the community; and (2) (self-mockingly) the poor

coverage of the documentation and obscurity of many commands. One

instance of *deliberate* security through obscurity is

recorded; the command to allow patching the running ITS system

({altmode} altmode control-R) echoed as $$^D. If you actually

typed alt alt ^D, that set a flag which would prevent patching the

system even if you later got it right.

:SED: [TMRC, from `Light-Emitting Diode'] /S-E-D/ n.

Smoke-emitting diode. A {friode} that lost the war. See

{LER}.

:segfault: n.,vi. Syn. {segment}, {seggie}.

:seggie: /seg'ee/ [UNIX] n. Shorthand for {segmentation fault}

reported from Britain.

:segment: /seg'ment/ vi. To experience a {segmentation fault}.

Confusingly, this is often pronounced more like the noun `segment'

than like mainstream v. segment; this is because it is actually a

noun shorthand that has been verbed.

:segmentation fault: n. [UNIX] 1. An error in which a running program

attempts to access memory not allocated to it and {core dump}s

with a segmentation violation error. 2. To lose a train of

thought or a line of reasoning. Also uttered as an exclamation at

the point of befuddlement.

:segv: /seg'vee/ n.,vi. Yet another synonym for {segmentation

fault} (actually, in this case, `segmentation violation').

:self-reference: n. See {self-reference}.

:selvage: /sel'v*j/ [from sewing] n. See {chad} (sense 1).

:semi: /se'mee/ or /se'mi:/ 1. n. Abbreviation for

`semicolon', when speaking. "Commands to {grind} are

prefixed by semi-semi-star" means that the prefix is `;;*',

not 1/4 of a star. 2. A prefix used with words such as

`immediately' as a qualifier. "When is the system coming up?"

"Semi-immediately." (That is, maybe not for an hour.) "We did

consider that possibility semi-seriously." See also

{infinite}.

:semi-infinite: n. See {infinite}.

:senior bit: [IBM] n. Syn. {meta bit}.

:server: n. A kind of {daemon} that performs a service for the

requester and which often runs on a computer other than the one on

which the server runs. A particularly common term on the Internet,

which is rife with `name servers', `domain servers', `news

servers', `finger servers', and the like.

:SEX: /seks/ [Sun Users' Group & elsewhere] n. 1. Software

EXchange. A technique invented by the blue-green algae hundreds of

millions of years ago to speed up their evolution, which had been

terribly slow up until then. Today, SEX parties are popular among

hackers and others (of course, these are no longer limited to

exchanges of genetic software). In general, SEX parties are a

{Good Thing}, but unprotected SEX can propagate a {virus}.

See also {pubic directory}. 2. The rather Freudian mnemonic

often used for Sign EXtend, a machine instruction found in the

PDP-11 and many other architectures. The RCA 1802 chip used in the

early Elf and SuperElf personal computers had a `SEt X register'

SEX instruction, but this seems to have had little folkloric

impact.

DEC's engineers nearly got a PDP-11 assembler that used the

`SEX' mnemonic out the door at one time, but (for once)

marketing wasn't asleep and forced a change. That wasn't the last

time this happened, either. The author of `The Intel 8086

Primer', who was one of the original designers of the 8086, noted

that there was originally a `SEX' instruction on that

processor, too. He says that Intel management got cold feet and

decreed that it be changed, and thus the instruction was renamed

`CBW' and `CWD' (depending on what was being extended).

Amusingly, the Intel 8048 (the microcontroller used in IBM PC

keyboards) is also missing straight `SEX' but has logical-or

and logical-and instructions `ORL' and `ANL'.

The Motorola 6809, used in the U.K.'s `Dragon 32' personal

computer, actually had an official `SEX' instruction; the 6502

in the Apple II it competed with did not. British hackers thought

this made perfect mythic sense; after all, it was commonly

observed, you could (on some theoretical level) have sex with a

dragon, but you can't have sex with an apple.

:sex changer: n. Syn. {gender mender}.

:shambolic link: n. A UNIX symbolic link, particularly when it

confuses you, points to nothing at all, or results in you ending up

in some completely unexpected part of the filesystem....

:shareware: /sheir'weir/ n. {Freeware} (sense 1) for which the

author requests some payment, usually in the accompanying

documentation files or in an announcement made by the software

itself. Such payment may or may not buy additional support or

functionality. See also {careware}, {charityware},

{crippleware}, {guiltware}, {postcardware}, and

{-ware}; compare {payware}.

:shelfware: /shelfweir/ n. Software purchased on a whim (by an

individual user) or in accordance with policy (by a corporation or

government agency), but not actually required for any particular

use. Therefore, it often ends up on some shelf.

:shell: [orig. {{Multics}} techspeak, widely propagated via UNIX] n.

1. [techspeak] The command interpreter used to pass commands to an

operating system; so called because it is the part of the operating

system that interfaces with the outside world. 2. More generally,

any interface program that mediates access to a special resource

or {server} for convenience, efficiency, or security reasons; for

this meaning, the usage is usually `a shell around' whatever.

This sort of program is also called a `wrapper'.

:shell out: [UNIX] n. To spawn an interactive {subshell} from

within a program (e.g., a mailer or editor). "Bang foo runs foo in

a subshell, while bang alone shells out."

:shift left (or right) logical: [from any of various machines'

instruction sets] 1. vi. To move oneself to the left (right). To

move out of the way. 2. imper. "Get out of that (my) seat! You

can shift to that empty one to the left (right)." Often

used without the `logical', or as `left shift' instead of

`shift left'. Sometimes heard as LSH /lish/, from the {PDP-10}

instruction set. See {Programmer's Cheer}.

:shim: n. A small piece of data inserted in order to achieve a

desired memory alignment or other addressing property. For

example, the PDP-11 UNIX linker, in split I&D (instructions and

data) mode, inserts a two-byte shim at location 0 in data space so

that no data object will have an address of 0 (and be confused with

the C null pointer). See also {loose bytes}.

:shitogram: /shit'oh-gram/ n. A *really* nasty piece of email.

Compare {nastygram}, {flame}.

:short card: n. A half-length IBM PC expansion card or adapter that

will fit in one of the two short slots located towards the right

rear of a standard chassis (tucked behind the floppy disk drives).

See also {tall card}.

:shotgun debugging: n. The software equivalent of {Easter egging};

the making of relatively undirected changes to software in the hope

that a bug will be perturbed out of existence. This almost never

works, and usually introduces more bugs.

:showstopper: n. A hardware or (especially) software bug that makes

an implementation effectively unusable; one that absolutely has to

be fixed before development can go on. Opposite in connotation

from its original theatrical use, which refers to something

stunningly *good*.

:shriek: n. See {excl}. Occasional CMU usage, also in common use

among APL fans and mathematicians, especially category theorists.

:Shub-Internet: /shuhb in't*r-net/ [MUD: from H. P. Lovecraft's

evil fictional deity `Shub-Niggurath', the Black Goat with a

Thousand Young] n. The harsh personification of the Internet,

Beast of a Thousand Processes, Eater of Characters, Avatar of Line

Noise, and Imp of Call Waiting; the hideous multi-tendriled entity

formed of all the manifold connections of the net. A sect of

MUDders worships Shub-Internet, sacrificing objects and praying for

good connections. To no avail --- its purpose is malign and evil,

and is the cause of all network slowdown. Often heard as in

"Freela casts a tac nuke at Shub-Internet for slowing her down."

(A forged response often follows along the lines of:

"Shub-Internet gulps down the tac nuke and burps happily.") Also

cursed by users of {FTP} and {telnet} when the system slows

down. The dread name of Shub-Internet is seldom spoken aloud, as

it is said that repeating it three times will cause the being to

wake, deep within its lair beneath the Pentagon.

:sidecar: n. 1. Syn. {slap on the side}. Esp. used of add-ons

for the late and unlamented IBM PCjr. 2. The IBM PC compatibility

box that could be bolted onto the side of an Amiga. Designed and

produced by Commodore, it broke all of the company's own rules.

If it worked with any other peripherals, it was by {magic}.

:SIG: n. The Association for Computing Machinery traditionally

sponsors Special Interest Groups in various technical areas;

well-known ones include SIGARCH (the Special Interest Group for

Computer Architecture) and SIGGRAPH (the Special Interest Group for

Computer Graphics). Hackers, not surprisingly, like to overextend

this naming convention to less formal associations like SIGBEER (at

ACM conferences) and SIGFOOD (at University of Illinois).

:sig block: /sig blok/ [UNIX; often written `.sig' there] n.

Short for `signature', used specifically to refer to the

electronic signature block that most UNIX mail- and news-posting

software will {automagically} append to outgoing mail and news.

The composition of one's sig can be quite an art form, including an

ASCII logo or one's choice of witty sayings (see {sig quote},

{fool file, the}); but many consider large sigs a waste of

{bandwidth}, and it has been observed that the size of one's sig

block is usually inversely proportional to one's longevity and

level of prestige on the net.

:sig quote: /sig kwoht/ [USENET] n. A maxim, quote, proverb, joke,

or slogan embedded in one's {sig block} and intended to convey

something of one's philosophical stance, pet peeves, or sense of

humor. "Calm down, it's only ones and zeroes."

:sig virus: n. A parasitic {meme} embedded in a {sig block}.

There was a {meme plague} or fad for these on USENET in late

1991. Most were equivalents of "I am a .sig virus. Please reproduce

me in your .sig block.". Of course, the .sig virus's memetic hook

is the giggle value of going along with the gag; this, however,

was a self-limiting phenomenon as more and more people picked up

on the idea. There were creative variants on it; some people

stuck `sig virus antibody' texts in their sigs, and there was at

least one instance of a sig virus eater.

:signal-to-noise ratio: [from analog electronics] n. Used by hackers

in a generalization of its technical meaning. `Signal' refers to

useful information conveyed by some communications medium, and

`noise' to anything else on that medium. Hence a low ratio implies

that it is not worth paying attention to the medium in question.

Figures for such metaphorical ratios are never given. The term is

most often applied to {USENET} newsgroups during {flame war}s.

Compare {bandwidth}. See also {coefficient of X}, {lost in

the noise}.

:silicon: n. Hardware, esp. ICs or microprocessor-based computer

systems (compare {iron}). Contrasted with software. See also

{sandbender}.

:silicon foundry: n. A company that {fab}s chips to the designs

of others. As of the late 1980s, the combination of silicon

foundries and good computer-aided design software made it much

easier for hardware-designing startup companies to come into being.

The downside of using a silicon foundry is that the distance from

the actual chip-fabrication processes reduces designers' control of

detail. This is somewhat analogous to the use of {HLL}s versus

coding in assembler.

:silly walk: [from Monty Python's Flying Circus] vi. 1. A ridiculous

procedure required to accomplish a task. Like {grovel}, but more

{random} and humorous. "I had to silly-walk through half the

/usr directories to find the maps file." 2. Syn. {fandango on

core}.

:silo: n. The FIFO input-character buffer in an RS-232 line card. So

called from DEC terminology used on DH and DZ line cards for the

VAX and PDP-11, presumably because it was a storage space for

fungible stuff that you put in the top and took out the bottom.

:Silver Book: n. Jensen and Wirth's infamous `Pascal User Manual

and Report', so called because of the silver cover of the

widely distributed Springer-Verlag second edition of 1978 (ISBN

0-387-90144-2). See {{book titles}}, {Pascal}.

:since time T equals minus infinity: adj. A long time ago; for as

long as anyone can remember; at the time that some particular frob

was first designed. Usually the word `time' is omitted. See also

{time T}.

:sitename: /si:t'naym/ [UNIX/Internet] n. The unique electronic

name of a computer system, used to identify it in UUCP mail,

USENET, or other forms of electronic information interchange. The

folklore interest of sitenames stems from the creativity and humor

they often display. Interpreting a sitename is not unlike

interpreting a vanity license plate; one has to mentally unpack it,

allowing for mono-case and length restrictions and the lack of

whitespace. Hacker tradition deprecates dull,

institutional-sounding names in favor of punchy, humorous, and

clever coinages (except that it is considered appropriate for the

official public gateway machine of an organization to bear the

organization's name or acronym). Mythological references, cartoon

characters, animal names, and allusions to SF or fantasy literature

are probably the most popular sources for sitenames (in roughly

descending order). The obligatory comment when discussing these is

Harris's Lament: "All the good ones are taken!" See also

{network address}.

:skrog: v. Syn. {scrog}.

:skulker: n. Syn. {prowler}.

:slap on the side: n. (also called a {sidecar}, or abbreviated

`SOTS'.) A type of external expansion hardware marketed by

computer manufacturers (e.g., Commodore for the Amiga 500/1000

series and IBM for the hideous failure called `PCjr'). Various

SOTS boxes provided necessities such as memory, hard drive

controllers, and conventional expansion slots.

:slash: n. Common name for the slant (`/', ASCII 0101111)

character. See {ASCII} for other synonyms.

:sleep: vi. 1. [techspeak] On a timesharing system, a process that

relinquishes its claim on the scheduler until some given event

occurs or a specified time delay elapses is said to `go to

sleep'. 2. In jargon, used very similarly to v. {block}; also

in `sleep on', syn. with `block on'. Often used to

indicate that the speaker has relinquished a demand for resources

until some (possibly unspecified) external event: "They can't get

the fix I've been asking for into the next release, so I'm going to

sleep on it until the release, then start hassling them again."

:slim: n. A small, derivative change (e.g., to code).

:slop: n. 1. A one-sided {fudge factor}, that is, an allowance for

error but in only one of two directions. For example, if you need

a piece of wire 10 feet long and have to guess when you cut it,

you make very sure to cut it too long, by a large amount if

necessary, rather than too short by even a little bit, because you

can always cut off the slop but you can't paste it back on again.

When discrete quantities are involved, slop is often introduced to

avoid the possibility of being on the losing side of a {fencepost

error}. 2. The percentage of `extra' code generated by a compiler

over the size of equivalent assembler code produced by

{hand-hacking}; i.e., the space (or maybe time) you lose because

you didn't do it yourself. This number is often used as a measure

of the goodness of a compiler; slop below 5% is very good, and

10% is usually acceptable. With modern compiler technology, esp.

on RISC machines, the compiler's slop may actually be

*negative*; that is, humans may be unable to generate code as

good. This is one of the reasons assembler programming is no

longer common.

:slopsucker: /slop'suhk-r/ n. A lowest-priority task that must

wait around until everything else has `had its fill' of machine

resources. Only when the machine would otherwise be idle is the

task allowed to `suck up the slop'. Also called a `hungry puppy'

or `bottom feeder'. One common variety of slopsucker hunts for

large prime numbers. Compare {background}.

:slurp: vt. To read a large data file entirely into {core} before

working on it. This may be contrasted with the strategy of reading

a small piece at a time, processing it, and then reading the next

piece. "This program slurps in a 1K-by-1K matrix and does

an FFT." See also {sponge}.

:smart: adj. Said of a program that does the {Right Thing} in a

wide variety of complicated circumstances. There is a difference

between calling a program smart and calling it intelligent; in

particular, there do not exist any intelligent programs (yet ---

see {AI-complete}). Compare {robust} (smart programs can be

{brittle}).

:smart terminal: n. 1. A terminal that has enough computing capability

to render graphics or to offload some kind of front-end processing

from the computer it talks to. The development of workstations and

personal computers has made this term and the product it describes

semi-obsolescent, but one may still hear variants of the phrase

`act like a smart terminal' used to describe the behavior of

workstations or PCs with respect to programs that execute almost

entirely out of a remote {server}'s storage, using said devices

as displays. Compare {glass tty}. 2. obs. Any terminal with an

addressable cursor; the opposite of a {glass tty}. Today, a

terminal with merely an addressable cursor, but with none of the

more-powerful features mentioned in sense 1, is called a {dumb

terminal}.

There is a classic quote from Rob Pike (inventor of the {blit}

terminal): "A smart terminal is not a smart*ass* terminal,

but rather a terminal you can educate." This illustrates a common

design problem: The attempt to make peripherals (or anything else)

intelligent sometimes results in finicky, rigid `special

features' that become just so much dead weight if you try to use

the device in any way the designer didn't anticipate. Flexibility

and programmability, on the other hand, are *really* smart.

Compare {hook}.

:smash case: vi. To lose or obliterate the uppercase/lowercase

distinction in text input. "MS-DOS will automatically smash case

in the names of all the files you create." Compare {fold case}.

:smash the stack: [C programming] n. On many C implementations it

is possible to corrupt the execution stack by writing past the end

of an array declared `auto' in a routine. Code that does this

is said to `smash the stack', and can cause return from the

routine to jump to a random address. This can produce some of the

most insidious data-dependent bugs known to mankind. Variants

include `trash' the stack, {scribble} the stack, {mangle}

the stack; the term *{mung} the stack is not used, as this is

never done intentionally. See {spam}; see also {aliasing

bug}, {fandango on core}, {memory leak}, {memory smash},

{precedence lossage}, {overrun screw}.

:smiley: n. See {emoticon}.

:smoke and mirrors: n. Marketing deceptions. The term is

mainstream in this general sense. Among hackers it's strongly

associated with bogus demos and crocked {benchmark}s (see also

{MIPS}, {machoflops}). "They claim their new box cranks 5

MIPS for under $5000, but didn't specify the instruction mix ---

sounds like smoke and mirrors to me." The phrase has been said to

derive from carnie slang for magic acts and `freak show' displays

that depend on `trompe l'oeil' effects, but also calls to mind

the fierce Aztec god Tezcatlipoca (lit. "Smoking Mirror") to whom

mass human sacrifices were regularly made. Upon hearing about a

rigged demo or yet another round of fantasy-based marketing

promises hackers often feel similarly disheartened.

:smoke test: n. 1. A rudimentary form of testing applied to

electronic equipment following repair or reconfiguration, in which

power is applied and the tester checks for sparks, smoke, or other

dramatic signs of fundamental failure. See {magic smoke}.

2. By extension, the first run of a piece of software after

construction or a critical change. See and compare {reality

check}.

There is an interesting semi-parallel to this term among

typographers and printers: When new typefaces are being punch-cut by

hand, a `smoke test' (hold the letter in candle smoke, then press

it onto paper) is used to check out new dies.

:smoking clover: [ITS] n. A {display hack} originally due to

Bill Gosper. Many convergent lines are drawn on a color monitor in

{AOS} mode (so that every pixel struck has its color

incremented). The lines all have one endpoint in the middle of the

screen; the other endpoints are spaced one pixel apart around the

perimeter of a large square. The color map is then repeatedly

rotated. This results in a striking, rainbow-hued, shimmering

four-leaf clover. Gosper joked about keeping it hidden from the

FDA (the U.S.'s Food and Drug Administration) lest its

hallucinogenic properties cause it to be banned.

:SMOP: /S-M-O-P/ [Simple (or Small) Matter of Programming] n.

1. A piece of code, not yet written, whose anticipated length is

significantly greater than its complexity. Used to refer to a

program that could obviously be written, but is not worth the

trouble. Also used ironically to imply that a difficult problem

can be easily solved because a program can be written to do it; the

irony is that it is very clear that writing such a program will be

a great deal of work. "It's easy to enhance a FORTRAN compiler to

compile COBOL as well; it's just a SMOP." 2. Often used

ironically by the intended victim when a suggestion for a program

is made which seems easy to the suggester, but is obviously (to the

victim) a lot of work.

:smurf: /smerf/ [from the soc.motss newsgroup on USENET,

after some obnoxiously gooey cartoon characters] n. A newsgroup

regular with a habitual style that is irreverent, silly, and

cute. Like many other hackish terms for people, this one may

be praise or insult depending on who uses it. In general, being

referred to as a smurf is probably not going to make your day

unless you've previously adopted the label yourself in a spirit of

irony. Compare {old fart}.

:SNAFU principle: /sna'foo prin'si-pl/ [from WWII Army acronym

for `Situation Normal, All Fucked Up'] n. "True communication is

possible only between equals, because inferiors are more

consistently rewarded for telling their superiors pleasant lies

than for telling the truth." --- a central tenet of

{Discordianism}, often invoked by hackers to explain why

authoritarian hierarchies screw up so reliably and systematically.

The effect of the SNAFU principle is a progressive disconnection of

decision-makers from reality. This lightly adapted version of a

fable dating back to the early 1960s illustrates the phenomenon

perfectly:

In the beginning was the plan,

and then the specification;

And the plan was without form,

and the specification was void.

And darkness

was on the faces of the implementors thereof;

And they spake unto their leader,

saying:

"It is a crock of shit,

and smells as of a sewer."

And the leader took pity on them,

and spoke to the project leader:

"It is a crock of excrement,

and none may abide the odor thereof."

And the project leader

spake unto his section head, saying:

"It is a container of excrement,

and it is very strong, such that none may abide it."

The section head then hurried to his department manager,

and informed him thus:

"It is a vessel of fertilizer,

and none may abide its strength."

The department manager carried these words

to his general manager,

and spoke unto him

saying:

"It containeth that which aideth the growth of plants,

and it is very strong."

And so it was that the general manager rejoiced

and delivered the good news unto the Vice President.

"It promoteth growth,

and it is very powerful."

The Vice President rushed to the President's side,

and joyously exclaimed:

"This powerful new software product

will promote the growth of the company!"

And the President looked upon the product,

and saw that it was very good.

After the subsequent disaster, the {suit}s protect themselves by

saying "I was misinformed!", and the implementors are demoted or

fired.

:snail: vt. To {snail-mail} something. "Snail me a copy of those

graphics, will you?"

:snail-mail: n. Paper mail, as opposed to electronic. Sometimes

written as the single word `SnailMail'. One's postal address is,

correspondingly, a `snail address'. Derives from earlier coinage

`USnail' (from `U.S. Mail'), for which there have been

parody posters and stamps made. Oppose {email}.

:snap: v. To replace a pointer to a pointer with a direct pointer;

to replace an old address with the forwarding address found there.

If you telephone the main number for an institution and ask for a

particular person by name, the operator may tell you that person's

extension before connecting you, in the hopes that you will `snap

your pointer' and dial direct next time. The underlying metaphor

may be that of a rubber band stretched through a number of

intermediate points; if you remove all the thumbtacks in the

middle, it snaps into a straight line from first to last. See

{chase pointers}.

Often, the behavior of a {trampoline} is to perform an error

check once and then snap the pointer that invoked it so as

henceforth to bypass the trampoline (and its one-shot error check).

In this context one also speaks of `snapping links'. For

example, in a Lisp implementation, a function interface trampoline

might check to make sure that the caller is passing the correct

number of arguments; if it is, and if the caller and the callee are

both compiled, then snapping the link allows that particular path

to use a direct procedure-call instruction with no further

overhead.

:snarf: /snarf/ vt. 1. To grab, esp. to grab a large document

or file for the purpose of using it with or without the author's

permission. See also {BLT}. 2. [in the UNIX community] To

fetch a file or set of files across a network. See also

{blast}. This term was mainstream in the late 1960s, meaning

`to eat piggishly'. It may still have this connotation in context.

"He's in the snarfing phase of hacking --- {FTP}ing megs of

stuff a day." 3. To acquire, with little concern for legal forms

or politesse (but not quite by stealing). "They were giving

away samples, so I snarfed a bunch of them." 4. Syn. for

{slurp}. "This program starts by snarfing the entire database

into core, then...."

:snarf & barf: /snarf'n-barf`/ n. Under a {WIMP environment},

the act of grabbing a region of text and then stuffing the contents

of that region into another region (or the same one) to avoid

retyping a command line. In the late 1960s, this was a mainstream

expression for an `eat now, regret it later' cheap-restaurant

expedition.

:snarf down: v. To {snarf}, with the connotation of absorbing,

processing, or understanding. "I'll snarf down the latest

version of the {nethack} user's guide --- It's been a while

since I played last and I don't know what's changed recently."

:snark: [Lewis Carroll, via the Michigan Terminal System] n. 1. A

system failure. When a user's process bombed, the operator would

get the message "Help, Help, Snark in MTS!" 2. More generally,

any kind of unexplained or threatening event on a computer

(especially if it might be a boojum). Often used to refer to an

event or a log file entry that might indicate an attempted security

violation. See {snivitz}. 3. UUCP name of

snark.thyrsus.com, home site of the Jargon File 2.*.* versions

(i.e., this lexicon).

:sneakernet: /snee'ker-net/ n. Term used (generally with ironic

intent) for transfer of electronic information by physically

carrying tape, disks, or some other media from one machine to

another. "Never underestimate the bandwidth of a station wagon

filled with magtape, or a 747 filled with CD-ROMs." Also called

`Tennis-Net', `Armpit-Net', `Floppy-Net' or `Shoenet'.

:sniff: v.,n. Synonym for {poll}.

:snivitz: /sniv'itz/ n. A hiccup in hardware or software; a small,

transient problem of unknown origin (less serious than a

{snark}). Compare {glitch}.

:SO: /S-O/ n. 1. (also `S.O.') Abbrev. for Significant

Other, almost invariably written abbreviated and pronounced

/S-O/ by hackers. Used to refer to one's primary

relationship, esp. a live-in to whom one is not married. See

{MOTAS}, {MOTOS}, {MOTSS}. 2. The Shift Out control

character in ASCII (Control-N, 0001110).

:social engineering: n. Term used among {cracker}s and

{samurai} for cracking techniques that rely on weaknesses in

{wetware} rather than software; the aim is to trick people into

revealing passwords or other information that compromises a target

system's security. Classic scams include phoning up a mark who has

the required information and posing as a field service tech or a

fellow employee with an urgent access problem. See also the

{tiger team} story in the {patch} entry.

:social science number: [IBM] n. A statistic that is

{content-free}, or nearly so. A measure derived via methods of

questionable validity from data of a dubious and vague nature.

Predictively, having a social science number in hand is seldom much

better than nothing, and can be considerably worse. {Management}

loves them. See also {numbers}, {math-out}, {pretty

pictures}.

:soft boot: n. See {boot}.

:softcopy: /soft'ko-pee/ n. [by analogy with `hardcopy'] A

machine-readable form of corresponding hardcopy. See {bits},

{machinable}.

:software bloat: n. The results of {second-system effect} or

{creeping featuritis}. Commonly cited examples include

`ls(1)', {X}, {BSD}, {Missed'em-five}, and {OS/2}.

:software rot: n. Term used to describe the tendency of software

that has not been used in a while to {lose}; such failure may be

semi-humorously ascribed to {bit rot}. More commonly,

`software rot' strikes when a program's assumptions become out

of date. If the design was insufficiently {robust}, this may

cause it to fail in mysterious ways.

For example, owing to endemic shortsightedness in the design of

COBOL programs, most will succumb to software rot when their

2-digit year counters {wrap around} at the beginning of the

year 2000. Actually, related lossages often afflict centenarians

who have to deal with computer software designed by unimaginative

clods. One such incident became the focus of a minor public flap

in 1990, when a gentleman born in 1889 applied for a driver's

license renewal in Raleigh, North Carolina. The new system

refused to issue the card, probably because with 2-digit years the

ages 101 and 1 cannot be distinguished.

Historical note: Software rot in an even funnier sense than the

mythical one was a real problem on early research computers (e.g.,

the R1; see {grind crank}). If a program that depended on a

peculiar instruction hadn't been run in quite a while, the user

might discover that the opcodes no longer did the same things they

once did. ("Hey, so-and-so needs an instruction to do

such-and-such. We can {snarf} this opcode, right? No one uses

it.")

Another classic example of this sprang from the time an MIT hacker

found a simple way to double the speed of the unconditional jump

instruction on a PDP-6, so he patched the hardware. Unfortunately,

this broke some fragile timing software in a music-playing program,

throwing its output out of tune. This was fixed by adding a

defensive initialization routine to compare the speed of a timing

loop with the real-time clock; in other words, it figured out how

fast the PDP-6 was that day, and corrected appropriately.

Compare {bit rot}.

:softwarily: /soft-weir'i-lee/ adv. In a way pertaining to software.

"The system is softwarily unreliable." The adjective

`softwary' is *not* used. See {hardwarily}.

:softy: [IBM] n. Hardware hackers' term for a software expert who

is largely ignorant of the mysteries of hardware.

: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

{J. Random}.

:sorcerer's apprentice mode: [from Friedrich Schiller's `Der

Zauberlehrling' via the film "Fantasia"] n. 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

{bounce message} loops in {email} software. Compare

{broadcast storm}, {network meltdown}.

:SOS: n.,obs. /S-O-S/ 1. An infamously {losing} text editor.

Once, back in the 1960s, when a text editor was needed for the

PDP-6, a hacker crufted together a {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 (in

particular, {TECO}) 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). 2. /sos/

n. To decrease; inverse of {AOS}, from the PDP-10 instruction

set.

: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 {guru} might be the source of all good bits.

The title is often applied to a particularly competent secretary.

: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 {EMACS}. It was equipped with no

fewer than *seven* shift keys: four keys for {bucky bits}

(`control', `meta', `hyper', and `super') and three like

regular shift keys, called `shift', `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

can get the following results:

L

lowercase l

shift-L

uppercase L

front-L

lowercase lambda

front-shift-L

uppercase lambda

top-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 {bucky bits}, {cokebottle}, {double bucky},

{meta bit}, {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 {bucky bits}). The

true space-cadet keyboard evolved from the Knight keyboard.

: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 1960--61. SPACEWAR aficionados formed the core of

the early hacker culture at MIT. Nine years later, a descendant

of the game motivated Ken Thompson to build, in his spare time on a

scavenged PDP-7, the operating system that became {{UNIX}}. Less

than nine years after that, SPACEWAR was commercialized as one of

the first video games; descendants are still {feep}ing in video

arcades everywhere.

: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 many jumps in it.

: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 {spaghetti code}.

:spam: [from the {MUD} community] vt. To crash a program by overrunning

a fixed-size buffer with excessively large input data. See also

{buffer overflow}, {overrun screw}, {smash the stack}.

:special-case: vt. To write unique code to handle input to or

situations arising in 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 {hidden flag}s in the input of a batch program or {filter}.

: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 software goes

through its 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 Honeywell 6000 (later GE 600)

actually had an *analog* speedometer on the front panel,

calibrated in instructions executed per second.

:spell: n. Syn. {incantation}.

:spiffy: /spi'fee/ adj. 1. Said of programs having a pretty,

clever, or exceptionally well-designed interface. "Have you seen

the spiffy {X} version of {empire} yet?" 2. Said

sarcastically of a program that is perceived to have little more

than a flashy interface going for it. Which meaning should be

drawn depends delicately on tone of voice and context. This word

was common mainstream slang during the 1940s, in a sense close to #1.

:spike: v. To defeat a selection mechanism by introducing a

(sometimes temporary) device which forces a specific result. The

word is used in several industries; telephone engineers refer to

spiking a relay by inserting a pin to hold the relay in either the

closed or open state, and railroaders refer to spiking a

track switch so that it cannot be moved. In programming

environments it normally refers to a temporary change, usually for

testing purposes (as opposed to a permanent change which would be

called {hardwired}).

:spin: vi. Equivalent to {buzz}. More common among C and UNIX

programmers.

:spl: /S-P-L/ [abbrev, from Set Priority Level] The way

traditional UNIX kernels implement mutual exclusion by running code

at high interrupt levels. Used in jargon to describe the act of

tuning in or tuning out ordinary communication. Classically, spl

levels run from 1 to 7; "Fred's at spl 6 today." would mean

that he is very hard to interrupt. "Wait till I finish this; I'll

spl down then." See also {interrupts locked out}.

:splat: n. 1. Name used in many places (DEC, IBM, and others) for

the asterisk (`*') character (ASCII 0101010). This may derive

from the `squashed-bug' appearance of the asterisk on many early

line printers. 2. [MIT] Name used by some people for the

`#' character (ASCII 0100011). 3. [Rochester Institute of

Technology] The {feature key} on a Mac (same as {alt},

sense 2). 4. [Stanford] Name used by some people for the

Stanford/ITS extended ASCII

circle-x

character. This character is also called `blobby' and `frob',

among other names; it is sometimes used by mathematicians as a

notation for `tensor product'. 5. [Stanford] Name for the

semi-mythical extended ASCII

circle-plus

character. 6. Canonical name for an output routine that outputs

whatever the local interpretation of `splat' is.

With ITS and WAITS gone, senses 4--6 are now nearly obsolete. See

also {{ASCII}}.

:spod: [Great Britain] n. A lower form of life found on {talker

system}s and {MUD}s. The spod has few friends in {RL} and

uses talkers instead, finding communication easier and preferable

over the net. He has all the negative traits of the {computer

geek} without having any interest in computers per se. Lacking any

knowledge of or interest in how networks work, and considering his

access a God-given right, he is a major irritant to sysadmins,

clogging up lines in order to reach new MUDs, following passed-on

instructions on how to sneak his way onto Internet ("Wow! It's in

America!") and complaining when he is not allowed to use busy

routes. A true spod will start any conversation with "Are you

male or female?" (and follow it up with "Got any good

numbers/IDs/passwords?") and will not talk to someone physically

present in the same terminal room until they log onto the same

machine that he is using and enter talk mode. Compare {newbie},

{tourist}, {weenie}, {twink}, {terminal junkie}.

:sponge: [UNIX] n. A special case of a {filter} that reads its

entire input before writing any output; the canonical example is a

sort utility. Unlike most filters, a sponge can conveniently

overwrite the input file with the output data stream. If your file

system has versioning (as ITS did and VMS does now) the

sponge/filter distinction loses its usefulness, because directing

filter output would just write a new version. See also {slurp}.

:spooge: /spooj/ 1. n. Inexplicable or arcane code, or random

and probably incorrect output from a computer program. 2. vi. To

generate spooge (sense 1).

:spool: [from early IBM `Simultaneous Peripheral Operation

On-Line', but this acronym is widely thought to have been contrived

for effect] vt. To send files to some device or program (a

`spooler') that queues them up and does something useful with

them later. The spooler usually understood is the `print

spooler' controlling output of jobs to a printer, but the term has

been used in connection with other peripherals (especially plotters

and graphics devices) and occasionally even for input devices. See

also {demon}.

:spool file: n. Any file to which data is {spool}ed to await the

next stage of processing. Especially used in circumstances where

spooling the data copes with a mismatch between speeds in two

devices or pieces of software. For example, when you send mail

under UNIX, it's typically copied to a spool file to await a

transport {demon}'s attentions. This is borderline techspeak.

:square tape: n. Mainframe magnetic tape cartridges for use with IBM 3480

or compatible tape drives. The term comes from the square (actually

rectangular) shape of the cartridges; contrast {round tape}.

:stack: n. A person's stack is the set of things he or she has to do

in the future. One speaks of the next project to be attacked as

having risen to the top of the stack. "I'm afraid I've got real

work to do, so this'll have to be pushed way down on my stack."

"I haven't done it yet because every time I pop my stack something

new gets pushed." If you are interrupted several times in the

middle of a conversation, "My stack overflowed" means "I

forget what we were talking about." The implication is that more

items were pushed onto the stack than could be remembered, so the

least recent items were lost. The usual physical example of a

stack is to be found in a cafeteria: a pile of plates or trays

sitting on a spring in a well, so that when you put one on the top

they all sink down, and when you take one off the top the rest

spring up a bit. See also {push} and {pop}.

At MIT, {pdl} used to be a more common synonym for {stack} in

all these contexts, and this may still be true. Everywhere else

{stack} seems to be the preferred term. {Knuth}

(`The Art of Computer Programming', second edition, vol. 1,

p. 236) says:

Many people who realized the importance of stacks and queues

independently have given other names to these structures:

stacks have been called push-down lists, reversion storages,

cellars, nesting stores, piles, last-in-first-out ("LIFO")

lists, and even yo-yo lists!

:stack puke: n. Some processor architectures are said to `puke their

guts onto the stack' to save their internal state during exception

processing. The Motorola 68020, for example, regurgitates up to

92 bytes on a bus fault. On a pipelined machine, this can take a

while.

:stale pointer bug: n. Synonym for {aliasing bug} used esp. among

microcomputer hackers.

:state: n. 1. Condition, situation. "What's the state of your

latest hack?" "It's winning away." "The system tried to read

and write the disk simultaneously and got into a totally wedged

state." The standard question "What's your state?" means

"What are you doing?" or "What are you about to do?" Typical

answers are "about to gronk out", or "hungry". Another

standard question is "What's the state of the world?", meaning

"What's new?" or "What's going on?". The more terse and

humorous way of asking these questions would be "State-p?".

Another way of phrasing the first question under sense 1 would be

"state-p latest hack?". 2. Information being maintained in

non-permanent memory (electronic or human).

:steam-powered: adj. Old-fashioned or underpowered; archaic. This

term does not have a strong negative loading and may even be used

semi-affectionately for something that clanks and wheezes a lot

but hangs in there doing the job.

:stiffy: [University of Lowell, Massachusetts.] n. 3.5-inch

{microfloppies}, so called because their jackets are more firm

than those of the 5.25-inch and the 8-inch floppy. Elsewhere this

might be called a `firmy'.

:stir-fried random: alt. `stir-fried mumble' n. Term used for the

best dish of many of those hackers who can cook. Consists of

random fresh veggies and meat wokked with random spices. Tasty and

economical. See {random}, {great-wall}, {ravs}, {{laser

chicken}}, {{oriental food}}; see also {mumble}.

:stomp on: vt. To inadvertently overwrite something important, usually

automatically. "All the work I did this weekend got

stomped on last night by the nightly server script." Compare

{scribble}, {mangle}, {trash}, {scrog}, {roach}.

:Stone Age: n., adj. 1. In computer folklore, an ill-defined period

from ENIAC (ca. 1943) to the mid-1950s; the great age of

electromechanical {dinosaur}s. Sometimes used for the entire

period up to 1960--61 (see {Iron Age}); however, it is funnier

and more descriptive to characterize the latter period in terms of

a `Bronze Age' era of transistor-logic, pre-ferrite-{core}

machines with drum or CRT mass storage (as opposed to just mercury

delay lines and/or relays). See also {Iron Age}. 2. More

generally, a pejorative for any crufty, ancient piece of hardware

or software technology. Note that this is used even by people who

were there for the {Stone Age} (sense 1).

:stone knives and bearskins: [ITS, prob. from the Star Trek Classic

episode "The City on the Edge of Forever"] n. A term traditionally

used by {ITS} fans to describe (and deprecate) computing

environments they regard as less advanced, with the (often

correct) implication that said environments were grotesquely

primitive in light of what is known about good ways to design

things. As in "Don't get too used to the facilities here. Once

you leave MIT it's stone knives and bearskins as far as the eye can

see". Compare {steam-powered}.

:stoppage: /sto'p*j/ n. Extreme {lossage} that renders

something (usually something vital) completely unusable. "The

recent system stoppage was caused by a {fried} transformer."

:store: [prob. from techspeak `main store'] n. Preferred Commonwealth

synonym for {core}. Thus, `bringing a program into store' means

not that one is returning shrink-wrapped software but that a

program is being {swap}ped in.

:stroke: n. Common name for the slant (`/', ASCII 0101111)

character. See {ASCII} for other synonyms.

:strudel: n. Common (spoken) name for the at-sign (`@', ASCII

1000000) character. See {ASCII} for other synonyms.

:stubroutine: /stuhb'roo-teen/ [contraction of `stub

subroutine'] n. Tiny, often vacuous placeholder for a subroutine

that is to be written or fleshed out later.

:studlycaps: /stuhd'lee-kaps/ n. A hackish form of silliness

similar to {BiCapitalization} for trademarks, but applied

randomly and to arbitrary text rather than to trademarks. ThE

oRigiN and SigNificaNce of thIs pRacTicE iS oBscuRe.

:stunning: adj. Mind-bogglingly stupid. Usually used in sarcasm.

"You want to code *what* in ADA? That's ... a stunning

idea!"

:stupid-sort: n. Syn. {bogo-sort}.

:Stupids: n. Term used by {samurai} for the {suit}s who

employ them; succinctly expresses an attitude at least as common,

though usually better disguised, among other subcultures of

hackers. There may be intended reference here to an SF story

originally published in 1952 but much anthologized since, Mark

Clifton's `Star, Bright'. In it, a super-genius child

classifies humans into a very few `Brights' like herself, a huge

majority of `Stupids', and a minority of `Tweens', the merely

ordinary geniuses.

:subshell: /suhb'shel/ [UNIX, MS-DOS] n. An OS command interpreter

(see {shell}) spawned from within a program, such that exit from

the command interpreter returns one to the parent program in a

state that allows it to continue execution. Compare {shell out};

oppose {chain}.

:sucking mud: [Applied Data Research] adj. (also `pumping

mud') Crashed or wedged. Usually said of a machine that provides

some service to a network, such as a file server. This Dallas

regionalism derives from the East Texas oilfield lament, "Shut

'er down, Ma, she's a-suckin' mud". Often used as a query. "We

are going to reconfigure the network, are you ready to suck mud?"

:sufficiently small: adj. Syn. {suitably small}.

:suit: n. 1. Ugly and uncomfortable `business clothing' often

worn by non-hackers. Invariably worn with a `tie', a

strangulation device that partially cuts off the blood supply to

the brain. It is thought that this explains much about the

behavior of suit-wearers. Compare {droid}. 2. A person who

habitually wears suits, as distinct from a techie or hacker. See

{loser}, {burble}, {management}, {Stupids}, {SNAFU

Principle}, and {brain-damaged}. English, by the way, is

relatively kind; our Moscow correspondent informs us that the

corresponding idiom in Russian hacker jargon is `sovok', lit. a

tool for grabbing garbage.

:suitable win: n. See {win}.

:suitably small: [perverted from mathematical jargon] adj. An

expression used ironically to characterize unquantifiable

behavior that differs from expected or required behavior. For

example, suppose a newly created program came up with a correct

full-screen display, and one publicly exclaimed: "It works!"

Then, if the program dumps core on the first mouse click, one might

add: "Well, for suitably small values of `works'." Compare

the characterization of pi under {{random numbers}}.

:sun lounge: [Great Britain] n. The room where all the Sun

workstations live. The humor in this term comes from the fact

that it's also in mainstream use to describe a solarium, and all

those Sun workstations clustered together give off an amazing

amount of heat.

:sun-stools: n. Unflattering hackerism for SunTools, a pre-X

windowing environment notorious in its day for size, slowness, and

misfeatures. {X}, however, is larger and slower; see

{second-system effect}.

:sunspots: n. 1. Notional cause of an odd error. "Why did the

program suddenly turn the screen blue?" "Sunspots, I guess."

2. Also the cause of {bit rot} --- from the myth that sunspots

will increase {cosmic rays}, which can flip single bits in memory.

See {cosmic rays}, {phase of the moon}.

:superprogrammer: n. A prolific programmer; one who can code

exceedingly well and quickly. Not all hackers are

superprogrammers, but many are. (Productivity can vary from one

programmer to another by three orders of magnitude. For example,

one programmer might be able to write an average of 3 lines of

working code in one day, while another, with the proper tools,

might be able to write 3,000. This range is astonishing; it is

matched in very few other areas of human endeavor.) The term

`superprogrammer' is more commonly used within such places as IBM

than in the hacker community. It tends to stress na"ive measures

of productivity and to underweight creativity, ingenuity, and

getting the job *done* --- and to sidestep the question of

whether the 3,000 lines of code do more or less useful work than

three lines that do the {Right Thing}. Hackers tend to prefer

the terms {hacker} and {wizard}.

:superuser: [UNIX] n. Syn. {root}, {avatar}. This usage has

spread to non-UNIX environments; the superuser is any account with

all {wheel} bits on. A more specific term than {wheel}.

:support: n. After-sale handholding; something many software

vendors promise but few deliver. To hackers, most support people

are useless --- because by the time a hacker calls support he or

she will usually know the relevant manuals better than the support

people (sadly, this is *not* a joke or exaggeration). A

hacker's idea of `support' is a t^ete-`a-t^ete with the

software's designer.

:Suzie COBOL: /soo'zee koh'bol/ 1. [IBM: prob. from Frank Zappa's

`Suzy Creamcheese'] n. A coder straight out of training school who

knows everything except the value of comments in plain English.

Also (fashionable among personkind wishing to avoid accusations of

sexism) `Sammy Cobol' or (in some non-IBM circles) `Cobol Charlie'.

2. [proposed] Meta-name for any {code grinder}, analogous to

{J. Random Hacker}.

:swab: /swob/ [From the mnemonic for the PDP-11 `SWAp Byte'

instruction, as immortalized in the `dd(1)' option `conv=swab'

(see {dd})] 1. vt. To solve the {NUXI problem} by swapping

bytes in a file. 2. n. The program in V7 UNIX used to perform this

action, or anything functionally equivalent to it. See also

{big-endian}, {little-endian}, {middle-endian},

{bytesexual}.

:swap: vt. 1. [techspeak] To move information from a fast-access

memory to a slow-access memory (`swap out'), or vice versa

(`swap in'). Often refers specifically to the use of disks as

`virtual memory'. As pieces of data or program are needed, they

are swapped into {core} for processing; when they are no longer

needed they may be swapped out again. 2. The jargon use of these

terms analogizes people's short-term memories with core. Cramming

for an exam might be spoken of as swapping in. If you temporarily

forget someone's name, but then remember it, your excuse is that it

was swapped out. To `keep something swapped in' means to keep it

fresh in your memory: "I reread the TECO manual every few months

to keep it swapped in." If someone interrupts you just as you got

a good idea, you might say "Wait a moment while I swap this

out", implying that the piece of paper is your extra-somatic

memory and if you don't swap the info out by writing it down it

will get overwritten and lost as you talk. Compare {page in},

{page out}.

:swap space: n. Storage space, especially temporary storage space

used during a move or reconfiguration. "I'm just using that corner

of the machine room for swap space."

:swapped in: n. See {swap}. See also {page in}.

:swapped out: n. See {swap}. See also {page out}.

:swizzle: v. To convert external names, array indices, or references

within a data structure into address pointers when the data

structure is brought into main memory from external storage (also

called `pointer swizzling'); this may be done for speed in

chasing references or to simplify code (e.g., by turning lots of

name lookups into pointer dereferences). The converse operation is

sometimes termed `unswizzling'. See also {snap}.

:sync: /sink/ (var. `synch') n., vi. 1. To synchronize, to

bring into synchronization. 2. [techspeak] To force all pending

I/O to the disk; see {flush}, sense 2. 3. More generally, to

force a number of competing processes or agents to a state that

would be `safe' if the system were to crash; thus, to checkpoint

(in the database-theory sense).

:syntactic sugar: [coined by Peter Landin] n. Features added to a

language or other formalism to make it `sweeter' for humans,

that do not affect the expressiveness of the formalism (compare

{chrome}). Used esp. when there is an obvious and trivial

translation of the `sugar' feature into other constructs already

present in the notation. C's `a[i]' notation is syntactic

sugar for `*(a + i)'. "Syntactic sugar causes cancer of the

semicolon." --- Alan Perlis.

The variants `syntactic saccharine' and `syntactic syrup' are

also recorded. These denotes something even more gratuitous, in

that syntactic sugar serves a purpose (making something more

acceptable to humans) but syntactic saccharine or syrup serves no

purpose at all. Compare {candygrammar}.

:sys-frog: /sis'frog/ [the PLATO system] n. Playful variant of

`sysprog', which is in turn short for `systems programmer'.

:sysadmin: /sis'ad-min/ n. Common contraction of `system

admin'; see {admin}.

:sysape: /sysape/ n. A rather derogatory term for a computer

operator; a play on {sysop} common at sites that use the banana

hierarchy of problem complexity (see {one-banana

problem}).

:sysop: /sis'op/ n. [esp. in the BBS world] The operator (and

usually the owner) of a bulletin-board system. A common neophyte

mistake on {FidoNet} is to address a message to `sysop' in an

international {echo}, thus sending it to hundreds of sysops

around the world.

:system: n. 1. The supervisor program or OS on a computer. 2. The

entire computer system, including input/output devices, the

supervisor program or OS, and possibly other software. 3. Any

large-scale program. 4. Any method or algorithm. 5. `System

hacker': one who hacks the system (in senses 1 and 2 only; for

sense 3 one mentions the particular program: e.g., `LISP

hacker')

:systems jock: n. See {jock}, (sense 2).

:system mangler: n. Humorous synonym for `system manager', poss.

from the fact that one major IBM OS had a {root} account called

SYSMANGR. Refers specifically to a systems programmer in charge of

administration, software maintenance, and updates at some site.

Unlike {admin}, this term emphasizes the technical end of the

skills involved.

:SysVile: /sis-vi:l'/ n. See {Missed'em-five}.

= T =

=====

:T: /T/ 1. [from LISP terminology for `true'] Yes. Used in

reply to a question (particularly one asked using the `-P'

convention). In LISP, the constant T means `true', among other

things. Some hackers use `T' and `NIL' instead of `Yes' and `No'

almost reflexively. This sometimes causes misunderstandings. When

a waiter or flight attendant asks whether a hacker wants coffee, he

may well respond `T', meaning that he wants coffee; but of course

he will be brought a cup of tea instead. As it happens, most

hackers (particularly those who frequent Chinese restaurants) like

tea at least as well as coffee --- so it is not that big a problem.

2. See {time T} (also {since time T equals minus infinity}).

3. [techspeak] In transaction-processing circles, an abbreviation

for the noun `transaction'. 4. [Purdue] Alternate spelling of

{tee}. 5. A dialect of {LISP} developed at Yale.

:tail recursion: n. If you aren't sick of it already, see {tail

recursion}.

:talk mode: n. A feature supported by UNIX, ITS, and some other

OSes that allows two or more logged-in users to set up a real-time

on-line conversation. It combines the immediacy of talking with

all the precision (and verbosity) that written language entails.

It is difficult to communicate inflection, though conventions have

arisen for some of these (see the section on writing style in the

Prependices for details).

Talk mode has a special set of jargon words, used to save typing,

which are not used orally. Some of these are identical to (and

probably derived from) Morse-code jargon used by ham-radio amateurs

since the 1920s.

BCNU

be seeing you

BTW

by the way

BYE?

are you ready to unlink? (this is the standard way to end a

talk-mode conversation; the other person types `BYE' to

confirm, or else continues the conversation)

CUL

see you later

ENQ?

are you busy? (expects `ACK' or `NAK' in return)

FOO?

are you there? (often used on unexpected links, meaning also

"Sorry if I butted in ..." (linker) or "What's up?" (linkee))

FYI

for your information

FYA

for your amusement

GA

go ahead (used when two people have tried to type

simultaneously; this cedes the right to type to the other)

GRMBL

grumble (expresses disquiet or disagreement)

HELLOP

hello? (an instance of the `-P' convention)

JAM

just a minute (equivalent to `SEC....')

MIN

same as `JAM'

NIL

no (see {NIL})

O

over to you

OO

over and out

/

another form of "over to you" (from x/y as "x over y")

\

lambda (used in discussing LISPy things)

OBTW

oh, by the way

R U THERE?

are you there?

SEC

wait a second (sometimes written `SEC...')

T

yes (see the main entry for {T})

TNX

thanks

TNX 1.0E6

thanks a million (humorous)

TNXE6

another form of "thanks a million"

WRT

with regard to, or with respect to.

WTF

the universal interrogative particle; WTF knows what it means?

WTH

what the hell?

<double newline>

When the typing party has finished, he/she types two newlines

to signal that he/she is done; this leaves a blank line

between `speeches' in the conversation, making it easier to

reread the preceding text.

<name>:

When three or more terminals are linked, it is conventional

for each typist to {prepend} his/her login name or handle and

a colon (or a hyphen) to each line to indicate who is typing

(some conferencing facilities do this automatically). The

login name is often shortened to a unique prefix (possibly a

single letter) during a very long conversation.

/\/\/\

A giggle or chuckle. On a MUD, this usually means `earthquake

fault'.

Most of the above sub-jargon is used at both Stanford and MIT.

Several of these expressions are also common in {email}, esp.

FYI, FYA, BTW, BCNU, WTF, and CUL. A few other abbreviations have

been reported from commercial networks, such as GEnie and

CompuServe, where on-line `live' chat including more than two

people is common and usually involves a more `social' context,

notably the following:

<g>

grin

<gr&d>

grinning, running, and ducking

BBL

be back later

BRB

be right back

HHOJ

ha ha only joking

HHOK

ha ha only kidding

HHOS

{ha ha only serious}

IMHO

in my humble opinion (see {IMHO})

LOL

laughing out loud

NHOH

Never Heard of Him/Her (often used in {initgame})

ROTF

rolling on the floor

ROTFL

rolling on the floor laughing

AFK

away from keyboard

b4

before

CU l8tr

see you later

MORF

male or female?

TTFN

ta-ta for now

TTYL

talk to you later

OIC

oh, I see

rehi

hello again

Most of these are not used at universities or in the UNIX world,

though ROTF and TTFN have gained some currency there and IMHO is

common; conversely, most of the people who know these are

unfamiliar with FOO?, BCNU, HELLOP, {NIL}, and {T}.

The {MUD} community uses a mixture of USENET/Internet emoticons,

a few of the more natural of the old-style talk-mode abbrevs, and

some of the `social' list above; specifically, MUD respondents

report use of BBL, BRB, LOL, b4, BTW, WTF, TTFN, and WTH. The use

of `rehi' is also common; in fact, mudders are fond of re-

compounds and will frequently `rehug' or `rebonk' (see

{bonk/oif}) people. The word `re' by itself is taken as

`regreet'. In general, though, MUDders express a preference for

typing things out in full rather than using abbreviations; this may

be due to the relative youth of the MUD cultures, which tend to

include many touch typists and to assume high-speed links. The

following uses specific to MUDs are reported:

UOK?

are you OK?

THX

thanks (mutant of `TNX'; clearly this comes in batches of 1138

(the Lucasian K)).

CU l8er

see you later (mutant of `CU l8tr')

OTT

over the top (excessive, uncalled for)

FOAD

fuck off and die (use of this is often OTT)

Some {BIFF}isms (notably the variant spelling `d00d')

appear to be passing into wider use among some subgroups of

MUDders.

One final note on talk mode style: neophytes, when in talk mode,

often seem to think they must produce letter-perfect prose because

they are typing rather than speaking. This is not the best

approach. It can be very frustrating to wait while your partner

pauses to think of a word, or repeatedly makes the same spelling

error and backs up to fix it. It is usually best just to leave

typographical errors behind and plunge forward, unless severe

confusion may result; in that case it is often fastest just to type

"xxx" and start over from before the mistake.

See also {hakspek}, {emoticon}, {bonk/oif}.

:talker system: n. British hackerism for software that enables

real-time chat or {talk mode}.

:tall card: n. A PC/AT-size expansion card (these can be larger

than IBM PC or XT cards because the AT case is bigger). See also

{short card}. When IBM introduced the PS/2 model 30 (its last

gasp at supporting the ISA) they made the case lower and many

industry-standard tall cards wouldn't fit; this was felt to be a

reincarnation of the {connector conspiracy}, done with less

style.

:tanked: adj. Same as {down}, used primarily by UNIX hackers. See

also {hosed}. Popularized as a synonym for `drunk' by Steve

Dallas in the late lamented "Bloom County" comic strip.

:TANSTAAFL: /tan'stah-fl/ [acronym, from Robert Heinlein's

classic `The Moon is a Harsh Mistress'.] "There Ain't No

Such Thing As A Free Lunch", often invoked when someone is balking

at an ugly design requirement or the prospect of using an

unpleasantly {heavyweight} technique. "What? Don't tell me I

have to implement a database back end to get my address book

program to work!" "Well, TANSTAAFL you know." This phrase owes

some of its popularity to the high concentration of science-fiction

fans and political libertarians in hackerdom (see Appendix

B).

:tar and feather: [from UNIX `tar(1)'] vt. To create a

transportable archive from a group of files by first sticking them

together with `tar(1)' (the Tape ARchiver) and then

compressing the result (see {compress}). The latter action is

dubbed `feathering' by analogy to what you do with an airplane

propeller to decrease wind resistance, or with an oar to reduce

water resistance; smaller files, after all, slip through comm links

more easily.

:taste: [primarily MIT] n. 1. The quality in a program that tends

to be inversely proportional to the number of features, hacks, and

kluges programmed into it. Also `tasty', `tasteful',

`tastefulness'. "This feature comes in N tasty flavors."

Although `tasteful' and `flavorful' are essentially

synonyms, `taste' and {flavor} are not. Taste refers to

sound judgment on the part of the creator; a program or feature

can *exhibit* taste but cannot *have* taste. On the other

hand, a feature can have {flavor}. Also, {flavor} has the

additional meaning of `kind' or `variety' not shared by

`taste'. {Flavor} is a more popular word than `taste',

though both are used. See also {elegant}. 2. Alt. sp. of

{tayste}.

:tayste: /tayst/ n. Two bits; also as {taste}. Syn. {crumb},

{quarter}. Compare {{byte}}, {dynner}, {playte},

{nybble}, {quad}.

:TCB: /T-C-B/ [IBM] n. 1. Trouble Came Back. An intermittent or

difficult-to-reproduce problem that has failed to respond to

neglect. Compare {heisenbug}. Not to be confused with:

2. Trusted Computing Base, an `official' jargon term from the

{Orange Book}.

:tea, ISO standard cup of: [South Africa] n. A cup of tea with milk

and one teaspoon of sugar, where the milk is poured into the cup

before the tea. Variations are ISO 0, with no sugar; ISO 2, with

two spoons of sugar; and so on.

Like many ISO standards, this one has a faintly alien ring in North

America, where hackers generally shun the decadent British practice

of adulterating perfectly good tea with dairy products and

prefer instead to add a wedge of lemon, if anything. If one were

feeling extremely silly, one might hypothesize an analogous `ANSI

standard cup of tea' and wind up with a political situation

distressingly similar to several that arise in much more serious

technical contexts. Milk and lemon don't mix very well.

:TechRef: /tek'ref/ [MS-DOS] n. The original `IBM PC

Technical Reference Manual', including the BIOS listing and

complete schematics for the PC. The only PC documentation in the

issue package that's considered serious by real hackers.

:TECO: /tee'koh/ obs. 1. vt. Originally, to edit using the TECO

editor in one of its infinite variations (see below). 2. vt.,obs.

To edit even when TECO is *not* the editor being used! This

usage is rare and now primarily historical. 2. [originally an

acronym for `[paper] Tape Editor and COrrector'; later, `Text

Editor and COrrector'] n. A text editor developed at MIT and

modified by just about everybody. With all the dialects included,

TECO might have been the most prolific editor in use before

{EMACS}, to which it was directly ancestral. Noted for its

powerful programming-language-like features and its unspeakably

hairy syntax. It is literally the case that every string of

characters is a valid TECO program (though probably not a useful

one); one common hacker game used to be mentally working out what

the TECO commands corresponding to human names did. As an example

of TECO's obscurity, here is a TECO program that takes a list of

names such as:

Loser, J. Random

Quux, The Great

Dick, Moby

sorts them alphabetically according to surname, and then puts the

surname last, removing the comma, to produce the following:

Moby Dick

J. Random Loser

The Great Quux

The Jargon File, Version 2.9.10, 01 Jul 1992 · 第 19 / 21 题