Книга: Metaprogramming Ruby 2
Назад: Foreword
Дальше: Introduction



Acknowledgments

Thank you, Joe Armstrong, Satoshi Asakawa, Peter Bakhirev, Paul Barry, Juanjo Bazán, Emmanuel Bernard, Roberto Bettazzoni, Ola Bini, Piergiuliano Bossi, Simone Busoli, Alessandro Campeis, Kosmas Chatzimichalis, Andrea Cisternino, Davide D’Alto, Pietro Di Bello, Mauro Di Nuzzo, Marco Di Timoteo, Paul Elliott, Eric Farkas, Mauricio Fernandez, Francisco Fernández Castaño, Jay Fields, Michele Finelli, Neal Ford, Florian Frank, Sanne Grinovero, Federico Gobbo, Florian Groß, Sebastian Hennebrüder, Doug Hudson, Jurek Husakowski, Lyle Johnson, Lisa Maria Jones, Josh Kalderimis, Murtuza Kutub, Marc Lainez, Daniele Manni, Luca Marchetti, Arialdo Martini, Kado Masanori, MenTaLguY, Nicola Moretto, Sandro Paganotti, Alessandro Patriarca, Carlo Pecchia, Susanna Perrotta, John Pignata, Andrea Provaglio, Mike Roberts, Martin Rodgers, 琳琳的小狗, Richard Schneeman, Joe Sims, Jeremy Sydik, Andrea Tomasini, Mauro Tortonesi, Marco Trincardi, Ivan Vaghi, Giancarlo Valente, Davide Varvello, Elzie Vergine.

Thank you, readers who gave feedback and reported errata. Thank you, contributors to the open-source code I show in this book.

Thank you, Jim Weirich. We owe you a lot.

Thank you, Pragmatic people: Ellie Callahan, Janet Furlow, Andy Hunt, David Kelly, Susannah Pfalzer, Cathleen Small, Dave Thomas, Devon Thomas. Thank you, Lynn Beighley, for smoothing out my prose and calling me back to duty when I drifted astray, like Jill Steinberg had done for the first edition.

It takes a long time to update a book. You turn back once the job is done, and you’re surprised by how many things have changed in your life. On the other hand, some things haven’t. Thank you, Ivana Gancheva, my precious friend.

Назад: Foreword
Дальше: Introduction