Chapter V: Rare: book (14)
:silo: n. The FIFO input-character buffer in an RS-232 line card. So
called from DEC terminology used on DH and DZ line cards for the
VAX and PDP-11, presumably because it was a storage space for
fungible stuff that you put in the top and took out the bottom.
:Silver Book: n. Jensen and Wirth's infamous `Pascal User Manual
and Report', so called because of the silver cover of the
widely distributed Springer-Verlag second edition of 1978 (ISBN
0-387-90144-2). See {{book titles}}, {Pascal}.
:since time T equals minus infinity: adj. A long time ago; for as
long as anyone can remember; at the time that some particular frob
was first designed. Usually the word `time' is omitted. See also
{time T}.
:sitename: /si:t'naym/ [UNIX/Internet] n. The unique electronic
name of a computer system, used to identify it in UUCP mail,
USENET, or other forms of electronic information interchange. The
folklore interest of sitenames stems from the creativity and humor
they often display. Interpreting a sitename is not unlike
interpreting a vanity license plate; one has to mentally unpack it,
allowing for mono-case and length restrictions and the lack of
whitespace. Hacker tradition deprecates dull,
institutional-sounding names in favor of punchy, humorous, and
clever coinages (except that it is considered appropriate for the
official public gateway machine of an organization to bear the
organization's name or acronym). Mythological references, cartoon
characters, animal names, and allusions to SF or fantasy literature
are probably the most popular sources for sitenames (in roughly
descending order). The obligatory comment when discussing these is
Harris's Lament: "All the good ones are taken!" See also
{network address}.
:skrog: v. Syn. {scrog}.
:skulker: n. Syn. {prowler}.
:slap on the side: n. (also called a {sidecar}, or abbreviated
`SOTS'.) A type of external expansion hardware marketed by
computer manufacturers (e.g., Commodore for the Amiga 500/1000
series and IBM for the hideous failure called `PCjr'). Various
SOTS boxes provided necessities such as memory, hard drive
controllers, and conventional expansion slots.
:slash: n. Common name for the slant (`/', ASCII 0101111)
character. See {ASCII} for other synonyms.
:sleep: vi. 1. [techspeak] On a timesharing system, a process that
relinquishes its claim on the scheduler until some given event
occurs or a specified time delay elapses is said to `go to
sleep'. 2. In jargon, used very similarly to v. {block}; also
in `sleep on', syn. with `block on'. Often used to
indicate that the speaker has relinquished a demand for resources
until some (possibly unspecified) external event: "They can't get
the fix I've been asking for into the next release, so I'm going to
sleep on it until the release, then start hassling them again."
:slim: n. A small, derivative change (e.g., to code).
:slop: n. 1. A one-sided {fudge factor}, that is, an allowance for
error but in only one of two directions. For example, if you need
a piece of wire 10 feet long and have to guess when you cut it,
you make very sure to cut it too long, by a large amount if
necessary, rather than too short by even a little bit, because you
can always cut off the slop but you can't paste it back on again.
When discrete quantities are involved, slop is often introduced to
avoid the possibility of being on the losing side of a {fencepost
error}. 2. The percentage of `extra' code generated by a compiler
over the size of equivalent assembler code produced by
{hand-hacking}; i.e., the space (or maybe time) you lose because
you didn't do it yourself. This number is often used as a measure
of the goodness of a compiler; slop below 5% is very good, and
10% is usually acceptable. With modern compiler technology, esp.
on RISC machines, the compiler's slop may actually be
*negative*; that is, humans may be unable to generate code as
good. This is one of the reasons assembler programming is no
longer common.
:slopsucker: /slop'suhk-r/ n. A lowest-priority task that must
wait around until everything else has `had its fill' of machine
resources. Only when the machine would otherwise be idle is the
task allowed to `suck up the slop'. Also called a `hungry puppy'
or `bottom feeder'. One common variety of slopsucker hunts for
large prime numbers. Compare {background}.
:slurp: vt. To read a large data file entirely into {core} before
working on it. This may be contrasted with the strategy of reading
a small piece at a time, processing it, and then reading the next
piece. "This program slurps in a 1K-by-1K matrix and does
an FFT." See also {sponge}.
:smart: adj. Said of a program that does the {Right Thing} in a
wide variety of complicated circumstances. There is a difference
between calling a program smart and calling it intelligent; in
particular, there do not exist any intelligent programs (yet ---
see {AI-complete}). Compare {robust} (smart programs can be
{brittle}).
:smart terminal: n. 1. A terminal that has enough computing capability
to render graphics or to offload some kind of front-end processing
from the computer it talks to. The development of workstations and
personal computers has made this term and the product it describes
semi-obsolescent, but one may still hear variants of the phrase
`act like a smart terminal' used to describe the behavior of
workstations or PCs with respect to programs that execute almost
entirely out of a remote {server}'s storage, using said devices
as displays. Compare {glass tty}. 2. obs. Any terminal with an
addressable cursor; the opposite of a {glass tty}. Today, a
terminal with merely an addressable cursor, but with none of the
more-powerful features mentioned in sense 1, is called a {dumb
terminal}.
There is a classic quote from Rob Pike (inventor of the {blit}
terminal): "A smart terminal is not a smart*ass* terminal,
but rather a terminal you can educate." This illustrates a common
design problem: The attempt to make peripherals (or anything else)
intelligent sometimes results in finicky, rigid `special
features' that become just so much dead weight if you try to use
the device in any way the designer didn't anticipate. Flexibility
and programmability, on the other hand, are *really* smart.
Compare {hook}.
:smash case: vi. To lose or obliterate the uppercase/lowercase
distinction in text input. "MS-DOS will automatically smash case
in the names of all the files you create." Compare {fold case}.
:smash the stack: [C programming] n. On many C implementations it
is possible to corrupt the execution stack by writing past the end
of an array declared `auto' in a routine. Code that does this
is said to `smash the stack', and can cause return from the
routine to jump to a random address. This can produce some of the
most insidious data-dependent bugs known to mankind. Variants
include `trash' the stack, {scribble} the stack, {mangle}
the stack; the term *{mung} the stack is not used, as this is
never done intentionally. See {spam}; see also {aliasing
bug}, {fandango on core}, {memory leak}, {memory smash},
{precedence lossage}, {overrun screw}.
:smiley: n. See {emoticon}.
:smoke and mirrors: n. Marketing deceptions. The term is
mainstream in this general sense. Among hackers it's strongly
associated with bogus demos and crocked {benchmark}s (see also
{MIPS}, {machoflops}). "They claim their new box cranks 5
MIPS for under $5000, but didn't specify the instruction mix ---
sounds like smoke and mirrors to me." The phrase has been said to
derive from carnie slang for magic acts and `freak show' displays
that depend on `trompe l'oeil' effects, but also calls to mind
the fierce Aztec god Tezcatlipoca (lit. "Smoking Mirror") to whom
mass human sacrifices were regularly made. Upon hearing about a
rigged demo or yet another round of fantasy-based marketing
promises hackers often feel similarly disheartened.
:smoke test: n. 1. A rudimentary form of testing applied to
electronic equipment following repair or reconfiguration, in which
power is applied and the tester checks for sparks, smoke, or other
dramatic signs of fundamental failure. See {magic smoke}.
2. By extension, the first run of a piece of software after
construction or a critical change. See and compare {reality
check}.
There is an interesting semi-parallel to this term among
typographers and printers: When new typefaces are being punch-cut by
hand, a `smoke test' (hold the letter in candle smoke, then press
it onto paper) is used to check out new dies.
:smoking clover: [ITS] n. A {display hack} originally due to
Bill Gosper. Many convergent lines are drawn on a color monitor in
{AOS} mode (so that every pixel struck has its color
incremented). The lines all have one endpoint in the middle of the
screen; the other endpoints are spaced one pixel apart around the
perimeter of a large square. The color map is then repeatedly
rotated. This results in a striking, rainbow-hued, shimmering
four-leaf clover. Gosper joked about keeping it hidden from the
FDA (the U.S.'s Food and Drug Administration) lest its
hallucinogenic properties cause it to be banned.
:SMOP: /S-M-O-P/ [Simple (or Small) Matter of Programming] n.
1. A piece of code, not yet written, whose anticipated length is
significantly greater than its complexity. Used to refer to a
program that could obviously be written, but is not worth the
trouble. Also used ironically to imply that a difficult problem
can be easily solved because a program can be written to do it; the
irony is that it is very clear that writing such a program will be
a great deal of work. "It's easy to enhance a FORTRAN compiler to
compile COBOL as well; it's just a SMOP." 2. Often used
ironically by the intended victim when a suggestion for a program
is made which seems easy to the suggester, but is obviously (to the
victim) a lot of work.
:smurf: /smerf/ [from the soc.motss newsgroup on USENET,
after some obnoxiously gooey cartoon characters] n. A newsgroup
regular with a habitual style that is irreverent, silly, and
cute. Like many other hackish terms for people, this one may
be praise or insult depending on who uses it. In general, being
referred to as a smurf is probably not going to make your day
unless you've previously adopted the label yourself in a spirit of
irony. Compare {old fart}.
:SNAFU principle: /sna'foo prin'si-pl/ [from WWII Army acronym
for `Situation Normal, All Fucked Up'] n. "True communication is
possible only between equals, because inferiors are more
consistently rewarded for telling their superiors pleasant lies
than for telling the truth." --- a central tenet of
{Discordianism}, often invoked by hackers to explain why
authoritarian hierarchies screw up so reliably and systematically.
The effect of the SNAFU principle is a progressive disconnection of
decision-makers from reality. This lightly adapted version of a
fable dating back to the early 1960s illustrates the phenomenon
perfectly:
In the beginning was the plan,
and then the specification;
And the plan was without form,
and the specification was void.
And darkness
was on the faces of the implementors thereof;
And they spake unto their leader,
saying:
"It is a crock of shit,
and smells as of a sewer."
And the leader took pity on them,
and spoke to the project leader:
"It is a crock of excrement,
and none may abide the odor thereof."
And the project leader
spake unto his section head, saying:
"It is a container of excrement,
and it is very strong, such that none may abide it."
The section head then hurried to his department manager,
and informed him thus:
"It is a vessel of fertilizer,
and none may abide its strength."
The department manager carried these words
to his general manager,
and spoke unto him
saying:
"It containeth that which aideth the growth of plants,
and it is very strong."
And so it was that the general manager rejoiced
and delivered the good news unto the Vice President.
"It promoteth growth,
and it is very powerful."
The Vice President rushed to the President's side,
and joyously exclaimed:
"This powerful new software product
will promote the growth of the company!"
And the President looked upon the product,
and saw that it was very good.
After the subsequent disaster, the {suit}s protect themselves by
saying "I was misinformed!", and the implementors are demoted or
fired.
:snail: vt. To {snail-mail} something. "Snail me a copy of those
graphics, will you?"
:snail-mail: n. Paper mail, as opposed to electronic. Sometimes
written as the single word `SnailMail'. One's postal address is,
correspondingly, a `snail address'. Derives from earlier coinage
`USnail' (from `U.S. Mail'), for which there have been
parody posters and stamps made. Oppose {email}.
:snap: v. To replace a pointer to a pointer with a direct pointer;
to replace an old address with the forwarding address found there.
If you telephone the main number for an institution and ask for a
particular person by name, the operator may tell you that person's
extension before connecting you, in the hopes that you will `snap
your pointer' and dial direct next time. The underlying metaphor
may be that of a rubber band stretched through a number of
intermediate points; if you remove all the thumbtacks in the
middle, it snaps into a straight line from first to last. See
{chase pointers}.
Often, the behavior of a {trampoline} is to perform an error
check once and then snap the pointer that invoked it so as
henceforth to bypass the trampoline (and its one-shot error check).
In this context one also speaks of `snapping links'. For
example, in a Lisp implementation, a function interface trampoline
might check to make sure that the caller is passing the correct
number of arguments; if it is, and if the caller and the callee are
both compiled, then snapping the link allows that particular path
to use a direct procedure-call instruction with no further
overhead.
:snarf: /snarf/ vt. 1. To grab, esp. to grab a large document
or file for the purpose of using it with or without the author's
permission. See also {BLT}. 2. [in the UNIX community] To
fetch a file or set of files across a network. See also
{blast}. This term was mainstream in the late 1960s, meaning
`to eat piggishly'. It may still have this connotation in context.
"He's in the snarfing phase of hacking --- {FTP}ing megs of
stuff a day." 3. To acquire, with little concern for legal forms
or politesse (but not quite by stealing). "They were giving
away samples, so I snarfed a bunch of them." 4. Syn. for
{slurp}. "This program starts by snarfing the entire database
into core, then...."
:snarf & barf: /snarf'n-barf`/ n. Under a {WIMP environment},
the act of grabbing a region of text and then stuffing the contents
of that region into another region (or the same one) to avoid
retyping a command line. In the late 1960s, this was a mainstream
expression for an `eat now, regret it later' cheap-restaurant
expedition.
:snarf down: v. To {snarf}, with the connotation of absorbing,
processing, or understanding. "I'll snarf down the latest
version of the {nethack} user's guide --- It's been a while
since I played last and I don't know what's changed recently."
:snark: [Lewis Carroll, via the Michigan Terminal System] n. 1. A
system failure. When a user's process bombed, the operator would
get the message "Help, Help, Snark in MTS!" 2. More generally,
any kind of unexplained or threatening event on a computer
(especially if it might be a boojum). Often used to refer to an
event or a log file entry that might indicate an attempted security
violation. See {snivitz}. 3. UUCP name of
snark.thyrsus.com, home site of the Jargon File 2.*.* versions
(i.e., this lexicon).
:sneakernet: /snee'ker-net/ n. Term used (generally with ironic
intent) for transfer of electronic information by physically
carrying tape, disks, or some other media from one machine to
another. "Never underestimate the bandwidth of a station wagon
filled with magtape, or a 747 filled with CD-ROMs." Also called
`Tennis-Net', `Armpit-Net', `Floppy-Net' or `Shoenet'.
:sniff: v.,n. Synonym for {poll}.
:snivitz: /sniv'itz/ n. A hiccup in hardware or software; a small,
transient problem of unknown origin (less serious than a
{snark}). Compare {glitch}.
:SO: /S-O/ n. 1. (also `S.O.') Abbrev. for Significant
Other, almost invariably written abbreviated and pronounced
/S-O/ by hackers. Used to refer to one's primary
relationship, esp. a live-in to whom one is not married. See
{MOTAS}, {MOTOS}, {MOTSS}. 2. The Shift Out control
character in ASCII (Control-N, 0001110).
:social engineering: n. Term used among {cracker}s and
{samurai} for cracking techniques that rely on weaknesses in
{wetware} rather than software; the aim is to trick people into
revealing passwords or other information that compromises a target
system's security. Classic scams include phoning up a mark who has
the required information and posing as a field service tech or a
fellow employee with an urgent access problem. See also the
{tiger team} story in the {patch} entry.
:social science number: [IBM] n. A statistic that is
{content-free}, or nearly so. A measure derived via methods of
questionable validity from data of a dubious and vague nature.
Predictively, having a social science number in hand is seldom much
better than nothing, and can be considerably worse. {Management}
loves them. See also {numbers}, {math-out}, {pretty
pictures}.
:soft boot: n. See {boot}.
:softcopy: /soft'ko-pee/ n. [by analogy with `hardcopy'] A
machine-readable form of corresponding hardcopy. See {bits},
{machinable}.
:software bloat: n. The results of {second-system effect} or
{creeping featuritis}. Commonly cited examples include
`ls(1)', {X}, {BSD}, {Missed'em-five}, and {OS/2}.
:software rot: n. Term used to describe the tendency of software
that has not been used in a while to {lose}; such failure may be
semi-humorously ascribed to {bit rot}. More commonly,
`software rot' strikes when a program's assumptions become out
of date. If the design was insufficiently {robust}, this may
cause it to fail in mysterious ways.
For example, owing to endemic shortsightedness in the design of
COBOL programs, most will succumb to software rot when their
2-digit year counters {wrap around} at the beginning of the
year 2000. Actually, related lossages often afflict centenarians
who have to deal with computer software designed by unimaginative
clods. One such incident became the focus of a minor public flap
in 1990, when a gentleman born in 1889 applied for a driver's
license renewal in Raleigh, North Carolina. The new system
refused to issue the card, probably because with 2-digit years the
ages 101 and 1 cannot be distinguished.
Historical note: Software rot in an even funnier sense than the
mythical one was a real problem on early research computers (e.g.,
the R1; see {grind crank}). If a program that depended on a
peculiar instruction hadn't been run in quite a while, the user
might discover that the opcodes no longer did the same things they
once did. ("Hey, so-and-so needs an instruction to do
such-and-such. We can {snarf} this opcode, right? No one uses
it.")
Another classic example of this sprang from the time an MIT hacker
found a simple way to double the speed of the unconditional jump
instruction on a PDP-6, so he patched the hardware. Unfortunately,
this broke some fragile timing software in a music-playing program,
throwing its output out of tune. This was fixed by adding a
defensive initialization routine to compare the speed of a timing
loop with the real-time clock; in other words, it figured out how
fast the PDP-6 was that day, and corrected appropriately.
Compare {bit rot}.
:softwarily: /soft-weir'i-lee/ adv. In a way pertaining to software.
"The system is softwarily unreliable." The adjective
`softwary' is *not* used. See {hardwarily}.
:softy: [IBM] n. Hardware hackers' term for a software expert who
is largely ignorant of the mysteries of hardware.
:some random X: adj. Used to indicate a member of class X, with the
implication that Xs are interchangeable. "I think some random
cracker tripped over the guest timeout last night." See also
{J. Random}.
:sorcerer's apprentice mode: [from Friedrich Schiller's `Der
Zauberlehrling' via the film "Fantasia"] n. A bug in a
protocol where, under some circumstances, the receipt of a message
causes multiple messages to be sent, each of which, when received,
triggers the same bug. Used esp. of such behavior caused by
{bounce message} loops in {email} software. Compare
{broadcast storm}, {network meltdown}.
:SOS: n.,obs. /S-O-S/ 1. An infamously {losing} text editor.
Once, back in the 1960s, when a text editor was needed for the
PDP-6, a hacker crufted together a {quick-and-dirty} `stopgap
editor' to be used until a better one was written. Unfortunately,
the old one was never really discarded when new ones (in
particular, {TECO}) came along. SOS is a descendant (`Son of
Stopgap') of that editor, and many PDP-10 users gained the dubious
pleasure of its acquaintance. Since then other programs similar in
style to SOS have been written, notably the early font editor BILOS
/bye'lohs/, the Brother-In-Law Of Stopgap (the alternate expansion
`Bastard Issue, Loins of Stopgap' has been proposed). 2. /sos/
n. To decrease; inverse of {AOS}, from the PDP-10 instruction
set.
:source of all good bits: n. A person from whom (or a place from
which) useful information may be obtained. If you need to know
about a program, a {guru} might be the source of all good bits.
The title is often applied to a particularly competent secretary.
:space-cadet keyboard: n. A now-legendary device used on MIT LISP
machines, which inspired several still-current jargon terms and
influenced the design of {EMACS}. It was equipped with no
fewer than *seven* shift keys: four keys for {bucky bits}
(`control', `meta', `hyper', and `super') and three like
regular shift keys, called `shift', `top', and `front'. Many
keys had three symbols on them: a letter and a symbol on the top,
and a Greek letter on the front. For example, the `L' key had an
`L' and a two-way arrow on the top, and the Greek letter lambda on
the front. By pressing this key with the right hand while playing
an appropriate `chord' with the left hand on the shift keys, you
can get the following results:
Comments
Log in to leave a comment.
The Jargon File, Version 2.9.10, 01 Jul 1992Chapter V: Rare: book (14)
0%14 min left in chapter