The Hacker's Dictionary

Versió HTML de Lluís de Yzaguirre i Maura

Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza @ upf.es


S/N ratio
========= // n. (also `s/n ratio', `s:n ratio'). Syn.
signal-to-noise ratio. Often abbreviated `SNR'.
sacred
====== adj. Reserved for the exclusive use of something (an
extension of the standard meaning). Often means that anyone may
look at the sacred object, but clobbering it will screw whatever it
is sacred to. The comment "Register 7 is sacred to the interrupt
handler" appearing in a program would be interpreted by a hacker
to mean that if any *other* part of the program changes the
contents of register 7, dire consequences are likely to ensue.
saga
==== [WPI] n. A cuspy but bogus raving story about N random
broken people.

Here is a classic example of the saga form, as told by Guy L.
Steele:

Jon L. White (login name JONL) and I (GLS) were office mates at MIT
for many years. One April, we both flew from Boston to California
for a week on research business, to consult face-to-face with some
people at Stanford, particularly our mutual friend Richard P.
Gabriel (RPG; see [Gabriel]).

RPG picked us up at the San Francisco airport and drove us back to
Palo Alto (going logical south on route 101, parallel to [El
Camino Bignum}). Palo Alto is adjacent to Stanford University and
about 40 miles south of San Francisco. We ate at The Good Earth, a
`health food' restaurant, very popular, the sort whose milkshakes
all contain honey and protein powder. JONL ordered such a shake
--- the waitress claimed the flavor of the day was "lalaberry". I
still have no idea what that might be, but it became a running
joke. It was the color of raspberry, and JONL said it tasted
rather bitter. I ate a better tostada there than I have ever had
in a Mexican restaurant.

After this we went to the local Uncle Gaylord's Old Fashioned Ice
Cream Parlor. They make ice cream fresh daily, in a variety of
intriguing flavors. It's a chain, and they have a slogan: "If you
don't live near an Uncle Gaylord's --- MOVE!" Also, Uncle Gaylord
(a real person) wages a constant battle to force big-name ice cream
makers to print their ingredients on the package (like air and
plastic and other non-natural garbage). JONL and I had first
discovered Uncle Gaylord's the previous August, when we had flown
to a computer-science conference in Berkeley, California, the first
time either of us had been on the West Coast. When not in the
conference sessions, we had spent our time wandering the length of
Telegraph Avenue, which (like Harvard Square in Cambridge) was
lined with picturesque street vendors and interesting little
shops. On that street we discovered Uncle Gaylord's Berkeley
store. The ice cream there was very good. During that August
visit JONL went absolutely bananas (so to speak) over one
particular flavor, ginger honey.

