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