It would be far more interesting if a 14-year-old won an international contest whose participants included college students studying CS at an advanced level:)
He *has* done this before. He was the top individual in this year's IPSC, which is open to everyone. He's also had an excellent record recently in TopCoder, which is also open to everyone: he's currently ranked 14th and is by far the youngest in the top 50. Unfortunately all of the major open international contests are restricted to those 18 and older.
This is already available for Garmin products in South Africa (not sure about other countries). I use it and it works great. I've never found a speed trap that wasn't covered, and the warning is far more prominent if you're over the speed limit.
They should cache the pages though. As the article mentions, the content of these pages almost never changes. The article is picking on software that doesn't cache and/or makes ridiculous numbers of queries for the same content.
What happens with people who have cookies disabled? In this case each hit will be counted as a unique visitor, unless the site checks IP address or other details.
Problems H (Raising the Roof) and J (Tunnels) were the two problems no team solved. Problem E (Collecting Luggage) was only solved by Warsaw University in the last hour.
A rough ranking of the problems from easy to difficult based on number of teams that solved them:
The main reason is the rapid increase in uptake of cell phones in developing regions. The cellular providers are ripping off the people in these countries simply because they can. And the people are so hooked on cell phones that they fall for the trap. It's like the new in thing. You'd be surprised.
I'm from South Africa and one of our lecturers who researches HCI went to Zambia for two months to study the use of cell phones. He said you'd be amazed at where you'd find cell towers - in the middle of the middle of nowhere (repetition intended).
My point is that these alternatives are happening because there's a market for them. The problem is that they're rushing in so quickly that the costs are high, which means the people end up forking out all they have just to use their phones. And they do just that! Someone needs to come up with a more effective model tuned to their usage requirements. And consider costs as the main thing!!
> Is that really a fair comparison, though? Google's email is great, but their Spreadsheet and Word Processor solutions are nowhere near as sophisticated as MS Office. And in an office environment, many of those differences do matter.
For simple documents and spreadsheets, Google's office apps are sufficient. And I would say at least 75% of documents are simple enough to fall into this category. I certainly wouldn't call it a replacement though, but rather it works well besides MS Office especially with the live updates allowing multiple people to edit a document simultaneously.
> I haven't played with Google Calendar enough, but would it be a workable replacement for the Outlook calendar? i.e. Can you schedule meetings with a simple invite rather than telling everyone to put it on their calendar? Can other users see your unavailable periods when scheduling?
Yes, it can do all that. IMHO it is better that the calendar in Outlook.
I just recently completed an internship at Google in Zurich (Switzerland) and we had dual 24" monitors. The guys in Mountain View though have dual 21" or around there.
Read my post above wrt the use of particular features of Python improving performance.
As for the switch statement in C/Java, it's actually no longer any faster then a bunch of if statements since the modern compilers optimize them to the same machine code. As for Python though it's a different story since it's interpreted. Building up a dictionary might actually be faster, but I would have to test it out first before accepting it as fact.
> OTOH, because Python is so easy to write, it's a lot simpler to get it right first, then optimise.
Don't get me wrong, I really like Python. I'm just highlighting the fact that it's better suited to particular applications than others.
> so when somebody does x = y + z where y and z are integers, whats really hapening is that python is going to y and z, extracting the values, actually carrying out the operation, and then finally repacking the stuff back together.
Another big issue is the memory usage. Man is Python a memory hog! For a list of integers it takes up about 20 bytes per integer! Now you just imagine the processing overhead of managing all that additional data. On top of that it has to go figure out what types are used in before it can perform the operation - and this is all happening at runtime.
> In defense, this super dynamicness does have some very useful results. namely that everything is dynamic including classes and functions which believe it or not, can actualy be useful sometimes.
I agree 100% with you on that point. And this is one of the reasons I believe Python is where it is. It's one of the easier languages in which you can use functional programming.
> P.S. which algorithm competition allows python? really curious since I have always been pissed that these competitions don't accept languages like bash/ruby/python.
Unfortunately it's not one I think you'd be participating in. It's a South African only event and the only reason we have Python is because of Mark Shuttleworth pumping in the money. As an organiser it's a painful language to have to support, simply due to the not-so-easy-to-measure speed difference. Last year we had a 10x time factor and this year a 5x time factor while dramatically reducing the constraints on some of the slower Python problems.
I had a couple of people check the code in the case where it was 100 times slower and the best they could do was reduce the time from 30 seconds to 28 seconds. On top of it none of the students that participated could get their Python solutions any faster. So it wasn't the case of not using the most efficient functionality.
It really depends on the application. Python is really easy to use and for applications that aren't cpu/io intensive it could prove better to use over a language such as C just because it's much easier and quicker to put together something relatively small together. However, once the requirements start to grow it's a completely different scenario. As soon as you're going to be writing an application that's going to take a few seconds to execute an operation, then a faster language such as C might be a better solution.
I am quite involved in algorithm competitions and have for the past couple of years started helping in the setup of a few. One of them recently introduced Python as amoungst the original C/C++, Java and Pascal. From this I got a good experience in the speed differences between the four languages.
C/C++ and Pascal have always been pretty much neck-and-neck as the fastest, with Pascal just loosing out. Java used to be about 3-4 times slower, but it has been improving over the past couple of years and now with 1.5 it is about 1.5 times slower than C/C++ and Pascal. Not too bad when you take everything into account. With Python however, the gap varies tremendously. In some cases it's less 3-4 times slower (comparing to C/C++ from here on), but in some cases it's as bad as 100 times slower!!! And that's taking the exact same algorithm, the exact same code even and translating it between the four languages!
My conclusion is that while Python is slow, the decision as to whether to use it or not depends on the problem.
Will this laptop will be shipping with a Vista compatible sticker? How about the lowest version? Maybe M$ could make a $100 version especially for this laptop.:D
"This working model sported many differences from the early prototypes that were seen previously. The biggest change is that the laptop no long features a directly attached crank for powering the laptop in areas without electricity--the crank has now been moved to the power supply."
Below are the top twelve teams with their scores in bold and time penalty in brackets.
Saratov State University - 6 (917)
Jagiellonian University - Krakow - 6 (1258)
Altai State Technical University - 5 (681)
University of Twente - 5 (744)
Shanghai Jiao Tong University - 5 (766)
St. Petersburg State University - 5 (815)
Warsaw University - 5 (820)
Massachusetts Institute of Technology - 5 (831)
Moscow State University - 5 (870)
Ufa State Technical University of Aviation - 5 (980)
University of Alberta - 4 (479)
University of Waterloo - 4 (636)
I took part this year as well as last year (African champions in both years) and one thing that I will point out is that this year's organisation was pretty shocking in comparison to last year. I'm sure many who were there last year will agree with me. It was just run so smoothly last year! I suppose it has a lot to do with the fact that it was in China and not in the states as it always is.
The Java Challenge was run especially badly with several fixes to the engine we had to interface with (and these were probelms with core features). And they changed a key rule an hour into the coding stages! Now that was just unecceptable. It changed he whole dynamics of the contest! My team won the challenge last year (Parrallel Challenge), but this year we stood no chance with the rule change, although we were doing very well before the change (score dropped from about 600 all the way down to 100!). And then the server crashed near the end and all submissions after its return were sent to an alternate directory - and they only picked this up long after, during the tournament in the evening! Shocking!!
It would be far more interesting if a 14-year-old won an international contest whose participants included college students studying CS at an advanced level :)
He *has* done this before. He was the top individual in this year's IPSC, which is open to everyone. He's also had an excellent record recently in TopCoder, which is also open to everyone: he's currently ranked 14th and is by far the youngest in the top 50. Unfortunately all of the major open international contests are restricted to those 18 and older.
This is already available for Garmin products in South Africa (not sure about other countries). I use it and it works great. I've never found a speed trap that wasn't covered, and the warning is far more prominent if you're over the speed limit.
They should cache the pages though. As the article mentions, the content of these pages almost never changes. The article is picking on software that doesn't cache and/or makes ridiculous numbers of queries for the same content.
The lest optimum copyright period is decided by Mugabe.
What happens with people who have cookies disabled? In this case each hit will be counted as a unique visitor, unless the site checks IP address or other details.
Come to South Africa...no daylight saving nonsense at all!
Problems H (Raising the Roof) and J (Tunnels) were the two problems no team solved. Problem E (Collecting Luggage) was only solved by Warsaw University in the last hour.
A rough ranking of the problems from easy to difficult based on number of teams that solved them:
The main reason is the rapid increase in uptake of cell phones in developing regions. The cellular providers are ripping off the people in these countries simply because they can. And the people are so hooked on cell phones that they fall for the trap. It's like the new in thing. You'd be surprised.
I'm from South Africa and one of our lecturers who researches HCI went to Zambia for two months to study the use of cell phones. He said you'd be amazed at where you'd find cell towers - in the middle of the middle of nowhere (repetition intended).
My point is that these alternatives are happening because there's a market for them. The problem is that they're rushing in so quickly that the costs are high, which means the people end up forking out all they have just to use their phones. And they do just that! Someone needs to come up with a more effective model tuned to their usage requirements. And consider costs as the main thing!!
> Is that really a fair comparison, though? Google's email is great, but their Spreadsheet and Word Processor solutions are nowhere near as sophisticated as MS Office. And in an office environment, many of those differences do matter.
For simple documents and spreadsheets, Google's office apps are sufficient. And I would say at least 75% of documents are simple enough to fall into this category. I certainly wouldn't call it a replacement though, but rather it works well besides MS Office especially with the live updates allowing multiple people to edit a document simultaneously.
> I haven't played with Google Calendar enough, but would it be a workable replacement for the Outlook calendar? i.e. Can you schedule meetings with a simple invite rather than telling everyone to put it on their calendar? Can other users see your unavailable periods when scheduling? Yes, it can do all that. IMHO it is better that the calendar in Outlook.
All Google software engineers get laptops. Plus the desktop!
I just recently completed an internship at Google in Zurich (Switzerland) and we had dual 24" monitors. The guys in Mountain View though have dual 21" or around there.
> python " for x in range(1,1000)"
> is not the same as C "for (x=1;x1000;x++)"
In place of range(), you should use xrange() as it doesn't build up the whole list as range() does.
Read my post above wrt the use of particular features of Python improving performance.
As for the switch statement in C/Java, it's actually no longer any faster then a bunch of if statements since the modern compilers optimize them to the same machine code. As for Python though it's a different story since it's interpreted. Building up a dictionary might actually be faster, but I would have to test it out first before accepting it as fact.
> OTOH, because Python is so easy to write, it's a lot simpler to get it right first, then optimise.
Don't get me wrong, I really like Python. I'm just highlighting the fact that it's better suited to particular applications than others.
Another big issue is the memory usage. Man is Python a memory hog! For a list of integers it takes up about 20 bytes per integer! Now you just imagine the processing overhead of managing all that additional data. On top of that it has to go figure out what types are used in before it can perform the operation - and this is all happening at runtime.
> In defense, this super dynamicness does have some very useful results. namely that everything is dynamic including classes and functions which believe it or not, can actualy be useful sometimes.
I agree 100% with you on that point. And this is one of the reasons I believe Python is where it is. It's one of the easier languages in which you can use functional programming.
> P.S. which algorithm competition allows python? really curious since I have always been pissed that these competitions don't accept languages like bash/ruby/python.
Unfortunately it's not one I think you'd be participating in. It's a South African only event and the only reason we have Python is because of Mark Shuttleworth pumping in the money. As an organiser it's a painful language to have to support, simply due to the not-so-easy-to-measure speed difference. Last year we had a 10x time factor and this year a 5x time factor while dramatically reducing the constraints on some of the slower Python problems.
I had a couple of people check the code in the case where it was 100 times slower and the best they could do was reduce the time from 30 seconds to 28 seconds. On top of it none of the students that participated could get their Python solutions any faster. So it wasn't the case of not using the most efficient functionality.
It really depends on the application. Python is really easy to use and for applications that aren't cpu/io intensive it could prove better to use over a language such as C just because it's much easier and quicker to put together something relatively small together. However, once the requirements start to grow it's a completely different scenario. As soon as you're going to be writing an application that's going to take a few seconds to execute an operation, then a faster language such as C might be a better solution.
I am quite involved in algorithm competitions and have for the past couple of years started helping in the setup of a few. One of them recently introduced Python as amoungst the original C/C++, Java and Pascal. From this I got a good experience in the speed differences between the four languages.
C/C++ and Pascal have always been pretty much neck-and-neck as the fastest, with Pascal just loosing out. Java used to be about 3-4 times slower, but it has been improving over the past couple of years and now with 1.5 it is about 1.5 times slower than C/C++ and Pascal. Not too bad when you take everything into account. With Python however, the gap varies tremendously. In some cases it's less 3-4 times slower (comparing to C/C++ from here on), but in some cases it's as bad as 100 times slower!!! And that's taking the exact same algorithm, the exact same code even and translating it between the four languages!
My conclusion is that while Python is slow, the decision as to whether to use it or not depends on the problem.
http://www.google.com/search?q=define:pluton
Will this laptop will be shipping with a Vista compatible sticker? How about the lowest version? Maybe M$ could make a $100 version especially for this laptop. :D
From the article:
"This working model sported many differences from the early prototypes that were seen previously. The biggest change is that the laptop no long features a directly attached crank for powering the laptop in areas without electricity--the crank has now been moved to the power supply."
From the caption of the first pic:
"According to Negroponte, the $100 laptop will initially cost around $135 and he expects the price to drop to $50 by 2010."
Problem Set
Final standings
You can view the final standings here.
Below are the top twelve teams with their scores in bold and time penalty in brackets.
I took part this year as well as last year (African champions in both years) and one thing that I will point out is that this year's organisation was pretty shocking in comparison to last year. I'm sure many who were there last year will agree with me. It was just run so smoothly last year! I suppose it has a lot to do with the fact that it was in China and not in the states as it always is.
The Java Challenge was run especially badly with several fixes to the engine we had to interface with (and these were probelms with core features). And they changed a key rule an hour into the coding stages! Now that was just unecceptable. It changed he whole dynamics of the contest! My team won the challenge last year (Parrallel Challenge), but this year we stood no chance with the rule change, although we were doing very well before the change (score dropped from about 600 all the way down to 100!). And then the server crashed near the end and all submissions after its return were sent to an alternate directory - and they only picked this up long after, during the tournament in the evening! Shocking!!