how to not #include malloc only on freebsd, b/c it wants stdlib instead. some portability issues: what if openbsd came along? where to find cpp symbols - compiler/cpp hardcoded - header files - gcc -v what to comment: functions, globals, vars, algs, data structures, and other important items. when docuemnting functions, cover: pre/post conditions, input/output args, type/names/meaning of args, return values and errors, what side effects a function has, what to expect after it has run, caller's responsibility, calee's duties, etc. makefile intro: why they are needed. how they work.