Google I/O 2012 starts tomorrow morning

The next version of Android is officially Jelly BeansGoogle I/O is almost here, and the Google Developers have created a nifty widget for enabling the live stream of the video on your blog, as well as embedding my own Google+ stream as a Live Blog of sorts, so head on after the break for my live blog where I will post about the stream while it happens.

In preparation for I/O, on the Google Developers Plus page, the Development team has now officially confirmed the name of the next version of Android will be “Jelly Beans.”  The confirmation comes with a new statue on the Googleplex Lawn. Continue reading “Google I/O 2012 starts tomorrow morning”

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?

Ready for Google I/O 2009

My wife and are are checked into our hotel in San Francisco. Tomorrow begins Google I/O 2009 at the Moscone Center West in San Francisco. I’m quite looking forward to two days of Google Developer Goodness. I’m hoping that we’ll learn about a lot of great new updates to Google APIs and developer tools, and of course, I haven’t forgot about my prediction that Google Chrome will get Extensions at Google I/O. I’m a little more cautious about saying that for sure, but I’m still pretty optimistic that it will happen, or at least we’ll get some sort of time table as to when we will.

After all Developing Extensions for Google Chrome is still on the Agenda, in the very first timeslot of the conference (after the Keynote that is) in fact. I’m expecting to get a formal announcement about Extensions either during the Keynote itself, or at least during that particular session.  But we’ll find out if I’m right tomorrow.  Hopefully I’ll find time to write up some notes I took from the Conference over the next couple of days, but if it is anything like last year, time will be short indeed.

On a related matter, if any of my readers are here at Google I/O, leave me a comment, or tweet to me <a href=”http://twitter.com/nickmoline”>@nickmoline</a>, I’m looking forward to meeting with fellow developers during the conference.

Google Chrome Extensions Coming Out by May!

That’s right, I said it, and so far I’m the only one who has. Google has announced that extensions are coming to Google Chrome but have been mum on when. However I saw something today, that indicates the timetable may be short. Google officially opened up registration for Google I/O 2009, their third annual (first one was just called Google Developer Day) Developer’s Conference.

Google Chrome Extensions Session at Google I/O 2009
Google Chrome Extensions Session at Google I/O 2009

Like last year, it will take place at the Moscone Center in San Francisco. Along with the open pre-registration, they’ve also posted a list of Sessions (subject to change). High up on the list is a session entitled “Developing extensions for Google Chrome” which contains the following description:

Learn how Google Chrome makes it easy to write extensions using the web technologies you already know. This talk will cover the basics of the extension system (distribution/packaging, installation, updates), as well as the different APIs to enhance with the browser.

I’d say this is a safe bet that if Extensions are not released BEFORE Google I/O, then they will be released as a new feature AT Google I/O. Extensions are coming, but what about Mac Support?

UPDATE FROM GOOGLE I/O: While the session went through as planned, it turns out my theory was wrong, they simply aren’t available to announce support for extensions yet, although it is coming soon, and they are really well implemented in beta.

UPDATE 2 (June 3rd): The Session video is now up on youtube, I’ve embedded it below:

Interview with Nick Moline published in PC World Magazine!

Ok, I admit it, I haven’t been a subscriber to PC World magazine in a few years, even before I became a member of the Mac camp, but I’m really excited to say that a couple interview questions with me are now published in PC World! in an article about Google I/O. It was very cool to be able to do a Google News Search for Nick Moline and actually find an article that I’m a part of, even if it is just a couple sentences.

Google I/O – Part II – The Opening Keynote

Google is following it’s trend from last year’s Google Developer Day by posting up videos of all of the sessions on YouTube, but so far I can only find the Opening Keynote. They promised that they would upload them all within a week, so expect more parts of my reviews of Google I/O as they become available. Continue reading “Google I/O – Part II – The Opening Keynote”

Google I/O – Part I – Google App Engine

This week I, as well as my Wife Barbara, and my co worker Dan, went to Google I/O. People who have read my blog for a while may remember that last year I attended Google Developer Day around this same time in San Jose. This year Google decided to expand from a single day to a whole two-day tech conference and move it to the Moscone Center in San Francisco. Continue reading “Google I/O – Part I – Google App Engine”