Hacking 101 provides an introduction to UNIX development:
While I was working on an open source project, I recruited a number of university student volunteers who were interested in contributing to the development. These volunteers were no doubt talented and enthusiastic programmers — I knew that because some of them were A-grade students in a course I taught. However, there was a problem: most of them grew up in a Windows/Mac culture, and were new converts to the UNIX world. To them, the entire GNU/Linux development environment is totally alien: command shell, man page reading, software building with make/autoconf/automake/libtool, and not to mention emacs and cvs. I ended up spending a considerable amount of effort in initiating them into the UNIX culture, and in assisting them to become productive developers even when they only have limited exposure to program development on UNIX platforms. After a while, I began to realize that there is actually a gap that needs to be filled — these young hackers need a textbook to initiate them into UNIX hackerdom. And I intend this document to somehow fill this gap.