Disclaimer In order to keep the presentation focused, I will frequently take shortcuts: Not all #includes are shown in C code Return values frequently not checked in examples Variables seldom defined Spacing in output often condensed Each page is only internally consistant Uid 1001 may be 'reegen' on one page, and 'taxee' on the next. Output irrelevant to the discussion at hand frequently removed Bye-bye parent directory listings Legitimate bugs occasionally inserted to test the audience That's my story, and I'm sticking to it.