= S = ===== 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 Street, 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 Street; 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 Street. 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!" sagan: /say'gn/ [from Carl Sagan's TV series "Cosmos"; think "billions and billions"] n. A large quantity of anything. "There's a sagan different ways to tweak EMACS." "The U.S. Government spends sagans on bombs and welfare --- hard to say which is more destructive." SAIL:: /sayl/, not /S-A-I-L/ n. 1. Stanford Artificial Intelligence Lab. An important site in the early development of LISP; with the MIT AI Lab, BBN, CMU, and the UNIX community, one of the major wellsprings of technical innovation and hacker-culture traditions (see the {{WAITS}} entry for details). The SAIL machines were officially shut down in late May 1990, scant weeks after the MIT AI Lab's ITS cluster was officially decommissioned. 2. The Stanford Artificial Intelligence Language used at SAIL (sense 1). It was an Algol-60 derivative with a coroutining facility and some new data types intended for building search trees and association lists. salescritter: /sayls'kri`tr/ n. Pejorative hackerism for a computer salesperson. Hackers tell the following joke: Q. What's the difference between a used-car dealer and a computer salesman? A. The used-car dealer knows he's lying. This reflects the widespread hacker belief that salescritters are self-selected for stupidity (after all, if they had brains and the inclination to use them, they'd be in programming). The terms `salesthing' and `salesdroid' are also common. Compare {marketroid}, {suit}, {droid}. salsman: /salz'm*n/ v. To flood a mailing list or newsgroup with huge amounts of useless, trivial or redundant information. From the name of a hacker who has frequently done this on some widely distributed mailing lists. salt mines: n. Dense quarters housing large numbers of programmers working long hours on grungy projects, with some hope of seeing the end of the tunnel in N years. Noted for their absence of sunshine. Compare {playpen}, {sandbox}. salt substrate: [MIT] n. Collective noun used to refer to potato chips, pretzels, saltines, or any other form of snack food designed primarily as a carrier for sodium chloride. From the technical term `chip substrate', used to refer to the silicon on the top of which the active parts of integrated circuits are deposited. same-day service: n. Ironic term used to describe long response time, particularly with respect to {{MS-DOS}} system calls (which ought to require only a tiny fraction of a second to execute). Such response time is a major incentive for programmers to write programs that are not {well-behaved}. See also {PC-ism}. sandbender: [IBM] n. A person involved with silicon lithography and the physical design of chips. Compare {ironmonger}, {polygon pusher}. sandbox: n. (or `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}. sanity check: n. 1. The act of checking a piece of code (or anything else, e.g., a USENET posting) for completely stupid mistakes. Implies that the check is to make sure the author was sane when it was written; e.g., if a piece of scientific software relied on a particular formula and was giving unexpected results, one might first look at the nesting of parentheses or the coding of the formula, as a {sanity check}, before looking at the more complex I/O or data structure manipulation routines, much less the algorithm itself. Compare {reality check}. 2. A run-time test, either validating input or ensuring that the program hasn't screwed up internally (producing an inconsistent value or state). Saturday night special: [from police slang for a cheap handgun] n. A program or feature kluged together during off hours, under a deadline, and in response to pressure from a {salescritter}. Such hacks are dangerously unreliable, but all too often sneak into a production release after insufficient review. say: vt. 1. To type to a terminal. "To list a directory verbosely, you have to say `ls -l'." Tends to imply a {newline}-terminated command (a `sentence'). 2. A computer may also be said to `say' things to you, even if it doesn't have a speech synthesizer, by displaying them on a terminal in response to your commands. Hackers find it odd that this usage confuses {mundane}s. science-fiction fandom:: n. Another voluntary subculture having a very heavy overlap with hackerdom; most hackers read SF and/or fantasy fiction avidly, and many go to `cons' (SF conventions) or are involved in fandom-connected activities such as the Society for Creative Anachronism. Some hacker jargon originated in SF fandom; see {defenestration}, {great-wall}, {cyberpunk}, {h}, {ha ha only serious}, {IMHO}, {mundane}, {neep-neep}, {Real Soon Now}. Additionally, the jargon terms {cowboy}, {cyberspace}, {de-rezz}, {go flatline}, {ice}, {virus}, {wetware}, {wirehead}, and {worm} originated in SF stories. scram switch: [from the nuclear power industry] n. An emergency-power-off switch (see {Big Red Switch}), esp. one positioned to be easily hit by evacuating personnel. In general, this is *not* something you {frob} lightly; these often initiate expensive events (such as Halon dumps) and are installed in a {dinosaur pen} for use in case of electrical fire or in case some luckless {field servoid} should put 120 volts across himself while {Easter egging}. scratch: 1. [from `scratchpad'] adj. Describes a data structure or recording medium attached to a machine for testing or temporary-use purposes; one that can be {scribble}d on without loss. Usually in the combining forms `scratch memory', `scratch register', `scratch disk', `scratch tape', `scratch volume'. See {scratch monkey}. 2. [primarily IBM] vt. To delete (as in a file). scratch monkey: n. As in "Before testing or reconfiguring, always mount a {scratch monkey}", a proverb used to advise caution when dealing with irreplaceable data or devices. Used to refer to any scratch volume hooked to a computer during any risky operation as a replacement for some precious resource or data that might otherwise get trashed. This term preserves the memory of Mabel, the Swimming Wonder Monkey, star of a biological research program at the University of Toronto ca. 1986. Mabel was not (so the legend goes) your ordinary monkey; the university had spent years teaching her how to swim, breathing through a regulator, in order to study the effects of different gas mixtures on her physiology. Mabel suffered an untimely demise one day when DEC {PM}ed the PDP-11 controlling her regulator (see also {provocative maintainance}). It is recorded that, after calming down an understandably irate customer sufficiently to ascertain the facts of the matter, a DEC troubleshooter called up the {field circus} manager responsible and asked him sweetly, "Can you swim?" Not all the consequences to humans were so amusing; the sysop of the machine in question was nearly thrown in jail at the behest of certain clueless droids at the local `humane' society. The moral is clear: When in doubt, always mount a scratch monkey. screw: [MIT] n. A {lose}, usually in software. Especially used for user-visible misbehavior caused by a bug or misfeature. This use has become quite widespread outside MIT. screwage: /skroo'*j/ n. Like {lossage} but connotes that the failure is due to a designed-in misfeature rather than a simple inadequacy or a mere bug. scribble: n. To modify a data structure in a random and unintentionally destructive way. "Bletch! Somebody's disk-compactor program went berserk and scribbled on the i-node table." "It was working fine until one of the allocation routines scribbled on low core." Synonymous with {trash}; compare {mung}, which conveys a bit more intention, and {mangle}, which is more violent and final. scrog: /skrog/ [Bell Labs] vt. To damage, trash, or corrupt a data structure. "The list header got scrogged." Also reported as `skrog', and ascribed to the comic strip "The Wizard of Id". 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!" 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. search-and-destroy mode: n. Hackerism for the search-and-replace facility in an editor, so called because an incautiously chosen match pattern can cause {infinite} damage. second-system effect: n. (sometimes, more euphoniously, `second-system syndrome') When one is designing the successor to a relatively small, elegant, and successful system, there is a tendency to become grandiose in one's success and design an {elephantine} feature-laden monstrosity. The term was first used by Fred Brooks in his classic `The Mythical Man-Month: Essays on Software Engineering' (Addison-Wesley, 1975; ISBN 0-201-00650-2). It described the jump from a set of nice, simple operating systems on the IBM 70xx series to OS/360 on the 360 series. A similar effect can also happen in an evolving system; see {Brooks's Law}, {creeping elegance}, {creeping featurism}. See also {{Multics}}, {OS/2}, {X}, {software bloat}. This version of the jargon lexicon has been described (with altogether too much truth for comfort) as an example of second-system effect run amok on jargon-1.... secondary damage: n. When a fatal error occurs (esp. a {segfault}) the immediate cause may be that a pointer has been trashed due to a previous {fandango on core}. However, this fandango may have been due to an *earlier* fandango, so no amount of analysis will reveal (directly) how the damage occurred. "The data structure was clobbered, but it was secondary damage." By extension, the corruption resulting from N cascaded fandangoes on core is `Nth-level damage'. There is at least one case on record in which 17 hours of {grovel}ling with `adb' actually dug up the underlying bug behind an instance of seventh-level damage! The hacker who accomplished this near-superhuman feat was presented with an award by his fellows. security through obscurity: n. A name applied by hackers to most OS vendors' favorite way of coping with security holes --- namely, ignoring them and not documenting them and trusting that nobody will find out about them and that people who do find out about them won't exploit them. This never works for long and occasionally sets the world up for debacles like the {RTM} worm of 1988, 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: It is claimed (with dissent from {{ITS}} fans who say they used to use `security through obscurity' in a positive sense) that this term 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. SED: [TMRC, from `Light-Emitting Diode'] /S-E-D/ n. Smoke-emitting diode. A {friode} that lost the war. See {LER}. segfault: n.,vi. Syn. {segment}, {seggie}. seggie: /seg'ee/ [UNIX] n. Shorthand for {segmentation fault} reported from Britain. segment: /seg'ment/ vi. To experience a {segmentation fault}. Confusingly, this is often pronounced more like the noun `segment' than like mainstream v. segment; this is because it is actually a noun shorthand that has been verbed. segmentation fault: n. [UNIX] 1. An error in which a running program attempts to access memory not allocated to it and {core dump}s with a segmentation violation error. 2. To lose a train of thought or a line of reasoning. Also uttered as an exclamation at the point of befuddlement. segv: /seg'vee/ n.,vi. Yet another synonym for {segmentation fault} (actually, in this case, `segmentation violation'). self-reference: n. See {self-reference}. selvage: /sel'v*j/ [from sewing] n. See {chad} (sense 1). semi: /se'mee/ or /se'mi:/ 1. n. Abbreviation for `semicolon', when speaking. "Commands to {grind} are prefixed by semi-semi-star" means that the prefix is `;;*', not 1/4 of a star. 2. A prefix used with words such as `immediately' as a qualifier. "When is the system coming up?" "Semi-immediately." (That is, maybe not for an hour.) "We did consider that possibility semi-seriously." See also {infinite}. semi-infinite: n. See {infinite}. senior bit: [IBM] n. Syn. {meta bit}. server: n. A kind of {daemon} that performs a service for the requester and which often runs on a computer other than the one on which the server runs. A particularly common term on the Internet, which is rife with `name servers', `domain servers', `news servers', `finger servers', and the like. SEX: /seks/ [Sun Users' Group & elsewhere] n. 1. Software EXchange. A technique invented by the blue-green algae hundreds of millions of years ago to speed up their evolution, which had been terribly slow up until then. Today, SEX parties are popular among hackers and others (of course, these are no longer limited to exchanges of genetic software). In general, SEX parties are a {Good Thing}, but unprotected SEX can propagate a {virus}. See also {pubic directory}. 2. The rather Freudian mnemonic often used for Sign EXtend, a machine instruction found in the PDP-11 and many other architectures. DEC's engineers nearly got a PDP-11 assembler that used the `SEX' mnemonic out the door at one time, but (for once) marketing wasn't asleep and forced a change. That wasn't the last time this happened, either. The author of `The Intel 8086 Primer', who was one of the original designers of the 8086, noted that there was originally a `SEX' instruction on that processor, too. He says that Intel management got cold feet and decreed that it be changed, and thus the instruction was renamed `CBW' and `CWD' (depending on what was being extended). Amusingly, the Intel 8048 (the microcontroller used in IBM PC keyboards) is also missing straight `SEX' but has logical-or and logical-and instructions `ORL' and `ANL'. The Motorola 6809, used in the U.K.'s `Dragon 32' personal computer, actually had an official `SEX' instruction; the 6502 in the Apple II it competed with did not. British hackers thought this made perfect mythic sense; after all, it was commonly observed, you could have sex with a dragon, but you can't have sex with an apple. sex changer: n. Syn. {gender mender}. 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 {guiltware}, {crippleware}. 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}. shitogram: /shit'oh-gram/ n. A *really* nasty piece of email. Compare {nastygram}, {flame}. short card: n. A half-length IBM PC expansion card or adapter that will fit in one of the two short slots located towards the right rear of a standard chassis (tucked behind the floppy disk drives). See also {tall card}. shotgun debugging: n. The software equivalent of {Easter egging}; the making of relatively undirected changes to software in the hope that a bug will be perturbed out of existence. This almost never works, and usually introduces more bugs. showstopper: n. A hardware or (especially) software bug that makes an implementation effectively unusable; one that absolutely has to be fixed before development can go on. Opposite in connotation from its original theatrical use, which refers to something stunningly *good*. shriek: n. See {excl}. Occasional CMU usage, also in common use among APL fans and mathematicians, especially category theorists. Shub-Internet: /shuhb in't*r-net/ [MUD: from H. P. Lovecraft's evil fictional deity `Shub-Niggurath', the Black Goat with a Thousand Young] n. The harsh personification of the Internet, Beast of a Thousand Processes, Eater of Characters, Avatar of Line Noise, and Imp of Call Waiting; the hideous multi-tendriled entity formed of all the manifold connections of the net. A sect of MUDders worships Shub-Internet, sacrificing objects and praying for good connections. To no avail --- its purpose is malign and evil, and is the cause of all network slowdown. Often heard as in "Freela casts a tac nuke at Shub-Internet for slowing her down." (A forged response often follows along the lines of: "Shub-Internet gulps down the tac nuke and burps happily.") Also cursed by users of {FTP} and {telnet} when the system slows down. The dread name of Shub-Internet is seldom spoken aloud, as it is said that repeating it three times will cause the being to wake, deep within its lair beneath the Pentagon. sidecar: n. 1. Syn. {slap on the side}. Esp. used of add-ons for the late and unlamented IBM PCjr. 2. The IBM PC compatibility box that could be bolted onto the side of an Amiga. Designed and produced by Commodore, it broke all of the company's own rules. If it worked with any other peripherals, it was by {magic}. sig 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}); but many consider large sigs a waste of {bandwidth}, and it has been observed that the size of one's sig block is usually inversely proportional to one's longevity and level of prestige on the net. sig quote: /sig kwoht/ [USENET] n. A maxim, quote, proverb, joke, or slogan embedded in one's {sig block} and intended to convey something of one's philosophical stance, pet peeves, or sense of humor. "Calm down, it's only ones and zeroes." signal-to-noise ratio: [from analog electronics] n. Used by hackers in a generalization of its technical meaning. `Signal' refers to useful information conveyed by some communications medium, and `noise' to anything else on that medium. Hence a low ratio implies that it is not worth paying attention to the medium in question. Figures for such metaphorical ratios are never given. The term is most often applied to {USENET} newsgroups during {flame war}s. Compare {bandwidth}. See also {coefficient of X}, {lost in the noise}. silicon: n. Hardware, esp. ICs or microprocessor-based computer systems (compare {iron}). Contrasted with software. See also {sandbender}. silicon foundry: n. A company that {fab}s chips to the designs of others. As of the late 1980s, the combination of silicon foundries and good computer-aided design software made it much easier for hardware-designing startup companies to come into being. The downside of using a silicon foundry is that the distance from the actual chip-fabrication processes reduces designers' control of detail. This is somewhat analogous to the use of {HLL}s versus coding in assembler. silly walk: [from Monty Python's Flying Circus] vi. 1. A ridiculous procedure required to accomplish a task. Like {grovel}, but more {random} and humorous. "I had to silly-walk through half the /usr directories to find the maps file." 2. Syn. {fandango on core}. silo: n. The FIFO input-character buffer in an RS-232 line card. So called from DEC terminology used on DH and DZ line cards for the VAX and PDP-11, presumably because it was a storage space for fungible stuff that you put in the top and took out the bottom. Silver Book: n. Jensen and Wirth's infamous `Pascal User Manual and Report', so called because of the silver cover of the widely distributed Springer-Verlag second edition of 1978 (ISBN 0-387-90144-2). See {{book titles}}, {Pascal}. since time T equals minus infinity: adj. A long time ago; for as long as anyone can remember; at the time that some particular frob was first designed. Usually the word `time' is omitted. See also {time T}. sitename: /si:t'naym/ [UNIX/Internet] n. The unique electronic name of a computer system, used to identify it in UUCP mail, USENET, or other forms of electronic information interchange. The folklore interest of sitenames stems from the creativity and humor they often display. Interpreting a sitename is not unlike interpreting a vanity license plate; one has to mentally unpack it, allowing for mono-case and length restrictions and the lack of whitespace. Hacker tradition deprecates dull, institutional-sounding names in favor of punchy, humorous, and clever coinages (except that it is considered appropriate for the official public gateway machine of an organization to bear the organization's name or acronym). Mythological references, cartoon characters, animal names, and allusions to SF or fantasy literature are probably the most popular sources for sitenames (in roughly descending order). The obligatory comment when discussing these is Harris's Lament: "All the good ones are taken!" See also {network address}. skrog: v. Syn. {scrog}. skulker: n. Syn. {prowler}. slap on the side: n. (also called a {sidecar}, or abbreviated `SOTS'.) A type of external expansion hardware marketed by computer manufacturers (e.g., Commodore for the Amiga 500/1000 series and IBM for the hideous failure called `PCjr'). Various SOTS boxes provided necessities such as memory, hard drive controllers, and conventional expansion slots. slash: n. Common name for the slant (`/', ASCII 0101111) character. See {ASCII} for other synonyms. sleep: vi. 1. [techspeak] On a timesharing system, a process that relinquishes its claim on the scheduler until some given event occurs or a specified time delay elapses is said to `go to sleep'. 2. In jargon, used very similarly to v. {block}; also in `sleep on', syn. with `block on'. Often used to indicate that the speaker has relinquished a demand for resources until some (possibly unspecified) external event: "They can't get the fix I've been asking for into the next release, so I'm going to sleep on it until the release, then start hassling them again." slim: n. A small, derivative change (e.g., to code). slop: n. 1. A one-sided {fudge factor}, that is, an allowance for error but in only one of two directions. For example, if you need a piece of wire 10 feet long and have to guess when you cut it, you make very sure to cut it too long, by a large amount if necessary, rather than too short by even a little bit, because you can always cut off the slop but you can't paste it back on again. When discrete quantities are involved, slop is often introduced to avoid the possibility of being on the losing side of a {fencepost error}. 2. The percentage of `extra' code generated by a compiler over the size of equivalent assembler code produced by {hand-hacking}; i.e., the space (or maybe time) you lose because you didn't do it yourself. This number is often used as a measure of the goodness of a compiler; slop below 5% is very good, and 10% is usually acceptable. With modern compiler technology, esp. on RISC machines, the compiler's slop may actually be *negative*; that is, humans may be unable to generate code as good. This is one of the reasons assembler programming is no longer common. slopsucker: /slop'suhk-r/ n. A lowest-priority task that must wait around until everything else has `had its fill' of machine resources. Only when the machine would otherwise be idle is the task allowed to `suck up the slop'. Also called a {hungry puppy}. 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. 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}. 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}, {precedence lossage}, {overrun screw}. smiley: n. See {emoticon}. 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. 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'. 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 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 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. The Knight keyboard, a now-legendary device used on MIT LISP machines, which inspired several still-current jargon terms and influenced the design of {EMACS}. It was inspired by the Stanford keyboard and 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. If you press this key with the right hand while playing an appropriate `chord' with the left hand on the shift keys, you can get the following results: L lowercase l shift-L uppercase L front-L lowercase lambda front-shift-L uppercase lambda top-L two-way arrow (front and shift are ignored) And of course each of these might also be typed with any combination of the control, meta, hyper, and super keys. On this keyboard, you could type over 8000 different characters! This allowed the user to type very complicated mathematical text, and also to have thousands of single-character commands at his disposal. Many hackers were actually willing to memorize the command meanings of that many characters if it reduced typing time (this attitude obviously shaped the interface of EMACS). Other hackers, however, thought having that many bucky bits was overkill, and objected that such a keyboard can require three or four hands to operate. See {bucky bits}, {cokebottle}, {double bucky}, {meta bit}, {quadruple bucky}. 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 9 years after that, SPACEWAR was commercialized as one of the first video games; descendants are still {feep}ing in video arcades everywhere. spaghetti code: n. Code with a complex and tangled control structure, esp. one using many GOTOs, exceptions, or other `unstructured' branching constructs. Pejorative. The synonym `kangaroo code' has been reported, doubtless because such code has many jumps in it. spaghetti inheritance: n. [encountered among users of object-oriented languages that use inheritance, such as Smalltalk] A convoluted class-subclass graph, often resulting from carelessly deriving subclasses from other classes just for the sake of reusing their code. Coined in a (successful) attempt to discourage such practice, through guilt-by-association with {spaghetti code}. spam: [from the {MUD} community] vt. To crash a program by overrunning a fixed-size buffer with excessively large input data. See also {buffer overflow}, {overrun screw}, {smash the stack}. special-case: vt. To write unique code to handle input to or situations arising in program that are somehow distinguished from normal processing. This would be used for processing of mode switches or interrupt characters in an interactive interface (as opposed, say, to text entry or normal commands), or for processing of {hidden flag}s in the input of a batch program or {filter}. speedometer: n. A pattern of lights displayed on a linear set of LEDs (today) or nixie tubes (yesterday, on ancient mainframes). The pattern is shifted left every N times the software goes through its main loop. A swiftly moving pattern indicates that the system is mostly idle; the speedometer slows down as the system becomes overloaded. The speedometer on Sun Microsystems hardware bounces back and forth like the eyes on one of the Cylons from the wretched "Battlestar Galactica" TV series. Historical note: One computer, the Honeywell 6000 (later GE 600) actually had an *analog* speedometer on the front panel, calibrated in instructions executed per second. spell: n. Syn. {incantation}. spiffy: /spi'fee/ adj. 1. Said of programs having a pretty, clever, or exceptionally well-designed interface. "Have you seen the spiffy {X} version of {empire} yet?" 2. Said sarcastically of a program that is perceived to have little more than a flashy interface going for it. Which meaning should be drawn depends delicately on tone of voice and context. This word was common mainstream slang during the 1940s, in a sense close to #1. spin: vi. Equivalent to {buzz}. More common among C and UNIX programmers. spl: /S-P-L/ [abbrev, from Set Priority Level] The way traditional UNIX kernels implement mutual exclusion by running code at high interrupt levels. Used in jargon to describe the act of tuning in or tuning out ordinary communication. Classically, spl levels run from 1 to 7; "Fred's at spl 6 today." would mean that he is very hard to interrupt. "Wait till I finish this; I'll spl down then." See also {interrupts locked out}. splat: n. 1. Name used in many places (DEC, IBM, and others) for the asterisk (`*') character (ASCII 0101010). This may derive from the `squashed-bug' appearance of the asterisk on many early line printers. 2. [MIT] Name used by some people for the `#' character (ASCII 0100011). 3. [Rochester Institute of Technology] The {command key} on a Mac (same as {ALT}, sense 2). 4. [Stanford] Name used by some people for the Stanford/ITS extended ASCII circle-x character. This character is also called `blobby' and `frob', among other names; it is sometimes used by mathematicians as a notation for `tensor product'. 5. [Stanford] Name for the semi-mythical extended ASCII circle-plus character. 6. Canonical name for an output routine that outputs whatever the local interpretation of `splat' is. With ITS and WAITS gone, senses 4--6 are now nearly obsolete. See also {{ASCII}}. sponge: [UNIX] n. A special case of a {filter} that reads its entire input before writing any output; the canonical example is a sort utility. Unlike most filters, a sponge can conveniently overwrite the input file with the output data stream. If your file system has versioning (as ITS did and VMS does now) the sponge/filter distinction loses its usefulness, because directing filter output would just write a new version. See also {slurp}. spooge: /spooj/ 1. n. Inexplicable or arcane code, or random and probably incorrect output from a computer program. 2. vi. To generate spooge (sense 1). spool: [from early IBM `Simultaneous Peripheral Operation Off-Line', but this acronym is widely thought to have been contrived for effect] vt. To send files to some device or program (a `spooler') that queues them up and does something useful with them later. The spooler usually understood is the `print spooler' controlling output of jobs to a printer, but the term has been used in connection with other peripherals (especially plotters and graphics devices). See also {demon}. stack: n. A person's stack is the set of things he or she has to do in the future. One speaks of the next project to be attacked as having risen to the top of the stack. "I'm afraid I've got real work to do, so this'll have to be pushed way down on my stack." "I haven't done it yet because every time I pop my stack something new gets pushed." If you are interrupted several times in the middle of a conversation, "My stack overflowed" means "I forget what we were talking about." The implication is that more items were pushed onto the stack than could be remembered, so the least recent items were lost. The usual physical example of a stack is to be found in a cafeteria: a pile of plates or trays sitting on a spring in a well, so that when you put one on the top they all sink down, and when you take one off the top the rest spring up a bit. See also {push} and {pop}. At MIT, {pdl} used to be a more common synonym for {stack} in all these contexts, and this may still be true. Everywhere else {stack} seems to be the preferred term. {Knuth} (`The Art of Computer Programming', second edition, vol. 1, p. 236) says: Many people who realized the importance of stacks and queues independently have given other names to these structures: stacks have been called push-down lists, reversion storages, cellars, nesting stores, piles, last-in-first-out ("LIFO") lists, and even yo-yo lists! stack puke: n. Some processor architectures are said to `puke their guts onto the stack' to save their internal state during exception processing. The Motorola 68020, for example, regurgitates up to 92 bytes on a bus fault. On a pipelined machine, this can take a while. stale pointer bug: n. Synonym for {aliasing bug} used esp. among microcomputer hackers. state: n. 1. Condition, situation. "What's the state of your latest hack?" "It's winning away." "The system tried to read and write the disk simultaneously and got into a totally wedged state." The standard question "What's your state?" means "What are you doing?" or "What are you about to do?" Typical answers are "about to gronk out", or "hungry". Another standard question is "What's the state of the world?", meaning "What's new?" or "What's going on?". The more terse and humorous way of asking these questions would be "State-p?". Another way of phrasing the first question under sense 1 would be "state-p latest hack?". 2. Information being maintained in non-permanent memory (electronic or human). steam-powered: adj. Old-fashioned or underpowered; archaic. This term does not have a strong negative loading and may even be used semi-affectionately for something that clanks and wheezes a lot but hangs in there doing the job. stiffy: [University of Lowell, Massachusetts.] n. 3.5-inch {microfloppies}, so called because their jackets are more firm than those of the 5.25-inch and the 8-inch floppy. Elsewhere this might be called a `firmy'. stir-fried random: alt. `stir-fried mumble' n. Term used for the best dish of many of those hackers who can cook. Consists of random fresh veggies and meat wokked with random spices. Tasty and economical. See {random}, {great-wall}, {ravs}, {{laser chicken}}, {{oriental food}}; see also {mumble}. stomp on: vt. To inadvertently overwrite something important, usually automatically. "All the work I did this weekend got stomped on last night by the nightly server script." Compare {scribble}, {mangle}, {trash}, {scrog}, {roach}. Stone Age: n., adj. 1. In computer folklore, an ill-defined period from ENIAC (ca. 1943) to the mid-1950s; the great age of electromechanical {dinosaur}s. Sometimes used for the entire period up to 1960--61 (see {Iron Age}); however, it is funnier and more descriptive to characterize the latter period in terms of a `Bronze Age' era of transistor-logic, pre-ferrite-{core} machines with drum or CRT mass storage (as opposed to just mercury delay lines and/or relays). See also {Iron Age}. 2. More generally, a pejorative for any crufty, ancient piece of hardware or software technology. Note that this is used even by people who were there for the {Stone Age} (sense 1). stoppage: /sto'p*j/ n. Extreme {lossage} that renders something (usually something vital) completely unusable. "The recent system stoppage was caused by a {fried} transformer." store: [prob. from techspeak `main store'] n. Preferred Commonwealth synonym for {core}. Thus, `bringing a program into store' means not that one is returning shrink-wrapped software but that a program is being {swap}ped in. stroke: n. Common name for the slant (`/', ASCII 0101111) character. See {ASCII} for other synonyms. strudel: n. Common (spoken) name for the circumflex (`', ASCII 1000000) character. See {ASCII} for other synonyms. stubroutine: /stuhb'roo-teen/ [contraction of `stub routine'] n. Tiny, often vacuous placeholder for a subroutine that is to be written or fleshed out later. studlycaps: /stuhd'lee-kaps/ n. A hackish form of silliness similar to {BiCapitalization} for trademarks, but applied randomly and to arbitrary text rather than to trademarks. ThE oRigiN and SigNificaNce of thIs pRacTicE iS oBscuRe. stunning: adj. Mind-bogglingly stupid. Usually used in sarcasm. "You want to code *what* in ADA? That's ... a stunning idea!" stupid-sort: n. Syn. {bogo-sort}. subshell: /suhb'shel/ [UNIX, MS-DOS] n. An OS command interpreter (see {shell}) spawned from within a program, such that exit from the command interpreter returns one to the parent program in a state that allows it to continue execution. Compare {shell out}; oppose {chain}. sucking mud: [Applied Data Research] adj. (also `pumping mud') Crashed or wedged. Usually said of a machine that provides some service to a network, such as a file server. This Dallas regionalism derives from the East Texas oilfield lament, "Shut 'er down, Ma, she's a-suckin' mud". Often used as a query. "We are going to reconfigure the network, are you ready to suck mud?" sufficiently small: adj. Syn. {suitably small}. suit: n. 1. Ugly and uncomfortable `business clothing' often worn by non-hackers. Invariably worn with a `tie', a strangulation device that partially cuts off the blood supply to the brain. It is thought that this explains much about the behavior of suit-wearers. Compare {droid}. 2. A person who habitually wears suits, as distinct from a techie or hacker. See {loser}, {burble}, {management}, and {brain-damaged}. English, by the way, is relatively kind; our Soviet correspondent informs us that the corresponding idiom in Russian hacker jargon is `sovok', lit. a tool for grabbing garbage. suitable win: n. See {win}. suitably small: [perverted from mathematical jargon] adj. An expression used ironically to characterize unquantifiable behavior that differs from expected or required behavior. For example, suppose a newly created program came up with a correct full-screen display, and one publicly exclaimed: "It works!" Then, if the program dumps core on the first mouse click, one might add: "Well, for suitably small values of `works'." Compare the characterization of pi under {{random numbers}}. sun-stools: n. Unflattering hackerism for SunTools, a pre-X windowing environment notorious in its day for size, slowness, and misfeatures. {X}, however, is larger and slower; see {second-system effect}. sunspots: n. 1. Notional cause of an odd error. "Why did the program suddenly turn the screen blue?" "Sunspots, I guess." 2. Also the cause of {bit rot} --- from the myth that sunspots will increase {cosmic rays}, which can flip single bits in memory. See {cosmic rays}, {phase of the moon}. superprogrammer: n. A prolific programmer; one who can code exceedingly well and quickly. Not all hackers are superprogrammers, but many are. (Productivity can vary from one programmer to another by three orders of magnitude. For example, one programmer might be able to write an average of 3 lines of working code in one day, while another, with the proper tools, might be able to write 3,000. This range is astonishing; it is matched in very few other areas of human endeavor.) The term `superprogrammer' is more commonly used within such places as IBM than in the hacker community. It tends to stress na"ive measures of productivity and to underweight creativity, ingenuity, and getting the job *done* --- and to sidestep the question of whether the 3,000 lines of code do more or less useful work than three lines that do the {Right Thing}. Hackers tend to prefer the terms {hacker} and {wizard}. superuser: [UNIX] n. Syn. {root}, {avatar}. This usage has spread to non-UNIX environments; the superuser is any account with all {wheel} bits on. A more specific term than {wheel}. support: n. After-sale handholding; something many software vendors promise but few deliver. To hackers, most support people are useless --- because by the time a hacker calls support he or she will usually know the relevant manuals better than the support people (sadly, this is *not* a joke or exaggeration). A hacker's idea of `support' is a t^ete-`a-t^ete with the software's designer. Suzie COBOL: /soo'zee koh'bol/ 1. [IBM: prob. from Frank Zappa's `Suzy Creamcheese'] n. A coder straight out of training school who knows everything except the value of comments in plain English. Also (fashionable among personkind wishing to avoid accusations of sexism) `Sammy Cobol' or (in some non-IBM circles) `Cobol Charlie'. 2. [proposed] Meta-name for any {code grinder}, analogous to {J. Random Hacker}. swab: /swob/ [From the mnemonic for the PDP-11 `SWAp Byte' instruction, as immortalized in the `dd(1)' option `conv=swab' (see {dd})] 1. vt. To solve the {NUXI problem} by swapping bytes in a file. 2. n. The program in V7 UNIX used to perform this action, or anything functionally equivalent to it. See also {big-endian}, {little-endian}, {middle-endian}, {bytesexual}. swap: vt. 1. [techspeak] To move information from a fast-access memory to a slow-access memory (`swap out'), or vice versa (`swap in'). Often refers specifically to the use of disks as `virtual memory'. As pieces of data or program are needed, they are swapped into {core} for processing; when they are no longer needed they may be swapped out again. 2. The jargon use of these terms analogizes people's short-term memories with core. Cramming for an exam might be spoken of as swapping in. If you temporarily forget someone's name, but then remember it, your excuse is that it was swapped out. To `keep something swapped in' means to keep it fresh in your memory: "I reread the TECO manual every few months to keep it swapped in." If someone interrupts you just as you got a good idea, you might say "Wait a moment while I swap this out", implying that the piece of paper is your extra-somatic memory and if you don't swap the info out by writing it down it will get overwritten and lost as you talk. Compare {page in}, {page out}. swap space: n. Storage space, especially temporary storage space used during a move or reconfiguration. "I'm just using that corner of the machine room for swap space." swapped in: n. See {swap}. See also {page in}. swapped out: n. See {swap}. See also {page out}. swizzle: v. To convert external names, array indices, or references within a data structure into address pointers when the data structure is brought into main memory from external storage (also called `pointer swizzling'); this may be done for speed in chasing references or to simplify code (e.g., by turning lots of name lookups into pointer dereferences). The converse operation is sometimes termed `unswizzling'. See also {snap}. sync: /sink/ (var. `synch') n., vi. 1. To synchronize, to bring into synchronization. 2. [techspeak] To force all pending I/O to the disk; see {flush}, sense 2. 3. More generally, to force a number of competing processes or agents to a state that would be `safe' if the system were to crash; thus, to checkpoint (in the database-theory sense). syntactic sugar: [coined by Peter Landin] n. Features added to a language or other formalism to make it `sweeter' for humans, that do not affect the expressiveness of the formalism (compare {chrome}). Used esp. when there is an obvious and trivial translation of the `sugar' feature into other constructs already present in the notation. C's `a[i]' notation is syntactic sugar for `*(a + i)'. "Syntactic sugar causes cancer of the semicolon." --- Alan Perlis The variant `syntactic saccharine' is also recorded. This denotes something even more gratuitous, in that syntactic sugar serves a purpose (making something more acceptable to humans) but syntactic saccharine serves no purpose at all. 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}. 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). SysVile: /sis-vi:l'/ n. See {Missed'em-five}. 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.