Contributors
Many special thanks to the people who made direct contributions to this text:
Ben Zhuk - Co-wrote a number of sections, edited the entire book for both content and style, and created all diagrams and illustrations (except those mentioned below). He was a sounding board for ideas throughout the writing process, and was an invaluable resource. I am more indebted to him for his tireless efforts and the countless hours he put into this project than I can express.
Dmitry Semenov,
Senior Software Architect who read the manuscript carefully and thoroughly. Dmitry’s remarks and criticism helped me to clarify content
and add significant parts to chapters 3 and 13.
Olga Kaydanov, artist - Provided great design ideas and artistic inspiration for illustrations.
Irina Zadov, artist, – Illustrated Fig.I-1, Fig.I-2, Fig.I-5, Fig.1-4
http://ucsu.colorado.edu/~zadovi
Inna Vaisberg, designer, – Illustrated Fig.3.1 and Fig.A3.18.
http://javaschool.com/skills/Inna.Vaisberg.Portfolio.pdf
My former students, talented
software developers:
Masha Tishkov, who wrote and tested several XML parser methods in the Stringer.java source;
Slava Minukhin, who teamed up with me to write C# sources for Appendix 3: TextToSpeech.cs, SocketTTS.cs, Recognizer.cs;
Alex Krevenya, who helped write email-and-spam related sources for Appendix 3;
and Dina Malkina, who wrote C++ sources for Chapter 12: ListeningClient.cpp and TalkingClient.cpp
Acknowledgements
This is a great opportunity to say thank you to so many people without whom this book would be impossible.
To Candi Hoxworth, IT Manager, who read most the book and provided great suggestions on improving my American accent in it.
To Stuart Ambler, Mathematician and Software Architect, who reviewed and provided important feedback for Chapters 8, 10, and 12.
To Michael Merkulovich, Software
Team Lead, who read and provided valuable suggestions for Chapter 6 and
Appendix 1.
To Nina Zadov, Sr. Software
Engineer, who read and approved Chapter 7.
To Roman Zadov, Mathematician, who
reviewed Chapter 5 (Ontology.)
To Bryan Basham, Java Instructor, who reviewed a section (multipart/form
upload) from Appendix 3.
To Linda Koepsell, Course
Development Project Manager, who reviewed a section from Chapter 11 (J2ME.)
To Jason Fish, Enterprise Learning, President, who invited
me to teach for
To Cambridge University Press editors Lauren Cowles and Katherine
Hew; TechBooks project manager Amanda Albert and copy
editor Georgetta Kozlovski
for their work and dedication.
To Cyc Corporation knowledge
experts John De Oliveira, Steven Reed, and Dr. Doug Lenat,
who taught me ontology and the Cyc Language, and
reviewed several sections from Chapter 5 and 13.
To my colleagues from the University of Phoenix, Mary A.
Martin, Ph.D., Blair Smith, Stephen Trask, Adam
Honea, Ph.D., and Carla Kuhlman, Ph.D. who reviewed sections from Chapter 2
(Software Architecture), and Notes for Educators.
To my colleagues from
To Victor Kaptelinin, Ph.D., Umea University Professor,
To Jay DiGiovanni, Director of
Software Development, who reviewed and provided encouraging remarks on a
section from Chapter 13.
To Vladimir Safonov, Ph.D., S. Petersburg University, Professor, who offered excellent suggestions for Chapter 2 (Software Architecture).
To Vlad Genin,
Ph.D.,
To Robert Gathers, GN President, with whom we discussed the
future of distributed networks and who reviewed several sections from Chapter
13 and 14.
To Rachel Levy, whose reviews of and ideas for the
Introduction and Preface sections were inspired and right on-target.
To my children, Julie and Ben, for their moral support and phenomenal help during the entire process.
And finally, and most importantly, to my wife, Bronia, who makes everything in my life possible.