< previous page page_410 next page >

Page 410

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 local devices as displays. 2. obs. Any terminal with an addressable cursor; the opposite of a glass tty. Today, a terminal with merely an addressable cursor, but with none of the more-powerful features mentioned in sense 1, is called a dumb terminal.
There is a classic quote from Rob Pike (inventor of the blit terminal): "A smart terminal is not a smartass 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 n. [C programming] To corrupt the execution stack by writing past the end of a local array or other data structure. Code that smashes the stack can cause a return from the routine to jump to a random address, resulting in some of the most insidious data-dependent bugs known to mankind. Variants include trash the stack, scribble the stack, mangle the stack; the term **mung the stack is not used, as this is never done intentionally. See spam; see also aliasing bug, fandango on core, memory leak, memory smash, precedence lossage, overrun screw.

 
< previous page page_410 next page >

If you like this book, buy it!