This book alone proves why books are still relevant. It is a fairly short read, but the quality of the content is one of the best, with regards to a technology book. The material covered is very important if you want to do anything beyond basic websites, which I do. In short it is an amazing book. The question is. Why?
Why I Read This Book
The short answer is 2 fold.
- I am currently in class taking Operating System Design, and my current text book wasn’t cutting it.
- The other is I wanted to know more about how Linux processes worked so I can do my job better.
This book has helped with both.
It is a fairly short read, I read it in an evening, but the information it packs is immense. At the end of the day it is a high level explanation of how processes interact with the operating system, and each other, but there is a lot of code examples in ruby which drive all the points home. It is a great base to start digging deeper into how great software works the way it does. In fact the book comes with good explanations of some of the software you may use everyday if you are a rails developer.
Code I Liked
Normally I use this section to put in what I found most intriguing, but I can’t put all the code in the book here. 🙁 However, I will say the code is very well done, and I typed out and ran most of it to make sure I understood it. The best part is it really helps you take stock of the power behind interacting directly with the Linux operating system. System calls help you get really close to interacting with hardware, and I never realized you could do system calls, or that I was doing them, with ruby. My favorite code example was in the fork+exec section, but I would need to explain several parts of the book for you to get it if I added it here.
How Does this Prove Books Relevance?
Our industry has this debate that books are bad now, and all you ever need to know is in tutorials. I call BS on that, and have for a long time. While you can learn a lot by reading and doing tutorials it leads to learning concepts through the school of hard knocks. That is a bad way to learn if there is a better way. What this book covers is something probably 40% of which I learned over a couple of years of hard knocks, and still I didn’t understand “why” it did what it did. Books such as this one fill in all those gaps easily, and immediately make you a better developer by helping you to understand the higher level. When have a high level of understanding the tutorials are more understandable.
Buy this book, and read it. It will not be a waste of your time, and money, if you do read it. The concepts are language agnostic, and if you want to do cool stuff while being a better developer this is your book. You can get it 2 places: