Jump to content

Wikipedia:Articles for deletion/Tim Peters (software engineer)

From Wikipedia, the free encyclopedia
The following discussion is an archived debate of the proposed deletion of the article below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the article's talk page or in a deletion review). No further edits should be made to this page.

The result was keep‎. Ritchie333 (talk) (cont) 10:41, 25 January 2025 (UTC)[reply]

Tim Peters (software engineer) (edit | talk | history | protect | delete | links | watch | logs | views) – (View log | edits since nomination)
(Find sources: Google (books · news · scholar · free images · WP refs· FENS · JSTOR · TWL)

While relatively well known in the Python community I'm not finding general reliable sources to establish notability. NE Ent 21:17, 9 January 2025 (UTC)[reply]

DELETE No notability for wikipedia, would be enough for pythonpedia thou. Warmonger123 (talk) 22:37, 9 January 2025 (UTC)[reply]
  • Note: This discussion has been included in the list of Software-related deletion discussions. Morbidthoughts (talk) 02:48, 10 January 2025 (UTC)[reply]
  • Note: This discussion has been included in the list of People-related deletion discussions. Morbidthoughts (talk) 02:51, 10 January 2025 (UTC)[reply]
  • Comment: Some coverage here: https://www.theregister.com/2024/08/09/core_python_developer_suspended_coc/ ~Darth StabroTalk  Contribs 03:20, 10 January 2025 (UTC)[reply]
  • Comment: The CoC action has also been covered twice in LWN, although you could argue that that's more coverage of the Python community than Peters himself. If consensus is that he doesn't meet GNG, I'd suggest redirect to Timsort. Adam Sampson (talk) 18:43, 11 January 2025 (UTC)[reply]
    Note that Peters also appears in stories in at least ten issues of Linux Weekly News in the time from 2014 to 2022, before his Code of Conduct misadventure: 2014, 2015, 2017, July 2018,December 2018, February 2019, August 2019, 2020, February 2022, September 2022. After his suspension he also reappears on 9 December 2024, in a normal, technical Python-news story with only tangential links to his suspension. (There may or may not be other stories which my Google search missed: LWN's own search doesn't seem to work.)
    In the old LWN archives reaching up to 23 May 2002 Peters appears five times: 1999, June 2000, August 2000, November 2000, 2001. Around the late '90s and early 2000s, though, LWN mostly leant on the "Dr. Dobb's Python-URL!" email newsletter (Google search inside LWN, partial and partly-broken IA archive), which it would reproduce every week, for its Python coverage so Peters mostly appears there. But one could try to reject the Python-URL as a source as lacking independence, since although it was published by Dr. Dobb's it seems it was (usually?, always?) actually written by a comp.lang.python participant. I wouldn't recommend it in this case though, as it would mean suggesting that maybe Frederik Lundh and others were making up what Tim Peters said.
    (LWN also contains lots of primary material, especially since it regularly reproduces a whole mailing-list email as a webpage and links to that. But none of the pages linked here are like that.) RW Dutton (talk) 14:20, 14 January 2025 (UTC)[reply]
    While we're looking at Python-related Peters appearances in reliable-source periodicals, here is an appearance in Sys Admin magazine (ISSN 1061-2688), volume 12 issue 12, December 2003, p. 6, in "Python in Systems Administration: Part I — Better Scripting" by Cameron Laird:

    The idea can be a hard pill to swallow at times, because it conflits with the "code re-use" imperative we all learn. Tim Peters is a senior engineer with Zope Corporation whose standing in the Python community is second only to Python's inventor, Guido van Rossum. Peters once made the case in these words: "It's easier to write appropriate code from scratch in Python than to figure out how to use a package profligate enough to contain canned solutions for all common and reasonable use cases."

    Like various mentions of Peters in LWN, this one is not trivial. The author uses Peters' example to explain the main argument of his article, and also appeals to Peters' authority to help justify it. The one catch here is that Laird himself is another Python community activist. But—aside from the fact that Laird did not edit the magazine or approve the article—any complaint about lack of independence is, as with his Python-URL mentions, only relevant here if one wants to argue that maybe the Python community has been involved in a co-ordinated multi-decade campaign to intentionally overstate Peters' importance to the Python community. RW Dutton (talk) 13:00, 15 January 2025 (UTC)[reply]
KEEP If someone has created two things that are notable (Timsort and Zen of Python) it makes sense that that person has notability. Also, without this article, how would anyone know the creators of those two things is the same person? LarsHolmberg (talk) 09:36, 14 January 2025 (UTC)[reply]
Peters is probably also mainly responsible for SpamBayes (though Gary Robinson shares significant credit).
(Among Python things, he also created the doctest module, which has its own WP page.) RW Dutton (talk) 14:51, 14 January 2025 (UTC)[reply]
KEEP. (I confess my interest as the first editor of Tim Peters (software engineer).) I can write more on Peters' notability, but I should respond to others first.
What is meant by "While relatively well known in the Python community I'm not finding general reliable sources to establish notability."? Is the concern that sources like the PSF and the PyPy Team lack independence when it comes to Peters? Or is the suggestion that being one of the most influential Python core developers is not in itself high-impact enough to make one notable? Or that Peters is maybe not really that influential inside Python? In any case, Peters' impact outside of Python is provably high enough to make him notable on its own. RW Dutton (talk) 12:37, 14 January 2025 (UTC)[reply]
  • Notability in relation to Timsort: some of the evidence for Peters' notability in relation to Timsort. (Apologies to all for the late submission, but this has taken a lot of time.)
  • FOLDOC I'm not sure whether English Wikipedia considers FOLDOC a good source these days, but Peters has an entry there, simply as "[t]he implementer of Timsort".
  • Google V8 team Google's official V8 dev blog on V8's (and so Chrome's) adoption of Timsort also called attention to Peters:

    Timsort, initially developed by Tim Peters for Python in 2002, could best be described as an adaptive stable Mergesort variant. Even though the details are rather complex and are best described by the man himself or the Wikipedia page, the basics are easy to understand.

  • Sebastian Wild and collaborators In 2022 the University of Liverpool put out "Liverpool computer scientists improve Python sorting function" (picked up by IEEE Xplore, summarised with no Peters material by ACM TechNews). This was about work done related to Timsort by Sebastian Wild, a senior lecturer in CS at Liverpool as well as head of the Algorithms Group at the University of Marburg, and others.

    Dr. Wild had been studying TimSort, a custom sorting algorithm invented by Tim Peters, an influential Python developer, and specifically its merge policy, which determines the order in which detected runs are successively "merged" to form longer runs, until eventually the list is fully sorted.

    Dr. Wild said ... "I'm very happy that Tim Peters himself took our idea into the CPython reference implementation. His Timsort implementation is a masterpiece of algorithm engineering, and nobody knows this code like he does."

    Now this was more or less a university press release. So not exactly the most prestigious kind of scientific communication, but we don't need peer-reviewed publications for this purpose. In any case Wild's quoted statement about Peters is a direct statement from a topic expert. Also, to be clear, it's a press release from the University of Liverpool, something which is quite independent of Peters and the Python commmunity. Nor is Wild a Pythonist. On the other hand, Peters had accepted Wild's suggested changes to CPython's Timsort (and maybe might accept future changes?), so arguably that reduces Wild's independence here.
Wild has given further coverage to Peters in other non-peer-reviewed but expert publications. In his Fall 2022 lectures for Liverpool's COMP526 "Efficient Algorithms", specifically in video 3-7 of unit 3:
  • from 3:34, some heartening admiration ;) as well as information about how Peters managed the revision of Python's timsort to Powersort[1]
  • at 5:20 and 6:07 discussion of why and how Peters came up with the merge system for Timsort[2]
Wild also covered this ground in his "Quicksort, Timsort, Powersort - Algorithmic ideas, engineering tricks, and trivia behind CPython’s new sorting algorithm" talk at PyCon US 2023 (Wild's upload of the video):
  • at 11:34, a similar discussion of Peters' original work on the merge system[3]
  • at 5:30, some new information about how Timsort got its name[4]
Wild gave a conference talk with the same name (and presumably much the same material) at Dagstuhl Seminar 23211, "Scalable Data Structures" in 2023, but there seems to be no recording of that (and it would not have been peer-reviewed either anyway).
Wild also coauthored the Gelling, Nebel, Smith and Wild "Multiway Powersort" paper which was accepted for the ALENEX 2023 symposium:

Indeed, the need of a fast and stable general-purpose sorting method for the CPython reference implementation of the Python programming language was the main motivation for Tim Peters to develop a new variant of Mergesort, known as Timsort

  • Other CS research literature: several other research papers also mention Peters in ways beyond simply naming or discussing Timsort or citing Peters' work. Here are a few.
  • Nicolas Auger, Vincent Jugé, Cyril Nicaud and Carine Pivoteau, "On the Worst-Case Complexity of TimSort":

    TimSort is a sorting algorithm designed in 2002 by Tim Peters [ 9], for use in the Python programming language. It was thereafter implemented in other well-known programming languages such as Java

    And, as advocated by de Gouw et al. and Tim Peters himself, we strongly believe that the best solution would be to correct the algorithm as in the current version of Python, in order to keep it clean and simple.

There is also a conference poster for this paper. It mentions Peters twice, including by beginning a graphical TimSort timeline with a small photograph of him and the text "Invented by Tim Peters".
  • CS and practitioner textbooks Professional and college textbooks from major publishers which cover Timsort have also made a point of crediting Peters. This is again a partial list. It omits all Python books, and several others.
  • An undergraduate algorithms textbooks which discusses Timsort in some detail and names Peters as its creator: Data Structures and Algorithms in Java: A Project-Based Approach by Myers, ISBN 9781009260336 , CUP 2025, section 10.4.3 "Merge Sort in Practice: Python’s Timsort", p. 323:

    Timsort, named after its creator, Tim Peters, is the default sorting algorithm in Python ...

  • A short description in another algorithms textbook from Wiley, Data Structures and Algorithms in Java by Goodrich, Tamassia, and Goldwasser, 6th ed., ISBN 9781118808573 , Wiley 2014, ch. 13, p. 562:

    Tim-sort (designed by Tim Peters) is a hybrid approach that is essentially a bottom-up merge sort that takes advantage of initial runs in the data while using insertion-sort to build additional runs. Tim-sort has been the standard sorting algorithm in Python since 2003, and it has become the default algorithm for sorting arrays of object types, as of Java SE 7.

  • A two-page analysis of Timsort in Disk-Based Algorithms for Big Data by Healey, "designed for senior undergraduate and graduate students, as well as professionals" ISBN 9781315302850, CRC Press 2016, Chapter 3.3, "Timsort":

    Timsort was proposed by Tim Peters in 2002. It was initially implemented as a standard sorting method in Python. It is now being offered as a built-in sorting method in environments like Android and Java.

RW Dutton (talk) 20:40, 16 January 2025 (UTC)[reply]
Significant coverage? Some (not all) of these Timsort-related mentions of Peters are fairly brief. Are they enough to be regarded as 'significant coverage'? Here I will point to something which Wikipedia:Arguments_to_avoid_in_deletion_discussions#Trivial_coverage claims is a (bad) example argument:
While WP:ATA is, it seems, not an English Wikipedia guideline, I think the argument is worth considering here. The "Multiway Powersort" paper credits Timsort (and thus Peters) with bringing strong adaptive sorting performance to widely-used standard libraries for the first time. [5] "Adaptive ShiversSort" even credits it with helping to revive interest in sorting research![6] We're not talking about the Three Blind Mice here. The academics also clearly see the fact that Timsort came from Peters, an industry guy, as an important piece of context. RW Dutton (talk) 21:26, 16 January 2025 (UTC)[reply]

Relisted to generate a more thorough discussion and clearer consensus.
Please add new comments below this notice. Thanks, Randykitty (talk) 10:51, 17 January 2025 (UTC)[reply]

  • Notability in relation to Timsort (continued):
  • University lectures Peters has been mentioned a number of times in connection with Timsort in undergraduate CS lectures at major universities. Examples include:
RW Dutton (talk) 09:34, 21 January 2025 (UTC)[reply]
Keep: This one's tough but I'm leaning Keep. Peters's suspension from the Python community was covered in LWN (as mentioned above) and in The Register. This meets the coverage requirements for notability. WP: BLP1E doesn't apply here because he is not a low-profile individual, as evidenced by his creation of Timsort and Zen of Python. HyperAccelerated (talk) 02:54, 24 January 2025 (UTC)[reply]

References

  1. ^ "And here's a little comment, um, just from ... well yeah, Tim Peters himself put the code together in the end, and decided after ... He got very interested in playing with this, and experimenting with different options, and at the end, ah, settled for this one." At this point Wild's slides show, in one corner, a picture of an email from Peters announcing his acceptance of the Powersort modificiations
  2. ^ "Now, so far it sounds a little similar to bottom-up Mergesort, but remember in bottom-up Mergesort we use the queue, and we always paired up things as they arrived in the same order, and always pairs all the way back. And this really didn't work so well, which is something that Tim Peters realised, so instead he uses a different way. So he puts the runs on the stack, so the topmost is the most recent that you just discovered. And then there's the set of rules that tells you want to do. And I think these rules are still somewhat magic, that they work, at all. We'll see that they don't always work that great, indeed. But that's something that was just discovered a few years ago. And yeah, in Tim Peters' own words, these rules were the first thing he discovered that didn't obviously suck, so he stuck with them, but they're indeed not the most thoughtful part of Timsort."
  3. ^ "Why exactly these rules? Well! Tim even publicly confessed, so I'm just citing the bugtracker here, that he didn't spend so much time working on, working on those: it was the first thing that kind of worked, and he decided to stick with it, until ... unless there was a good reason not to, and at the time there was no good reason not to. Unfortunately there is a good reason not to."
  4. ^ "Just as an aside, 'Timsort' was—the name started as an inside joke among the core developers, and wasn't really Tim's choice. But yeah, it's got ... it stuck, and once the algorithm was exported to other libraries, it became known by that, so, ah ... be careful with choosing your names. I tried to give a name before I published the algorithm, so that this is off the plate."
  5. ^ "Again, Timsort did pioneering work in bringing such adaptive sorting to most modern standard libraries (including Python, Java, Android runtimes, the V8 Javascript engine, Rust, Swift, Apache Spark, Octave, and the NCBI C++ Toolkit), giving users linear complexity for sufficiently sorted inputs."
  6. ^ "Hence, the prominence of such a custom-made algorithm over previously preferred optimal algorithms contributed to the regain of interest in the study of sorting algorithms"
The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the article's talk page or in a deletion review). No further edits should be made to this page.