One of the most interesting things about working with computers is the ability to work on the same data in different locations (home, office, train, hotel) and environments (Windows, OSX, Linux). It is not so easy to address these requirements easily as the case of working on a single machine with all data and services centralized. I use a lot of machines during a week: Apple G5 Desktop, Powerbook Laptop and a Windows XP Laptop (at office). I can swap regularly between these systems finding always my environment and my data.
I solved synchronization issues using a Home Linux Server and Internet. Server acts as data centralizer and collector for all these systems. I started also experimenting Web2.0 services which can solve easily annoying problems.
My Home Server is equipped with a Gentoo Linux distribution and it performs usual services: file & print server, vnc, subversion and ssh. Synchronization of data files is done using Unison file synchronizer which allows replicas of a collection of files and directories to be stored on different hosts, modified separately, and then brought up to date by propagating the changes in each replica to the other. Unison is truly multiplatform: I can easily synch linux, windows and osx without problems. It works very well in low bandwidth condition too.
Programming projects and source code instead are synchronized with the popular version control tool called Subversion. Any time I switch machines I synch my data (or commit in the case of subversion) and do another synch (or an update in the case of subversion) on my new machine. Everything keeps nicely synced, and I get full version control too.
Unison and subversion are good for documents and source files. Other kinds of data need to keep synchronized and previous tools are not enough. So here is a summary of my strategies for treating all ubiquitous data:
Documents: Unison
Projects and sourcecode: Subversion
Mail: IMAP Server (I purchased a Fastmail.fm account which is very good)
Bookmark: Delicious
RSS: Bloglines
Memos: Writely
Addressbook: Palm PDA (not synch’ed)
Calendar: Palm PDA (not synch’ed)
I know it’s not perfect and from some point of view it can be hard to understand. But I think that benefits of working regularly with different environments are grater.