Android native email app/client freezes at 0% when downloading attachments

Every once in a while I'll get an email with an attachment that doesn't want to download through Android's native email app on my Samsung Galaxy Note II running Android 4.3 Jelly bean. When you hit save or try to preview, the progress bar just freezes at 0%. It doesn't matter if you're on wifi or mobile data, this just happens randomly.

If you haven't already figured it out yourself, the only thing that I've found to work is to back out of everything, out of the email app entirely (hit the back button until you're out, don't hit the home button), and then go back to the email you were on and retry the download. This works for me most all of the time. Hopefully Google will fix this in the next version.

Please respond if you have a better way to deal with this, it's pretty annoying to have to back out of everything and come back in. Thanks!


Clang/LLVM vs. GCC on compile time

As I'm in the mood for comparisons today, I recorded the times of compiling OCE using Clang 3.2.0 and GCC 4.7.3. Clang wins here (which seems to be the general consensus in the compiling time area); Clang took 18:17 and GCC took 22:32. That means that Clang is roughly 23% faster than GCC for compile time. Pretty handy if you just want to make sure that things compile.

DigitalOcean Performance Revisited

A few months ago, I did a performance comparison for DigitalOcean cloud/VPS hosting. I decided to do another quick benchmark, and it seems they've changed some stuff around so I'm going to give out the numbers again really quick. I compiled OCE from master again as the benchmark. Listed below are the average times:

4 CPU: 21.3 minutes
8 CPU: 15.2 minutes
12 CPU: 11.7 minutes
16 CPU: 12.0 minutes

I compiled OCE with default settings (I skipped some stuff last time), so that's why it's longer than last time. The important thing to take away from this though is that for disk I/O bound tasks, the 12 CPU is your best bet. Anything higher and you're bottlenecked by the SSDs. Doing these benchmarks is very important; the 4 CPU option is ~55% the time of the 12 CPU option while being 25% of the cost of the 12 CPU option. The prices are still dirt cheap anyway, but if you're really trying to save money, you can go with the lower CPU choices and still really benefit from the speed of the SSDs.

P.S. It's also important to consider that these are virtual CPU cores, so when you do parallel tasks, use the number of CPUs. There is no hyperthreading.