Don E , Jun 28, 2006; 12:13 a.m.
It depends what you mean by a "small program". This afternoon I batched processsed a client's original catalog jpg images using Breezebrowser Pro's 'proof' dialog -- a drastic reduction in size, with the image processing required for the smaller size (sharpening and gamma corrections, including color space conversion. It will also do so with raw files. It may not be a small program, though.
Smallness can be had with scripting ImageMagick to do the job or from the command line.