October 28, 2004

Some good words from Linus Torvalds ...

Nobody should start to undertake a large project. You start with a small _trivial_ project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision.

So start small, and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly over-designed. And don't expect people to jump in and help you. That's not how these things work. You need to get something half-way _useful_ first, and then others will say "hey, that _almost_ works for me", and they'll get involved in the project.

And if there is anything I've learnt from Linux, it's that projects have a life of their own, and you should _not_ try to enforce your "vision" too strongly on them. Most often you're wrong anyway, and if you're not flexible and willing to take input from others (and willing to change direction when it turned out your vision was flawed), you'll never get anything good done.

In other words, be willing to admit your mistakes, and don't expect to get anywhere big in any kind of short timeframe. I've been doing Linux for thirteen years, and I expect to do it for quite some time still. If I had _expected_ to do something that big, I'd never have started. It started out small and insignificant, and that's how I thought about it.

What is life ... continued ...

Someone made a comment on my earlier post, here's something that'll make him think.

Do we only exist at the physical level? If this is all there is to our existence, why do we think about it? What is it that makes us sentient? What is it that seems to live two or three inches behind our eyes and that looks out into the world? Why do we exist?
Without getting too philosophical [Sidd :)], we can reasonably assume that chemistry, maths or physics dont define our existence completely. Can chemical compounds love each other? Can they feel sad? Happy? Can they grieve when other chemical reactions have run their course? Can they wonder where they came from and where they will go? Can they "live"?

Eh, Pascal??

October 27, 2004

What is Life ??

Our existence as a physical being starts at the moment of conception, when the nucleus of a sperm merges with that of an ovum, and a new DNA-pattern is formed. To put it very simply, the DNA in the cells merges into a new combination of molecules, which then splits in two separate halves. Both parts accumulate new material and, in the process of cell division, they grow back into an entire nucleus, and now now there are to cells. Then the whole process is repeated, again and again, forming new cells from 'raw' material. The building blocks are very complex, and we do not yet understand all the chemistry involved. But if we look at it this way, conception and growth of a human being is just an enormously complex chemical reaction, of which we are the end product. This reaction goes on and on, until we die. Then the body decomposes, and the chemicals bonded in it are released to be used again as raw material for other, similar reactions. In other words, at the physical level we are nothing more than a very complex chemical reaction.

There u have it. One of the biggest questions in life, has now been answered.

October 25, 2004

Object Oriented ... Friendships

I am an object orientation (OO) freak. OO allows to model your program like real life, which makes programming a bit more natural.The few programs that I do write, are invariably OO. Sometimes, I feel my fascination for OO does more harm to my programs than good.

Anyway, the basic funda of OO is that your project is split up into objects. These objects strictly mind their own business - they dont, and shouldn't, interfere with other objects in the program. If an object 'A' deals with an object 'B', it has no business knowing what 'B' does with another object 'C'. Each object has it's own set of public 'methods' which is known to every other object, and some private data that NO ONE is allowed to see. As long as the objects retain their 'public' appearance, everyone in the project is happy, and life goes on smoothly. Internally, each object may undergo various changes, new private properties may be added, some removed, but what matters is the methods they expose.

This is supposed to model the real world, but I guess the real world could learn something from all this. Just replace the word 'project' with life, and 'object' with 'friend' ...

Just my two cents worth ...

Scientific Method

The other day, my good friend Dhruv and I were discussing how modern discoveries are being made in science. Here's the algorithm -

1. Observe some aspect of the universe.
2. Form a hypothesis to explain the observed phenomenon.
3. Test the hypothesis by matching it against other observations.
4. Develop a theory that is consistent with what you have observed.
5. Use the theory to make predictions.
6. Test those predictions by experiments or further observations.
7. Modify the theory in the light of your results.
8. Go to step 5 ...

October 24, 2004

Sticky things

How do u get rid of things that seem to have just got stuck in your mind? My exams are coming closer, and I just can't seem to get some things off my mind. Try as I may, they remain stuck there somewhere. Even if they do disappear, it's only for a short while. And the more I think, the more intriguing the matter becomes. I am really beginning to hate it now ...

But then, some things just can't be wished away, can they? If that was the case, the world would be a much happier place today. One of the problems I face is that until the exams are over, there is no realistic chance of resolving the matter. A tough situation, isn't it? I can't say my performance in the exams won't be affected.

So, if any of you is actually reading this, wish me luck. Hopefully, I'll get over this.