Hi all,
I recently read "just for fun" by Linus and another writer. Came to know that he started playing/tinkering with calculators/computers of those days when he was around 10 or 11. Also he could write system software (assemblers, device drivers,linkers, loaders, disassemblers, etc) much before he started the linux project. So he was in a unique position to actually do this contribution for humanity because he had been honing his skills for a long time without even planning for it consciously. His getting hands on the Andrew Tanenbaum OS book (700 plus page book and studying it extremely thoroughly in 2 or 3 months) also was one of the points in his history which led him to develop this linux OS. Surely somebody (some mentor/teacher/classmate etc) would have guided him to this book or it happenned by chance. It is mentioned that he studied it so thoroughly that it became second nature to him-- he used to sleep with it.
Also the student in western system of education decides what they want to really study whereas we in India are asked to cram any and everything to give us so called "more rounded" knowledge --ultimately the course is so vast that we just get superficial knowledge of everything and hardly learn much. Most private engg colleges have low standards and students just try to pass by hook or crook. Programming exercises are copied and there is no system of competitive learning by sharing and open discussion. I think we should have our elective known to us in 2nd year and study should be according to that elective. For Torvalds, his elective subject became system software programming --specially Operating system development even before he started his course. He learned other subjects (such as tcp/ip etc etc) related to the main project with the passing of time from other hackers as well. I think once he rewrote the kernel as well since something was implemented badly earlier. (his high standards --make the best software possible)
There is another difference when I compare with Indian colleges/universities --methods of teaching. Linus had information about textbooks/recommended reading books much much before his course started and therefore was able to prepare in advance whereas in our college days we used to wait for the teacher to tell us which books to buy after the term started or was half way thru. We used to save on books by borrowing from the library (generally badly stocked) or get earlier editions /hand me downs.
The information on how a programmer can do a great job by reading or learning about the thought processes of such unusual people and geniuses as the mathematician Gauss etc was also very interesting. (story of teacher asking a class to calculate the sum of numbers from 1 to 100) It shows that Linus was already by that time far ahead in his problem solving skills as he was somehow reading above and beyond his school/college course --biographies and stories of famed geniuses always help. His insight into how a question is framed which ultimately leads to a better solution is also something worth understanding.
His sister Sara actually made him improve his english because of the sibling rivalry, playful competition, fighting between the children etc etc and also because he had to understand the manuals etc which were written in english for all his machines from abroad.
When one compares him with Richard Stallman who also has great strengths, the only reason one sees him more successful in influencing something is because he is always in a continuous learning mode (even in non technical areas as the other writer has written) and also because he somehow understands the concept of not getting attached to one's possessions/ideas/beliefs too rigidly because everything is relative.
I hope I can read some book/biography on Stallman too --please let me know if you know of any.
Thanks, Kush