Petr is no longer ranked #1 on popular competitive programming sites such as Topcoder [1] and Codesforce [2]. 18-year-old Gennady Korotkevich [3] from Belarus ranks better on both, and has also won the most medals in the International Olympiad in Informatics ever, he was awarded his first silver medal when he was 11.
Seems somewhat nonsensical to claim the man is the "best computer programmer in the world", (ignoring for a moment the notion that there is such a thing) since only a small percentage of computer programmers in the world even participate in these events and that the "best computer programmer in the world" couldn't care less about such competitions.
It was quote from MIT Technology review paper. Objectively I agree. TopCoder is very well known competition, also Petr won Facebook's Hacker Cup. But this is not the whole World. There're also ACM competitions, International computer science olympiads and many other corporate contests.
His accomplishments include gold (2000, 2002) and silver (2001) medals in the IOI, gold medals (2003, 2005) in the ACM ICPC World Finals as part of the team of Moscow State University and ...
There is also that part of real world which needs programmers who are good at finding and implementing algorithms. Calling someone "best programmer in the world" because he won some coding competitions is dishonest, but pretending that he isn't somehow programming in the real world is outright quackery. Yes, that CMS, HR management, project management... needs to be written and it doesn't involve any clever algorithms, but that new storage back-end for MySQL, matching algorithm for dating site, data compression for backup service, shopping recommendation needs to be written as well.
Ah yes. The real world. Where people with pointless skills get hired by Google, even though the ability to design and implement clever algorithms is an irrelevant programmer skill.
It is NOT an irrelevant programmer skill. It is a programmer skill which is relevant for certain projects and irrelevant to others.
Being the best in the world at anything is usually a good sign. Given two candidates for a programming position who appeared to have roughly equal skills based on the interview, but where one had held the world record in weightlifting and the other hadn't, I'd hire the one with the world record in weightlifting. The skill is utterly irrelevant to all programming projects, but the dedication needed to become the best in the world at something... that's valuable.
I'm Russian and feeling liiiitle bit proud right about now. :) I'm his age and we're the last generation of soviet-era school graduates. Russian educational system is in one enormously epic crapper right now and people like this guy are going to be a real rarity in Russia.
That's sad. I've had nothing but positive experiences working with Russians (both in the US and working with some remotely).
This is possibly both racist (nationalist/) and anecdotal, but I've noticed that russian programmers think more like their US counterparts than some other ethnic groups that were educated in their home countries...
I should clarify. I am not old enough, you're absolutely right. But I had old staff teaching me and everyone in my age group. Some teachers in my school were same ones who taught my parents. Most of these people have since retired and if you walk into almost any school now they comprise maybe 10% of the staff. I guess what i should have said is we're the last generation to receive soviet-era education.
We are in process of continuous education reform since at least 1917. Latest rumored stage is aggregation of universities to make artificially big ratings. Everybody understand that this is stupid but Putin is unstoppable megalomaniac.
You mean money talks right ... so if you can afford it, can you can get a good education? If so, that's ironic, given that free education was one of the success stories of the USSR.
Money would likely get you better education. The problem stems from the fact that those who taught my age group have retired and the replacements aren't good enough mainly because Russian government abandoned educational sector just like they abandoned sports since the collapse of the Soviet Union. Everything's beginning to hurt right now because these people are entering work force and most of them don't have the skills, talent or drive to teach.
Pascal is still very popular for teaching programming in post-soviet countries.
Rules for languages differ by contest. I believe all of them accept C and C++ solutions, most also accept java. Erlangists and Lispers are going to have a bad time, though.
TopCoder, ICPC and IOI all run your code on their machines, and are limited to a small set of languages (C, C++ and Pascal for IOI; C, C++ and Java for ICPC). Others like FB Hacker Cup and Google Code Jam supply the test data, and you just submit the output file; these allow any language.
There is one site (http://spoj.pl) that takes the former approach but supports a huge variety of languages from assembler to Haskell.
ICPC restricts you to C, C++ or Java. Most contestants I know use a dirty mixture of C with STL containers. Java often gets a little relaxed time and memory limits (although it doesn't really matter as the intended solution doesn't really hinge on the relative speed difference of languages but algorithms).
Many popular and large contests allow any language you want. This is often solved by letting the contestant download a problem file, running his solution and uploading a solution file along with the source code for verification (cf. Google Code Jam). This frees the organisers from having to support every language, interpreter or compiler anyone would perhaps use (which is often the largest problem when it comes to supporting different languages).
there's high density of post-Soviet block people in TopCoder ranking - out of TOP10 7 are from Russia, Belarus and Poland. Other 3 - China, Japan, South Africa http://community.topcoder.com/tc?module=AlgoRank
there's high density of post-Soviet block people in TopCoder ranking - out of TOP10 7 are from Russia, Belarus and Poland.
Primary and secondary mathematics education has been strong in Russia before, during, and after the Soviet period. Some of the neighboring countries that were part of either the Russian empire or the Soviet Union (also China since the P.R.C. regime began) share some of the same cultural influences on educational practice.
Another Hacker News participant told us all about a very interesting discussion of mathematics education in Russia
In my experience (coming from former communist country, now living in US) it's a bit amplified by the fact that these competitions are significantly more popular in those countries than they are for example in US or Western Europe. It just means more in practical terms like getting a good job. I happen to work for the ACM ICPC and if you look at participation (number of contestants) from Western Europe it's much less than countries like China, India or Russia. From what I heard, scoring in such a competition in these countries is really prestigious. Not that it doesn't matter in US or Western Europe, but it's not that important.
Some of the high schools in Poland had classes* that were specialising in preparing students for algorithms competitions. Back when I was in this age, we had additional weekend tutorials focused solely on solving topcoder kind of challenges. A lot of guys that did well went to the Warsaw University afterwards and kept on scoring more contests.
*Structure of educational system might be a bit different there, so by class I mean a profiled group of people stuck together for 3 years of high school.
It seems a great pity that Google puts so much talent to work on improving the search engine algorithms ´to deliver the most relevant result first´ and then ruins it all by putting some cheap schmuck´s site at the top, no matter how irrelevant, just because he paid them a few bucks.
I meant ... that I just tried to join. Filled in the form and had to complete the Captcha. Got it right - I'm certain - 5 or 6 times - but it kept telling me that I failed the Capcha verification test.
I didn't read the comments first, spent about ten minutes on it. From a cursory glance, I think it comes down to the following lines:
In modal.register.js:100, 128, 337
$("#veriImg").attr("src", "/present/captchaImage.action?t=" + new Date().getTime());
It doesn't seem like the expected value of the captcha ever actually gets registered on the server side.
My one idea of stopping before the Ajax request and setting the verification code equal to an empty string to try to match a null/undefined on the server side didn't work.
It's possible that, in some really obvious error, the server makes its own request based on a current timestamp to get the captcha value to match against and uses a later timestamp, but the time difference because of latency means that I can't test that without guessing a bunch of times.
From that I would assume that they think they have enough coders, and don't need any more. After all, if you've got over 400,000 subjects, the top 10% are going to be pretty good, especially if they keep competing for the same prizes.
Nonetheless, Petr is a legend in this field.
[1]: http://community.topcoder.com/tc?module=AlgoRank
[2]: http://codeforces.com/ratings
[3]: http://en.wikipedia.org/wiki/Gennady_Korotkevich