Google Code Jam 2004 209
cymen writes "Google's Code Jam 2004 is open for registration at TopCoder.com. Slashdot reported on the 2003 winner and Google has a Code Jam 2003 summary. Grab some caffeine and get hacking!"
Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (1) Gee, I wish we hadn't backed down on 'noalias'.
2003 Summary (Score:1)
Re:2003 Summary (Score:3, Funny)
You can't find a web page for a competition sponsored by google?
Hmm, I wish someone would invent a way to search the web...
Sorry, but you have been disqualified from the competition.
Google - what a great company (Score:5, Insightful)
Re:Google - what a great company (Score:2, Interesting)
How does a competition which mandates the use of proprietary languages (VB.Net) or "open" languages controlled by major closed-source corporations (C# and Java), "help open source"?
Re:Google - what a great company (Score:2, Interesting)
Re:Google - what a great company (Score:3, Informative)
From Google: Use Java, C++, C# or VB.NET
C++ is proprietary?
Re:Google - what a great company (Score:1)
Or not.
Re:Google - what a great company (Score:2)
If they're aiming for open-source developers, why didn't they include perl, python, ruby, and lisp among the "allowable" languages? You need to choose between something less powerful and something proprietary???
Re:Google - what a great company (Score:2)
Re:Google - what a great company (Score:5, Interesting)
I thought the kind of exercises used in these competitions were rather contrived and "hard" computer science problems... I am not sure the concepts developed could be easily applied to, say, developing a better desktop or interoperating better with proprietary applications/file formats.
However some of the FOSS community best hackers could register and donate any prizes they net to their projects ;)
Re:Google - what a great company (Score:2)
You are right, and in fact, there is a good chance that any winners of this contest are more than likely not fit to work on "real" code, i.e. the stuff that keeps banks, pacemakers and ATMs working. Being fast is STRONG si
Re:Google - what a great company (Score:2)
I don't know, the big feature of Longhorn (*ducks*) is supposed to be integrated search. Obviously that already exists in Windows, but it is supposed to be smarter or something... who cares.
By any means, at least submissions won't stay in the hands of the now evil corporation "GOOG". Plus, as a linux "user" I have no idea how to start a good
Re:Google - what a great company (Score:2)
Re:Google - what a great company (Score:1)
Re:Google - what a great company (Score:2)
Re:Google - what a great company (Score:2)
Re:Google - what a great company (Score:2)
Why mention it at all? It'll help any number of different camps - why single out open source?
Re:Google - what a great company (Score:3, Interesting)
I do hope CodeJam problems are different from typical TopCoder ones. I know couple of guys who used to hang out on TopCoder. From their comments I gathered that being a timed competition its winners are not CompSci geeks or language gurus or design gods. No. Winners merely are the people who over time managed to accumulate a library of frequently used code snippets. Solving the problem is then a matter of simply putting these snippets together.
If this is in fact true, I don't see any reason why I should gi
Re:Google - what a great company (Score:2)
I think I speak for all of us when I say (Score:5, Funny)
Strawberry Jam (I think I speak for all of us...) (Score:1, Offtopic)
Jimmy! (Score:5, Interesting)
FTA: During the Challenge Phase, competitors view each other's code and try to "break'" that code by passing test cases through the submitted code, with the hope that the results are not satisfied by the software written. Breaking another developer's code is the most direct form of competition for a programmer. In this phase, points are awarded for successful challenges and deducted for unsuccessful challenges.
To me, it's more important to measure the potential of a programmer, more than the experience of the programmer. Creating new ideas and systems does not require experience alone -- it requires a great deal of potential. Simply breaking and fixing code in a realtime setting is good for the day to day stuff (and that is valuable for Google), but when a customer or boss asks to you build something new and difficult, many experienced programmers answer with, "that can't be done" when less experienced programmers will try to do it, with limited success.
Does anyone know if Jimmy Mardell was hired by Google?
Re:Jimmy! (Score:5, Informative)
Re:Jimmy! (Score:2)
Re:Jimmy! (Score:5, Insightful)
To me, it's more important to measure the potential of a programmer, more than the experience of the programmer. Creating new ideas and systems does not require experience alone -- it requires a great deal of potential. Simply breaking and fixing code in a realtime setting is good for the day to day stuff (and that is valuable for Google), but when a customer or boss asks to you build something new and difficult, many experienced programmers answer with, "that can't be done" when less experienced programmers will try to do it, with limited success.
I did the Google Code Jam last year and found that they required a lot more than basic coding skills.
One question involved analysing sequences of resource lock and unlocks, represented by upper- and lowercase characters in strings e.g. "ABba", "BAba" and "CADadBbc". Given such strings, you had to write a program to identify potential deadlock conditions e.g. the first two strings can deadlock at position 1 because the first string will hold a lock for A while waiting for B and the second string will hold a lock for B while waiting for A. Of course the real tests were more difficult than this. I think that less than 10 people out of 250 got this one.
Another question involved graph searching but with the cost of node traversal changing with time according to a pseudorandom algorithm. My solution was only twenty or thirty lines of code but it took a while to think how to do a time-based graph search.
The challenge phase is fairly challenging (excuse the pun) as well because you only have thirty minutes to make all of your challenges and you lose points if you are incorrect i.e. you claim that a certain valid input combination will cause the program to fail and it doesn't. Thirty minutes is not a lot of time to attack the 30 potentially flawed solutions that you are looking at. You have to pick a set of likely flaws (based on your own design) and quickly scan each set of code for it. Then, when you find a likely candidate, you have to read it in detail to make sure that you aren't wrong.
My point is that the Google Code Jam is for more than experienced programmers who can quickly bash out simple algorithms - you have to be able to devise novel algorithms under time pressure and devise strategies based on the psycology of your fellow coders
Re:Jimmy! (Score:2)
As far as I know, Jimmy already had a job, so no. I'm sure they wanted to hire him though (they'd be crazy not to). I do know of two other finalists who did get hired on full-time, and some of the finalists who are still students got summer internships.
Why not... (Score:5, Interesting)
Why don't they offer something like a job interview for those old enough to take it? Or even a job for the winner (with restrictions, of course)? Imagine how many people would rather work for Google than have the cash prize.
Re:Why not... (Score:5, Interesting)
Re:Why not... (Score:2)
That's the first two lines of the Terms & Conditions.
Sometimes reading legalese can help.
Re:Why not... (Score:2)
Since when do focus groups work for free?
Re:Why not... (Score:3, Interesting)
That's fine for people who live near them, or are prepared to move, but what about those who aren't, say because they don't even live in the US?
Living in the UK, I'd very much rather take the cash, personally.
Re:Why not... (Score:2, Insightful)
Re:Why not... (Score:2)
Even if it was just me, I wouldn't want to uproot and move to the States; all my friends and family are here in the UK. As it is, though, I have a partner and a daughter; I'm not about to drag them off to another country on the off-chance of making a name for myself in an industry I'm already in, in order to maybe have a shot at getting the sort of salary that I'll most likely be able to get anyway, given a bit of hard work and a bit of luck.
If not, well, it's only money; as long as you ha
Re:Why not... (Score:2)
Re:Why not... (Score:2)
Re:Why not... (Score:1)
European Headquarters
Dublin, Ireland
United Kingdom Sales Office
London W1D 4AD
You lucked out! Now, just move to Dublin, and you're all set.
Google Offices world-wide [google.com]
Re:Why not... (Score:3, Informative)
Re:Why not... (Score:2)
oh great (Score:3, Insightful)
only problem, when coding in speed, many people make more errors
its a proven fact that if you think through your objective 1st, and take a decent ammount of time doing so, you're more efficent.
in fact, i believe it was in the mid-70s that the us govt, thought about increasing the work day from 8hours/day x 5days, to 10hours/day x 4 days to make it more productive for workers.
Re:oh great (Score:5, Insightful)
Re:oh great (Score:4, Funny)
Somewhat unrelated, but one of the funnier rounds I saw was for a problem which had a small possible set of results. I don't remember the specifics, but someone posted the following code, baiting someone to challenge the result:
public class CorrectDoor {
public int whichDoor(String[] args) {
return (int) (Math.random() * 10);
}
}
In case of slashdotting (Score:4, Funny)
;)
Caffeine (Score:4, Interesting)
Re:Caffeine (Score:1)
Re:Caffeine (Score:1)
Re:Caffeine (Score:1)
now we're in buisness.. hehe.
Re:Caffeine (Score:2, Funny)
Let me guess, you spell Viagra with a ! and a double 4, don't you?
Re:Caffeine (Score:1)
Re:Caffeine (Score:2)
It's called a sense of humor, pal. Get one!
Re:Caffeine (Score:2)
Sometimes however, when I sleep 10 till 7, I'm really tired all day, and can't get anything done.
Just because some people's brains work one way doesn't mean it applies to everyone.
Seeing as how I'm on slashdot now, rather than writing code, you know how long I slept last night
Re:Caffeine (Score:2)
I go off caffiene whenever I run out of coffee, and my parents buy Blend 43. I've looked at my code from that period. My internal reaction was somewhere along the lines of "What the fuck were you thinking???".
Besides, I do actually like coffee for the taste.
Re:Caffeine (Score:2)
Re:Caffeine, Welcome to Slashdot (Score:2)
Yearh... (Score:3, Funny)
Web APIs welcome? (Score:2)
Help me win (Score:4, Funny)
Re:Help me win (Score:1)
I'm offering $2,500 to anyone who can give my a idea that goes on to win. I am also offering $2,500 to anyone who can impliment said idea so that it results in winning the contest. Any takers?
<idea>Don't cheat</idea>
Where's my $5k?
Re:Help me win (Score:4, Funny)
Quebecians (Score:2, Interesting)
Could somebody inform me as to why?
Re:Quebecians (Score:2)
Re:Quebecians (Score:5, Informative)
What those rules are, I don't know. I could look, but I don't really care.
Re:Quebecians (Score:3, Informative)
Re:Quebeçois (Score:2)
"Quebecians" is really cringeworthy.
No Perl? (Score:5, Interesting)
No Perl?
No Python?
No ("cool" hacker language of the day)?
How many real geeks are they going to attract?
Re:No Perl? (Score:5, Informative)
Chickens won't even allow Jython (Score:2)
What are all these guys afraid of? A fair contest?
The link to Paul Graham's Python Paradox on /. (Score:3, Informative)
Re:No Perl? (Score:1, Interesting)
From www.python.org:
"Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." said Peter Norvig, director of search quality at Google, Inc.
Re:No Perl? (Score:1)
Re:No Perl? (Score:5, Funny)
VB6 has helped me quite a lot - NOTHING else has motivated me to learn C++ like VB6. *NOTHING*
Indeed! (Score:1)
Re:No Perl? (Score:4, Interesting)
Thanks for the laugh. I didn't realize you people still existed. This isn't highschool where everyone "cool" dresses in black thinking they are the special ones.
Re:No Perl? (Score:2)
In the UK, everyone wears uniform at high school, but I know what you mean.
What I was actually alluding to was the fact that modern 'hacker/geek' languages like Perl or Python will often let you solve problems more quickly than eg. Java with its strict typing.
Given that the competition is effectively a race against time, it's a shame that you don't seem to be allowed to use a language designed to help you accomplish these things more quickly.
And yes, interpreted languages will be slower than compiled
Re:No Perl? (Score:2)
And yes, interpreted languages will be slower than compiled ones
This is becoming less true over time, and already is not true in many cases. Modern interpreters can do statistical analysis on running code and make it more efficient over time. Doing this with compiled languages would require an intimate knowledge by the developer of all possible execution paths, something that becomes more time consuming than it is worth.
Moral: Compiled languages are not always faster in the long run.
Re:No Perl? (Score:2)
Re:No Perl? (Score:2)
Re:No Perl? (Score:2, Interesting)
'Real geeks' are language-agnostic and won't care much what language they use for this.
Besides, some of the problems are presumably very processor-intensive (they mention chess problems) so a compiled language would be a better choice for that.
Re:No Perl? (Score:4, Interesting)
Furthermore, languages like Python and Perl are far better known for doing Google-esque tasks than all of the languages in that list except C++.
There are a lot of insanely great Python and Perl programmers out there who'd need to do a few months' hard study of those other languages to be able to get up with there with the best in, say, C#.. and then find that they still need to use their old languages for all their regular work anyway.
Let's face it, this contest isn't designed for the best of the best to enter, it's designed for the best in C++, C#, VB.NET, and Java, which is a different thing entirely.
Re:No Perl? (Score:3, Informative)
For a start, Perl is designed for the job. C is amazing for developing kernels, and doing low level stuff, but for parsing text? I think not. You can bash out a single line in Perl that would take 100+ lines to do in C or VB (unless you got some sort of regular expression control for VB, which might be against this contest anyway).
Use the tool for the job. Bei
Re:No Perl? (Score:2)
Re:No Perl? (Score:4, Insightful)
What they're looking for are typical Java, C#, and VB.NET (I'm excluding C++, as it's a catch-all) programmers who might be excellent coders, but typically lack originality and need to be spoon-fed with problems which they can then solve with some rapidly produced code.
The true masters out there aren't spoon-fed problems; they find the problems and then they solve them independently of the programming language. Google are looking for code grunts to do maintenance work. They already have the 'big minds' in the form of the many PhDs on their staff.
Re:No Perl? (Score:2)
Re:No Perl? (Score:3, Funny)
All the ones that would sell their souls to be noticed by Google?
There are more than a few 'real' geeks that would write the code in BASIC while in a barrel going over Niagara Falls in exchange for a chance to work for Sergey Brin.
So, will they take the winning app and block it? (Score:4, Insightful)
How to win prizes (Score:2, Funny)
Challenge #1: Re-write the interface (Score:5, Informative)
I mean crashes are on thing, you would expect the connection to get lost occasionally (try every time I have tried to do a practice problem), but c'mon, who hosts a coding competition with an interface that idles at 100% CPU usage?
-T
Chickens won't even allow Jython (Score:4, Interesting)
Re:Chickens won't even allow Jython (Score:2)
OK, I'll bite. Your comment is the only hit on Google for the word "subgreatness".
Of course you are baiting Google, so there's that to consider...
Re:Chickens won't even allow Jython (Score:2)
Well, there's also this [subgenius.com] to consider.
I'm actually rather surprised no one coined the take-off "subgreatness" at all before. There's been a lot of verbage indexed since J. R. "Bob" Dobbs first appeared on the scene.
What a choice... (Score:2)
Re:What a choice... (Score:2)
It's probably primarily my bias as an academic.
You don't score many points with a community by (not just ignoring, but) out-lawing the last few decades of their work (i.e. on programming languages)!
Why is this a "programming" challange? (Score:4, Insightful)
I offer that a mathematician who has never in his life even SEEN or HEARD of a computer could solve these problems, all of them, without a line of code. How then can this be considered a "programming" challenge?
A REAL programming challenge would deal with the real problems that programmers face: memory leaks, error correction, fault tolerance, user interface design, maintainability, speed, scalability, efficient object model design, database schema design, etc.
It's unfortunate that people look at these contests and think, whoah, that dude must be some hot shit programmer to be able to solve that! But really, he could be a crap programmer (hell they offer VB.NET for gosh sakes!) and just took a whole lot of logic and calculus. That doesn't mean if you hire him he'll do a damn bit of good for your company. It doesn't mean that any project he works on will be in any way maintainable. In fact, more likely than not, any code he writes will be only understandable by him and will turn into a taboo "don't touch it becuase it'll break if you sneeze" mess that costs endless amounts of pain and money.
I wish for once I saw someone have the intelligence to put out a REAL *programming* challange. One that requires you to think about entire systems, about design and IMPLICATIONS of design, about the subtle balance between speed and stability, about the umpteen million things that divides the '1337 h4X0r who is brilliant but considers random crashes to be expected from the professional and vastly underappreciated programmer who's work is so rock solid that he doesn't need a pager for the weekends. THOSE are the people who should be getting the props.
Re:Why is this a "programming" challange? (Score:2)
The bottom line is that to do well in these kind of competitions, you have to be smart, but also able to implement your ideas quickly and accurately. The latter being a lot less trivial than you make it out to be. I rather doubt many people that smart would have much trouble designing good UIs or writing maintainable code. Problem solving skills are transferrable
It's Actually Called an "Algorithm" Challenge (Score:2)
Re:Why is this a "programming" challange? (Score:2)
Google's new profit plan (Score:2, Funny)
2. Make contest problem related to business related objectives and take code to hired code "fixers" to intergrate into current products
3. PROFIT (and happy shareholders)
Sounds a little like the movie Antitrust to me, but who am I to judge, "Don't Be Evil" ohhh I mean Google
What can a programmer/architect do in a year? (Score:2, Insightful)
in what a programmer/software systems architect
can accomplish in a year than in a day.
A day is totally random.
Also, shouldn't the candidate's creativity
at originating novel ideas count for something
and not just their "well-studied code mechanic"
skills?
Spoken from the perspective of someone who used
to get ~100% on the portions of tests that I
completed in the allowed time for the test.
Unfortunately, I only completed the first
80 or 90% of the test because I thou
Such *choice*! (Score:2)
Oh boy! We have the opportunity to use one of four different pain-in-the-ass programming languages!
What a waste of time.
Re:Just in case... (Score:2)
I really sincerely think this could be the other way around ^^ If Google decided to put a "Let's slashdot slashdot" link on their main page, I'm sure Slashdot servers would cry, fall on their knees and they would get out the little white flag.
Re:why would you? (Score:2)
I guess you must be some of those richest people of Earth too if that sounds like a lousy payment for amount of time involved. That's several months of wage for most people, and to students it's a fortune. Heck, many would do it just for the free flight and accommodation on the trip to Google HQ.
Google is now more like M$. Times have
changed.
Yup. Time to go buy a thicker tinfoil hat, all those great hackers at Google ar