Tim Peters, RIP
Guido van Rossum (Hacker News):
I am immensely sad to announce that Tim Peters has died earlier this year on July 15.
It’s hard to overestimate Tim’s influence on Python. He’s probably best known for writing the Zen of Python (PEP 20), but to me he was a mentor and language co-designer long before that.
Tim found Python not long after its initial release. His first deed was to convince me that Python should support mixed arithmetic between
intandfloat, because most users would expect them to work that way. And he never stopped contributing.
He was a director of the Python Software Foundation from 2001 to 2014. Before Python, he wrote compilers at Cray Research and speech-to-text software at Dragon Systems.
Brett famously commented many years ago that he came for the language, but stayed for the community … for me it was the reverse, I came for the community, and stayed for the language. That community was in very large measure defined by Uncle Timmy’s kindness and wit.
[…]
Python luminary and erstwhile professor of numeric computing Alex Martelli commented in 2001 (on ‘<comp.lang.python>’):
Anybody who thinks he knows what he’s doing when floating point is involved IS either naive, or Tim Peters (well, it COULD be W. Kahan I guess, but I don’t think he writes here).
Fellow Python guru Tim Peters observed:
I find it’s possible to be both (wink). But nothing about fp comes easily to anyone, and even Kahan works his butt off to come up with the amazing things that he does.
I poked around at Python 2.4, since that seems a good version to show off the things he worked on. His contributions were all over the codebase but I’ll point out a few that stand out to me. pymalloc was contributed by Vladimir Marangozov but it was Tim who polished it to diamond-like form. A memory allocator is one of those things where it is impossible to have something completely optimal; you always make tradeoffs. Tim’s special contribution in that unit is
Py_ADDRESS_IN_RANGE. It is well commented, if you want to understand how it works. Technically, it relies on undefined behavior but Tim figured it should work in practice. It did so for many years.[…]
Speaking of Knuth, the dict object algorithms were heavily optimized by Tim. The C file contains lots of comments. He also wrote dictnotes, which is a good example of his technical writing. Another example is weakref.txt, which I think Tim wrote after fixing a particularly difficult GC bug revealed by ZODB (while working at Zope Corp).
On the topic of GC, the initial version of the cyclic garbage collector was written by me, merged before the 2.0 release. It was Tim who polished it into robust and well-performing shape. Likewise, I wrote the initial version of “simple generators” but it was Tim who put them on solid foundation, both the PEP and the implementation.
He invented a new sorting algorithm (“Timsort”); a descendent of it (“PowerSort”) is still used in Python today, as well as in Java, and several Javascript runtimes (Chrome, Node).
In Guido van Rossum’s estimation, Peters’s biggest contribution to the community has been his years of answering questions and guiding debates on the Python mailing list, writing each message precisely and cheerfully. PSF director Thomas Wouters agrees: “Tim is just never flustered. He always takes it in good humor and it definitely has an effect on everyone else, as well.” Even an experienced developer like Carol Willing says that when she sees a post from Peters on a topic she knows, she’ll take the time to read it for new insights or new ways of explaining.