Lately I've been playing with Dropbox, a free utility for Macs, Windows and Linux based machines. It's a pretty simple concept; an internet drive that allows you to sync your files between multiple machines. There is really not too much to using it; a small application is installed that monitors a folder on your hard drive (normally placed in the user's home directory but you can put it anywhere). Dropbox monitors changes to that folder and if a file is updated it is pushed up to your virtual drive on the interwebs. If you have multiple machines with Dropbox installed and pointing to the same account then they will automatically pick up the changes.
While this sound like something that can just as easily be accomplished with a network share, the nice thing about Dropbox is that the files are automatically copied to the machine's local drive. In my case I have three physical machines: a Mac Pro, a MacBook Pro and an HP Slimline that serves as an Ubuntu workstation. In addition I usually have a Windows XP instance running on my Mac Pro using VMware Fusion. As I am currently working on some file importing routines for my product I am jumping between machines frequently; now if I make a change to files I need globally I see this little notice pop-up on each machine:
Mac (Growl notification)
So if I make a change anywhere it is auto-reflected wherever I need it. If I then grab my MacBook Pro for a meeting and the place I'm going doesn't have internet access I still have a locally updated copy of the files that will be updated as soon as I get back to a live connection.
If you are away from your machine and need access to those synchronized files you can log in from anywhere and download the files from your account. You can also place your files into a public folder that will allow you to share them with others, though I haven't tried that feature yet.
Dropbox comes with 2GB of storage for free; you can upgrade to a 50GB version for $9.99 / month or $99 / year. I've had it running on all of my machines for about a week now and have been impressed with how easy it is to use.
Got a great solution for keeping files synchronized on multiple machines? Drop a note in the comments, I'd love to hear about it.