Advanced programmers' guide - Castro, Luis; Hanson, Jay; Retting, Tom