Thursday, July 17, 2008

Thank God for Gmail

I decided to run an experiment over the last month. Instead of checking my spam folder in Gmail on a regular basis and emptying it I'd let it build up over 30 days worth of spam (spam older than 30 days gets auto-purged). I just checked back with the spam folder and it has reached a steady state of around 1,100 items or roughly 36 emails a day. 36 emails a day and I do take precautions using SpamGourmet. I can't imagine what life would be like if all of this nonsense made it to my inbox...

Wednesday, July 16, 2008

FSJ iPocolypse

I was very sad last week to read what appears to be the final Fake Steve Jobs blog post. It's quite unfortunate too, as two days later the "iPocalypse" hit. If you've been living under a rock for the last month, you might not know that July 11th, 2008 was the release date for the iPhone 3g as well as the firmware upgrade for the first-gen iPhones.

Apparently Apple and/or AT&T were not aware that many people would want to purchase new iPhones and upgrade existing phones. That's the only rational explaination as to why the activation servers virtually melted down for most of the day. This left people at stores unable to play with their new phones once they bought them and, more annoyingly, those who already owned first-gen phones got caught mid-upgrade with a phone that would only dial 911 as the device could not be re-activated after the upgrade.

Thankfully I had manually upgraded the night before and did not run into any of these issues, though apparently I upgraded with a pre-release or debug version of the firmware which was a bit glitchy. I re-upgraded using the official firmware a day or two after the activation servers started responding again :)

P.S. Apple/AT&T, why did we have to re-activate a phone where the OS was being upgraded? Seems silly to me.

Monday, July 14, 2008

Open Source at Google

I've noticed quite a few projects being open sourced lately that I thought I'd point out:

Protocol Buffers
Protocol Buffers are a heavily used inside Google as a data interchange format. They're beautiful. Generated classes for C++, Java and Python that output very compact binary data that parses very quickly and can be backwards compatible across revisions of your data structure. Here's the blog post.

Google C++ Testing Framework
I don't know a whole lot about this since I don't write C++ but it sounds pretty cool. Who wouldn't want to write "death tests". Here's the blog post.

AdWords API Starter Kit
This project aims to help advertisers get started easier with the AdWords API (my manager played a big role in developing this). There's a blog post that explains it on the AdWords API Blog.

BrowserSync
Unfortunately tools you use go out of support from the companies that built them. Google's BrowserSync now falls into this category. Thankfully the team has open sourced the project however there's still the minor sticking point of where will all of the data be synced to? Here's the blog post.

Precipitate
If you're a Mac user, use Google Docs or Google Bookmarks and use Spotlight this will be of interest. This tool will let you index Docs and Bookmarks and add that into your Spotlight index for easy searching of data on your computer and data at Google. Here's the blog post.

Thursday, July 10, 2008

Using Beryl on Linux

I recently decided to start using a Linux desktop at work in place of my MacBook Pro as my main computer (I now leave my MBP mainly at home). Immediately I realized that I had grown very used to having nice looking windows and fancy effects. After a bit of searching I turned up Beryl. Not only does Beryl beat OS X in the fancy effects department with it's windows catching on fire when you close them and 3D-spinning-cube desktop, it also provides some very useful features like:
  • the ability to have a window stop moving once you've dragged it up against the side of the screen
  • the ability to control the opacity of a window on the fly by holding down ALT and moving the mouse wheel
  • the "AddHelper" which can darken or completely black out the windows other than the active one on your screen to help concentration