Revised errata list

Many thanks to Justin Pryzby, who has recently read a lot of TLPI, and sent me an email that grew the errata list by 60%. The current set of errata can be found here.


TLPI on facebook

TLPI now has a facebook page.

Simplified Chinese translation of TLPI

Chinese publisher Posts and Telecom Press (PTP) has signed a contract with No Starch Press to do a Simplified Chinese translation of TLPI. According to PTP, the translation should be available in the first half of 2012.

Updated on 2012-02-18 to emphasize that this translation is Simplified (as opposed to Traditional) Chinese. See also the TLPI translations page for information about changes to the schedule for publication of this translation.


Next print run (and request for bug reports)

Sales of the first print run of TLPI have been going well enough that we'll soon start preparing for the next print run. In that print run, we'll incorporate the errata that have accumulated so far.

If you've been reading TLPI and noticed any small errors or typos, now (or any time up to about mid-January 2011) would be a good time to report them, so that the fixes can be included in the next print.


More errata, more reviews, and a request

By now, a few more readers have written in with (mostly minor) reports, and I've updated the errata page.

And also by now, a few more reviews have been posted in various places. They're all rather positive. For pointers to some of my favorites, see the reviews page.

And, a request: if you enjoy my book, please consider reviewing it in an online magazine, online bookseller's web site (Amazon or elsewhere), blog, or web site. Reviews really do make a difference in getting the word out and helping a book succeed.


Special offer from No Starch Press

Between now and 28 Feb 2011, you can order the paper version of TLPI from No Starch Press at a 30% discount (i.e., a total price of US$70 plus shipping), and receive the ebook free when it becomes available (look here for details on the ebook release). To obtain the discount (and ebook), you must buy TLPI direct from the publisher's web site, and quote the coupon code Mamaku (what's that?). (No Starch Press is located in San Francisco, so international shipping rates will apply for readers outside North America.)

(Updated 2010-12-05, to clarify that shipping is additional to the price.)


First reader error report

This week, I got the first reader error report for The Linux Programming Interface, in person no less, from the multitalented Markus Boje. I've updated the errata page.

Updated 2010-12-03: revised errata URL.


ebook in January

No Starch Press have announced that sales of the ebook version of The Linux Programming Interface will start in January 2011. If you buy the paper version of TLPI now from No Starch, they will provide you with a free ebook when it is released.


Early reviews looking good

By now, a few reviews have appeared. They're all very positive. I've posted pointers to the reviews on the web site.

(Updated 2010-12-05: changed URL for "Reviews" page.)


Linux 2.6.36 API changes

As I promised in the preface of TLPI, as new versions of the Linux kernel and glibc are released, I'll note interfaces changes on the web site.

Linux kernel 2.6.36 was released a couple of weeks back, so I've noted the interface changes (a new system call for setting process resource limits, prlimit(), and a new inotify flag, IN_EXCL_UNLINK) on the API changes page. I've also added documentation of these changes to the Linux man-pages, in release 3.31.

(Updated 2010-12-05: changed URL for "API changes" page.)


First errata now up on the web

I've updated the web site for TLPI, adding the first errata. I also updated the source code tarball, since there were fixes to one program (see the errata for page 1176).

Updated 2010-12-03: revised errata URL.


Amazon.com shipping now

Thanks to the many people who let me know that they got a copy shipped from Amazon.com, which now seems to have sorted out the status of its stock.


Amazon.com okay now?

Amazon.com was showing funny status for my book (available in "2 to 6 months"), but the problem appears to be fixed now. Still, I'd be interested to hear early reports from people who have ordered through Amazon.com and receive the book in the next few days (or have already received it via an Amazon.com order). Drop me a note at mtk AT man7.org, or as a reply to this post.


Nice review on slashdot

Federico Lucifredi (maintainer of man(1)) wrote a very nice and thoughtful review on slashdot. (And Google Alerts reveals that slashdot reviews get syndicated to a lot of other sites!) Thanks Federico!


The book is out (really!)

This time, printing of the book went fine. The book should be selling via retail channels any day now. If you are ordering online, then using one of the links here would do me a favor.


Still on track for publication

