Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

The Linux Programming Interface

Michael Kerrisk

11 readers recommend it across 11 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

hiAndrewQuinn
Naming only ones I haven't seen mentioned in other comments: - Networking for Systems Administrators, by Michael W. Lucas. Its explicit goal is to teach you just enough about networking, from the electron up, that you can talk to an actual network engineer and not make a fool out of yourself. It's a phenomenally high-ROI read if networking isn't your strong suit. - The first 3 chapters of Mastering Regular Expressions. Regexes are up there with Vim keybindings in terms of sheer ubiquitous use no matter what stack you find yourself in. The rest of the book is excellent if you want to actually implement a regex engine. - The Art of Unix Programming. Less technical. Gives you an idea of why exactly 'nix machines are like that, especially older commands. The 18 rules of design are worth committing to memory. - The Linux Programming Interface. More technical. Pairs esp nicely with the above. Lots of practice C code one can run, plenty of short self-contained chapters. - Not a book, but an online paper: https://how.complexsystems.fail . I see echoes of this everywhere I work, and it often helps me understand what kinds of "bad" things are secretly highly evolved resiliency measures.…
RapperWhoMadeIt
I am obsessed with "The Linux Programming Interface" by Michael Kerrisk. I highly recommend this book if you want to level up your C programming skills and knowledge of Unix operating systems (specially portability and Linux). It might not exactly fit your description, but I still would recommend it. I feel like my C skills have gone from medium to pro, since reading most of the book. One really gets a good grasp of what syscalls exist, what they do and how to properly use them to produce secure and portable code. It is not written following a single project, but there are many different "applications" in the different chapters, for example, at the end you will be able to program a stand-alone back end TCP server with the examples from the book.
teleforce
Please check "The C Interfaces and Implementations" book by David Hanson [1]. Someone has implemented the concept using his library that you can check and use [2]. Another excellent reference is the "The Linux Programming Interface" book by Michael Kerrisk that documents most of the API available under Linux [3]. [1]https://www.amazon.com/dp/0201498413 [2]https://github.com/gon1332/gonlibs [3]https://www.amazon.com/Linux-Programming-Interface-System-Ha... (https://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200)

Also recommended in this reply

petercooper
Programming Pearls by Joe Bentley. And its followup. It's old but it does get you thinking about things. I'd also recommend The Linux Programming Interface by Michael Kerrisk as it teaches so much about what makes modern Unix what it is but.. it's arguably quite oriented around C by necessity. It's not a "C book" by any means though.

Also recommended in this reply

satysin
Start with Programming in C or C A Modern Approach (although the latter is expensive even second hand) and learn some basic Linux. Then K&R just because everyone should read it. Grab C in a Nutshell, Understanding and Using C Pointers and C A Reference Manual for reference. Then get the Linux Programming Interface book. Okay maybe a bit overkill for a 12 year old...
steakejjs
They are technical. Brushing up on: K&R - The C Programming Language K&P - The Unix Programming Environment K&P - The Practice of Programming Kerrisk - The Linux Programming Interface (Not light reading) Even though it is mostly review, reading code and seeing commands that K&R&P run has actually helped my workflow, code quality, etc. Highly recommend re-reading if it has been a while. Even things like variable names have noticeably improved since beginning re-reading. And, the Linux Programming Interface....is huge. There's always more to learn in there.
petercooper
Michael Kerrisk's The Linux Programming Interface is the best technical book I've read in many years: http://nostarch.com/tlpi I'm not even much of a Linux systems programmer though my work touches on many of the topics raised, but the lucidity and total lack of confusion in the text has blown me away. It's 1500 pages of awesome and I'm not surprised by all the accolades it's received as being the new "essential" book for UNIX-based developers of all stripes.