You’ll (never/possibly) need to delete another message

Google Drive is hereRemember when GMail first came out?  1GB of email was unheard of, especially in a free service at the time.  One of Google’s big selling points was “you’ll never need to delete another message.”  It was right there on the home page.  If you compare the home pages from 2004 and today for Gmail you’ll note they still refer to it as being “Lots of space” but they no longer say you’ll never need to delete another message.  The message about never deleting email disappeared sometime between March, 2009 and December 2009.

Why did the message go away?  Because the users proved that 1GB (then 2GB, then 4GB, then 7GB) simply wasn’t enough to store EVERY email.  To combat this, back in 2007, Google released a means of purchasing more storage space at a rate of 6GB for $20/year, this storage would be shared amongst your Google Docs, GMail, and Picasa accounts.  Over time these prices got even better.  Yesterday you could buy 20GB of storage for $5 a year.

Today however, with the Google Drive release, the prices have changed from being yearly, to being monthly, while yesterday you could get 20GB for $5 a year, today the cheapest plan is 25GB for $2.49 a month (which comes out to $29.88/year).  This is a very significant increase, but it’s not what I find the most annoying:  GMail storage space is now completely separate than Google Drive (formerly Google Docs) and Picasa storage.  The 25GB you are purchasing is only for Google Drive and Picasa, not for GMail.

They soften the blow by ALSO giving you an upgrade to 25GB on GMail, but this is separate from the 25GB on Google Drive.  Now this means that you are really buying about 35GB for the $29.88 a year (but you could previously buy 80GB for $20 a year so it’s still a sizeable increase), but the kicker is, the 25GB of space on GMail is fixed.  If you buy 25GB of space on Google Drive, you get 25GB of space on GMail, if you buy 1TB of space on Google Drive, you get 25GB of space on GMail.

There is no longer any option available to purchase more than 25GB of space on GMail whatsoever, no matter how much you may want it so that you never have to delete another email

Never delete another email
GMail's home page used to tell you not to delete email

I’d like to say I have hope that they will allow this option soon, but I don’t really.  The premium Google Apps for Business has long given 25GB of space for GMail, and even though I have personally wanted to buy more space, Google has never given me the option to buy more on a Google Apps account.  It seems the dream of limitless email storage is no longer alive.

Google’s Code Mistake, and what they did to make it right

Google I/OThis morning Google opened up a programming competition using the same system as Google Code Jam (they called it the Google Code Jam Sprint to I/O) to win the right to buy 1 of 100 tickets to Google I/O.  Normal Registration for the conference closed 20 minutes after it opened back on March 27th due to the incredible demand, so naturally those developers who couldn’t get in before were excited and ready to battle for the chance to buy a ticket.

The competition consisted of 2 problems, programmers could write their code in any language (as long as the compiler is free to use).  It would work like this, you would write a program according to their specifications of the problem, and then you would submit it.  When you submit it, google would provide you with a file of sample input data and then give you 1 minute to run your code against that sample data and then submit the output to them.  They would then run a validator across the output and tell you if you were correct or not.  If you were correct, it would accept your answer, if not, it would reject it.

The first question went like this (paraphrasing)

The Google Store has M new designs of android mini-statues available, and they have L of each design in stock.  You, an avid collector and generous gifter, want to buy a certain number of each of these new designs (K1, K2KM). The problem is… the packages for these statues are all exactly the same, and don’t indicate what is inside, and you cannot open the package before purchasing.  What is the minimum number of packages you need to purchase to guarantee you have all of the statues you want in a worst-case scenario

The sample data was a list of lines in the following format for different test cases:
L M K1 K2 ... KM

For example:

5 3 4 2 1
5 3 5 5 5
5 2 1 5
6 4 0 0 0 0
2 4 5 1 2 3
0 3 4 1 2
9 5 1 1 1 1 1

Taking the first one (They have 5 each of 3 different designs, and you want 4 of the first, 2 of the second, and 1 of the third), the correct answer would be 14 (in order to guarantee you have at least 4 of the first, at least 2 of the second, and at least 1 of the third, you would have to buy enough that you would have ALL of all but 1 of them, and then the highest K for the remainder)
Answer = (L * (M-1)) + max(K)
The question also said that if it was impossible to get what you want, you should return -1 (like the 5th and 6th examples, you can’t buy more statues than they had available in the first place)

Now most programmers seeing something like the 4th test case there (6 4 0 0 0 0) would realize that if you don’t want to buy any of them, than the answer is 0 (minimum number to buy in order to get 0 statues is 0), so the basic pseudo code to solve this problem is:

function process_test_case(L = 0, M = 0, K = array()) {
     if (max(K) == 0) return 0
     elseif (max(K) > L) return -1
     else return (L * (M - 1)) + max(K)
}

There is just one problem… Google’s developers that came up with this test, didn’t think about the possibility where you don’t want any statues (max(K) == 0), so if you ran the above code and returned 0 on the sample 4, google’s validator would come across with “Incorrect”, on the other hand if you left that line out and only did the other 2 possibilities, it would say you were “correct”

Naturally a lot of the programmers who entered the competition were quite upset about this, and complained to Google via comments on the Google+ post that announced the competition.  Eventually google put up the following message saying that they realize they made a mistake:

We’ve made a mistake in problem A. The correct output is 0, but it is being judged as wrong because 4 of our problem writers have independently made the same bug in their solutions. We would like to apologize for the confusion this has caused. We will send an email to all participants shortly, announcing our plan to resolve this issue in the least unfair manner possible. We take a lot of precautions to prevent mistakes like this, but we have messed up this time

