Saturday, July 06, 2013

I'm sure most people reading this blog have multiple computers and computer-like devices (like phones, Raspberry Pis and whatnot). This comes with a huge deal of minor inconveniences - files are often on one of devices but you want to access them somewhere else.

Traditional solution was imperative file transfer - there's always some way to order a computer to transfer a file somewhere else. There's a ton of issues with this since computers are not always turned on, they're not always on networks, file transfer fail, in many cases you want to edit the same resource from different computers at different times and still want just one canonical representation of it.

Here comes Dropbox (and similar Cloud-based solutions) - its biggest innovation is replacing the imperative paradigm with declarative file transfer. You link a directory like ~/Dropbox with your account, you add, edit, and delete files and directories within it any way you like, and without your effort to babysit all that Dropbox takes care of it to make sure your ~/Dropbox directory everywhere else also reaches such state.

This solves a lot of issues like:

You want to keep .dotfiles across multiple machines in some single versioned repository - you can solve that with Dropbox and some symlinkery (or a private github account and some symlinkery).

You want photos you make on your camera available on your computer - at the phone should do the uploading whenever you're on some wifi, without your intervention. Dropbox completely solves that problem.

You play a game like Cockatrice on multiple machines and you edit your decklists on multiple machines. Manually sorting out which decklist is the most recent one is pretty annoying - but Dropbox does that for you.

A simple todo.txt file is pretty awesome if you're moving between computers a lot, even if it's obviously not a full GTD solution. In the past I did silly things like making gmail drafts for that, which I then accessed from multiple places.

You want to write a quick note for action later, but you're somewhere outside with no paper? Simply open Dropbox directory on your phone, create somefile.txt, write whatever you wish there, and you'll get it on your computer for later access automatically. There's no way to forget about it.

For that matter simply transferring files between computers not on shared network can be a big pain in the ass. For small files people just send emails to themselves with such files as attachment - and it's another problem Dropbox solves completely.

Ironically the only one problem that Dropbox is really horrible at solving is backups.

By the way, Dropbox gives away a lot more space than it seems at first - my free account was 2 GB initially, but they just increased that to 51.25 GB for simply connecting a few boxes and a phone to it.

Basically, the only two reasons you could have for not using Dropbox is:

you only ever use 1 computer and 0 smartphones (pretty unlikely if you're reading this blog)

you use another Cloud storage service like Google Drive (with drivers installed on all your boxes)

FreeBSD runs a third of the internet, so I wouldn't consider it crazy. :)

I pick FreeBSD for a few reasons(a) functioning sound. I've spent literally zero time configuring sound for music. When I ran Linux it would be hours spent on pulseaudio, oss, alsa, and random interconnections between them. Every upgrade would break something(b) non-broken apis and tools. I could go on for hours but I'll just give a minor, but illustrative, example. It is possible for GNU true(1) (/bin/true) to return a non-zero result! I've seen similar absurdities for non-trivial things as well(c) Documentation. I used to rely on FreeBSD documentation when I ran arch and when I ran debian. It is the best in the world.(d) last, and mostly least, but still important, is that the license is more free.

Anonymous: Sound works perfectly fine on Linux these days, and don't even get me started on how awful BSD coretools are - installing GNU coretools is the absolute first thing I do on every OSX box I get anywhere near.

For documentation I just google anyway these days - it's usually better than man pages.

My software

Creative Commons

Unless otherwise expressly stated, all original material of whatever nature created by Tomasz Węgrzanowski and included in this blog, is licensed under a Creative Commons License. It is also licensed under GFDL (for Wikipedia compatibility).