Ask HN: How do you keep your work and home machine in sync?
I primarily use a Macbook Pro for work and carry it everyday from home to my office. I'm tired of doing so, and hence I'm planning to get a mac mini for office.
I have a difficult time deciding how to keep my files in sync. I could use dropbox or Google drive but syncing every little change becomes operationally difficult. Also, when I'm traveling and working offline, I might not have access to files on the other machine.
What solution do you use to address these issue? I leave my work laptop at work. After work I go to the pub, or a cafe, or to my apartment, and live life. Sometimes I work on personal projects, but _never_ on my work machine, and _never_ at work (the nature of invention assignment agreements makes this prudent). Don't work for free. I like this answer, but sometimes I work from home. When I know this will be the case, I use dropbox to sync relevant files. I have also used dropbox in remote locations, to keep a team synced up. It works ok, but works best if you keep a separate working directory (so saves don't automatically generate a sync to cloud). I have a directory on each machine that are to be kept in sync, then I just put everything in a git repo. Go to work, pull, done. Go home, pull, done. Anything not in that directory is private to the machine, all my work is in the repo. I just work in the Dropbox folder itself. I.e I do not drag and drop at the end of the day - the code and/or documents live permanently in the Dropbox folder. I truly wished I could selectively eliminate files (don't duplicate .pyc files, or whatever), but it works. A nice benefit is how dropbox keeps backups of everything. A couple of times a stupid moment at the keyboard led me to blowing away a file before checking it in. No problem, Dropbox had it versioned. I keep work and personal projects separate. Despite that, all my code is in git so it is synced wherever and whenever I need it, as long as I am disciplined about pushing to my central repo. There is some data that I use on both home and work machines (vim config, bashrc, etc.) and that is in an "environment" git repository so it is easily syncable. Shared bookmarks are most important to me so I use Pinboard.in and GetPocket on each computer. For documents I use MicroSoft OneCloud or whatever its called today. And lastly, my fav, is I have a SanDisc SD Plus Ultra II that lays very flat in my wallet yet opens to a USB. Love it. rsync would be good for small file size. If you were to sync for big files then you need a pretty good internet connection, like syncing 1GB file on a 10 MB would take under 15 mins. You need for every tool a good internet connection, if you need to sync big files. rsync is pretty good for big files because of possible compression, awareness of hardlinks and partial transfer. On top you have PKI and encryption. I'm personally not a big fan of working from home at night. However, at times, I have to work from home due to personal reasons and hence the questions. Thanks for sharing your current solutions. I just slip it in to my bag and open it when I get home. I sometimes have a few issues with after-work beers interfering with the sync process, but generally it works OK. I use unison from command line to sync files between pc's, backup server and mounted devices. Internally, if I remember me right, it's uses rsync. I use BitTorrent Sync. Leave your work at the office. Yes, and in the cases when you want to work at something home just mail it or something Maybe SSH, or VNC, or vpn to samba, but mail's ok too It's not so bad to have one canonical location for data (+backups).