The Art Of Unix Programming
by Eric S. Raymond
The Art Of Unix Programming (hereafter TAOUP) is a long meditation by Eric Steven Raymond(ESR) on different aspects of Unix programming, mostly concerning what would be called 'style'. Subjects range from why files formats and protocols should be textual, to orthogonality (see book for explanation), to the optimal size for a single module in a large project. The book is very up to date in terms of the examples it uses when discussing specific areas. Also, all examples used are real-world works; there are no "hello world" programs or protocols. It should be noted that this book does not teach any basic programming skills; you should have some programming experience and some knowledge of modern computing before reading it.
The name of the the book is a play on The Art Of Computer Programming, the famous now-trio by Donald Knuth. (TAOCP is an extremely detail-oriented book about algorithms and data structures, with requisite advanced math. There isn't much comparison.)
After reading most of the book (though not all of it), I felt enlightened even though I didn't accumulate any particular skill or a lot of knowledge. The different elements of programming style and practice are discussed in a very subjective, non-scientific way. I did not read some of the more involved parts of the book (minilanguages, for instance), but it seems reasonable to think they are written with the same simplicity and usefulness as the rest of the book.
One last thing: This book is free. It is available as HTML at ESR's homepage (http://www.catb.org/~esr/) as well as a PDF (Google it), although it can be purchased for $40, and I have seen Barnes And Noble sporting it recently.
As a side note, there are several appendices, including Rootless Root: The Unix Koans of Master Foo, and a brief mention of Plan 9. I found these both points of high interest.
No copyrighted content is reproduced here except the title of the book and some chapter headings. Sorry for the confusion, I think.