from
Jargon File (4.4.4, 14 Aug 2003)
shim
n.
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).