|Brian "Beej Jorgensen" Hall
||Beej's Guide to Network Programming
||Great step-by-step guide to socket programming. Covers all important
aspects and common pitfalls.
Deconstruct Almost Anything--My Postmodern Adventure
||A critical look at modern literary criticism from an engineer's
point of view.
|Andrew S. Tanenbaum
||Modern Operating Systems, Second Edition
||Prentice Hall, 2001
||The most common textbook on operating systems and their underlying
concepts. Very smooth read, every what comes with corresponding
whys. I especially recommend the chapter on security. It covers
all the basics without the nowadays all too common worship of magic
out-of-the box security "solutions" that are applied without much (if
any!) thought. If you intend to build secure software/a secure operating
system read it before blindly adding everything in reach that
somebody slapped a "security" label on. Another chapter worthy of praise
is the comprehensive bibliography that contains a plethora of
(commented!) pointers to further reading.
||Path MTU Discovery and Filtering ICMP
||Comprehensive article on why generally filtering ICMP (way too
common nowadays) causes problems by breaking path MTU discovery. Read
this if you believe that setting your packet filter to drop any ICMP
traffic accomplishes anything useful. For it simply doesn't (apart from
some edge cases, but you need a thorough understanding of the subject to
determine what constitutes one of these).
|Kay A. Robbins, Steven Robbins
||Practical UNIX Programming
||Prentice Hall, 1996
||Good reference on Unix systems programming. Covers a lot more
details than The UNIX Programming Environment. I don't
particularily like the networking section, though. The authors chose to
write a wrapper library around the common socket syscalls. While this
library renders network programming a lot less tedious it has the
disadvantage of not being available everywhere you might need it, as the
authors admit themselves: "UICI is not part of any UNIX standard[...]"
(p. 437). I wouldn't mind it all that much if they'd properly introduce
socket programming before introducing their wrapper library, but they
don't. Apart from that omission the book is a rock solid reference on
Unix systems programming.
|Larry Wall, Tom Christiansen, Jon Orwant
||Programming Perl, 3rd Edition
||The definitive reference on Perl. Comprehensive,
example-rich introduction to Perl's features plus reference section (it
is mostly identical with the perldoc(1) online documentation,
though). Probably all the literature on Perl you'll ever need.
||Refuse to be terrorized
||A very insightful article on the goals of terrorism and what we can
do to keep terrorists from reaching them.
|Brian W. Kernighan, Dennis Ritchie
||The C Programming Language, Second Edition
||Prentice Hall, 1988
||Everything you need to learn the C programming language plus some
systems programming. Compact, no-nonsense writing style. The
definitive reference on C.
||The Elements Of Style: UNIX As Literature
||Very refreshing article on Unix culture. Read it!
|Brian W. Kernighan, Rob Pike
||The UNIX Programming Environment
||Prentice Hall, 1984
||A solid introduction to Unix systems programming. Due to its age
some topics (such as networking) are not covered, otherwise you get a
thorough overview of a Unix system's interfaces and facilities. Highly