Like any good programmer I make extensive use of an SCM to track code changes.
There is a limitation to version control though - it's not automated. This is fine; commits, in my mind, are about tracking your additions/fixes/improvements to a project. I've been trying my best to get away from the "commiting todays work" kind of message.
But the lack of automation has a drawback. If, like myself, you work on multiple machines at multiple physical locations throughout a normal day it's a ball ache to realise you forgot to commit before leaving work. Losing track is very easy.
It strikes me that, really, I was misusing SCM entirely. It's not about syncing my code between home and work, it is about tracking code changes. We should be using a different tool to fix the sync problem.
Enter Dropbox
Dropbox is a perfect solution. Embarrassingly my brother (who is a musician) has already been using it for an age.
So now I have a Dropbox account with a mercurial folder that syncs every drop of code on the fly - I can now literally move to another room, sit at my netbook and instantly start coding again.
Such a simple solution but I reckon it has increased my productivity by at least a factor of two.