Why dive into low level programming?

I have a couple goals in mind.

  • I want to know what is happening under the hood, so to speak, so that the designs I come up with are not fundamentally opposed to performance.
  • I want to contribute more to native layers in general and it would be good to have the proper fundamentals to do that.

In the end I want to be the best damn engineer anyone can be. If I am going to accomplish this I am going to do it with a solid understanding of the fundamentals.

Where do you start?

I have decided to read a book, Linux Systems Programming. The book itself is great but has one flaw that is quite annoying. The book has no practice problems. There is no way to practice what you are learning. There are plenty of great exercises online so this does not really bother me. The book itself is amazing. It is filled with really detailed information starting from a high level view down to the specifics and dark corners. The practice problem I am going to start with is writing my own ps. The problem is outlined here.

What’s next?

The next step is to complete the practice problem. When finished I’ll update everyone with a new write up on what I found helpful from the book, traps, and tricks.