Administrative: I dropped the ball and didn’t post anything yesterday for my blog writing month. This post makes me 5-for-6, or 83%.
✻ ✼ ✻
A couple of years ago, Dropbox came under fire for changes in their terms of service that clarified who has access to your files. (That’s a nice way of saying that they previously lied, or at least misled us.) People wrongly assumed that the stuff they keep on Dropbox was safe and secure from snooping.
I found that a little troublesome, enough that I investigated SpiderOak as a replacement and even used it for a few months. Security was great, but performance was nonstellar, so I fell back into Dropbox. With the NSA now calling on big tech companies (possibly including Dropbox) to snoop on user’s data and with the NSA using FISA to gag those very tech companies from revealing they’ve complied, I find the current situation a little more troublesome.
I have a friend who worked at one of the prototypical San Francisco cloud storage companies, long before Dropbox. He has stories of being able to issue commands like “
find /mnt/san -iname '*.mp3'” and “
find /mnt/san -iname '*.avi'” to help build up his media library.
I’m actually less concerned about the privacy and protection of my data. The really important stuff was on an encrypted disk image on Dropbox. But what geek didn’t have a few shell scripts, a few dotfiles, or similar executables on their Dropbox? It’s the easiest way to share data between systems. Heck, I had my
.bashrc (the script that gets run at login for every system shell) up there, with variations for Mac and Linux. Forget snooping. Anyone with just the tiniest bit of write access could append anything they wanted to one of those scripts. Those commands then run as me at login and have access to everything on my local system.
It scared me enough that, a few months ago, I had to cut all of my mission-critical stuff away from Dropbox. Local Panic developer @stevenf launched a little wiki called Decentralizer to chronicle his investigations and actions into pulling his data out of the cloud. It has some great info, and I’d highly suggest you take a look at it. His notes cover all services, including Gmail. I was mainly interested in the document syncing part. BitTorrent Sync had been vaguely on my radar, and this was another ping.
About a year ago I played around with the PogoPlug. This is a piece of hardware with a USB jack, a network jack, and a power plug. You use it to attach an external hard drive to your network that can then be accessed from other computers, smartphones, and tablets. It was a good idea, but the performance was terrible due to my upload bandwidth. If I wanted a file, it would get uploaded from my home network. I don’t have cable. My neighborhood is too urban for fios. I’m stick with slow DSL. At least with Dropbox, files would trickle across computers, keeping in sync. With PogoPlug, the box on the other side of the network bottleneck was the one and only copy.
Recent advertising on several podcasts I listen to brought FileTransporter to my attention. The concept is similar to PogoPlug, but with more Dropbox-like syncing. Your data still lives on a hardware device you have physical possession of, but you can have more than one and they will sync. For instance, one at home and one in the office. Like Dropbox, they will keep in sync in the background (blindingly fast on a fast network, trickling bytes across on a slow one). I believe they will even sync to folders on your computer, just like Dropbox. The price tag has scared me away, though. Ideally, I would need two – one at home and one at work – to deal with my slow network. That’s a chunk of change. I admire the technology, but the cost is a high barrier to entry.
This, then, brought me back to BitTorrent Sync. It was finally time to give it a try. It’s like Dropbox, but peer-to-peer. More importantly, it’s free and has no artificial size limits. If it fits on your hard drive, it will sync.
By default, it creates a folder in your home directory called BTSync (similar to the Dropbox folder in your home directory). You can put whatever you want there. That folder has two “secrets” associated with it – one is full read/write and one is read-only. They are essentially 32-letter passwords. Does that feel secure and guessable? There are only 6.3 x 1049 (that’s a fifty digit number) possible passwords. When you set up a second box, you use the full-access or read-only password and it will sync.
I ran with the stock configuration for a week and determined that it would not work for me in that default form. Dropbox is nice because I can selectively sync. I don’t need certain personal folders at work and don’t need certain work folders eating up disk space at home. I wanted the same from BTSync. It turns out to be easy enough to do. Delete the BTSync share and create shares for the subfolders within BTSync. They will each have a pair of passwords. The downside is that you cannot have files in the top-level BTSync folder, only subfolders that you share, but I didn’t really have files there in Dropbox, so it’s fine. I’ve been running with this scheme for a month or two and am so far quite happy.
Conflict Resolution One thing Dropbox does really well is conflict resolution. If I’m on two different computers and save the same file, Dropbox gives you two files: one with the original name and one with a name indicating it’s a previous copy. You can then look at them and determine what you want to do – delete one, copy contents from one to the other, or keep both around. BTSync follows a “the last person to write the file wins” strategy, but with a small twist. When files are deleted or overwritten, BTSync keeps them around. There is a hidden folder named “.SyncArchive” in the base of every BTSync share. This holds the last 30 days (a configurable value) of all previous revisions of all files. You can view old or deleted versions and roll back to them by copying them out of .SyncArchive. Unfortunately, with BTSync, you get no good indication that a conflict happened, as you do with the two named files in Dropbox. You always have one file, the most recent one saved, with no indication that a conflict occurred or might need to be resolved.
Sharing Another thing Dropbox does well is sharing. You want to share a file with someone, you right-click on it and copy a public link to paste into an email. There is no equivalent for BTSync. You can share an entire folder, either read-only or read/write, but the person on the other end needs to have BTSync installed. To share a single file, you need to go to another solution.
I have a few Dropbox folders I share with groups of others. We already have the Dropbox infrastructure and workflow in place. There’s a certain inertia, a certain network effect, that keeps us on Dropbox. Over time, I’ll suggest using BTSync for new projects and I think this will eventually erode the hold Dropbox has, but for now everyone seems to have Dropbox installed and very few have BTSync.
App Support There are a great many third party apps that support Dropbox. I am not aware of a single one that supports BTSync. I use TextExpander all the time (and Breevy on Windows) and sync the config across Dropbox. I have a whole collection of text files (including the one I’m writing this very draft in) on Dropbox that I access with nvALT and Notesy. 1Password syncs an encrypted password database. I use Tunebox to listen to music I just purchased. (I typically use Pandora and Rdio, but don’t trust iTunes Match.)
None of these things work with BTSync, so I keep around a Dropbox skeleton crew of files and folders to support these apps.
An Unexpected Bonus
Although I back up my iPhone to the cloud, I don’t typically sync it to my laptop. To get files off of it, I used Dropbox’s Camera Upload feature. That got them onto the desktop computer running Aperture, where I could pull them in to my archive. (Consequently, I will detail more about my photo workflow on tomorrow’s post about Everpix.) This works fine for smallish media like photos, but breaks down with video.
Dropbox has great LAN-to-LAN sync for desktop computers. If one computer on the LAN has a file that the other wants, it passes it directly instead of the one box uploading to Dropbox and the other downloading. The upload occurs, too, but the computer-to-computer copy shortcuts some of the network traffic. Apparently, the iOS clients do not support this LAN-to-LAN sync. If I have an 80 meg video on my phone that I’d like to get on to my desktop for editing, it’s going to take some time. Go make some coffee and watch a TV show. The phone first has to upload the video in its entirety to Dropbox across my slow DSL connection. Once there, all four computers on my LAN get pinged that there’s a new Dropbox file to download, so they all start to simultaneously download it, pegging my poor network connection. It’s a pretty ugly transfer.
With BTSync, the same file transfer takes seconds. The phone syncs with the nearest computer, which syncs to the other computers on the LAN. They then slowly trickle the file out to any machines outside the house that need it. I can start video editing immediately.
One nice side-effect of having your stuff live in Dropbox’s cloud is that it’s backed up offsite. If all of the machines in my house go crackle crackle crackle in a fire, and that personal content isn’t synced to my work computer, I can still pull it out of the cloud. Dropbox (for a price I gladly paid) also keeps 30 days of revisions. If I accidentally stomp over a file, I get get back an old version.
BTSync has, as I mentioned above, the .SyncArchive folder that keeps around 30 days of history, but has a problem with the above fire scenario. If I don’t sync certain folders to my office machine and if those home machines disappear in a fire or theft, that content is gone. There’s no cloud backup, as you have with Dropbox.
BTSync is not a backup solution. Dropbox is only marginally one. If you need backups, you should be backing up. Ideally, you’d be following the “3–2–1” backup strategy: You should have three copies of important files, on two different types of media, with at least one of those copies elsewhere.
Everything on this earth has tradeoffs. Dropbox is convenient, but at the expense of a central authority that can easily peek into your data. BitTorrent Sync is more difficult to set up, but is decentralized and secure. Me? I went with secure.