Goodbye Dropbox. Hello Google Drive!

Yep, that’s right. I finally made the switch from Dropbox to Google Drive. Dropbox is great. They have awesome and intuitive UI, and still the best UI among competitors so far. Their file sync process is simple but admirable. Instead of syncing the whole changed file, they only sync the difference. Reduce lots of network bandwidth and syncing time. So why the switch? Storage is the biggest issue. Even with edu accounts and lots of extra storage for completing Dropquests, my Dropbox limit is still far less than I need. 27GB is far less than 2PB (yes, 2PB) Google Drive offered. Dropbox used to have edge advantages. Now, not so much. Five years ago, Dropbox is the only choice. Fast and intuitive UI and also the syncing process. Now, Google Drive has almost everything. Camera Upload? Yes. Selective Sync? Yes. Revision? Yes. Sharing? Of course Yes. The only thing that Google Drive does not have is Fast sync. Google Drive still upload the whole modified file instead of only the difference. But my need has changed since five years ago. I used to use Dropbox for my thesis because they have revisions. Whenever I made something wrong, I can easily go to Dropbox and select the right revision to restore. Now I only used cloud storage for “storage”. I no longer need to keep revisions. Therefore, the switch is inevitable. The pace of Dropbox’s innovation. They acquired Mailbox, and killed it. They used to have a great Photo app called Carousel, but also killed it. They introduced a syncing platform for app a few years ago, but it does not directly add any value to end user experience.

What I’ve learned this week: Dropbox, Spark and more

1. Dropbox Dropbox is shutting down its two apps: Mailbox and Carousel. I’ve been using both apps heavily recently. The most important feature of Mailbox is auto-swipe. Other competitors also have similar features, but they require much more effort to setup, while Mailbox only requires tap and hold. Easy like a piece of cake. Auto-swipe saves me from going through 14k+ emails so far. Carousel saved me lots of iPhone space by uploading my photos to Dropbox. I heard that they will integrate important features of Carousel into Dropbox, so I will not miss Carousel too much, compare to Mailbox. Without Mailbox around, I will have to manually setup my filters in a bunch of mailboxes. 2. Spark The different between Spark submission tool and Hadoop is that, by default Hadoop uses all available machines (cores) for a single job, provide that input is big enough to be distributed into all machines. Spark, on the other hand, only use 2 cores for executors and 1 core for driver. In order to run Spark with all available cores, you first need to figure out how many executors there are on your cluster. I wonder what leads to the decision in Spark submission tool design. 3. Miscellaneous It is very hard for me to think about what I’ve leaned by the end of a week. I’d better write and update a draft right after I learned something, when the memory still fresh. Oh yes, I still need to write two meeting summaries for this week, so I’d better get going. Hence the short blog post.

Mailbox (from Dropbox) is using Nodemailer to send your emails from Amazon AWS

So I started testing Mailbox on my iPhone and my Mac recently. It has a very elegant interface and a nice Snooze feature (basically you can tell Mailbox to put some messages back to your inbox to process at a later time – this is quite similar to a Chrome extension — Boomerang). The Mac version is beta, but the iPhone version has been around for more than a year, so I don’t think the core functions will change any time soon. One thing I notice about Mailbox is they don’t send email using Gmail SMTP servers. Wait. Something definitely wrong here. The question is Why? The Mailbox app has granted full access to Gmail account, so why don’t they just use Gmail’s SMTP to send mail? Instead, they use Nodemailer on Amazon AWS. What the hell? Return-Path: <> Received: from ( []) by with ESMTPSA id u2sm2020155qap.22.2014. for <> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 28 Oct 2014 11:54:28 -0700 (PDT) Date: Tue, 28 Oct 2014 11:54:28 -0700 (PDT) X-Google-Original-Date: Tue, 28 Oct 2014 18:54:27 GMT MIME-Version: 1.0 X-Mailer: Nodemailer (0.5.0; + So what is the point of promoting domain keys, or DKIM? Why not send email using a legitimate and foolproof? Instead, they send users email from a fake SMTP server hosted somewhere on Amazon AWS. I don’t get their point. Update: Thanks Sean Beausoleil and Andris Reinman for clearing that up. I would definitely prefer Amazon AWS over my own IP address to be revealed in email headers.

Dropbox-like synchronization for Linux

One of the requirement for load-balancing servers is server file need to be synchronized. Otherwise, part of your visitors can see your new WordPress post but won’t be able to see the attached photos. rsync can’t do the job properly, because any synchronization tool need to look at the previous state of files in order to determine if new files have been added or any file has been changed or deleted. Fortunately there are several tool: BittorrentSync: This is a fully automatic solution, and as close to Dropbox as possible. You just need to download <code>btsync</code>, generate directory private key and input it into another instance in the other server. Done. Unison: This program run on top of rsync as default (but you can change it), but you need a little trick in order to run it properly. My favorite command is: unison -batch -prefer newer -silent -owner -group -times -perms 777 //dir1 //dir2 The meaning of this command is: -batch: Run in batch mode without asking confirmation -prefer newer: Prefer newer file if conflict -owner: Preserve owner information -group: Preserve group information -times: Preserve time -perms 777: Preserve permission That’s it. If you know any other tool, let me know in the comment section. Happy sync’ing!