Alan Cox: "This I'd recommend not for its technical
value but for its application of common sense and reality to computing
projects." JH: "Ah, yes. What if Linus had been given 200
programmers and had been told to produce Linux in 3 months!"

System Security

The best book I've ever seen on technological security
measures and general computer security.
The section on "How to Steal a Painting" and physical alarm systems
is worth the price of admission by itself.

This is excellent work, the standard by which future Linux
security books will be judged. I wrote a foreword for it. Combines
step-by-step practical instructions on hardining a Linux system
with good theory on attack paths, rings of protection, and security
analysis. Describes many counters for specific exploits.

Books on Shell, Script, and Web Programming

Shell (as a programming language for more than trivial scripting)
is dead. Perl rules in its place (though it is now being strongly
challenged by Python). This is the third edition of
the definitive Perl book.

The best HTML tutorial/reference I have ever seen, and the only
HTML book you need unless you also want to do CGI. I don't know of
any other book on HTML that comes within miles of this one for
comprehensiveness, depth, and quality of organization.

Tex and LaTeX

`If you are one of those users who would like to know how
LaTeX can be extended to create the nicest documents possible
without becoming a (La)TeX guru, then this book is for you' ---
from the Preface. Bruce Thompson adds: "A very nice book providing
a lot of information about the new extensions to LaTeX, provides a
large number of examples showing precisely how your document's
layout can be manipulated"

Bruce Thompson: "The ultimate reference on LaTeX 2.09 by its
author. A new edition covering LaTeX2e (the version included in
the current TeX/LaTeX distribution) is in preparation. LaTeX 2.09
is fully supported by LaTeX2e. A must for anyone wanting to use
LaTeX. Provides a gentle introduction to document preparation and
the various tools that LaTeX provides for producing professional
quality documents. Lots of examples."

Bruce Thompson: "The definitive user's guide and complete
reference manual for TeX. Probably not needed for casual LaTeX
use, but a fascinating book nonetheless." I'll strengthen that by
adding that this book is not for the faint of heart.

Bruce Thompson: "The definitive user's guide and reference
manual for METAFONT, the companion program to TeX for designing
fonts. An excellent work if you're planning to design your own
fonts for use in TeX and LaTeX. METAFONT is included with the
normal TeX/LaTeX distribution." This book is
definitely not for the faint of heart.

C System Call Interface

Linux hews very close to the letter of the POSIX standard
(non-conformance is considered a bug and swiftly fixed).
This excellent reference for POSIX is thus also an excellent
reference for the Linux kernel API.

A very interesting and informative examination of the
operation of the kernel that fills in the gap between the POSIX
interface and "The Design of the Unix Operating System" and the
Linux source code. A good understanding of the design and
operation of a Unix OS is a pre-requisite, but this book is an
excellent help to going beyond that general understanding into
actual work.

The primary author is one of the core developers for the ext2
filesystem, and the Linux Kernel book shows a firm grasp of the
matter and clear explanations and structure. It's surprisingly
readable for something working at such a low level. The book does
seem to have suffered a little in the translation to English --
there are a few typos and grammatical mistakes, but it's quite
readable. (The code example files are charmingly still named in
French.)

The book is current to Linux 2.0.35 and foreshadows 2.1 and 2.2.
Network protocol implementations are not covered.

Relatives of Linux

The successor to a classic book on the implementation of the
4.3 BSD kernel, which influenced Linux's design (especially near
sockets and networking). This book covers the 4.4BSD base of BSD/OS,
FreeBSD, and NetBSD.

This explains the 386 features for operating system writers. It
includes a chapter on Unix implementation. A lot of the 80386
architecture seems to have been designed with Multics in mind; the
features are not used by DOS or by Unix.