Top all-time · #613
Tall, Snarky Canadian
Personal blog · snarky.caprogramming
Tall, Snarky Canadian is a personal blog at snarky.ca about programming. Since 2015, 100 different Hacker News readers have linked it 199 times, most often “The history behind the decision to move Python to GitHub”. It is still writing: the last post was on 2026-08-16, and you can follow it by feed.
Sometimes recommended · 8 of 40 sampled comments recommend it?
Why HN links it
HN readers link Brett Cannon's blog for clear, high-level explanations of Python internals, packaging, and the Python 2/3 and GitHub decisions, often as background reading.
- Recommended for · 8 comments
- called very informative, nice, informative, great, a good and an awesome overview, and one you might be interested in
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Python core developer. Tall, snarky Canadian.
Most-linked posts?
- The history behind the decision to move Python to GitHub10 people · 13 mentions · first linked 2017-02-09
- Proposing a Struct Syntax for Python7 people · 7 mentions · first linked 2023-06-02
- Why to use ‘python -m pip’6 people · 6 mentions · first linked 2019-11-02
- The social contract of open source6 people · 6 mentions · first linked 2021-04-25
- The Python Launcher for Unix6 people · 6 mentions · first linked 2021-08-14
- Why Python 3 exists5 people · 5 mentions · first linked 2017-01-19
- What the Heck Is Pyproject.toml?4 people · 6 mentions · first linked 2020-04-01
- Setting expectations for open source participation (2018)4 people · 5 mentions · first linked 2018-09-06
- How to pitch Python 3 to management4 people · 4 mentions · first linked 2016-03-09
- Classifying Python virtual environment workflows4 people · 4 mentions · first linked 2023-01-02
What Hacker News says?
the coroutines are run sequentially by an "event loop"/"coroutine runner" that wakes them up and lets them run for a bit when appropriate, kind of like an OS's scheduler (on a single core machine). if the runner is the OS, `await foo(..)` is kind of like a syscall, where the coroutine is suspended and control is handed back to the runner to do whatever is requested. i guess the difference from normal threads (preemp…
Comment linking /how-the-heck-does-async-await-work-in-python-3-5/
on “Async-await on stable Rust”Submitted Why Python 3 Exists as a story · 418 points
HN discussionBackground info about why this migration and considered alternatives https://snarky.ca/the-history-behind-the-decision-to-move-py...
Comment linking /the-history-behind-the-decision-to-move-python-to-github/
on “Python moved to GitHub”Submitted What is the core of the Python programming language? as a story · 232 points
HN discussionhttps://snarky.ca/the-history-behind-the-decision-to-move-py...
Comment linking /the-history-behind-the-decision-to-move-python-to-github/
on “Python moved to GitHub”Submitted Taking a month off from OSS volunteering as a story · 229 points
HN discussionI commented on this in another thread, but I'll repeat it here. The guy in charge of making the decision weighed the fact that it's closed source, and it still won. > But to me, the development process is more important than worrying whether a cloud-based service publishes its source code... This is especially not a worry as GitHub is not a walled garden; its extensive SDK allows for downloading any and all data tha…
Comment linking /the-history-behind-the-decision-to-move-python-to-github/
on “Python moved to GitHub”Submitted Why to use ‘python -m pip’ as a story · 135 points
HN discussion- di · 2017-02-12
More details on the decision: https://snarky.ca/the-history-behind-the-decision-to-move-py...
Comment linking /the-history-behind-the-decision-to-move-python-to-github/
on “Python moved to GitHub” Submitted What the Heck Is Pyproject.toml? as a story · 133 points
HN discussionDirectly from core devs: https://snarky.ca/why-python-3-exists/
Comment linking /why-python-3-exists/
on “Removing Python 2.x support from Django for version 2.0”Submitted Use `Python -m Pip` as a story · 131 points
HN discussion3.7 makes it easier to use dynamic imports. https://snarky.ca/lazy-importing-in-python-3-7/
Comment linking /lazy-importing-in-python-3-7/
on “Python startup time: milliseconds matter”Submitted Why it took 4 years to get a lock files specification as a story · 123 points
HN discussionI would like to also add Brett Cannon: https://snarky.ca His blog is very informative.
Comment linking /
on “Ask HN: Which developers do you closely follow?”Submitted How I stay happy making open source software as a story · 115 points
HN discussionFrom Brett Cannon http://www.snarky.ca/why-python-3-exists I think maybe the Python 2/3 split was a huge performance piece on how NOT to evolve a language, but we just copied Perl 6. Do you think a stop the world, forced upgrade is something that should be done in the future? Was it avoidable?
Comment linking /why-python-3-exists
on “Code that will break in Python 4”Submitted Where are we in the Python 3 transition? as a story · 110 points
HN discussionWith PEP-518 being 5 years old it's still relatively new, and most tools have implemented the support for it relatively recently. The key introduction article was written exactly one year ago: https://snarky.ca/what-the-heck-is-pyproject-toml/
Comment linking /what-the-heck-is-pyproject-toml/
on “How to make a Python package in 2021”Submitted Selecting a programming language can be a form of premature optimization as a story · 90 points
HN discussionEven snarky.ca has moved, from Silvrback to Ghost! https://snarky.ca/why-i-changed-my-blogging-platform-to-ghos...
Comment linking /why-i-changed-my-blogging-platform-to-ghost-pro/
on “Why we transitioned from Medium back to our own blog”Submitted If I were designing Python's import from scratch as a story · 80 points
HN discussionFunnily enough, an hour or so ago I was trying to track down a Python blog I used to enjoy and went on a "This blog has moved merry-go-round... http://sayspy.blogspot.co.uk/2013/07/moving-this-blog-to-med... https://medium.com/coder-who-says-py/i-have-moved-over-to-sv... https://nothingbutsnark.svbtle.com/moving-the-blog-to-silvrb... And eventually to https://snarky.ca
Comment linking /
on “Why we transitioned from Medium back to our own blog”Submitted Don't return named tuples in new APIs as a story · 72 points
HN discussionPython core developer Brett Cannon wrote a nice(and long) post about understanding it a couple of months ago[1], that might help. After reading that I felt like I could use it, but never got the chance to try. [1] http://www.snarky.ca/how-the-heck-does-async-await-work-in-p...
Comment linking /how-the-heck-does-async-await-work-in-python-3-5
on “I don't understand Python's Asyncio”Submitted The history behind the decision to move Python to GitHub as a story · 67 points
HN discussionI 100% agree on this. But it's been pretty hilarious on how obstinate tool makers are about changing to Python's new pyproject.toml [1] Python packaging is a bit of a mess already, so when I recently started a new small package I wanted to choose tooling that would not clutter, but a fair amount of tool makers were reluctant to allow code into their repo that would use the unified toml rather than a ton of separate…
Comment linking /what-the-heck-is-pyproject-toml/
on “The creeping scourge of tooling config files in project root directories”Submitted How async/await works in Python 3.5 as a story · 63 points
HN discussion> That was me in a parallel thread. Java and JavaScript internally use UTF-16 encoding. I also mentioned C, which treats strings as byte arrays, and C++, which supports C strings as well as introducing a string class that is still just byte arrays. C and C++ doesn't really have Unicode support, and most C and C++ applications don't support unicode. There are libraries that you need to use to get this kind of support…
Comment linking /why-python-3-exists/
on “Python 2.7.18, the last release of Python 2”Submitted Why `print` became a function in Python 3 as a story · 58 points
HN discussion