Showing posts with label books. Show all posts
Showing posts with label books. Show all posts

Thursday, June 23, 2011

Network and SysAdmin, Scripting, Debugging, O.S. Books


[System Administration]
UNIX and Linux System Administration Handbook (4th Edition) by Evi Nemeth, Garth Snyder, Trent R. Hein and Ben Whaley (Jul 24, 2010)
Essential System Administration, Third Edition by Æleen Frisch (Aug 15, 2002)
Linux in a Nutshell by Ellen Siever, Stephen Figgins, Robert Love and Arnold Robbins (Sep 29, 2009)
======================
[Network Administration]
Linux Network Administrator's Guide by Tony Bautts, Terry Dawson and Gregor N. Purdy (Feb 10, 2005)
LINUX Network Administrators Guide: 508 pages by Olaf Kirch and Terry Dawson (Jan 5, 2009)
Linux TCP/IP Network Administration by Scott Mann (Jul 26, 2001)  TCP/IP stack understand, configure and troubleshoot servers
Linux Firewalls (3rd Edition) by Robert L. Ziegler
Linux Networking Cookbook by Carla Schroder
========================
[Network and System Administration]
=====================
[Troubleshooting]
Linux Troubleshooting Bible by Christopher Negus and Thomas Weeks (Jul 30, 2004)
Debugging Embedded Linux (Digital Short Cut) by Christopher Hallinan (Aug 22, 2007)
Linux Troubleshooting for System Administrators and Power Users 2006
----
Wireshark Network Analysis: The Official Wireshark Certified Network Analyst Guide by Laura Chappell
Network Flow Analysis by Michael W. Lucas
=====================
[Performance Tuning]
Performance Tuning for Linux® Servers by Sandra K. Johnson, Gerrit Huizenga and Badari Pulavarty (Jun 6, 2005)

======================
[RHCE]
===================
[Scripting]
Perl Best Practices by Damian Conway
===================
[Linux Operating System]
----
[Parallel and Multi threading]
======================
[Enterprise]
Restful Web Services by Leonard Richardson
=====================

Wednesday, October 6, 2010

Understand Source Code by Reading Code and Refactoring for Maintaining Large Projects

This list consists of one-liner tips to be used for easy lookup and reference.

Rewriting Code for Better Understanding (Coding Horror)

  • What I cannot create, I do not understand. [Richard Feynman]
  • "What I do not create, I do not understand."[Chris]
  • "It's easier to understand 600 tables than 100,000 lines of code." [PaulC on comp.databases.theory/2005]
  • Create a new project with blocks of code copied from old code. Refactor to reduce "old code smell"
  • Start refactoring by adding small tests to better understand code and act as regression tests.
  • Just scan through huge amounts of code till it starts making sense - "understand by constant exposure".
  • Create a text file to capture your understanding - briefly describe how the component works, realtions to other components, what it persists, its states, and source browsing/debugging tips you found useful.
  • Manually reformat a copy of the code - white space, and indented as per your personal style.
References:
  1. Working Effectively with Legacy Code
  2. Object Oriented Reengineering Patterns
  3. Refactoring: Improving the Design of Existing Code

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