Saturday, October 3, 2009

man-pages-3.23 release; my book progresses

I've uploaded man-pages-3.23 into the release directory (or view the online pages). This release consists entirely of fixes to existing pages.

Meanwhile, progress continues on my book providing a detailed description of Linux and Unix system programming. We now have a title: The Linux Programming Interface. I've also posted the detailed table of contents of chapters 1 to 42. (Full list of chapters here; draft preface here.)

Monday, September 28, 2009

See you at LCA 2010!

One of my proposals got accepted for LCA 2010, in Wellington, New Zealand! As usual, there look to be lots of interesting papers at LCA. I'm presenting a tutorial on writing secure privileged programs, which will draw heavily on Chapter 38 of my book.

Thursday, September 10, 2009

What to call my book?

We (me, my publisher) are still trying to work out what to call my (lengthy) system programming book. On my other blog, I'm asking for opinions from potential readers. If you'd like to help me name my book, please have a read of that blog post and send me a vote!

Sunday, September 6, 2009

System programming book now half-way through copyediting

My book on Lunux/Unix system programming is now more than half-way through copyediting, so I've posted the detailed table of contents of the first 33 chapters. (For an overview of the book, look here, and to see the brief table of contents--chapter names only--look here.)

We're still on schedule for the book to be published in the first half of 2010 (by No Starch Press). Ongoing progress towards publication is regularly updated at

Please keep telling people about the book and the blog!

Monday, July 27, 2009

A different story: my book

For quite a long time now, I've been working on a book that covers much the same topic area as man-pages; that is, the Linux/Unix kernel-userland interface (system calls, /proc, and so on) and C library (glibc) functions.

The book is going to be comprehensive: it runs to around 1500 pages (exactly how long will depend on typesetting and page layout, which are just getting started), has 64 chapters, 116 diagrams, 85 tables, and around 250 example programs. It will be published in the first half of 2010 by No Starch Press. You can read about its ongoing progress towards publication in my other blog at To get an overview of what the book is about, read this post, and to see the table of contents of the book, read this post.

And of course, please tell people about the book!

Saturday, July 25, 2009

man-pages-3.22 is released

After a long gap without a release, I've uploaded man-pages-3.22 into the release directory (or view the online pages). This release consists entirely of fixes to existing pages.

Monday, April 20, 2009

man-pages-3.21 is released

A few days ago, I uploaded man-pages-3.21 into the release directory (or view the online pages). Notable changes in man-pages-3.21 are:

  • A new pthread_setconcurrency(3) page documents pthread_setconcurrency() and pthread_getconcurrency().
  • A new pthread_yield(3) page documents pthread_yield().
  • The feature_test_macro(7) page adds information on the changes that glibc 2.10 makes for alignment with POSIX.1-2008, and adds an example program that can be used to display the feature test macros that are implicitly defined by particular glibc versions and as a consequence of explicitly setting macros.

Living with options, Los Gatos

Monday, March 30, 2009

man-pages-3.20 is released

I've uploaded man-pages-3.20 into the release directory (or view the online pages). Notable changes in man-pages-3.20 are:

Te whare karakia i Onuku, Ōtautahi

Wednesday, February 25, 2009

man-pages-3.19 is released

I've uploaded man-pages-3.19 into the release directory (or view the online pages). The most notable change in man-pages-3.19 is the addition of four pages describing the POSIX interval timers API: timer_create(2), timer_settime(2), timer_getoverrun(2), and timer_delete(2).

Wednesday, February 11, 2009

man-pages-3.18 is released

I've uploaded man-pages-3.18 (my one hundredth release as maintainer!) into the release directory (or view the online pages). Notable changes in man-pages-3.18 are:

Friday, January 23, 2009 2010 in Wellington

For it's 11th time out, returns to New Zealand again in 2010. (YAY!!) Congratulations to the successful bidders from Wellington! The conference will run from Monday 18 January to Saturday 23 January. The organizers' website is

Tuesday, January 20, 2009

Speaking at LCA 2009

Late notice (but that's all I got)... I'll be speaking at LCA 2009 in Hobart, Australia, on 22 Jan, considering what happens when kernel and userland don't talk.

Update: my presentation slides can be found here.

Monday, January 19, 2009

man-pages-3.17 is released

I've uploaded man-pages-3.17 into the release directory (or view the online pages). Notable changes in man-pages-3.17 are:

  • A new endian(3) page documents functions added in glibc 2.9 that convert between host byte order and little- and big-endian order: htobe16(), htole16(), be16toh(), le16toh(), htobe32(), htole32(), be32toh(), le32toh(), htobe64(), htole64(), be64toh(), and le64toh().

  • A new getifaddrs(3) page documents the getifaddrs() and freeifaddrs() library functions.

  • 8 new pages describe various character sets: cp1251(7), iso-8859-10(7), iso_8859-13(7), iso_8859-14(7), iso_8859-3(7), iso_8859-5(7), iso_8859-8(7), and koi8-u(7). Thanks to Lefteris Dimitroulakis for contributing these!

  • And various smaller changes in many other pages.

Tasmanian Devil

Monday, January 12, 2009

man-pages-3.16 is released

I've uploaded man-pages-3.16 into the release directory (or view the online pages). Notable changes in man-pages-3.16 are:

  • A new pthread_getcpuclockid(3) page documents pthread_getcpuclockid().
  • A new libc(7) page provides an overview of the standard C library implementations on Linux.
  • A new rtld-audit(7) page provides an overview of the dynamic linker auditing API (modeled on the Solaris API): the functions la_version(), la_objsearch(), la_activity(), la_objopen(), la_objclose(), la_preinit(), la_symbind(), la_pltenter(), and la_pltexit().
  • The page adds documentation of the LD_AUDIT and LD_POINTER_GUARD environment variables.

Tuesday, January 6, 2009

See you at LCA 2009

It's too much fun to miss, so I finally made the booking... I'm going to LCA 2009 (19-24 Jan), in Hobart, Australia!