Seth Larson

sethmlarson.dev · Personal blog · on HN since 2019

Seth Larson, a Python security developer and urllib3 maintainer, writes about open source security, supply chains, and maintainer funding.

What HN saysHN commenters cite his posts on AI-generated slop security reports and on why deprecation warnings fail in Python libraries, finding the arguments interesting.
47HN people shared it
9linked it in comments
114stories submitted
2.2Kstory points
3 months agolast shared
2019people per year2026

Most-shared posts

  1. 1
  2. 2
    New era of slop security reports for open source
    4 people · 34 points · first shared 2024 · 15 comments on HN
  3. 3
    Urllib3 is fundraising for HTTP/2 support
    4 people · 12 points · first shared 2024 · discussion on HN
  4. 4
    Security for package maintainers
    3 people · 50 points · first shared 2022 · 17 comments on HN
  5. 5
    Open source package urllib3 raised $15,000 in 2021
    3 people · 24 points · first shared 2021 · 2 comments on HN
  6. 6
    People in your software supply chain
    3 people · 22 points · first shared 2022 · 4 comments on HN
  7. 7
    Hand-Drawn QR Codes
    3 people · 14 points · first shared 2025 · discussion on HN
  8. 8
    Help us test system trust stores in Python
    3 people · 9 points · first shared 2022 · discussion on HN
  9. 9
    Urllib3 v2.0.0 is now generally available
    3 people · 6 points · first shared 2023 · discussion on HN
  10. 10
    Add Animal Crossing events to your digital calendar
    3 people · 6 points · first shared 2026 · discussion on HN
  11. 11
    Scream cipher
    2 people · 302 points · first shared 2025 · 102 comments on HN
  12. 12
    How do I pay the publisher of a web page?
    2 people · 89 points · first shared 2024 · 134 comments on HN
  13. 13
    Don't bring slop to a slop fight
    2 people · 13 points · first shared 2025 · discussion on HN
  14. 14
  15. 15
    The vulnerability might be in the proof-of-concept
    2 people · 7 points · first shared 2025 · discussion on HN

What HN people wrote when they linked it

nitwit005 · 2025-12-11
I found the referenced article linked at the top interesting: https://sethmlarson.dev/deprecations-via-warnings-dont-work-for-python… The underlying complaint seems to be about libraries, rather than user behavior.
SethMLarson · 2025-08-19
You can disable YouTube Shorts (kinda) by disabling history: https://sethmlarson.dev/youtube-without-youtube-shorts
Nicook · 2025-06-24
Open source maintainers have been complaining about this for a while. https://sethmlarson.dev/slop-security-reports. I'm assuming the proliferation of AI will have some significant changes on/already has had for open source projects.
fargle · 2024-12-06
> "I suspect this report is (AI-generated|incorrect|spam). Please respond with more justification for this report. See: https://sethmlarson.dev/slop-security-reports" could an AI bot be trained to recognize low-quality security reports and automatically respond as such? at the risk of escalating the inevitable arms race, of course.
neilv · 2025-12-11
> What if we intentionally made deprecated functions return the wrong result … sometimes? Every time it intentionally returns the wrong result, it logs the deprecation warning.1 What if we found that a highway overpass construction material was suboptimal, and we want people to use superior materials, so, every now and then, we send a chunk of concrete plummeting down to the ground, to kill a motorist? Thanks to deprecating like we mean it, they're going to replace that overpass sooner than they would otherwise. You'll thank me later. From the https://sethmlarson.dev/deprecations-via-warnings-dont-work-for-python… that the post opens with: > This API was emitting warnings for over 3 years in a top-3 Python package by downloads urging libraries and users to stop using the API and that was not enough. We still received feedback from users that this removal was unexpected and was breaking dependent libraries. Entirely predictable. Even many of those who saw the deprecation logging, and bothered to make a conscious decision, didn't think you'd actually break the API. > We ended up adding the APIs back and creating a hurried release to fix the issue. Entirely predictable. Save yourself some anguish, and don't break API unnecessarily. Treat it like a guarantee, as much as possible. If it's a real problem for ongoing development, consider using SemVer and multiple versions, like the linked article suggests. (With the deprecated branch getting minimal…
zahlman · 2025-10-03
No, changing this breaks the world. A huge fraction of PyPI becomes completely invalid overnight, and the rest fails the expected version checks. Not to mention that the language is fundamentally designed around the expectation that modules are singleton. I've written about this at length before but I can't easily find it right now (I have way too many bookmarks and not nearly enough idea how to organize them). Yes, you absolutely can create a language that has syntax otherwise identical to Python (or at least damn close) which implements a feature like this. No, you cannot just replace Python with it. If the Python ecosystem just accepted that clearly better things were clearly better, and started using them promptly, we wouldn't have https://pypi.org/project/six/ making it onto https://pypistats.org/top (see also https://sethmlarson.dev/winning-a-bet-about-six-the-python-2-compatibi…
codingglass · 2024-01-31
This a a great example of good work getting 'upstreamed.' The go-to solution for using requests and urllib3 in the browser had been Koen Vossen's 'pyodide-http' package, which you'd install in PyScript/Pyodide and then call 'pyodide_http.patch_all()`. It monkey-patched requests and urllib3 to use the browser API's. [1] Then 'pyodide-http' got adopted into the Pyodide-included packages[2], so you didn't have to specify it for install, just import it and run patch_all(). And now a similar technique has been incorporated directly into urllib3. (Not a direct port - as far as I know Joe Marshall and others did a full reimplementation so that urllib3's API's would be maintained as much as possible). [2] Very cool. Edit: Looks like there's a note to this same effect on Seth Larson's post about urllib3's future. [3] [1] https://github.com/koenvo/pyodide-http [2] https://pyodide.org/en/stable/usage/packages-in-pyodide.html [3] https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support#suppo…
tenacious_tuna · 2022-02-01
I'm a bit surprised at the vitriol here for even just type hints, much less even static typing. I'll admit that static typing is probably more pain than most python devs are willing to pay, but I will die on the hill of type hints being an essential contribution to the language that vastly improves its capabilities. But don't take it from me, take it from the people who wrote urllib3 [1], who insist that typing is even more powerful than unit tests--and they're the developers of a wildly popular library. "People are making it harder to develop without [type hints]" you say, completely ignoring the productivity boon that the type hints have provided to many other people. (I'm also not clear on how the existence of type hints makes it harder to develop without them.) In my personal experience, adding type hints and enforcement to our code has eliminated entire classes of runtime errors, and I find that developing with them makes my life significantly easier. I'll admit some of that may be because dev tools are leaning on the hints, but I ask what's the alternative? You can't static-analysis your way to a definitive type in a dynamic language. I'll try to respond point by point: > I don't want ugly rust-like typing. [...] It looks horrible in Python. You don't want a feature because... it looks bad? I could understand if it's "confusing" or "unclear syntax" or "makes it harder to read", but just "ugly" I have trouble both believing and understanding. > 2. Requires…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close