Some reasons to choose training

The training approach

We specialize in a range of topics that are of particular relevance for developers of low-level Linux/UNIX user-space applications in domains ranging from embedded to enterprise server systems.

We work closely with our customers, where necessary providing personalized assessment of their training needs and customizing courses to those needs.

The emphasis of our courses is on providing deep conceptual understanding. Our course materials include a large number of diagrams, example programs, and summary tables, and a significant part of course time is devoted to carefully designed practical exercises.

The trainer

Michael Kerrisk training in New York City, 2018 (Photo: Leah Hanson)

Michael Kerrisk began programming on UNIX systems in 1987 and first taught UNIX system programming courses in 1989. (His teaching career began as a university lecturer in 1985.)

His unique set of qualifications and experience ensure that course participants receive training of a very high standard:

The training materials

Participants in training courses receive a rich set of training materials, including: TLPI front cover (small)

All training courses are taught from materials produced by the trainer. Those materials are constantly updated and improved, based on changes in the Linux kernel and C libraries and experiences delivering each course. Because the materials are updated so frequently, the course books provided for each course are produced on demand. The same edition of the course books is rarely used for more than two courses; indeed, typically, a unique edition is produced for each course.

Sample training materials

The following samples give some idea of the quality of our course materials:

Some questions to consider regarding training courses

With many large training organizations, when you enroll for a highly specialized technical course, you're likely to get an external trainer hired in by the company. Commonly, you won't have a guarantee about who the trainer is, how much training experience they have, or how up to date they are with the current state of Linux development. Furthermore, that trainer will likely be working with training materials and example programs produced by someone else, and in some cases those materials may be a few years old. Thus, the trainer may be working under the burden of teaching with outdated training materials that adopt a training approach that is unfamiliar and inconsistent with that of the trainer.

Here are some questions you may want to ask yourself (or your training provider) when choosing a specialized training course of the kind offered by

With respect to training, we hope the answers to all of these questions are provided on this page.

Past and current customers

Michael Kerrisk has delivered training courses in various countries, including the USA, Australia, Germany, England, France, the Netherlands, Norway, Sweden, Romania, and Switzerland. Past and current customers range from small and medium-sized businesses to multinational companies and governments, and include:


References from past customers are available upon request, or you can read some public reviews of training courses.


For inquiries about courses and consulting, please get in contact via one of the following methods: