Sunday, June 17, 2007

My recent frustration + another Live Search vs. Google face-off

Well there are some big changes in my life recently. Some of the brothers and sisters in Montreal have been notified already and let me just say that for the next month I will be concentrating on my thesis and not much else. My mind sometimes still wanders off to the la-la-land to reminisced about the lost chances and past sweet memory, so the only way out is sidetrack myself with some works. Unfortunately, I have reached a bottleneck in the thesis project: one of the tools (FINT) that I relied on (but unfortunately not written by me) does not scale well on large test subjects. Before I left for the Ephesus retreat during the weekend I left two machines on to test 3 reasonably big software projects (> 100,000 LOC). I was hoping that after the weekend I would be able to obtain some decent data. When I returned on Monday the machines were still running at full capacity. I waited one more day, hoping that I could eventually obtain the result. Well Monday was a bad day already, but to add insults to injury, McGill shut down the power supply on Monday night. When I came in on Tuesday all the machines were dead. For the past two days I was putting some final efforts to obtain the result from the large projects (azureus and soot) but if the machine is still running tomorrow, then it is time to think of an easier approach so I can actually start analyzing the data.

Honestly I am feeling lost... don't know what I'm fighting or what is the purpose of going to the lab each day. To take my mind off things, I decided to pick up the Python Challenge again. Since I feel my own reluctance to touch the Java language and the Eclipse project maybe python can get me started again.

I'm now reworking all the challenged and I remember reaching level 5. Today I was reworking a piece of code that uses pickle. However, the code needs to open a file and I want to catch the IOError exception better this time. Unlike Java SDK, python lacks a central/organized library for documentation so I decided to search it with both Microsoft's live search and Google.

Although my friends have been telling me recently that I am slowly being converted into a MS-philic and an invisible evangelist of MS technology, I have one recommendation for those friends of mine (probably 0) who want an alternative and free themselves from the Google-centric life:

Forget about it. Google has won. Now move on.

Why?

Round 1: "python errror"... well I unintentionally misspell the word. But it reveals the AI prowess of Google search.

From live search

From Google.image

image

Who won: Google

Why: Google is smart enough to detect my mistake. Live search is stupid and it just retrieves whatever I typed. It shows the vast amount of data that Google possesses and the prowess of the internal inference engine that detects wrong words and correct word. It is especially cunning since IOError is syntactically not an correct English word. It is just a name. But Google knows that most people would have typed IOError and thus when you misspell the word it is able to correct you. Its data IS the dictionary.

Round 2: "Python IOError" and "python IOError library". Well now I want to check if given the correct directives the search engines, it actually returns what I want.

From live search: Well it returns some posts from the python news group (right?). I don't know... it looks garbage to me so I didn't bother to find out.

image

From Google: Right on! It pinpoints to exactly where I need to go.

image

Give you one more chance Microsoft! Let's try a more precise "python IOError exceptions"

This time Live is more promising. Although the first two options are not optimal the third and the fourth ones lead to the right direction. However, you need to take some points off since it still thinks IOError is a misspell.

image

Google: result is less relevant this time. Honestly I tend to skip links that direct to email exchanges or usernet posts since they tend to be unstructured and not authentic enough.

image

Who won: Google

Why: Google is able to point me to the right direction given a small part of information while live needs more help. Just as an aside, it kind of shows the philosophical difference between two companies.

Google: less is better

Microsoft: more is better

However, both are still better that ask.

image

Hey, where is the Algorithm?

P.S. If you still keep track of techcrunch (which I kinda picked up again since I temporarily lost my purpose and now try to sober up and work again), you might have come across with a rumor that MS is sending a team of rockstar developers led by Sanaz Ahari to rebuild the live search engine. I saw Sanaz's video from Scoble show, and I have been using both start.com and personalized live (another confusing misnomer from MS) as my RSS feed reader. Hopefully they can produce something decent cuz I'm now sticking with google. (searching for "techcrunch live search sanaz" for the link proves me right again (sigh~) )

1 comment:

gelisam said...

Isaac, your image links point to your hard drive.


In other news, "To forget one's purpose is the commonest form of stupidity."
-- Friedrich Nietzsche

Wait, that's not going to help you at all. But isn't Nietzsche also the guy who said that even though life had no intrinsic purpose, each person could give his own life the purpose of his choice?

Choose wisely, Isaac.