By contrast with large training companies, we take
a "boutique" approach to training,
specializing in a relatively small
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,
assessment of their training needs, and where necessary
customizing our courses to those needs.
The emphasis of our courses is on providing
deep conceptual understanding
coupled with intensive in-class practical work.
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.
Some customers request, and we naturally provide,
certificates of course completion
for all attendees.
actively involved in Linux development—working
with kernel developers
on testing, review, and design of new
Linux kernel-user-space APIs (system calls, etc.).
In many cases, he personally knows
the developers of the APIs that he describes
in his courses; in some cases,
he has even been influential in the design of those APIs.
Since 2004, he has been the maintainer of the
which provides the manual pages documenting the
Linux kernel-user-space and GNU C library APIs.
As maintainer, he has to date (March 2020) overseen more than
20,000 commits to the project and 188
His involvement with the project stretches back to 2000,
and has provided
him with a broad and deep understanding of Linux APIs
and their historical development.
That involvement has led to wide recognition in the
Linux development community and regular invitations to speak
In addition to being project maintainer,
he has also
authored or coauthored
more than 400
of the just over 1000 manual pages
provided by the man-pages project;
if you are doing system programming on Linux,
you're almost certainly already relying on knowledge
that he has put into the manual pages.
The training materials
Participants in man7.org training courses receive a rich set
of training materials, including:
Extensive printed course books
containing all of the slides and exercises
presented during the course.
The course materials are liberally sprinkled with
diagrams and sample code that illustrate the concepts presented
in the course.
A source code tarball containing
clearly written and
well commented code examples
directly relevant to the course.
The source code examples run to some 35,000 lines
of code, all of which has been written by the trainer.
(Much of this source code is
the code that accompanies
the trainer's book,
The Linux Programming Interface,
supplemented by further examples relevant to the course.)
Template solutions for the course exercises.
For most of the more significant programming exercises,
solution templates are provided.
These templates provide the background boilerplate code
needed for completing the exercises, leaving participants
to focus on the specific technical problems posed by the exercises.
By this means, we are able to cover more ground
in the practical sessions and
work on more ambitious exercises.
Solutions for most course exercises
(provided by email at completion of the course).
All man7.org training courses are taught from materials
produced by the trainer.
Those materials are
constantly updated and improved,
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 printed 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
Sample training materials
The following samples give some idea of the quality of our course materials:
Some questions to consider regarding training courses
With most 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
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 man7.org:
Do you know exactly who will be delivering the course?
What evidence do you have regarding
how up to date the trainer is
with the latest developments on Linux
or how much training experience they have with teaching the
course in question?
When were the course materials published?
Are the course materials up to date with the latest Linux developments?
Were the course materials prepared by the trainer?
If not, how familiar is the trainer with the materials?
Is the trainer engaged with the Linux development community?
With respect to man7.org 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, Holland, Norway, Sweden, Romania, and Switzerland.
Past and current customers
range from small and medium-sized businesses to
multinational companies and governments, and