Acknowledgments
This book would not have been possible without the exceptional
support of the No Starch Press team. Thanks especially to Bill
Pollock for believing in the project; to Tyler Ortman for champion-
ing and editing; and to Leslie Shen, Riley Hoffman, Lee Axelrod,
Mackenzie Dolginow, Serena Yang, and Laurel Chun for their
indefatigable editing, reviewing, marketing, and production prowess
and for the countless ways they helped me improve this book from
my original manuscript. And thanks to Rachel Monaghan and
Paula Fleming for their help copyediting and proofreading.
Thanks to Michelle Friend and Ari Lacenski for their thought-
ful and thorough technical review, and to Conor Seng for being the
first to read the book and try out the programs—at 10 years old.
Thanks to Miran Lipova c� a for his amazing illustrations—they
bring the kind of life to the text that I could only have dreamed of.
Thanks to my father-in-law, Norman Petty, a retired IBM’er,
who began teaching himself Python using an early draft of the book.
Special thanks to my wife and best friend, Bev, for her con-
stant support, and to my amazing sons, Alex and Max, for helping
test every program and suggesting improvements. This book and
my entire life are infinitely better because of the three of you.
Finally, thanks to my mom, Esta, who encouraged me to love
learning and solving puzzles.