Nov 28, 2005

Moving to MicroSoft

Time to relocate again. I am moving to Microsoft office in Hyderabad.

Mixed feelings really.

First of all I never thought that I would be taking up an offer from Microsoft. Not even in my dreams.

I still don't know whether I am making the right move or not. I am not 100% sure about joining MS, but I am 100% sure about leaving my current work place.

Again, as most of my friends know about me , I work quite a bit on Linux as a hobby. The computer at home has always been a dual boot system. I have worked on snmp and on freelords. I have been fed up of Windows, but still have it as I play a lot of games on it. Linux lags far behind microsoft when it comes to gaming.

So, how come a linux guy is going to join microsoft ? A friend asked me that, and I had to look back and reflect on it - how is it happening ? That has taken me to the roots of why I started using Linux. There were 2 main considerations : 1) It was free, 2) It was opensource.

1. The freeness
Living in India, a developing country, a middle class family does not have the money to buy much software. Rs3000/- for an operating system is quite expensive. Again, add to it the cost of 'essentials' like Office , Outlook and VC++ development suite - and you have to shell out much more than what you can afford. Costs of software can easily be almost double of the hardware costs. Actually, in the past few years the cost of hardware has been falling drastically here in India, and with a Windows only system, the cost of software is a deciding factor.
That's where the Tux comes in. Its free. You don't have to worry about prosecution from authorities from using pirated software.

2. The openness
As a geek, I like knowing how things work. I like taking apart stuff and seeing the internals. Linux and Opensource software appeals to that geek in me. When I had started coding my code was not really that great, but I used to think it was. Then I started looking at the way people code for the linux kernel , and I was left breathless. It was beautiful. And I have picked up techniques from there, which I probably would not have had i never looked at it.

So, how does this translate to MS.

Well, I think it would be great if I can see the source code of what most people use around the world. It would be great if I could fix a few things - cause that's the greatest grouse against Windows that I have.

However, I don't know how it would be in MS. Will I have access to the source code base ? Even if I do, can I put in fixes into the modules that I am not working on ? I guess I can only find out after I join.

There is a lot of discontent about MS on the net , the most prominent is the mini-microsoft blog. But, I guess its because with a company the size of MS will have discontent people - its inevitable. But, the company is still the biggest that is out there. For a person in the US, used to living in luxury, maybe their standards from the company are too high, especially after the google blitz. But for a person in India, MS offers quite a lot more than other indian companies.

I know a couple of friends in MS, and they ok with it. The interviewers were also above the level of the other interviews that I had. While most interviews for companies are more on the line of what I know ( rather they were more interested in knowing what I did not know), the MS interview was about getting to know what I could do. At some points it even left me a bit surprised. Working with the people who have set their standards high atomatically causes a guy to raise his standard.

The issues in MS may be very real, but I am sure that the learnings from there would be much more than any other indian company.

Some links about life in MS :

Nov 23, 2005

Reading List

One of my favourites ( must read ) sites has a list of books that a person aspiring to manage and lead a team would be interested in reading.

A Ninja and a Katana

Vipul and Umesh finally have gone ahead and done it ... a bike ride in US of A! :-D

Evertime I would go to US, I would keep cribbing about bikes and why i don't like 4 wheels - and it seems that I have convinced them finally to try it out.

Vipul's blog has the writeup : http://vipulpanchal.blogspot.com/

Nov 14, 2005

Programming, Metrics and Creativity.

I started writing code when I was in 8th Standard in North Point programming a BBC micro using LOGO. Computer Science was my 6th subject ( elective) for my 10th class board exams. That's where I learnt the history of computers as well as programming in Basic. While learning the history, I used to think why is it called Comp Science when we were also learning history. As part of project work I wrote a game - a totally original work considering that almost all the class was writing quizes based on multiple choice questions ( like KBC ) .

After that, people influenced my parents to get me to take Physics, Chemisty , Bio and Maths for 12th class ( I wanted comp science). So, the next 2 years were spent away from comps.

College came and I was in Electrical Engineering. During the classes on machine theory, I used to think how nice it would be to write a computer program to do all the messy calculations which I usually used to get wrong! After college I again started to work with comptuers by joining WIPRO as a systems engineer.

Now, 7 years later, I am in a managers role.

In India it seems that everything gets laid down the way it would be in a govt company. After 1-2 years you become a senior engg.. you work on stuff you really don't want to as the managers above you don't see what you can do, but just on the headcount in the project. In all fairness, I would say that I did have managers who understood what we programmers wanted and such projects always fared much better than those where Managers were only concerned about potraying the figures of the metrics council. However, at this time, I have become a manager as it was the 'right' thing to do ... in indian society parlance. And now, I am regretting it everyday.

