HN.zip

Tim Peters has died

https://www.reddit.com/r/Python/s/2Cm5dBcvQw

472 points by - 49 comments

49 Comments

[3 hidden]5 mins ago

  $ python -c "import this"
  The Zen of Python, by Tim Peters

  Beautiful is better than ugly.
  Explicit is better than implicit.
  Simple is better than complex.
  Complex is better than complicated.
  Flat is better than nested.
  Sparse is better than dense.
  Readability counts.
  Special cases aren't special enough to break the rules.
  Although practicality beats purity.
  Errors should never pass silently.
  Unless explicitly silenced.
  In the face of ambiguity, refuse the temptation to guess.
  There should be one-- and preferably only one --obvious way to do it.
  Although that way may not be obvious at first unless you're Dutch.
  Now is better than never.
  Although never is often better than *right* now.
  If the implementation is hard to explain, it's a bad idea.
  If the implementation is easy to explain, it may be a good idea.
  Namespaces are one honking great idea -- let's do more of those!
[3 hidden]5 mins ago
I discovered this early on in my programming journey and it helped set my philosophical trajectory. Over the years I’ve slowly grokked these items. But it was valuable to have a North Star even before I realized why they were important.
[3 hidden]5 mins ago
The PEP explicitly says there are 20 of which only 19 are written down and I can't figure out if that is a joke, a deliberate statement, or both.
[3 hidden]5 mins ago
And at that moment, shiandow was enlightened. ;)

