📖 Overview
Michael Kerrisk is a programmer, author and trainer known for his extensive work documenting and explaining Linux system programming interfaces. He is the current maintainer of the Linux man-pages project, which provides the official manual pages for Linux programming APIs.
His book "The Linux Programming Interface" (2010) is considered a definitive technical reference on Linux and UNIX system programming. The comprehensive work covers system calls, library functions and Linux-specific features, spanning over 1500 pages.
Kerrisk has taught Linux system programming courses across Europe, Asia and the United States since 2004. He has been actively involved in the Linux community for over two decades and has contributed numerous patches to the Linux kernel.
Beyond his technical writing, Kerrisk has worked as a programmer in gamma-ray astronomy, and has developed real-time systems for betting applications. He holds a PhD in computer science from Monash University, Australia.
👀 Reviews
Readers consistently praise Kerrisk's clear, detailed explanations of complex technical concepts in "The Linux Programming Interface." Reviews highlight the book's comprehensive coverage and practical examples.
What readers liked:
- Clear organization and writing style
- Depth of technical detail while remaining accessible
- Practical code examples that work
- Thorough coverage of both Linux-specific and POSIX features
What readers disliked:
- Physical size and weight of the book
- Some dated content regarding newer Linux features
- Price point ($80-100 range)
Ratings across platforms:
Amazon: 4.8/5 from 456 reviews
Goodreads: 4.7/5 from 892 ratings
Sample reader comment: "Unlike many technical books that just document APIs, Kerrisk explains the 'why' behind system calls and provides real-world usage patterns." - Amazon review
Another reader notes: "The examples are actually useful and tested, not just theoretical demonstrations. This sets it apart from other Linux programming books."
📚 Books by Michael Kerrisk
The Linux Programming Interface (2010)
A comprehensive technical guide covering Linux/UNIX system programming interfaces, including detailed explanations of system calls, library functions, and Linux-specific features with extensive example code.
👥 Similar authors
W. Richard Stevens wrote authoritative books on Unix network programming and Unix internals that laid the groundwork for modern systems programming texts. His multi-volume Advanced Programming in the Unix Environment and Unix Network Programming series remain fundamental references decades after publication.
Robert Love maintains the Linux kernel documentation and wrote Linux Kernel Development which explains kernel internals and driver development. His Linux System Programming book complements Kerrisk's work by focusing on writing system software that directly leverages kernel features.
Brian "Beej" Hall created the widely-used Guide to Network Programming and other freely available programming guides that explain complex topics through clear examples. His work focuses on practical implementation details and common pitfalls when working with sockets and network protocols.
John Ousterhout developed Tcl and wrote A Philosophy of Software Design based on decades teaching systems programming at Stanford. His work combines deep technical knowledge with insights about designing maintainable system interfaces.
Andrew S. Tanenbaum wrote seminal operating systems texts and created MINIX which influenced Linux's development. His books Operating Systems: Design and Implementation and Modern Operating Systems explain OS concepts through working implementations.
Robert Love maintains the Linux kernel documentation and wrote Linux Kernel Development which explains kernel internals and driver development. His Linux System Programming book complements Kerrisk's work by focusing on writing system software that directly leverages kernel features.
Brian "Beej" Hall created the widely-used Guide to Network Programming and other freely available programming guides that explain complex topics through clear examples. His work focuses on practical implementation details and common pitfalls when working with sockets and network protocols.
John Ousterhout developed Tcl and wrote A Philosophy of Software Design based on decades teaching systems programming at Stanford. His work combines deep technical knowledge with insights about designing maintainable system interfaces.
Andrew S. Tanenbaum wrote seminal operating systems texts and created MINIX which influenced Linux's development. His books Operating Systems: Design and Implementation and Modern Operating Systems explain OS concepts through working implementations.