Why ??

I think that the the whole problem here arises because people still insist on seing software development as a factory assembly line situation. They assume that every action can be broken down to the smallest activities which can be exactly measured in time. Why ? I think it is because computer studies is taken as a science - which by its own meaning means exactness. So, we have a large number of companies coming up which provide certification in the form or CMMi and TL9000 or ISO certifications.

However, that is not software development. Software is an artform. And art cannot be quantized. Its thoughts. You think of something and you create that. Its not a factory , as you are not repeating the actions over and over again. In fact, anything which can be repeated is programmed so that the program does it itself ( but here in India I still see a lot of things being done manually when they should be automated). Art always means that different people produce different stuff ( think Van Gogh , Michaelangelo ). Science on the other hand , by the way of deductions says that you will get the same answer ( output ) by whoever works - the basis on which the current system of companies are being built.

This is a basis for failure. Managers in companies think they can easily replace people ( a concept pushed by things like CMM), and it will have no repurcussions. But you cannot replace a Michaelangelo by Mr Smith. And the Michaelangelos of software will only be what they are if they are given the creative freedom.

Everytime a programmer writes code - he is creating something new. It may be similar to what was produced - but it is never same. Think of a car being created ... everytime a new one. That's what programming is all about.

Can the production industy predict how fast they can create a new car starting from scratch ? Nope.

Then why does this insane expectation from Developers ?

So, now we have substandard programs written under conditions of short deadlines leading to failed products. People get disillusioned and leave the companies to go to other companies and find better work conditions.

Look at the current condition in the software world. In india , developers would like to get into companies like Google - as they offer something every geek wants - freedom to be creative. In fact its because of this freedom that Google has grown. They did not give in to the demands of the corporates and have reached this pinnacle, and still seem to be going upwards. They have the policy of getting the best minds - birds of a feather - remember ?

But companies who are going the traditional way are having problems of attrition, discontent. Many companies in India also want to do everything the Microsoft way. They have a love for the MS Project software and try to use it ( unsucessfully ) to get things done on time. I once asked my manager why we use Project - to which he said it was the best tool available. If that was so - then why is it that the next version of Windows is now almost 2 years delayed I asked. He had no answer.

Companies and the current breed of managers seem to worship the tools and metrics. People come secondary. Creativity does not exist. And then people wonder why Indians don't perform in India but work better abroad.

Its a convulated world we work in.

Thankfully there are a few companies who seem to think the correct way. Google is one. Others I would like to work in are blizzard, fogcreek and Good .

Nov 11, 2005

The Evil behind Patents

You folks may have heard the word patent before. Its to do with inventions. More info can be found on Wikipedia or even on google.

What happens in patents is that someone invents something, and then claims the patent for it. This is meant to safeguard the interest of the inventors, as it makes sure that other people don't pawn off his inventions without giving him his due.

However, recently, with the spate of patents going on, people are begining to wonder if it is actually a good thing or not ?

Case in point - an American firm tried to patent Basmati rice - a stable rice in India. Thankfully, the Indian govt. fought the patent. However, this is just the tip of the iceberg. Many companies just file for patents not to protect the IP but for making money. The open source community is vehemently opposed to such patents as in the case of software patents they say that it prevents the exchange of ideas.

They do seem to have a point , as patenting software is to patent thought. Its like saying - hey, i had this thought - so you cannot think that. If you think , you pay me !! Absurd ?

All this is obviously going to have a repurcussion on further R&D as you cannot legally go ahead with something if you use some idea that is already patented. The AAAS took up a survey and these are the finding :

A total of 40% of respondents who had acquired patented technologies since 2001
reported difficulties in obtaining that technology. Bioscience respondents working in
industry reported the most problems, with 76% of those reporting that their research had been affected by these difficulties. By contrast, only 35% of university-based bioscience respondents reported difficulties that affected their research.
Of the 40% of respondents who reported their work had been affected, 58% said their work was delayed, 50% reported they had to change the research, and 28% reported abandoning their research project. The most common reason respondents reported having to change or abandon their research project was that the acquisition of the necessary technologies involved overly complex licensing negotiations.
More links from there :
Complete report
Executive summary
More on this report

Now, i don't know about you, but I feel that this kind of problem should be looked into. If patents are stopping us getting better products - should we not relook at them and fix the current way they are happening ?

