I saw this cool post: http://photojojo.com/content/diy/make-your-own-fisheye-lens/
And decided that I could do one better: I would go to an eyeglasses shop and get the highest prescription lens-blank they had.
A digital camera (SLR or point-and-shoot)
If it's an SLR, you also need an 18-55 lens, stock with most cameras.
Very thick, uncut eyeglass-lens. ($15)
Step 1: Buying the lens
Step 2: Holding the lens, over the lens
If you're using an SLR lens, zoom it out to the widest possible setting (i.e. 18mm).
If you're using a point-and-shoot, make sure it's set to "macro" mode (flower icon) so it can focus.
The lens does different things, depending on which way the concavity is facing. For clean photos, with less distortion, hold the eyeglass lens directly against the camera lens. For a little more distortion, pull it a few cms away, as shown in the photo. This is the reason I didn't tape it down, I like the variety that can be had by adjusting the distance of the lenses.