1. Bing follows almost exactly same underlying IR technology as Google. Hence, it may have similar results for many high frequency key words but Google will always have the advantage of larger traffic and it is unlikely that Bing's ML ranking can catch up Google in this.
2. Bing actually require more infrastructure work. The search engine results are not optimized for viewing in chrome browser. In general, they seem to be a bit slow and not as clean as Google at this moment. Added social "component" is something that Google does not yet have. But there is zero innovation in terms of technology. It will take 7 days for Google to make a better social "component" if they want with the already existing data. Only advantage of Bing is probably the special collaborations they can get with Facebook.
3. They have a bit new user interface. However, I dont think UI will be the prime component that can beat wonderful service that Google provides today. Typically, UI innovations are trivial. Even if it is not trivial it is easy to copy.
Monday, May 30, 2011
Tuesday, May 24, 2011
US patent systems!!
I only know about US patent system and hence I can not really comment on any other country's patent system. However, US patent system seems incredibly idiotic. It is typically written in a format that is quite unreadable. People apply many patents that are almost similar. Patents exist to protect big corporations. The infrastructure for patents cost quite a lot of money for any country and I feel that it is a huge waste of money and man hours. Anyway, I don't really care much about patents, but I can not restrain laughing seeing snippets of an Yahoo patents that gave them a right for any web search that ranks the search results!!
See this snippet :
"A search system provides search results to searchers in response to search queries and the search results are ranked. The ranking is determined by an automated ranking process in combination with human editorial input. A search system might comprise a query server for receiving a current query, a corpus of documents to which the current query is applied, ranking data storage for storing information from an editorial session involving a human editor and a reviewed query at least similar to the current query, and a rank adjuster for generating a ranking of documents returned from the corpus responsive to the current query taking into account at least the information from the editorial session."
and ... continuing
"Promotions and demotions might be absolute ("Rank this document first highest."), relative to itself ("Rank this document four positions higher than it would otherwise be."), or relative to another document ("Rank this document higher than this other document."). Other types of promotion/demotion might include "remove this document from consideration no matter what the automatic system suggests", "this set of documents are to be given equal (`tied") rankings", "do not rank this document higher than position P" for some integer P, or the like."
See this snippet :
"A search system provides search results to searchers in response to search queries and the search results are ranked. The ranking is determined by an automated ranking process in combination with human editorial input. A search system might comprise a query server for receiving a current query, a corpus of documents to which the current query is applied, ranking data storage for storing information from an editorial session involving a human editor and a reviewed query at least similar to the current query, and a rank adjuster for generating a ranking of documents returned from the corpus responsive to the current query taking into account at least the information from the editorial session."
and ... continuing
"Promotions and demotions might be absolute ("Rank this document first highest."), relative to itself ("Rank this document four positions higher than it would otherwise be."), or relative to another document ("Rank this document higher than this other document."). Other types of promotion/demotion might include "remove this document from consideration no matter what the automatic system suggests", "this set of documents are to be given equal (`tied") rankings", "do not rank this document higher than position P" for some integer P, or the like."
Sunday, May 22, 2011
Advice for Computer Science College Students
I came across a blog article (http://www.joelonsoftware.com/articles/CollegeAdvice.html) written by Joel Spolsky on this topic and can not restrain myself saying a few words on his advices. His first advice was learn to write. I did not understand why a moderately good student will not learn writing. This is a skill people generally acquire in high school. His second advice was to learn c programming. I differ on this since I believe the general knowledge of programming languages concept is more useful than one programming language. One language is not enough and I would expect a computer science graduate will know C, an OOP language and one scripting language and a functional language. I would also expect one in his undergrad would write at least one non-trivial large system in any language. Example of non-trivial programs are compilers, interpreters, toy database, toy operating systems, toy distributed storage etc. Microeconomics is an interesting class. I dont know why Joel is particularly interested in that. I believe sociology, game theory classes are also interesting and are important.I do not think that programming should be focus. One should focus on learning the science. Programming is the way of expression and if one understands how things work, expression should not be problem. I felt that the summary of his article will be that his advice to a new graduate is that he/she should be well prepared to write c/x code in his company. Anyway, I dont think a smart student needs advice on what he/she needs to learn but he may be interested in one's view on what could be interesting in future in computer science.
Wednesday, May 18, 2011
A recent Google spam
Interestingly, www.ourglocal.com broke Google's ranking system. They are able to occupy multiple top ranks for academic queries. This is transient. I think Google will catch it probably in a week algorithmically or they will black list it very soon. However, it shows their ranking may not be hard to break. So, if one can hide IP and can create many random IPs for the attacks from cloud and then generate automated targeted contents, Google will find it absolutely hard to manage unless they do some fundamental change in their algorithm. This fundamental change is hard. I guess this kind of attacks require a lot of money (or talent to hack into clouds). I dont think the current web site is so sophisticated but they do launch a browser redirection script once someone visits their web site. I have not investigated further but this is an interesting ranking attack worth studying.
Monday, May 9, 2011
Mac OS output of ifconfig
It's a BSD copy. Here are a few things I discovered.
* lo0 = loopback
* gif0 = Software Network Interface
* stf0 = 6to4 tunnel interface
* en0 = Ethernet 0
* fw0 = Firewire
* en1 = Ethernet 1
* vmnet8 = Virtual Interface
* vmnet1 = Virtual Interface
* lo0 = loopback
* gif0 = Software Network Interface
* stf0 = 6to4 tunnel interface
* en0 = Ethernet 0
* fw0 = Firewire
* en1 = Ethernet 1
* vmnet8 = Virtual Interface
* vmnet1 = Virtual Interface
Sunday, May 1, 2011
How can an experienced engineer improve his/her skills?
Engineering knowledge does not necessarily grow with experience. One of the ways one can improve one's knowledge is working on non-trivial problems and in getting results faster. This is definitely riskier because in any corporate scenario the myth for strategic success is to work on low hanging fruits. However, I think only working on low hanging fruits is detrimental to an Engineer's career. Two things are important. The first one is the scientific knowledge in a domain and the second one is the ability to quickly express algorithmic thoughts in terms of mathematics and programming languages. One of the way to verify if one's programming skill is at per with the best people is to take on a programming olympiad question paper and solve the problems in a given time, send it to online judge and see your score. Also, one can verify the domain knowledge by choosing a moderately good theoretical paper in his/her domain and then attempting to solve that problem addressed in that paper by themselves. Later they can compare their solution with the solution given in the paper.
Subscribe to:
Posts (Atom)