Nov 7, 2005

Geeks will inherit the world !

Found an article on managing geeks .

Another interesting article that I stumbled upon is this gem of a short writeup on "How software Companies die".

Joel also has an interesting article on VC funding and why he did not go for it.

Oct 26, 2005

Nature Striking Back ?

Dec 2004 : Tsunami (est 270,000 dead)
Aug 2005 : Unprecedented rainfall in many parts of India.
Sep 2005 : Hurricane Katrina
Sep 2005 : Hurricane Rita
Sep 2005 : Major Typhoon in China Sea
Oct 2005 : Earthquake in Kashmir ( 79,000 dead, expected to rise)
Oct 2005 : Hurricane Wilma
Oct 2005 : Bird Flu ( can become a pandemic)

Am I being paranoid or are we heading for disaster ?

Harmony with nature has been the central belief in Hinduism and Buddhism. When we are growing up , we are told that our Karma's reflect our current state, and the more bad karma we have in our previous life, the greater our suffering in the present. And looking by the way we have been progressing till now in trying to dominate nature and becoming more and more cruel in our dealings with others, it looks like we are in a bad karma state.

The problems can be answered with both scientific and karmic explanations. The scientists can talk about deforestation, global warming, etc for our current predicament. The karmics can state the selfishness and meanness increasing in the world the reason for the current state. I believe both go hand in hand. With people just worrying about their bank accounts - who cares about the rain forests vanishing ? What they forget is that for every action - there is an equal and opposite reaction. The earth is a contained ecosystem. You cannot escape from the effects in one part of the world if you are located somewhere else.

The earth is a self stabilizing system. It does not favor anyone except itself. Till we continue to work with it, adjusting with it - we are ok. But if we start changing only for ourselves -- well, the sleeping giant awakens.

The earthquakes, tsunamis, volcanic eruptions, etc are just earth's way of letting us know - hey, you don't mess around with me - I have my own laws which you are disobeying. But I don't think we are going to heed the warning. Everyone is still fighting ( hey , that earthquake happened in Kashmir, I am fighting a war in Iraq. They are not related!). Time to note the warning signs.

Indian Coders ... where art thou ?

Google recently had a summer of code competition, which basically was about students working with a few opensource projects to improve them. The working has finished and now Google has come out with a map of the locations of people who worked in the projects.

What interested me is this ... India has only 2 guys working on the code.

Now... this starts me thinking. IF India is being touted as the IT outsourcing hub, why is the contribution so low ?

One train of thought that I have is mostly people in India need to be told what to do. The societal pressures are so that we really don't end up think for ourselves. And I think a prime example of this is the summer of code. Most people in colleges will not do it cause they are not told to do it - rather they would have fun during the holidays. And this I think translates to the work also being done in India. There are too few development projects even in most big companies, and is also seen by the low numbers of startups.

