He has designed and implemented systems for Hughes, ARINC, UPS, and the Naval Research Laboratory. When not writing for O'Reilly, he teaches Software Design and Software Engineering at The Catholic University in Washington DC. Originally writing in C and C++, he has moved into the blissful world of managed code with Java and C#. He has had several articles published by Intelligent Enterprise and Java Developer's Journal on software process, consulting in the software industry, and 3D graphics in Java.