(https://en.wikipedia.org/wiki/Zen_of_Python has more about the discrepancy.)

[3 hidden]5 mins ago
Interestingly, today this text reads not only as good advice for coders but also as good instructions for agents. Perhaps time to revisit those and make sure the spirit of these adages is captured there
[3 hidden]5 mins ago
I have cited this poem countless times over the years--sometimes ironically. I'm sad.
[3 hidden]5 mins ago
> There should be one-- and preferably only one --obvious way to do it.

Oh boy, that didn't age well for Python language did it? It matches with C++ in growing complexity of syntax features. With a couple dozen ways to write the very same algorithm.

[3 hidden]5 mins ago
Python has never followed the Zen. The irritating way the language lets you use non-booleans in a boolean context flies right in the face of "explicit is better than implicit".
[3 hidden]5 mins ago
Hard to disagree with any of this. RIP.
[3 hidden]5 mins ago
Thank you, Tim Peters.

.

[3 hidden]5 mins ago
Among his various other works, it was Tim Peters along with Gary Robinson who turned pg's "A Plan for Spam" essay into the successful SpamBayes program: https://www.linuxjournal.com/article/6467 .

(EDIT: Robert Woodhead apparently shares in the credit, too: https://www.ceas.cc/papers-2004/136.pdf https://ceas.cc/papers-2004.html . Apparently Rob Hooft was another implementor? I can't find a good source for that though.)

[3 hidden]5 mins ago
This concept of making the best use of any available data to infer useful probabilities seems like a crude form of some ideas behind current LLMs, BUT they (Peters, Graham, Robinson and Woodhead) were doing this work 20 years earlier.
[3 hidden]5 mins ago
Once upon a time I used to read all python-dev posts and bugs.python.org issues, so I got to follow (and get a feeling of knowing) these people I admired working and discussing together. Tim was always a favorite.

Another thing that made me feel close to him was his work on the Python Cookbook 2nd Edition, in which he (and other big names in the community) delightfully talks the reader through intricacies and insights of programming, "We read Knuth so you don't have to".

Watching Tim do his thing was a pleasure. He'd go from long, deep technical dives (that he'd make as approachable as possible) into comic relief and human connection in the fractional wink of an eye.

The brief interactions we had will always be cherished as high points in my Pythonista trajectory.

One favorite of mine was this response: https://www.python.org/doc/humor/#id15. I also like https://www.python.org/doc/humor/#id19 very much.

[3 hidden]5 mins ago
One of my favorite Tim Peters comp.lang.python posts has always been this one in the discussion of doctest:

https://groups.google.com/g/comp.lang.python/c/DfzH5Nrt05E/m...

[3 hidden]5 mins ago
> Ack, on my keyboard I rebound the Tab key to something less annoying: it deletes a random DLL from c:\Windows\SYSTEM\. OK, OK, version 0.0.2 caters to stinking tabs. Patch follows.
[3 hidden]5 mins ago
Tim was one of the people who contributed to my love of the Python language eventually expanding to its entire community.

He was always so willing to foster discussion that nearly every interaction resulted in an improved understanding of some topic and a shared eagerness to try or learn more out something tangential that came up via digression. I never knew how many types of voting systems there were nor how extensively they are researched! He also reached out about a comment [0] I made a few years ago which made me feel less discouraged and more welcome.

Tim's writing style was greatly appreciated by myself and many others. What he had to say was often lengthy, to address reader assumptions or some nuance, but was written with such a jovial tone that it was rarely dull or inaccessible.

RIP Tim

[0]: https://discuss.python.org/t/5778/24

[3 hidden]5 mins ago
The world is a bit dimmer for your absence. We miss you.
[3 hidden]5 mins ago
My last exchange with Tim was him saying that he wasn't feeling up to having visitors.

You never know when an email is going to be the Last Email. Don't put off reconnecting with old friends.

[3 hidden]5 mins ago
Pay your respect firing those ratfuckers in the psf that banned him and made so many people stop giving a shit about Python
[3 hidden]5 mins ago
Gene Hackman's character in Heist says "I tried to imagine a a fella smarter than myself. Then I tried to think 'What would he do?'"

For me, Tim Peters was that guy. I first met Tim in person at the first PyCon at GWU where I rode an elevator with him and Barry Warsaw. Let me tell you, it was a wild ride. He was a genuinely really nice, smart, kind guy.

RIP my friend.

[3 hidden]5 mins ago
In the 1990s I was a novice developer, though I considered myself a hotshot because I was better than those around me in college and grad school.

I was an active participant in the comp.lang.python Usenet channel in the late 1990s.

I learned much from reading Tim Peters' posts. To many, including me, he was affectionately referred to as "Uncle Timmy."

One of the things I learned was that I still had much to learn about the art of programming.

Much of the little I know about numerical methods comes from reading his posts. It was fun to read his stories about Kendall Square Research and the (for me) old days of computing.

I remember posting questions about things I didn't understand, which he figured out and explained. [1]

I remember bringing up concepts I thought were specialized and esoteric, only to find that it was actually just my lack of experience. He gently corrected misapprehensions like mine. [2]

He wrote a lot on comp.lang.python. If I recall correctly, at the 7th International Python Conference in Houston, November 1998, there was Festschrift in his honor. He would use <wink> in his messages, and often end with something like "let's-hear-it-for-lambda-in-curly-assignment-stmts-ly y'rs - tim" (that's from the posting where he outlines the Zen of Python). I wondered if they were collected by looking for messages containing an '-ly' only to have Andrew Kuchling remind me about the "From" header. <wink>

Here is Guido van Rossum starting the thread on "In Memoriam: Tim Peters", at https://discuss.python.org/t/in-memoriam-tim-peters-1952-202... .

Here's an interview of him at PyCon 2006, https://www.youtube.com/watch?v=1wAOy88WxmY

[1] In one case, I was parsing a file format where a field was usually three spaces, but was sometimes an integer. I couldn't figure out why one parser was so much faster than the other. The answer was that one tested for three spaces first, and if that failed tested for the int, while the other did the int test first.

Yes, this is something a senior developer knows. I bring it up now to highlight how hotshot-me didn't have that experience, learned that experience, and learned it from someone who was kind about sharing his knowledge.

[2] I was doing bioinformatics back then, and learned about dynamic programming as way to do sequence alignment. I didn't think others knew about the technique, and thought I was bringing esoteric new information to the discussion. Uncle Timmy had used dynamic programming techniques for speech-to-text software at Dragon Systems, and politely pointed out it was more widely known. He also implemented Python's 'difflib'.

[3 hidden]5 mins ago
Yesterday, out of nowhere I remembered Zen of Python and looked it up to refresh my memory. Prior to that I hadn't known who the author was, so when I saw Tim Peter's name I had a moment of realization that it's the same person who invented Timsort and the same person who was banned from python forums a few years ago for opposing arguing agains bylaw changes.

It feels surreal to learn about his death just the next day. RIP

[3 hidden]5 mins ago
Tim's Blog https://tim-one.github.io/psf/

"Question everything. Love everyone" (from his page)

RIP "Uncle Timmy".

[3 hidden]5 mins ago
Tim's description of dicts always stuck with me by describing the hash table slot states as one of citizen, virgin, or turd[1]. <wink>

1: https://mail.python.org/pipermail/python-list/2000-March/048...

[3 hidden]5 mins ago
Thanks, Tim. Your contributions have helped me feed me family over the years. RIP

(I've taught the Zen of Python, doctests, timsort, and more during my career.)

[3 hidden]5 mins ago
The Tim of Tim Sort, for those that want to identify him quickly.
[3 hidden]5 mins ago
Before I clicked into the link I mentally thought "Wait I hope it's not the guy who invented Tim Sort". Very sad. Trying to retain hope that newer generations of Python folks will keep the zen of Python alive but especially in an agentic era, to some degree that hope does feel less and less realistic by the day.
[3 hidden]5 mins ago
I learned about Timsort and used it in a class as a student long ago. RIP.
[3 hidden]5 mins ago
Obviously a great man, but that was no defense when the intolerant leftists came for him.

https://discuss.python.org/t/three-month-suspension-for-a-co...

[3 hidden]5 mins ago
May he rest in peace, I just learned about Timsort!
[3 hidden]5 mins ago
I have the Zen of python printed out on our office wall and everyone quotes it at least weekly. It started as a bit of a joke, but become a pretty big part of our culture. It's a great set of rules.
[3 hidden]5 mins ago
Nice obituary, would have been cool if Guido had stood up for him when he was witch hunted by Python leadership...
[3 hidden]5 mins ago
https://chrismcdonough.substack.com/p/the-shameful-defenestr...

And after that three months suspension BS drama Tim just got back to work on Python. Saintly.

btw. made me stop having a favourite programming language.

[3 hidden]5 mins ago
As a programmer who used Python, I'm in debt to him.
[3 hidden]5 mins ago
I learned how to be a person on the internet in large part by watching Tim back in the day. RIP.
[3 hidden]5 mins ago
https://news.ycombinator.com/item?id=50450488 links to GvR's announcment on discuss.python.org .
[3 hidden]5 mins ago
I quoted im earlier today in a commit message at work. Not knowing him at all, this news is a bit of a shock.
[3 hidden]5 mins ago
Tim (of Timsort) was a long time python contributor (aka 90s), and a foundation of its early community (>>> import this). Rip.
[3 hidden]5 mins ago
RIP. I didn't know him IRL, but I remember him fondly from the Python Usenet group and Python bug tracker discussions.
[3 hidden]5 mins ago
May his memory be a blessing
[3 hidden]5 mins ago
Very, very sad news. RIP Tim Peters.
[3 hidden]5 mins ago
RIP.
[3 hidden]5 mins ago
Black bar, anyone?
[3 hidden]5 mins ago
Sounds like he was living quietly out of the spotlight, or his family kept news of his death private. He died back in July.
[3 hidden]5 mins ago
Agreed. As it was for Fredrik Lundh (aka "the effbot") a few years ago.
[3 hidden]5 mins ago
I posted my thoughts in a parallel thread, at https://news.ycombinator.com/item?id=50451689 .

I focus on how I learned to be a better software developer from him, in both writing better code and supporting others.

[3 hidden]5 mins ago
(We've since merged that thread hither.)
[3 hidden]5 mins ago
A black bar is appropriate for this news.