At the moment, we are still on track for the reprint to leave the printer on 19 October.

In the meantime, No Starch has sent out a few of the better copies from the earlier problem print run to reviewers, so some reviews will start appearing before too long. The first that I've seen is a blog post by Mike Riley at Dr Dobbs, who provides a short summary (rather than a deep review) of the book.


Minor website changes

I've made a few minor changes to the site, including a new code distribution that contains a fix for a bug in one of the example programs. (One of the silver linings to the publishing delay is that the fix will also be in the paper copy.)


Revised publication date

Enough copies in the initial print run had problems that the publisher and printer have together decised to redo the print run. The target "bound book" date is currently 19 October, and the book should be shipping a week after that. There may still be some movement on those dates; if so, I'll post here.

In the meantime, No Starch Press have sent out a press release for the book, which you can read here (also kindly reproduced by the folks at LWN.net).



It's not over until it's over...

It seems that there are some printing issues in some copies of the book. The folk at No Starch already spotted them last week, before any copies shipped and they're working with the printer to get the issues sorted out. (The one copy that I have received was pretty much fine, so I don't have first-hand knowledge of the problem.)

Practically, this means there will be some delay before the book starts shipping. When I know more about the expected time of shipping, I'll post it here.


Web site changes, new chapters online

I've made a few small changes to the book web site. The most notable change is that two more sample chapters are now available:
  • Chapter 24: Process Creation
  • Chapter 52: POSIX Message Queues
Other than that, there have been a few small changes to the source code to handle feature test macro changes in the header files in glibc 2.12 and to fix one or two warnings that occurred when the code was compiled with _XOPEN_SOURCE defined as 700.


Printing of the book was completed over the weekend. I expect to be holding a copy real soon now...


I'll be at Linux Kongress with TLPI

I'll be at the upcoming Linux Kongress, 23-24 September, in Nuremberg, Germany. All going well, I'll be there with copies of The Linux Programming Interface, which I should receive in the coming week. Get in touch with me at mtk-AT-man7.org, if you'll be at the conference and would like to see a copy of the book.


More web site changes

I've made a number of changes to the book web site:
  • The Source Code FAQ now contains questions that you may run into when compiling the example programs. Thanks once again to Jens Thoms Toerring for his help.
  • I've made some small changes to the distribution version of the source code
  • The bibliography of the book is now available as a downloadable PDF.
  • I've added a short about the author page.


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!



We're getting close now. The index is nearly done. It has about 5900 entries, with about 9600 locators. (I've rounded the numbers because they'll probably change a little as we do some fine tuning.) We're typesetting the index small (8.5 point), but it's still going to run to 60 pages. Current target is for files to go to the printer in about a week, and for the printing to be finished near the end of August, which means available in September.


Revised ETA (again!)

A few people have been asking: where's the book? I'd like to know too! But, seriously, production has been a much bigger task than the publisher or I expected, and we've had to slip the date again. Our ETA is now August.



We've finalized a cover for the book, based on Rob Suisted's image of a Black Tree Fern. Here it is:


Beginnings of a web site / some example code

I've started on the beginnings of a web site for the book. There's still many design issues to sort out, but for now I wanted to put some of the book code online, to get feedback on the presentation of that code. Take a look here to see the code from Chapters 3 to 12, and send me comments at mtk AT man7.org, if you want.


Revised ETA

Production is taking a bit longer than expected. ETA is now June 2010.


Last chapters shipped for typesetting

I shipped chapter 64 off for typesetting today. (There only remain the appendixes to go to the typesetters now.)

We're not going to make an April publishing date :-(. I'll blog a revised date in a few days time.


ETA: April 2010

At the moment, we're aiming for a publication date of April, though this might still vary by a few weeks.


LCA 2010 tutorial: Writing Secure Privileged Programs

If you are at LCA 2010 next week, I'm presenting a tutorial on writing secure privileged programs. The tutorial (10:30am-12:15pm, Friday, 22 January) will draw heavily on Chapter 38 (and a little bit on Chapter 39) of my book. Come along if you want tips on coding more safely in C on Linux/UNIX.

Update: Slides from this talk are available here