Note: These notes are largely obsolete and are provided for reference. Codecs have advanced beyond H264 (although H264 is still hugely popular and a safe choice for compatiblity), and Handbrake has become a mature and user friendly GUI application that performs this work.
I started encoding DVDs when my friend got an iPod Video in 2006 and he was trying to put videos on his iPod. Since then I've given up iPod support on my videos, and instead find myself trying some of the more fun modern options available to H264. Now I watch my videos through MythVideo, and I can take some movies on my usb key to watch on a PS3 or Xbox360 with my friends.
My scripts have evolved extensively, as I've used ffmpeg, mencoder, and now handbrake to perform my encoding. The first resource I used was on the Ubuntu Wiki, although now the article has become fragmented. The only thing which I pull from this page any more is dumping a DVD in Windows (ironically).