| help | account  

Books by John Goerzen:
Foundations of Python Network Programming
By John Goerzen
$27.50 (39% Off!)



Want to see more?
View favorite books from other authors.
We asked some of our (and your!) favorite authors to share with us their favorite 10 computer books from the past 10 years. Here's what we got back.

John Goerzen has been a member of the Debian GNU/Linux operating system development team since 1996 and has been writing software for the last 15 years. He is interested in operating systems, programming languages and networking and has worked with diverse sets of each.

Aside from Debian, John spends a lot of time writing software. Two of his most well-known works are network-enabled programs written in Python. OfflineIMAP is a bidirectional mail synchronization program written with laptop users in mind, and PyGopherd is a multiprotocol web and Gopher server. Both use Python's unique features to support a modular architecture and both offer extreme flexibility.

John has written many books, including the 800-page Linux Programming Bible. His articles have appeared in various magazines and he has served as technical editor for several books. He also founded the Air Capital Linux Users group and is a frequent speaker there.


John's favorite books:
by W. Richard Stevens -- This 1500-page monster is a good reference for anyone that wants to get into low-level Unix programming. There's a lot in here that's not covered by the standard system documentation. On the other hand, when they say "advanced," they mean it; it's not a good introduction to Unix programming. But how can you go wrong with a book that has my all-time favorite Dilbert cartoon on the cover? (Bookpool note: The new edition no longer has the Dilbert cartoon on the cover - see it here.)


Haskell: The Craft of Functional Programming by Simon Thompson -- I'm one of those people that always has to be trying something new and different. Haskell is both. It's a pure, lazy, functional language, which means that it's different than just about any other language most people have ever seen. Even if you don't wind up using Haskell on a daily basis, its dramatically different way of solving problems can provide a useful perspective in other languages. The "blow your mind" factor of Haskell is quite high, which makes it quite fun.


Programming Perl by Larry Wall, Tom Christiansen and Jon Orwant -- I haven't used Perl very much in some years. However, I never laughed so much while learning a language as I did while reading Programming Perl. Wall is funny and gives you some insight into the decisions that went into the design of the language.


Dive Into Python by Mark Pilgrim -- Quite possibly the best introduction to a language I've ever read. Dive Into Python is designed for programmers with experience in other languages such as Java, C or Perl. You start programming right away, and learn quite a bit in a short time. Python is my favorite object-oriented language, and this is the best way to learn it.


Open Sources: Voices of the Open Source Revolution by Chris Dibona (Editor), Mark Stone (Editor) and Sam Ockman (Editor) -- This is an intriguing collection of essays about Free Software, all gathered together in one place. If you're interested in what Free Software is all about and why people use it, this is a good place to start. However, don't expect to find all the answers here. You'll soon learn that there are as many motivations as there are authors, and even the terms "Open Source" and "Free Software" are points of contention. And I'd question their choice on exactly which authors to include. Nevertheless, this is still an excellent book to read, and could make a good companion to the next item on the list: The New Hacker's Dictionary.


The New Hacker's Dictionary by Eric S. Raymond -- This book is loaded with information and anecdotes about computing history and folklore. It is the kind of book you can read through and laugh out loud at times, learn surprising things at times, and even see some of the earliest examples of computer-related cartoons. It has moments of stunning insight into the culture of computing. Every word in the title of this book is deceiving to some. It's a dictionary, yes, but the entries are narratives rather than bland definitions. "Hacker" is used in the traditional sense to refer to programmers, not to people that break into systems. And "new" can also be misleading, since quite a few entries were originally written in the 80s or even 70s. But that's part of what makes it special.


User Friendly: The Comic Strip by Illiad -- User Friendly was the first online comic strip to catch on in a big way. Set mostly in the tech support department of a mid-size ISP, I think anyone reading this list will enjoy it. This particular book is the first in a long series of publications of the comic strips that were originally published on the web.


The Ultimate Hitchhiker's Guide to the Galaxy by Douglas Adams -- If you read through source code written by others, particularly if these others are quite good, you'll inevitably see references to "42" or maybe even Arthur Dent. It's inspired computer slang (bogon) and even the name of IBM's chess-playing program, Deep Thought. The Hitchhiker's Guide to the Galaxy, and the subsequent books in the series, is one of those books that defies all attempts at categorization save "fiction." It seems to have been almost universally read by Unix programmers and administrators, although it has no special link to Unix. In fact, it has no special link even to computers, yet it relies heavily upon them. So I hesitated to put it on my list of favorite computer books. Yet, it can't possibly be left off. There is probably no other work of fiction that has figured as prominently into the culture of Free Software programmers than this. At least two entries in The New Hacker's Dictionary reference it, and it's in the bibliography. Plus, it's really entertaining to read.


Cryptonomicon by Neal Stephenson -- Neal Stephenson is probably the only author I know that has mastered the art of writing a technical novel. Cryptography and technology figure prominently in this book, and Stephenson has clearly done quite a bit of research to be able to write this. Yet it is still quite engaging and accessible to anyone. I remember being glad that I was stuck in O'Hare airport for 7 hours, because then I could finish this book.


Internetworking with TCP/IP, Volume III (BSD): Client Server Programming by Douglas Comer and David Stevens -- If you are seriously interested in every possible detail of network programming, or want to write network programs in C, this is still the best book out there. I first learned TCP/IP networking some years ago with an earlier version of this, and it's still on my bookshelf.