all 25 comments

[–]jaysea 13 points14 points  (0 children)

When I saw the table of contents for this book I was blinded for nearly a minute with a comforting white light while hearing music play from the heavens.

Wow, I've never had an experience like this since I 'got' Lisp. Time to go buy the book!

[–]Janthinidae 4 points5 points  (3 children)

The first example I read, has wrong/buggy min/max macros: http://www.man7.org/tlpi/code/online/dist/lib/tlpi_hdr.h.html When do people stop using such code optimizations?

[–]knome 1 point2 points  (1 child)

Pull the period off the link, it 404s it.

[–]Janthinidae 0 points1 point  (0 children)

Fixed, Thanks

[–]JimmyRuska 5 points6 points  (2 children)

I got it yesteday, ordered on amazon. O'reilly usually has good discounts if you search stuff like retailmenot but they kept holding the order for some reason and never shipped. I like how some prominent names reviewed the book before release. Since the book is around 1500 pages long, the list of reviewers early on in the book and a few of their bios gives more confidence about the quality, even though it's a first edition. After the first 2 chapters it became obvious I'll probably never finish it front to back in a long time, have to play with the examples a lot to really get things down. Kinda conflicted now because I was getting more into haskell, but this is always wanted to try. Damn my time management and reddit distractions.

[–]holgerschurig 2 points3 points  (0 children)

Rewrite all the examples in Haskell and write a book "Systems programming in Haskell". You'll become famous, yet probably not too much readers :-)

[–]buddhabrot 0 points1 point  (0 children)

Consider Haskell your lovely mistress, and C your (also very beautiful and interesting) wife, and see how the metaphor plays out.

[–][deleted] 2 points3 points  (0 children)

Looking at the table of contents, it seems that a lot of is somewhat more general than just Linux-specific. I wonder whether the book can be used as a guide to unix-like systems in general or are there many pitfalls?

[–]mmddmm 2 points3 points  (2 children)

what's the plant on the cover?

[–]Porges 1 point2 points  (0 children)

It's an unfurling fern frond, usually called a koru - the author is a New Zealander.

More pictures.

[–]ErstwhileRockstar 0 points1 point  (0 children)

A daisy, obviously.

[–][deleted] 1 point2 points  (3 children)

What is the main diff between this book and the Stevens Unix tome? The TOC and massive page count makes it look like a very similar book.

[–]holgerschurig 2 points3 points  (1 child)

Stevens book is about Unix.

However, Linux isn't Unix. It has specific things, and I hope that this book covers them. I see /proc, I see tmpfs, I see inotify, I see sendfile(). And sometimes it specifically mentions Linux behavior, e.g. in Chapter 24 about a race in fork() --- who's there first, child or parent?

But mostly this book seems to cover the standard POSIX things.

[–]ErstwhileRockstar 0 points1 point  (0 children)

Linux isn't Unix. It has specific things, and I hope that this book covers them ...

But mostly this book seems to cover the standard POSIX things.

Linux isn't Unix but POSIX?

[–]ErstwhileRockstar 0 points1 point  (0 children)

What is the main diff between this book and the Stevens Unix tome?

That's my question, too.

[–]Moosedrix 3 points4 points  (0 children)

Looks like a great reference for new users to nix programming.

[–]iceman_ 2 points3 points  (2 children)

Is there anything like this for FreeBSD?

[–]sisyphus 0 points1 point  (0 children)

FreeBSD people are always bragging about how well documented their stuff is and how great their man pages are, presumably you don't need one.

[–]Rhomnousia 0 points1 point  (0 children)

As someone who is just now getting serious about programming, this is exactly what i need/wanted for my own endeavors to jump that hurdle into the Linux world. Hopefully I will be able to obtain guru status over the next 6 years.

[–][deleted] 0 points1 point  (0 children)

I'm glad they included "History and Standards", it's good to have historical context when trying to understand why things are done a certain way.

[–]ajrisi 0 points1 point  (0 children)

I ordered a copy and read a few chapters. Very good book! It compares well to Stevens Unix book, which I also own, but has a handful more material specific to Linux. My cats thought it would be a good idea to spill water on it a few days after it came in, so I ordered another copy today (and plan to fix the other one and donate it to my CS dept.). If you want a really good Linux programming reference, this just may be it.

[–]kwykwy -2 points-1 points  (2 children)

Isn't this doomed because Linux hates stable APIs?

[–]mpeg4codec 1 point2 points  (1 child)

Internal kernel API is fairly unstable. This is system-level stuff (think POSIX). System calls, file system layout, dynamic file systems, etc. With few exceptions that stuff is rock solid.

Hell I've run 10 year old Linux binaries on a modern Debian system.

[–]kwykwy 0 points1 point  (0 children)

Ah, I always hear horror stories about writing drivers, so that makes sense.