Wednesday, July 23, 2014

Linux/UNIX System Programming course scheduled for October 2014

I've scheduled a further 5-day Linux/UNIX System Programming course to take place in Munich, Germany, for the week of 6-10 October 2014.

The course is intended for programmers developing system-level, embedded, or network applications for Linux and UNIX systems, or programmers porting such applications from other operating systems (e.g., Windows) to Linux or UNIX. The course is based on my book, The Linux Programming Interface (TLPI), and covers topics such as low-level file I/O; signals and timers; creating processes and executing programs; POSIX threads programming; interprocess communication (pipes, FIFOs, message queues, semaphores, shared memory),  network programming (sockets), and server design.
The course has a lecture+lab format, and devotes substantial time to working on some carefully chosen programming exercises that put the "theory" into practice. Students receive a copy of TLPI, along with a 600-page course book containing the more than 1000 slides that are used in the course. A reading knowledge of C is assumed; no previous system programming experience is needed.

Some useful links for anyone interested in the course:

Questions about the course? Email me via

Wednesday, July 9, 2014

man-pages-3.70 is released

I've released man-pages-3.70. The release tarball is available on The browsable online pages can be found on The Git repository for man-pages is available on

This is a relatively small release. As well as many smaller fixes to various pages, the more notable changes in man-pages-3.70 are the following:

  • A new sprof(1) page documents the sprof command provided by glibc.
  • The epoll_ctl(2) and epoll(7) pages add documentation of the EPOLLWAKEUP flag that appeared in Linux 3.5.
  • Various parts of the syslog(2) page were reworked and improved.
  • A number of details were added or improved in the inotify(7) page.