I’ve started to use Unison to synchronize files between my USB keydrive and desktop. Unison is a lot like rsync (and actually uses the rsync algorithm) but whereas rsync is a “mirroring” tool, unison is designed to propagate changes in both directions.
My next step will be to synchronize files between work and home over the net.

cvs/svn, d00d.
This is a good idea, and I considered it.
There are two things that bother me about it. One, I don’t need revision history for this stuff. Of course, I can just ignore it. But secondly, I don’t like the fact that CVS/SVN is centralized. Essentially want I want is a network distributed file system. Make a change in one place, and it’s propagated everywhere. If “everywhere” means 10 places, then I can lose 9 hard drives before I start to sweat. Ya know?
This being said, I reserve the right to completely change my mind at any time :)