Another train of thought is that nowdays most people have windows desktops, and the internet connection if available is for downloading mp3s and videos. Most people are proud of having these , even if they are pirated. In fact piracy has become the norm here - people whom I know have quite a lot of money still go out and get the pirated software ( most of them don't even realize they are pirating. They only know that they are getting something cheaper ). As a result, very few people use Linux.

But, in a college environment Linux will be available. In a college environment, peers will tell you about the 'summer of code'. I don't think that profs will have much idea of it as most seem to work in their own world. But this is distressing. People just don't seem to want to use their minds constructively.

Taking a look at the map furnished by Google, China has a much better contribution than India, and if this trent continues, India had better watch out, or we will see ofshoring going to China in such a big way , that India may lose out. India needs more geeks and nerds.

Oct 20, 2005

Great Hackers

Paul Graham has a great article on Great Hackers . Man I am impressed.

If you are one of the masses in the IT field , and love programming, but somehow find your job quite boring, this article is definitely for you.

Some quotes :

I know a handful of super-hackers, so I sat down and thought about what they have in common. Their defining quality is probably that they really love to program. Ordinary programmers write code to pay the bills.

What do hackers want? Like all craftsmen, hackers like good tools. In fact, that's an understatement. Good hackers find it unbearable to use bad tools. They'll simply refuse to work on projects with the wrong infrastructure.

After software, the most important tool to a hacker is probably his office. Big companies think the function of office space is to express rank. But hackers use their offices for more than that: they use their office as a place to think in. And if you're a technology company, their thoughts are your product. So making hackers work in a noisy, distracting environment is like having a paint factory where the air is full of soot.

But hackers can't watch themselves at work. So if you ask a great hacker how good he is, he's almost certain to reply, I don't know. He's not just being modest. He really doesn't know.

To do something well you have to love it. So to the extent you can preserve hacking as something you love, you're likely to do it well. Try to keep the sense of wonder you had about programming at age 14. If you're worried that your current job is rotting your brain, it probably is.

Oct 17, 2005

What is my religion ???

Disclaimer : This may be taken by a lot of people to be Blasphemy. If you are one of those fanatics - please don't read below this. You need to be rational and sane in mind to read the following.

Am I a hindu ?

Were Ram and Krishna gods ?

Did the Ramayana and Mahahbharata really happen ?

Am I religious ?

The last question was asked to me recently. How do I explain it ? Can I say that I believe in the Hindu religion ? But then what is the hindu religion ? Is it the worship of Idols ? Is it the chanting of mantras ? Is it the building of great temples and donating loads of money into these temples ? Is it following customs blindly ?

For me that is not my religion. How can I believe in a religion which is so selfish that by giving more money I can get more favours from the god ? If he is god - why would he be needing all the gold and silver that people donate ?? How can I believe in a religion which says we are to worship idols and then forget the people living around us ? How can I believe in a religion where people go and make deals with god ? How can I believe in a religion when it segregates people based on caste. How can we claim a river ( Ganga) to be holy and yet dump all the filth from our homes and factories into it ? We claim to call it mother ( ganga ma) and yet don't do anything about throwing filth into it . How can I believe in a religion which makes all sorts of allowances for a few and treats the rest like dirt ?

NO. This is not my religion.

But I am still a hindu - in a way.

How can that be ? you ask. Its simple , hinduism is an amorphous amalgamation of religions. Yes, I did write religions - in plural. It allows me to pick and choose what and how I believe.

Hinduism is not a religion in the conventional form as is Christianity, Islam, Buddhism, Sikhism etc. The obvious distinction is that it was not spearheaded by one person or prophet. It also does not have a time frame when it was concieved. So then what is Hinduism ?

Its a way of life. It does not say what is and what is not. It does not tell you what to do or what not to do. Priests have tried to make the essense of Hinduism more palatable by spinning stories about the different gods, of different fantastic epics. While people say that the epics of Ramayana and Mahabharata are actual events, I disagree. There are too many inconsistencies in it - like the Bible. At one time I used to think how improbable the Bible is. Now I put the other 2 epics also in the same frame.

And the people who profess to follow Hinduism ... well what can I say about them ??

The cow is considered holy by hindus - but it is left to roam the roads of big cities at the mercy of the automobiles. You can see them on the roads of all big cities like Delhi and Bangalore, and people are just apathetic about them. I believe that the cow was revered by the people as it is one animal of which you can use all the parts - like it still does for the Masai tribe in Africa. It gives milk. It can be harnessed to plow the fields. Its hide can be used for clothing and other things. And it provides meat.

Meat ?? Doesn't hinduism say that it is forbidden to eat meat ? Nope. Hinduism does not say that. Its the priests who do. There is enough evidence in older literature that says that brahmins used to be meat eaters. Its only after the advent of Buddhism that vegeterainism caught on in India. Ever wondered to what used to happen to the animals who were slaughtered for the bali in the religious yagyas ? No doubt they all ended up in the fat bellies of the brahmins.

Is idol worship Hinduism ?? If so, then we are going against the Bhagwat Geeta. But since Bhagwat Geeta is essentially what every Hindu connects with - we cannot go against it. So... do we still have to idol worship ? And what if the interpretation of the Geeta is also wrong ? Ever heard of the book "The Geeta as it Was"?

Hinduism does not tell you what all you should be doing - that is done by the priests so that they have control over you and your coffers. Its up to you whether you wake up from this maya jaal . But it takes guts. Can you ?

Awake ! Look around you and realize that religion is not about idolizing. Its not about killing other people in the name of religion. Its not about looking down on others who don't follow your blind faith. Its about waking up to your surroundings. Its about not blindly following what someone says.

But people still follow blindly. I think its more of a matter of having such a fear of the unknown that they will do anything so that they get salvation - a concept which I don't think exists. If you believe in Hinduism - then why don't you do what the Geeta says and realize that this is all a mirage - a maya jaal ?

Some links :
Why I am not a Hindu
Oh you Hindu. Awake !

Books:
The Prince of Ayodhya
- A book where Ram is given a new treatment. I kind of like the book - it is much like books from Robert Jordan , or even something like playing Warcraft.