Working through Advanced Programming in the Unix Environment (2nd Edition)