I just use dyndns.org. ;P

I've never bothered setting up scripts, I use their "static" dns, which 
is just dynamic dns with longer TTLs. My corner of the cable system was 
keeping the same IP for over six months at a time. Even after rebooting 
the server and the modem, I end up getting the same address.