1. 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. 2. A type of
small transparent image inserted into HTML documents by certain
WYSIWYG HTML editors, used to set the spacing of elements meant to
have a fixed positioning within a TABLE or DIVision. Hackers who
work on the HTML code of such pages afterwards invariably curse
these for their crocky dependence on the particular spacing of
original image file, the editor that generated them, and the
version of the browser used to view them. Worse, they are a poorly
designed kludge which the advent of Cascading Style Sheets
makes wholly unnecessary; Any fool can plainly see that use of
borders, layers and positioned elements is the Right Thing (or
would be if adequate support for CSS were more common).