If you want to donate with Paypal, my contact address is tuomoster AT gmail DOT com.
Amazon Wish List
|projects||zero, resurrection, wizard code|
Download Draft #4
Wizard Code on Hacker News
Wizard Code on Reddit
Note that I keep updating the book without necessarily changing the draft number so please re-download the file now and again if you are interested. :)
If you like the idea of Wizard Code, please read the whole book and send some feedback to tuomoster AT gmail DOT com. This way, the book could be a pleasure to both write and read. Thank you.
Chances are I might contact a publisher about the book later, chances are I might not, but get it while it's hot. If you enjoy this free read, please consider donating to the project with the Paypal button above. :)
Wizard Code is my take on machine programming. The book discusses the C language in depth from a low-level programmer's perspective. You will get familiar with how Unix-like systems execute code, how C code is translated to assembly (and later, trivially, to machine language), and such advanced topics.
The book assumes prior knowledge of the C language, so it's probably not the best pick for the first book on C. Try Kernighan and Ritchie's C Programming Language or another beginner- or intermediate-level text on C first. Take a look at the links section as well.
|useful new features in C99|
|computer representation of numeric values|
|segment-based permissions for code and data|
|stack-based run model|
|relation with and translation to assembly|
|code optimisation techniques|
|notes on code style|
|code examples including a world class malloc-allocator|
|Assembly||used where necessary|
|MMX examples of vector ('SIMD') programming|
|cover||first idea for book front cover|
|cover||first idea for book back cover|
|Learn C The Hard Way||a free book on C programming|
|Magic Algorithms||a collection of tricks|
|bit twiddling hacks||another collection of tricks|
|HAKMEM||legendary MIT collection of tricks|
|the bit twiddler||Stephan Brumme's collection of tricks|
|Rick Booth||Inner Loops|
|Dominic Giampaolo||Practical File System Design with the Be File System|
|Randall Hyde||Write Great Code Volume One - Understanding the Machine|
|Randall Hyde||Art of Assembly|
|Henry S. Warren||Hacker's Delight|