:shelfware: /shelf'weir/ /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}} /n./ techspeak, widely propagated via Unix] 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'. 3. A skeleton program, created by hand or by another program (like, say, a parser generator), which provides the necessary {incantation}s to set up some task and the control flow to drive it (the term {driver} is sometimes used synonymously). The user is meant to fill in whatever code is needed to get real work done. This usage is common in the AI and Microsoft Windows worlds, and confuses Unix hackers.
Historical note: Apparently, the original Multics shell (sense 1) was so called because it was a shell (sense 3); it ran user programs not by starting up separate processes, but by dynamically linking the programs into its own code, calling them as subroutines, and then dynamically de-linking them on return. The VMS command interpreter still does something very like this.
:shell out: /n./ [Unix] To spawn an interactive subshell from within a program (e.g., a mailer or editor). "Bang foo runs foo in a subshell, while bang alone shells out."
:shift left (or right) logical: [from any of various machines' instruction sets] 1. /vi./ To move oneself to the left (right). To move out of the way. 2. imper. "Get out of that (my) seat! You can shift to that empty one to the left (right)." Often used without the `logical', or as `left shift' instead of `shift left'. Sometimes heard as LSH /lish/, from the {PDP-10} instruction set. See {Programmer's Cheer}.
:shim: /n./ A small piece of data inserted in order to achieve a desired memory alignment or other addressing property. For example, the PDP-11 Unix linker, in split I&D (instructions and data) mode, inserts a two-byte shim at location 0 in data space so that no data object will have an address of 0 (and be confused with the C null pointer). See also {loose bytes}.
:shitogram: /shit'oh-gram/ /n./ A *really* nasty piece of email. Compare {nastygram}, {flame}.
:short card: /n./ A half-length IBM XT expansion card or
adapter that will fit in one of the two short slots located towards
the right rear of a standard chassis (tucked behind the floppy disk
drives). See also {tall card}.
:shotgun debugging: /n./ The software equivalent of {Easter
egging}; the making of relatively undirected changes to software in
the hope that a bug will be perturbed out of existence. This
almost never works, and usually introduces more bugs.
:shovelware: /shuh'v*l-weir`/ /n./ Extra software dumped onto
a CD-ROM or tape to fill up the remaining space on the medium after
the software distribution it's intended to carry, but not
integrated with the distribution.