First of all, I would like to thank a great team at Addison-Wesley, including Stephane Thomas, John D. Ruley, Michael Mullen, Stephanie Hiebert, and Tyrrell Albaugh, all of whom were very helpful from time to time.
Technical reviewers played a vital role in improving the technical aspects of this book. Their comments and suggestions made me think from various different programming perspectives. I would like to thank technical reviewers Charles Parker, Min Liu, Gilles Khouzam, Jason Hattingh, Chris Garrett, Jeffery Galinovsky, Darrin Bishop, and Deborah Bechtold.
I would also like to thank John O’Donnell for his contribution to the printing chapter of the book (Chapter 11).