Therefore, after eating at The Good Earth --- indeed, after every
lunch and dinner and before bed during our April visit --- a trip
to Uncle Gaylord's (the one in Palo Alto) was mandatory. We had
arrived on a Wednesday, and by Thursday evening we had been there
at least four times. Each time, JONL would get ginger honey ice
cream, and proclaim to all bystanders that "Ginger was the spice
that drove the Europeans mad! That's why they sought a route to
the East! They used it to preserve their otherwise off-taste
meat." After the third or fourth repetition RPG and I were getting
a little tired of this spiel, and began to paraphrase him: "Wow!
Ginger! The spice that makes rotten meat taste good!" "Say! Why
don't we find some dog that's been run over and sat in the sun for
a week and put some *ginger* on it for dinner?!" "Right! With a
lalaberry shake!" And so on. This failed to faze JONL; he took it
in good humor, as long as we kept returning to Uncle Gaylord's. He
loves ginger honey ice cream.

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 `ollalieberry' --- 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. The 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 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.

salt
==== n. A tiny bit of near-random data inserted where too much
regularity would be undesirable; a data frob (sense 1). For example,
the Unix crypt(3) man page mentions that "the salt string is
used to perturb the DES algorithm in one of 4096 different ways."
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.
samizdat
======== [Russian, literally "self publishing"] n. The process
of disseminating documentation via underground channels.
Originally referred to photocopy duplication and distribution of
banned books in the former Soviet Union; now refers by obvious
extension to any less-than-official promulgation of textual
material, esp. rare, obsolete, or never-formally-published computer
documentation. Samizdat is obviously much easier when one has
access to high-bandwidth networks and high-quality laser printers.
Note that samizdat is properly used only with respect to documents
which contain needed information (see also hacker ethic, the)
but which are for some reason otherwise unavailable, but *not*
in the context of documents which are available through normal
channels, for which unauthorized duplication would be unethical
copyright violation. See Lions Book for a historical example.
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 quick-and-dirty 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
mundanes.
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
====== /skan'oh/ n. An error in a document caused by a scanner
glitch, analogous to a typo or thinko.
schroedinbug
============ /shroh'din-buhg/ [MIT: from the Schroedinger's Cat
thought-experiment in quantum physics] n. A design or
implementation bug in a program that 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 (like [bit
rot}) 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,
phage, 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,
TMRC.)
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 scribbled on without
loss. Usually in the combining forms `scratch memory',
`scratch register', `scratch disk', `scratch tape',
`scratch volume'. See also 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. 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 a DEC engineer troubleshooting a crash on the program's VAX
inadvertently interfered with some custom hardware that was wired
to Mabel.

It is reported 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.

[There is a version of this story, complete with reported dialogue
between one of the project people and DEC field service, that has
been circulating on Internet since 1986. It is hilarious and
mythic, but gets some facts wrong. For example, it reports the
machine as a PDP-11 and alleges that Mabel's demise occurred when
DEC PMed the machine. Earlier versions of this entry were
based on that story; this one has been corrected from an interview
with the hapless sysop. --- ESR]

scream and die
============== v. Syn. cough and die, but connotes that an
error message was printed or displayed before the program crashed.
screaming tty
============= [UNIX] n. A terminal line which spews an infinite
number of random characters at the operating system. This can
happen if the terminal is either disconnected or connected to a
powered-off terminal but still enabled for login; misconfiguration,
misimplementation, or simple bad luck can start such a terminal
screaming. A screaming tty or two can seriously degrade the
performance of a vanilla UNIX system; the arriving "characters"
are treated as userid/password pairs and tested as such. The UNIX
password encryption algorithm is designed to be computationally
intensive in order to foil brute-force crack attacks, so although
none of the logins succeeds; the overhead of rejecting them all can
be substantial.
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
====== /skuhm'os/ or /skuhm'O-S/ n. Unflattering hackerism
for SunOS, the UNIX variant supported on Sun Microsystems's UNIX
workstations (see also sun-stools), and compare AIDX,
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 a noninteractive
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 grovelling 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
========================== alt. `security by obscurity' n. A
term applied by hackers to most OS vendors' favorite way of coping
with security holes --- namely, ignoring them, documenting neither
any known holes nor the underlying security algorithms, trusting
that nobody will find out about them and that people who do find
out about them won't exploit them. This "strategy" 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 that 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 also
LER.
segfault
======== n.,vi. Syn. segment, segmentation fault.
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 dumps
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 and weaving] 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 with which it competed 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
============== /sham-bol'ik link/ n. A UNIX symbolic link,
particularly when it confuses you, points to nothing at all, or
results in your ending up in some completely unexpected part of the
filesystem....
sharchive
========= /shar'ki:v/ [UNIX and USENET; from /bin/sh archive]
n. A flattened representation of a set of one or more files,
with the unique property that it can be unflattened (the original
files restored) by feeding it through a standard UNIX shell; thus,
a sharchive can be distributed to anyone running UNIX, and no
special unpacking software is required. Sharchives are also
intriguing in that they are typically created by shell scripts; the
script that produces sharchives is thus a script which produces
self-unpacking scripts, which may themselves contain scripts. (The
downsides of sharchives are that they are an ideal venue for
Trojan horse attacks and that, for recipients not running
UNIX, no simple un-sharchiving program is possible; sharchives can
and do make use of arbitrarily-powerful shell features.)
Sharchives are also commonly referred to as `shar files' after the
name of the most common program for generating them.
Share and enjoy!
================ imp. 1. Commonly found at the end of software
release announcements and README files, this phrase indicates
allegiance to the hacker ethic of free information sharing (see
hacker ethic, the, sense 1). 2. The motto of the Sirius
Cybernetics Corporation (the ultimate gaggle of incompetent
suits) in Douglas Adams's "Hitch Hiker's Guide to the
Galaxy". The irony of using this as a cultural recognition signal
appeals to freeware hackers.
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.
shovelware
========== /shuh'v*l-weir`/ n. Extra software dumped onto a
CD-ROM or tape to fill up the remaining space on the medium after
the software distribution it's intended to carry, but not
integrated with the distribution.
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 design
rules. If it worked with any other peripherals, it was by
magic.
SIG
=== /sig/ n. (also common as a prefix in combining forms) A Special
Interest Group, in one of several technical areas, sponsored by the
Association for Computing Machinery; well-known ones include
SIGPLAN (the Special Interest Group on Programming Languages),
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. See also doubled sig.
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 wars.
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.
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 went in at the top and came out at 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
================================== adv. 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; contrast epoch.
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.
slack
===== n. 1. Space allocated to a disk file but not actually used
to store useful information. The techspeak equivalent is `internal
fragmentation'. 2. In the theology of the [Church of the
SubGenius}, a mystical substance or quality that is the
prerequisite of all human happiness.

Since UNIX files are stored compactly, except for the unavoidable
wastage in the last block or fragment, it might be said that "Unix
has no slack". See ha ha only serious.

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] To relinquish a claim (of a process on a
multitasking system) for service; to indicate to the scheduler that
a process may be deactivated until some given event occurs or a
specified time delay elapses. 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
waits 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. 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. To corrupt the execution stack
by writing past the end of a local array or other data structure.
Code that smashes the stack can cause a return from the routine to
jump to a random address, resulting in 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
===== vi. 1. To crash or blow up, usually spectacularly. "The
new version smoked, just like the last one." Used for both hardware
(where it often describes an actual physical event), and software
(where it's merely colorful). 2. [from automotive slang] To be
conspicuously fast. "That processor really smokes." Compare
magic smoke.
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 benchmarks (see also
MIPS, machoflops). "They claim their new box cranks 50
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") for
whom the hearts of huge numbers of human sacrificial victims were
regularly cut out. Upon hearing about a rigged demo or yet another
round of fantasy-based marketing promises, hackers often feel
analogously 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 an 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 a 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 suits 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 even 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 --- FTPing
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...." 5. [GEnie] To spray
food or programming fluids due to laughing at the wrong
moment. "I was drinking coffee, and when I read your post I
snarfed all over my desk." "If I keep reading this topic, I think
I'll have to snarf-proof my computer with a keyboard condom."
[This sense appears to be widespread among mundane teenagers ---
ESR]
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 crackers 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'kop-ee/ 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 laser
============== n. An optical laser works by bouncing photons back
and forth between two mirrors, one totally reflective and one
partially reflective. If the lasing material (usually a crystal)
has the right properties, photons scattering off the atoms in the
crystal will excite cascades of more photons, all in lockstep.
Eventually the beam will escape through the partially-reflective
mirror. One kind of sorcerer's apprentice mode involving
bounce messages can produce closely analogous results, with a
cascade of messages escaping to flood nearby systems. By
mid-1993 there had been at least two publicized incidents of this
kind.
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, [software
laser}, ARMM.
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/
vt. 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
could 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 feeping 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 so 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. 1. To crash a program by
overrunning a fixed-size buffer with excessively large input data.
See also buffer overflow, overrun screw, [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
cross-posting (e.g. any message which is crossposted to
alt.rush-limbaugh and alt.politics.homosexuality will
almost inevitably spam both groups).
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 hidden flags 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 operating
system 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 GE 600 (later Honeywell 6000)
actually had an *analog* speedometer on the front panel,
calibrated in instructions executed per second.

spell
===== n. Syn. incantation.
spelling flame
============== [USENET] n. A posting ostentatiously correcting a
previous article's spelling as a way of casting scorn on the point
the article was trying to make, instead of actually responding to
that point (compare dictionary flame). Of course, people who
are more than usually slovenly spellers are prone to think
*any* correction is a spelling flame. It's an amusing comment
on humAn nature that spelling flames themselves often contain
spelling errors.
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 that 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.
splash screen
============= [Mac] n. Syn. banner, sense 3.
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. obs. 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. obs. Name for the
semi-mythical Stanford extended ASCII
circle-plus
character. See also "ASCII".
spod
==== [Great Britain] n. A lower form of life found on [talker
system}s and MUDs. 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.
spoiler
======= [USENET] n. 1. A remark which reveals important plot
elements from books or movies, thus denying the reader (of the
article) the proper suspense when reading the book or watching the
movie. 2. Any remark which telegraphs the solution of a problem or
puzzle, thus denying the reader the pleasure of working out the
correct answer (see also interesting). Either sense readily
forms compounds like `total spoiler', `quasi-spoiler' and even
`pseudo-spoiler'.

By convention, articles which are spoilers in either sense should
contain the word `spoiler' in the Subject: line, or guarantee via
various tricks that the answer appears only after several
screens-full of warning, or conceal the sensitive information via
rot13, or some combination of these techniques.

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 a 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.
spoo
==== n. Variant of spooge, sense 1.
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. Without qualification, the spooler 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 spooled 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; or QIC tapes used on
workstations and micros. The term comes from the square (actually
rectangular) shape of the cartridges; contrast round tape.
stack
===== n. The set of things a person 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 rigid
than those of the 5.25-inch and the (now totally obsolete) 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 dinosaurs. 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
========================== [from the Star Trek Classic episode
"The City on the Edge of Forever"] n. A term traditionally
used to describe (and deprecate) computing environments that are
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 SAIL 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. In some
varieties of Commonwealth hackish, the preferred synonym for
core. Thus, `bringing a program into store' means not that
one is returning shrink-wrapped software but that a program is
being swapped in.
strided
======= /str:'d*d/ [scientific computing] adj. Said of a
sequence of memory reads and writes to addresses, each of which is
separated from the last by a constant interval called the `stride
length'. These can be a worst-case access pattern for the standard
memory-caching schemes when the stride length is a multiple of the
cache line size. Strided references are often generated by loops
through an array, and (if youre data is large enough that
access-time is significant) it can be worthwhile to tune for better
locality by inverting double loops or by partially unrolling the
outer loop of a loop nest. This usage is borderline techspeak; the
related term `memory stride' is definitely techspeak.
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.
studly
====== adj. Impressive; powerful. Said of code and designs which
exhibit both complexity and a virtuoso flair. Has connotations
similar to hairy but is more positive in tone. Often in the
emphatic `most studly' or as noun-form `studliness'. "Smail
3.0's configuration parser is most studly."
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 suits 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.
Sturgeon's Law
============== prov. "Ninety percent of everything is crap".
Derived from a quote by science fiction author Theodore Sturgeon,
who once said, "Sure, 90% of science fiction is crud. That's
because 90% of everything is crud." Oddly, when Sturgeon's Law is
cited, the final word is almost invariably changed to `crap'.
Compare Hanlon's Razor, Ninety-Ninety Rule. Though this
maxim originated in SF fandom, most hackers recognize it and are
all too aware of its truth.
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 dumped 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 also phase of the moon.
super source quench
=================== n. A special packet designed to shut up an Internet
host. The Internet Protocol (IP) has a control message called Source
Quench that asks a host to transmit more slowly on a particular
connection to avoid congestion. It also has a Redirect control
message intended to instruct a host to send certain packets to a
different local router. A "super source quench" is actually a
redirect control packet, forged to look like it came from a local
router, that instructs a host to send all packets to its own local
loopback address. This will effectively tie many Internet hosts up in
knots. Compare [godzillagram], breath-of-life packet.
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 naive 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 software and 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 a piece of paper is your extra-somatic
memory and that if you don't swap the idea 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 salt
============== n. The opposite of syntactic sugar, a feature
designed to make it harder to write bad code. Specifically,
syntactic salt is a hoop the programmer must jump through just to
prove that he knows what's going on, rather than to express a
program action. Some programmers consider required type
declarations to be syntactic salt. A requirement to write
`end if', `end while', `end do', etc. to terminate
the last block controlled by a control construct (as opposed to
just `end') would definitely be syntactic salt. Syntactic salt
is like the real thing in that it tends to raise hackers' blood
pressures in an unhealthy way. Compare candygrammar. .
syntactic sugar
=============== [coined by Peter Landin] n. Features added to a
language or other formalism to make it `sweeter' for humans,
features which 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 saccharin' and `syntactic syrup' are
also recorded. These denote something even more gratuitous, in
that syntactic sugar serves a purpose (making something more
acceptable to humans), but syntactic saccharin or syrup serve no
purpose at all. Compare candygrammar, syntactic salt.

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
====== /sys'ayp/ 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.