Saturday, November 26, 2005

In Defense of Google

Last week, I noticed an article on The Register about Google ills. In the article the author, Otto Stern, talks about the problems with the search giant. The article does not have much technical content and I wonder how can one blame a tech company solely on the basis of "social" arguments, without looking at its technological achievements. Being an ardent fan of Google, I found it necessary to debunk the whole article.

The author alleges that Google earns a ton of money without doing almost nothing. To quote him: "It supplies boring, text ads to web pages." Believe it or not, Google Ads are the least irritating ads seen online and the Google web pages provide much informative web experience compared to any other website. Those who are not interested in sponsored ads can safely ignore them.

Another point which Otto makes is about Google's lack of innovation and in this context it refers the reader to an article in PC Magazine. In this article John Dvorak mentions that none of the Google's ideas are original. The search was taken from AltaVista, Gmail from Hotmail, and targeted ads from GoTo.com. The point I wish to make is that you cannot create every damn thing all by yourself alone. In technological field one normally builds up on the work of his predecessors and contemporaries. This is not a shameful thing.

See the difference which Google made by building upon the work of AltaVista and Hotmail and GoTo.com. Thus Larry and Sergey introduced their Page Rank algorithm and for the first time in the history of web search the users actually started getting relevant information on the top of the search results. And we got 2GB of email free from Gmail. Not only did Gmail revamp the way people used webmail, it also gave an experience matching almost with a local desktop email application (thanks to the AJAX technology which was popularized by Gmail). Apart from this it provides free POP access. And the best part is that you don't need to organize your mailbox, Google will search any damn stuff in your mailbox.

Sorry Otto, the Google guys are so full of innovative ideas which are beyond your imagination. Take a look at their services like Google Maps, Google Desktop, Google Video, Google Suggest, Google Reader, Google Base, Google Books and so on. Every another day you can expect them to launch a new service. I don't think that the Google stock has crossed the $400 mark (from $85) just because of the media hype. They are really doing something wonderful and making the best use of their stocks.

The technical expertise in software and hardware technologies needed to launch and run such services is beyond the reach of any other tech company. For details about Google's technical expertise you can read Stephen Arnold's The Google Legacy.

The life of many a programmers, system admins and other IT people is made less miserable by the search results of Google. The information provided in Google Search and Google Groups is sometimes much more relevant than the one provided in MSDN.

Otto also mentions that Google professes this open-source love thing only in a superficial way by giving only pet projects to the open source world. On the contrary Googlers are heavy users of open source products and their data centers run a modified version of Linux.

Larry and Sergey started with their Backrub (and then Google) way back in 1998 and in seven years they have made Google synonymous with "search" raising its status almost to a verb. Contrary to what many people say, they still believe in their motto of "Do No Evil" and so far have never taken any undue advantage of the monopoly they have over online information. They have revolutionized the concept of computing by lifting it from your desktop to the internet and right now they are giving Microsoft a run for their money.

Saturday, November 19, 2005

Book Review: A Course of Pure Mathematics

This is one of the two great books which influenced my life deeply. And reading it for the first time I came to know "what does a masterpiece look like?". I will never forget the excitement with which I read "Pure Mathematics" for the first time and then over and again for quite a number of times.

So what's this book all about? Well, it is an introduction to mathematical analysis (in crude terms: calculus). If you ever had any doubts or confusion in elementary calculus then this book is for you. And believe me, this book gives the best introduction to calculus.

The author, G. H. Hardy, was one of the greatest British mathematicians of his time and did significant work in number theory. He was also a man of somewhat eccentric character. But above all, we Indians should be thankful to him for his discovery of Ramanujan. He brought Ramanujan to limelight and together they collaborated for 5 years on a variety of mathematical researches.

The book begins with the theory of real numbers in the first chapter. This is the distinguishing feature of the book. The theory of Dedekind cuts is explained very nicely using English words instead of mathematical symbols. And thus Hardy creates reals out of the rationals and demystifies the nature of irrational numbers. This beginning chapter is like a gem and is the foundation on which he develops the entire calculus. Do not skip this chapter while reading the book (as I had done the first time).

Then the book goes on describe functions and complex numbers. After that we meet "Limits" and the concept of limits is explained in so great a detail and so nicely in prose that you will feel as if a teacher is sitting beside you and explaining you all the concepts face to face. The conceptual framework of limits, continuity, derivative and integral as explained in this book is the best I have ever found. After reading these chapters you will never ever have confusion regarding these topics. I owe my own understanding of calculus to this book.

Some of the most difficult theorems (the ones usually stated without proof in textbooks) like "continuous functions are integrable", "every polynomial equation has a root", "binomial theorem for non-integral exponent" and many others are proved in an elegant style which is unmatched. This book satisfied all my mathematical curiosities (except irrationality of Pi) at that time. The book also contains material on infinite series, logarithm and exponential functions, and elementary analytic functions.

The book is unique in all respects. The material presented in this book is not to be found anywhere in any other book on calculus. The best thing is the prosaic style in which the author communicates his ideas to you. You will never feel bored by mathematical symbols. Instead you will find nice English paragraphs explaining all the concepts to you. I really wonder why don't other authors also follow the same style. And I also feel disgusted by the lack of proofs in many books on calculus. It is the proofs which clarify your concepts and not the problems at the end of the chapter.

As an aside let me tell you the interesting story about how I got hold of this book in the first place. Some time around 1996 when I was 16 years of age, my father happened to be the member of a technical library in his workplace. And this library was open only to the employees and not to their children. My father wasn't any good in technical subjects but he had become a member only to get good books for me. Since he didn't know much about technical books, I told him to get books at random from each of the sections dedicated to physics, chemistry and mathematics. By my great luck, one of these random selections led me to this great classic "A Course of Pure Mathematics".