Now I did not enter this competition (I did the coding example just for the brain exercise, but I did not submit it) because I am already registered for Google I/O and didn’t need the additional ticket for myself, but some of my coworkers did enter the competition, and they received an email a little while ago which included the following:

As you know, we intended to provide an opportunity to buy Google I/O tickets to the top 100 scorers. In light of our mistake, we’ve decided instead to offer this opportunity to all participants who have submitted any solution to either of the two problems. Please watch your inbox for a registration code coming shortly.

That does indeed seem “least unfair,” everyone who tried the contest, gets to go to Google I/O.  If you are among those, (like my fellow coworkers), I look forward to seeing you in San Francisco on June 27th.

Google I/O 2012 Sells out in less than a half hour

Sold Out in less than 30 minutes
Google I/O sold out in Less than 30 minutes

Even though Google doubled the price (paid $450 last year, this year $900), Google I/O sold out even faster than last year.  Last year it took about 45 minutes for Google’s Developer conference to sell out, this year it was all over in just over 20 minutes according to a post on Google+ by Google VP Vic Gundotra.

I’m glad to say I will be at I/O this year once again, but all but one of my colleagues who tried to buy tickets were unable to acquire them.  Will I see you at Google I/O?

Google I/O 2012 Here I come

Google I/O 2012 Confirmation EmailI’m all registered to go to Google I/O 2012 on June 27, 2012.  I’ve been to every Google I/O so far (and Google Developer Day) before hand and am really looking forward to going again.  The price was really hiked up this year ($900 as opposed to $450 last year), but they have done away with the Early Registration discount, and they have extended the conference from 2 to 3 days this year.

The “real” price last year was $550 with an early-bird discount of $450, so when you consider there are no early birds this year, the increase is 38.9% for 50% more conference, so perhaps the increase isn’t so bad.

My Last Binary Day (probably) #NerdNewYear

Happy Binary Day (Enjoy it, it is probably your last)
Happy Binary Day

So in addition to being Veteran’s Day, today, November 11, 2011, happens to be the last “Binary Day” I am ever likely to live through.  There have been 36 so-called “Binary Days” in the last 11 years (9 each in 2000, 2001, 2010 and 2011), where all the days of the date (except the century) consist of only the digits 0 and 1.  As a computer programmer, I can’t help but be tickled by days that appear to be in binary.

Today however, the 6 digit binary calendar hits its max at 11/11/11 and so there will not be another binary day (at all) until January 1, 2100 (which could be represented as 01/01/100 for that extra binary digit goodness).  As this is over 88 years away, if I manage to live to it, I will be 117 years old, which isn’t very likely.

I say that makes this day worth remembering.  Some are calling it #NerdNewYear (the hash tag makes it extra nerdy), in Redwood City, there’s a big block party currently counting down the seconds till 11/11/11 11:11:11 pm.  Unfortunately I couldn’t make it to the party tonight, but I wish all my fellow Hackers and other Nerds a great time at the party.

Happy Binary Day Everyone, Enjoy it, it will probably be your last.

On the Difficulty of Pottermore House Cup Competitions

My last 2 posts were both about cheats on earning and keeping House Points on Pottermore.com.  Continuing that series, I thought I would write a little bit on task based point competitions.

Continue reading “On the Difficulty of Pottermore House Cup Competitions”

Saved Chrome Profiles Feature moves to Beta Build

Chrome Profile Switch Ever since the Profiles feature was first announced in the canary build I was excited, but it was limited (biggest limitation, these profiles weren’t saved) and the canary build was very unstable at the time. Eventually that early version moved into later builds, but the canary build updated further to allow saving those profiles for later use (making switching between different identities easy).

It would seem that the updated profiles (with the profile icon and saving the profiles for later) have now moved into the beta build, which I use on a day to day basis. I am really excited about this feature as I routinely have to use multiple accounts on various website throughout the day and it’s annoying to constantly have to sign out and sign back in to use it.  This is especially true on google.com now that Google Apps for Domains accounts are full fledged google accounts.  I have my company email account, my personal email account, and still another shared company account we use for certain things, and switching is quite annoying, especially if I forget which account I’m in.

Want to post to lists in Facebook like you can post to a Circle in Google+? You can!

So I really like Google+ and happily post away to my Google+ Profile.  Unfortunately not everybody has access to G+ yet.  Facebook still is king of the ring, but I’ve long wanted to do what Google+ does natively, which is to say specify who should see my posts based on groupings.

It turns out, facebook does have this feature, but it only works from the Facebook Website (not from the mobile apps or through the API) and it’s a lot more kludgy to use then it is in Google+.   Continue reading “Want to post to lists in Facebook like you can post to a Circle in Google+? You can!”

Migrated Back to WordPress

wordpress powerOver a year ago, I migrated nick.pro from WordPress over to Drupal.  I did this so that I could experiment with Drupal more, thinking I could make a more robust site if I did so.  Unfortunately, while Drupal is a fantastic, flexible platform for web development, it is simply not efficient as a blogging tool.

Drupal was so cumbersome to use as a blogging tool that I ended up stopping blogging altogether.  So for the first time in years of migrating this blog around and around, I’m reverting it back to a previous home on wordpress.

In the last year wordpress has come a long way, with lots of great new features that makes blogging even simpler then it was before.

I in no way mean to bash drupal, it’s still far and away the best CMS system out there for developing complex sites, but for a blog… it’s good to be home.  My hope with this migration back to WordPress is that it will lite a fire under me to blog again.  No more can I shirk my blogging responsibilities with the whine that writing a post in drupal is just too much work.