Showing posts with label review. Show all posts
Showing posts with label review. Show all posts

Tuesday, September 28, 2010

Code Review Tools

Code Review Tools:
http://www.reviewboard.org/
http://code.google.com/p/rietveld/

Sample Review and Analysis of DVCS (Git/Mercurial) in Python Enhancement Proposals:
http://www.python.org/dev/peps/pep-0374/

Thursday, August 19, 2010

Under The Hood Look At Operating Systems Internals with Windows and Linux

[08-Sep-2010]

Extremely Recommended reading:
  • This blog has some simply delicious diagrams with 1-2 page explanations of Paging, Virtual Memory, Caching, Physical level RAM, Snapshot of a Process in Memory.
  • This is a simply superb blog. "A picture is worth a thousand words!!". The articles have some high quality illustrations which esp. for visual learners is a delight. Just working through the flow in the diagrams makes the text just an add-on (to explicitly elaborate on any point you might have missed).
  • This helps you get an "all-at-once" picture of the entire flow and inter-relationships between different parts (esp. if you're a visual/top-down learner).
  • I learned more in 30 minutes of analyzing these lovely diagrams than boring holes in all the below books for days on end.
Once you've gone through this blog the below books become so much more intelligible:
Good article on RSS and VSZ reporting by ps aux and pmap to determine memory footprint of your proces. 
See the comments for some good discussion of internals

Thursday, May 14, 2009

BookReview: Let Us C by Yeshavant Kanetkar

The book which opened the gates to so many others....
(Thanks to Bhallu and of course Yashavant Kanetkar).

The good thing about this book is
1) Easy to understand language
2) **** Diagrams to show visually things like pointer/array indexing.****.
Helps you to literally "see" whats going on inside your pointer based code.
3) The follow up books by the author let you dive deep into the C sea....

Thank you Yashavant Kantekar Sir!!

These are some of the other good books by him:

1) Understanding Pointers In C (Book) (very good understandable data-structures book)
2) C Projects (Book w/CD) (excellent introduction to actual "Project level" Programming with C i.e you know the language but need to see the way to build up code to do something useful)
3) Unix Shell Programming (Book) (excellent shell scripting book with last chapter creating a DBMS using simple shell functions)
4) Writing TSRs through C. Excellent introduction to hardware/OS/interrupt level programming using C.

Wednesday, July 11, 2007

BookReview: STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library

A very good book on STL, though a bit dry in terms of explanation.
Very comprehensive.
I recommend going through the STL tutorials before diving into this one.

BookReview: Object Oriented Analysis and Design with Applications (Second Edition) by Grady Booch

THE book which opened my eyes to design, types, interfaces using OOPS/OOAD.
Till then C++ meant coding.

This book introduced how to model what you can imagine into code. Configurable, flexible, orthogonal....

The design of the book with each chapter starting with different quotations and interspersed with meaningful dry humour cartoons makes this a memorable book.

Thank you Grady Booch.

BookReview: The Mythical Man Month by Frederick P. Brooke

Huge insight into what makes a very big software project successful or Not....

"There is no silver bullet...." except for good management of the design and implementation.
"12 doctors can (only) deliver a baby in 10 months..." are some quotes to remember from this book everytime your manager asks you to do yoga with the project plan.

BookReview: The Practice of Programming by Brian Kernighan and Pike

"Good design is what happens when you can take out no more from your creation without breaking it". This is the philosophy of this book.

It teaches you the simple principles of (as shown on the cover)
1) Clarity
2) Simplicity
3) Generality

Thank you Kernighan and Pike for teaching these Zen like aspects of programming.

BookReview: The C Odessey by Vijay Mukhi

An excellent series on the many facets of C (Unix, Dos, Windows, ..., Networking, RDBMS).

This is in keeping with the spirit of inquisitiveness of a true hcaker....

An eye-opening series for a beginner in C.
Simply Amazing!!

I still remember the way he explains how a bitmap is made up by setting pixels/bits on/off.

Note: The Amazon link is only for the Network/RDBMS which is actually the most dated/obsolete of the series, but its the only one available in Amazon.

BookReview: Inside the C++ Object Model by Stanley Lippman

One of the Best books on C++ internals/under-the-hood.

NOTE: The author was hired by Microsoft as Architect to clean up its extremely non-standard/buggy VC++ compiler to conform to the C++ Standard.

0) The original Cfront preprocessor/compiler converted C++ into C.
That means that almost every C++ code "could" be converted into C.
Note: Modern C++ compilers no longer convert to C, but it helps to make the compilation process more easy to understand. This book connects the dots.
1) Virtual tables/functions turn into simple function pointer table lookups.
Simple data structures show how this is implemented in different compilers.
2) Generated functions like default constructors etc. finally start to make sense.
3) Inheritance starts looking more like compiler controlled composition of objects.
4) Gives you X-Ray vision right from compiler data-structures to actual assembly code.

5) Watch out for the typos and the mismatch between some of the diagrams and the explanation.

You start seeing the source code "through the compiler's eyes". A lot of work from the compiler goes into making your Object-oriented code run.

A Must have book for any person wanting to really know how the compiler works with C++.