At that time I was in 11th grade and I did not know about the author G. H. Hardy (there was no internet access available and Google was yet to come, so books and teachers were the only source of any knowledge). Moreover the book did not have any introduction about the author. Even his qualification was not mentioned. But when I started reading the book I felt that the author must be a knowledgeable guy. Only much later (in my college) I came to know that this author turned out to be a great mathematician of the century and I also came to know about his Indian connection (with Ramanujan). I now feel that there was no need of mentioning his qualification in the book. The name of the author itself was enough.

If at some point in your life you had a liking for mathematics, then you must grab this book and devour it. If you were ever entangled in the mysteries of calculus, then this book is for you. However, I must mention that this book is primarily for those whose interests have a mathematical bent. If you're not one of those then you might prefer to be content with this review.

The Anti-Microsoft World

Nowadays it has become fashionable to blame Microsoft for almost any problem with your PC, be it software or hardware. People think it is prestigious to hate Microsoft. By hating them you think that you belong to the Linux/Unix geek group. And since being geek is thought of like being sexy, many people are using this anti-Microsoft propaganda to prove themselves that they are geeks.

Hey, I too blamed MS while I was in college. Needless to say that at that time I had little experience with Windows and we were seduced by the charm of Unix. But after working in software industry for more than three years I have started to think otherwise. First of all, let's thank Microsoft for making Windows so popular worldwide. It is because of its popularity that much of the application software is written for Windows and not for Unix. That creates a lot of job opportunity for software developers like us. If there were no Windows there wouldn't have been sufficient demand for application software by the Unix community (limited to universities and corporates).

I find it silly that people who use Office, IE and Visual Studio tend to blame Microsoft recklessly. Just try to imagine your life without these applications and you will know what is great about Windows. For those in print/publishing think about life without Adobe apps. I believe that at least users of these applications should not hate Microsoft.

I agree that there are lot of security issues with Windows, but same is the case with any other OS. Bugs are a general feature of any software and are not limited to the ones developed by MS. After introduction of NTFS in Windows 2000, MS ensured file system security and in this respect it is much better than the file permissions of Unix world. And since the XP SP2 update, it looks like the Microsoft guys are taking security issues very seriously.

But the great gift which Microsoft has given us is the Win32 APIs and COM. Win32 APIs deal with graphics and user interface and system level functions on Windows. These APIs are designed to be developer-friendly. The names of the functions and their syntax is much better compared to the system calls and other APIs on Unix. If you compare the X11 functions for graphics on Unix with the APIs in GDI32.DLL (Windows graphics API) you can see the perplexing nature of X11 functions.

With introduction of COM Microsoft created a new paradigm of component based software development. Almost all applications (IE, Office, Media Player, Acrobat, Real Player etc) use COM. In crude terms COM is an extension of the C++ polymorphism (which is the base of OOP). In COM an application is divided into independent components and only the interface between the components needs to be adhered to. One component is totally unaware of the implementation details of the another component. And this is done at binary level, so while developing one component you just need the binary (DLLs) of other components and not the source code. However there is a catch here. If there is a bug in one component, it will be visible in all clients which use the component. Much of Windows bugs are related to buggy implementations of COM components.

For the developer community Microsoft has created Visual Studio which is unparalleled. Developing applications is damn easy with Studio and none of Unix apps/tools are even 1% near it. Thanks to Qt GUI library that you can write good applications in Unix and even then Qt apps on Windows look much better than the ones on Unix.

The one thing for which Microsoft should be justly hated is their anti-competitive monopolistic strategy. The way MS created anti-Linux propaganda is very disgusting. Instead they should have improved their server OS to compete with Linux. And now they are fighting with Google. Why don't they simply embrace the internet and compete with Google? They have already won the desktop and I believe if they work hard they can have a good chance in internet services. Suing Google over recruitment of an employee is too much for me. An employee (or his brain and experience) is not a property of an employer and one should not use legal means to keep employees. Such actions frustrate the employees to great heights. Rather Microsoft should try to win employees by providing them good work and salary (like Google does).

To conclude if you wish you can hate Microsoft, but at least know the proper reasons for hatred. Don't hate MS just because the guy next door also does the same.

Sunday, November 13, 2005

No Time for Blogging

Last-to-last week I was on Deepawali vacation, and I could not put up any stuff on my blog. On coming back to Noida many friends started asking me about my blog. It seemed liked they were waiting for some posts during the vacation period also.

Just to remind these impatient friends of mine, I am posting here the reasons for not blogging for past few weeks. So here they are:
  • First and foremost, I don't have internet connection at home and I have to do all my blogging from my office. This means that either I have to find time out of my work or I have to come to office after work hours. I prefer to come to office on weekends to update my blogs, so that it doesn't disturb my normal work.
  • During vacations I am totally away from computers, so there is no question of blogging in that period.
  • Many a times there is lack of appropriate topic and I don't want to bore the readers by some arbitrary ramblings (although this is what most of the bloggers do). By the way, this post itself is a sort of rambling due to the lack of an appropriate topic. Moreover the topics I chose have to appeal to people other than myself and this is big hurdle in choosing the material.
  • Finally, sometimes the lack of response by the readers puts me off. I don't write my blogs just to improve my English, rather I want to express my ideas to people at large and in turn want their feedback.
I guess the reader will see that these reasons are genuine and will excuse me for a while.

For my friends who wish to know about my Deepawali vacation, all I can say at present is that it was the best vacation I ever had and I enjoyed every minute of it. Apart from the usual fireworks stuff there was something much more enjoyable this time. I cannot divulge the details right now, but could not keep my excitement secret so I am writing about it here. Anyway some of my friends would have guessed the reason.

I would not like to bore the general reader with personal stuff, so time to stop now. Bye bye.