First of all, don't forget to check out the photoblog.
PTGUI
Correction of image distortion and perspective
Determining the Nodal Point of a Lens