This week a friend was describing what is probably one of the worst nightmares of research. They lost all of their code. ALL of it, along with everything else on their (presumably stolen) laptop. What made it even worse is that they’re literally one signature away from defending their thesis. The real irony in this story is they had just transferred their work files over from a student lab PC that got a new image, and extra copies made on two separate flash drives were in the same bag as the laptop. I believe that my friend will still be able to graduate, but this is probably one of the harsher lessons for not following the complete backup rule of three.
3 backups … check … 2 different media … check … 1 backup off-site … almost.
My friend’s dilemma reminded me of my history of backups and data mobility. Today I rely mostly on Dropbox, which I’m pretty sure is ubiquitous so I won’t bother making a pitch for it here. But I toyed with some interesting alternatives before I reached this point, and that’s what I’ll be sharing in this post.
Fool Me Once, Shame on You. Fool Me Twice, Now FTP
Early in grad school I had 2 hard drive failures over the span of a year. That really motivated me to keep some online storage, so I made sure that copies of all of my work files were kept on my network drive at the University. I would use fireFTP to update files (though these days I much prefer FileZilla for accessing remote data). However, I did most of my work on a networked desktop in the lab, so the inconvenience of manual file transfers wasn’t very high.
Time for Subversion
As I was writing my Masters thesis I had two new requirements:
- I was working more from home so having more convenient transfers became a priority
- I was making a lot of changes to the thesis files and I wanted to keep previous versions in case I wanted to change anything back
I had used TortoiseSVN for version control for an undergrad group project, and that suited my needs just fine. I decided to go all in and used it for backing up all of my work files on the department server, except for large simulation output. Using a full version control platform was probably over-doing it for my one person “team”, but committing revisions was a lot simpler than using FTP.
Owning My Cloud
In the third year of my PhD I realized that I would probably graduate one day and I wouldn’t want to keep relying on departmental network space. I decided to take my backups into the cloud, but I wasn’t keen on handing everything over to Dropbox (one of reasons being the many revelations coming out about the NSA around that time). I was keen on getting some experience with operating a server, so I started renting a VPS (Virtual Private Server). I discovered ownCloud, which lets you run your own file syncing server. Plus the personal version is free (I think I paid $2 to get the phone app). ownCloud gives you an interface that is essentially the same as Dropbox, except your data doesn’t go to a 3rd party.
How I Learned to Stop Worrying and Love Dropbox
I used ownCloud for maybe 6 months, and it was generally fine. There were some annoyances (not all the fault of ownCloud):
- I had a pretty cheap VPS and the network speed was not what I expected. File transfers for “medium” files like 1MB PDFs would take 5-10 seconds or more.
- On a few occasions my local files wouldn’t be recognized properly and everything would get re-downloaded from my server.
- Even though the VPS was cheap, I wasn’t getting enough value from it.
The final deal-breaker was realizing that my ownership of a Samsung tablet got me an extra free 45GB on Dropbox for two years. Space wasn’t going to be an issue, so I moved everything to Dropbox and shut my server down. I’ve been satisfied with it ever since (and will be until my 45GB promotion runs out, but that’s a problem for another day …).
Note: I am NOT affiliated with or otherwise sponsored by Dropbox, Inc.