Monday, May 16, 2005

Reading...

My reading habit has gone down drastically! It is high time that I take some corrective measure. Once when your reading habit goes down, you tend to loose concentration that you enjoy while keeping up the reading habit. So better to start sooner than later.
This weekend I grabbed and started reading "The SIGMA Protocol" novel by Robert Ludlum. It is pretty much interesting and it confirmed that I didn't loose much touch.

I always wonder, why I get lapses in concentration when I read something technical. I used to get all the distractions which never happens while reading a thriller novel. I need to improve upon.

Going forward I am planning to subscribe "The Week" to augument the general reading that I do. That should give me a fair insight about all the happenings in the country.

The next in the list is to go through a serious of basic technical books that are recommended by Alex Stepenov (Principal Scientist, Adobe Systems).

Some excerpts from his speech at Adobe India 30 Nov 2004

1. Study , Study and Study
- Never ever think that you have acquired all or most of the knowledge which exists in the world. Almost everybody in US at age of 14 and everybody in India at age of 24 starts thinking that he has acquired all the
wisdom and knowledge that he needs. This should be strictly avoided.

- You should be habituated to studies...exactly in the same way as you are habituated to brushing teeth and taking bath every morning. The habit of study must become a ‘part of your blood’. And the study should be from both the areas: CS, since it is your profession, and something from non-CS...Something which doesnot relate to your work. This would expand your knowledge in other field too. A regular study, everyday, is extremely essential. It doesnot matter whether you study of 20 minutes of 2 hours, but consistency is a must.

- You should always study basics and fundamentals. There is no point in going for advanced topics. When I was at the age of 24, I wanted to do PhD in program verification, though I was not able to understand anything from that. The basic reason was that my fundamental concepts were not clear. Studying ‘Algebraic Geometry’ is useless if you donot understand basics in Algebra and Geometry. Also, you should always go back and reread and re-iterate over the fundamental concepts.

What is the exact definition of ‘fundamental’? The stuff which is around
for a while and which forms basic part of the concepts can be regarded as more fundamental. Of course, everybody understands what a fundamental means.

- Here are few books which I would strongly recommend that every CS
professional should read and understand.

i. “Structure and Interpretation of Computer Programs” by Albenson
and Sussman
I personally donot like the material present in this book and I do have some objections about it but this is the best book I have ever seen which explains all the concepts in programming in a clear and
excellent way. This book is available online at http://mitpress.mit.edu/sicp/

ii. Introduction to Computer Architecture: by Hennessy and Patterson.
How many of you have shipped the programs by writing them in assembly? A very good understanding of basics of how a computer operates is what every CS professional must have. H&P Wrote two books on CA. I am talking about their first book, the introductory text for understanding basic aspects of how a
computer works.
Even if you feel that you know whatever is written in that book, donot stop reading. It’s good to revise basics again and again.

iii. “Fundamentals of Programming” by Donald Knuth.
The core of CS is algorithms and Data structures. Every CS professional must have the 3 volumes of Knuth’s Book on programming. It really doesnot matter if you take 30 years of your life to understand what Knuth has written, what is more important is that you read atleast some part of that book everyday without fail.

iv. Introduction to Algorithms by Cormen, Leiserson and Rivest
This book should be read daily to keep your concepts fresh. This is the best book for fundamental concepts in algorithms.

Let me see how successful am I in this attempt.

P.S: The summary of Alex's speech in pdf format is available with me. I guess it should be there on the internet also. If you are not in a hurry and need it from me, then drop me a note (rajakumar@gmail.com).

No comments: