More web site revisions

I've made some more revisions to the book web site. The changes include include:


Returning to normal life

Now that production of the book is done, life has started returning somewhat more to normal. For the first time in well over a year, I found time to read someone else's book: Antony Beevor's excellent D-Day: The Battle for Normandy. Another reminder that the USA once helped save Europe from itself seems timely.


Source code tarball now available

I've made some more revisions to the web site of my book. The most notable change is that you can now download the source code for the sample programs. (It's also possible to browse individual program files online here.)

The source code tarball is provided in two versions:
  • Distribution version: a version of the source code that includes extra material not shown in the book. Probably, this is the version of the code that you want.
  • Book version: the source code as it appears in the book.
The web site explains why there are two versions.

I'd like to hear of any problems that you encounter building (either version of) the code on various Linux systems, especially older distributions. I'll use feedback to build out the source code FAQ.


Standards and Portability in TLPI

As Linux becomes more and more prevalent, many programmers are targeting just one system: Linux. For these programmers, The Linux Programming Interface is ideal.

However, all the world is not Linux, and many of the most interesting UNIX applications need to be truly portable across systems: Linux, the BSDs, Solaris, HP-UX, AIX, and so on. For these applications, following portable programming practices and adhering to formal standards such as POSIX and the Single UNIX Specification are important.

Although I've focused on Linux in the book, I've also given close attention to formal and implementation standards, and clearly distinguished details that are Linux-specific from the features that are common across most or all UNIX implementations. This means that TLPI will be useful to programmers working on any UNIX system (but it won't provide you with too many of the nonstandard and system-specific details of those other systems). That's why we subtitled the book A Linux and UNIX System Programming Handbook.

A few statistics illustrate TLPI's emphasis on standards and portability. Of the just over half a million words in the book, here are a few word counts:

POSIX, 714
SUSv3/SUSv4, 730
standard(s)/nonstandard/standardized, 685
portable/nonportable/portability/portably, 231
UNIX, 1039
BSD, 254
System V (excluding discussion of System V IPC), 108


Web site revisions

I've started making some more substantial additions and changes to the website for my book. With the latest revisions, you can now see:


Chapter 4 available online

No Starch Press now has a sample chapter from my book available online: Chapter 4: File I/O: The Universal I/O Model. You can find the chapter here.


Off to the printer today!

The files go to the printer today. All 1552 pages...


Complete cover

The folk at No Starch have done a fantastic job with the cover! The text color on the front got tweaked a little, and now we have the spine and back cover design as well. Here's the complete cover.

Front cover photo: Rob Suisted
Back cover photo: Lynley Cook
Cover Design: Octopod Studios


Last changes today

The release of Linux 2.6.35 necessitated what is hopefully the last change I make to the book (in the preface). Files should go the printer this week!