FRONTMATTER -- ACKNOWLEDGMENTS:
-------------------------------------------------------------------
Portions of this book are adapted from my column _Charming
Python_ and other writing first published by -IBM
developerWorks-, . I wish to
thank IBM for publishing me, for granting permission to use this
material, and most especially for maintaining such a general and
useful resource for programmers.
+++
The Python community is a wonderfully friendly place. I made
drafts of this book, while in progress, available on the
Internet. I received numerous helpful and kind responses, many
that helped make the book better than it would otherwise have
been.
In particular, the following folks made suggestions and
contributions to the book while in draft form. I apologize to any
correspondents I may have omitted from the list; your advice was
appreciated even if momentarily lost in the bulk of my saved
email.
+++
Sam Penrose
UserDict string substitution hacks.
Roman Suzi
More on string substitution hacks.
Samuel S. Chessman
Helpful observations of various typos.
John W. Krahn
Helpful observations of various typos.
Terry J. Reedy
Found lots of typos and made good organizational suggestions.
Amund Tveit
Pointers to word-based Huffman compression for Appendix B.
Pascal Oberndoerfer
Suggestions about focus of parser discussion.
Bob Weiner
Suggestions about focus of parser discussion.
Max M
Thought provocation about XML and Unicode entities.
John Machin
Nudging to improve sample regular expression functions.
Magnus Lie Hetland
Called use of default "static" arguments "spooky code" and
failed to appreciate the clarity of the '<>' operator.
Tim Andrews
Found lots of typos in Chapters 3 and 2.
Marc-Andre Lemburg
Wrote [mx.TextTools] in the first place and made helpful
comments on my coverage of it.
Mike C. Fletcher
Wrote [SimpleParse] in the first place and made helpful
comments on my coverage of it.
Lorenzo M. Catucci
Suggested glossary entries for CRC and hash.
David LeBlanc
Various organizational ideas while in draft. Then he wound
up acting as one of my technical reviewers and provided a
huge amount of helpful advice on both content and
organization.
Mike Dussault
Found an error in combinatorial HOFs and made good
suggestions on Appendix A.
Guillermo Fernandez
Advice on clarifying explanations of compression techniques.
Roland Gerlach
Typos are boundless, but a bit less for his email.
Antonio Cuni
Found error in original Schwartzian sort example and another
in 'map()'/'zip()' discussion.
Michele Simionato
Acted as a nice sounding board for deciding on final
organization of the appendices.
Jesper Hertel
Was frustrated that I refused to take his well-reasoned
advice for code conventions.
Andrew MacIntyre
Did not comment on this book, but has maintained the OS/2
port of Python for several versions. This made my life
easier by letting me test and write examples on my favorite
machine.
Tim Churches
A great deal of subversive entertainment, despite not
actually fixing anything in this book.
Moshe Zadka
Served as technical reviewer of this book in manuscript and
brought both erudition and an eye for detail to the job.
Sergey Konozenko
Boosted my confidence in final preparation with the
enthusiasm he brought to his technical review--and even more
so with the acuity with which he "got" my attempts to impose
mental challenge on my readers.