> bio

Undergraduate Education

I received my undergraduate education at Stanford University, where I completed the Honors Program in Philosophy and graduated with an A.B. degree. During my junior year I attended the Stanford campus in Vienna, Austria.

Graduate Studies in Computer Science

Later, I studied computer science at three different colleges, and graduated with a Master of Science degree in computer science in April of 2007. The specific colleges and courses are listed on the coursework page.


I began programming computers in 1984. My web, desktop, and mobile programming work is showcased on the programming page.

news! I currently create applications for the iPhone and other iOS devices. Please visit the Digital Artisan Apps website.


I have been writing books for computer programmers and users since 1986. The programming books have covered MS-DOS, OS/2, Windows, C, C++, Visual Basic, Java, XML, animation, game, and graphics programming. The user-level books have focused on Microsoft Office applications.

My first 26 books were written for major publishers—Microsoft Press, Wiley/Sybex, Elsevier/Academic Press, Addison-Wesley, and Pearson Education/Peachpit Press. More than a million of these books have been sold, and they have been translated into many languages. My book XML Step by Step won the top award, "Distinguished Technical Communication," in the 2000-2001 International Technical Publications Competition of the Society for Technical Communication. You'll find descriptions and companion web pages for these books on the books page.

Over the years, I've also written a number of articles. These are presented on the articles page.

Professional Memberships

ANSI logo

From 1987 through 1988 I was a member of the ANSI Committee on the Standardization of the C Language (X3J11). This committee was formed in 1983 by the American National Standards Institute (ANSI) to create a standard specification for C. The specification was finally ratified in 1989, creating a standard version of the language commonly known as ANSI C.

ACM logo

In 2005 I joined the ACM (Association for Computing Machinery). I find their Digital Library, Guide to Computing Literature, and TechNews email newsletter to be valuable in my work. I also admire—and try to abide by—the ACM Code of Ethics and Professional Conduct.


I currently live and work in Taos, New Mexico. Taos is situated at 7,000 feet on a desert mesa nestled in the Sangre de Cristo Mountains, the southern tip of the Rockies.

Sunrise Over Taos Mountain

Sunrise Over Taos Mountain

Valid HTML 4.01 Transitional