I'm wrapping up a book on the implicit design rules of the Unix tradition. This is an invitation to members of the Artima community to review and comment; prompt feedback can still influence the first paper edition.
The book, titled The Art of Unix Programming, attempts to make explicit the implicit rules that expert Unix developers follow when they develop designs and write code. The book is scheduled to be published by Addison-Wesley in September.
The book includes cameo appearances by many of the people who defined the Unix style and wrote the Unix tools -- contributors include Ken Arnold, Steven M. Bellovin, Stuart Feldman, Jim Gettys, Steve Johnson, Brian Kernighan, David Korn, Mike Lesk, Doug McIlroy, Keith Packard, and Henry Spencer, and the ms is being reviewed now by Ken Thompson and Linus Torvalds. My editors suspect we may have a classic with fifteen-year legs on our hands, and early reviewers in the technology press have been enthusiastic.
I view this book as being continuous with my previous efforts at articulating craft knowledge in the New Hacker's Dictionary and The Cathedral and the Bazaar. Because that's so, community particupation is extra important. Reviewers are not merely bogon detectors but have in many cases suggested new themes, angles and approaches -- several chapters were actually written entire during the extended review period that began in January.
While we're late enough in the process now that I am unlikely to write another entire chapter, the Artima community still has a window to contribute insight and help sharpen the presentation -- especially since one of the aims of the book is to speak to masters of design outside the Unix tradition. If nothing else, this is a great test audience, and I wish I had discovered Artima months sooner (you can thank Guido van Rossum that I did, should that come to seem appropriate).
Have fun with the manuscript. Email me comments. After sampling this site, I have confidence that the Artima population can be substantial help in creating a touchstone volume on good software design. Let's work together.