Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #5454

V

Victor Stinner

Personal blog · vstinner.github.ioprogrammingsystems

Victor Stinner's personal blog at vstinner.github.io covers programming and systems. Since 2018, 15 different Hacker News readers have linked it 19 times, most often “The History and rationale of the Python 3 Unicode model for the operating system”. No feed was found, so read it on the site itself.

No feed foundVisit the blog
19mentions?
15HN people?
2018–2025first – last linked?
Links on Hacker News per year · peak 4 in 2018

Too few sampled comments (8) to say how often HN recommends it.?

Why HN links it

HN readers link Victor Stinner's blog for his Python internals work: Unicode and filesystem encoding, PEP 383 surrogateescape, UTF-8 mode, and stable benchmarking. Commenters point to it as a way to learn these topics.

Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Coding, scientific development, finance, data analysis, visualization, statistics, and machine learning

Most-linked posts?

  1. The History and rationale of the Python 3 Unicode model for the operating system
    3 people · 3 mentions · first linked 2021-01-21
  2. Python C API: Add functions to access PyObject
    2 people · 3 mentions · first linked 2021-10-06
  3. Python 3.7 UTF-8 Mode
    2 people · 2 mentions · first linked 2018-05-03

What Hacker News says?

  1. nicolaslem · 2018-10-06Recommends
    For anyone interested in learning why Python 3 works this way I highly recommend the blog of Victor Stinner[0]. As for the article, this is nothing new. The problem is similar to the issues raised by Armin Ronacher[1]. These problems are well known and Python developers address them one at a time. Issues around these egde cases have improved since the initial release of Python 3.0. [0] http://vstinner.github.io [1]…

    Comment linking /

    on “The Python Unicode Mess”
  2. Submitted The History and rationale of the Python 3 Unicode model for the operating system as a story · 9 points

    HN discussion
  3. __s · 2020-01-18Recommends
    Victor Stinner (python dev) wrote a good series on trying to get stable benchmarks in python: https://vstinner.github.io/journey-to-stable-benchmark-syste... https://vstinner.github.io/journey-to-stable-benchmark-deadc... https://vstinner.github.io/journey-to-stable-benchmark-avera...

    Comment linking /journey-to-stable-benchmark-average.html

    on “Measure code execution time accurately in Python”
  4. Submitted Isolate Python Subinterpreters as a story · 4 points

    HN discussion
  5. sametmax · 2018-05-04Recommends
    Funnily, because of the 2/3 transition, Python became a language obsessed with encoding correctness. Hence the team spent a great deal improving the situation, from version to version during the last 10 years. For a fantastic read (from Victor Stinner himself) on all the work done and get how twisted this get when you want to be cross plateform and abstract it: https://vstinner.github.io/python37-new-utf8-mode.html…

    Comment linking /python37-new-utf8-mode.html

    on “The hell that is filename encoding (2016)”
  6. Submitted Pass the Python thread state explicitly as a story · 3 points

    HN discussion
  7. So, my favorite thought process from the Python 2 to 3 transition comes from staring deeply into the hubris of the Python 3000 effort itself as wanting to insist "everything is Unicode"; on the one hand they were trying to shame developers using Python 2 for using it incorrectly (even though it was totally possible to handle Unicode correctly with that stack), yet on the other they were pumping out ridiculous unavoi…

    Comment linking /python30-listdir-undecodable-filenames.html

    on “Golang's network stack attempts to parse HTTP headers as UTF-8”
  8. Submitted Remove private C API functions as a story · 2 points

    HN discussion
  9. If you limit yourself to the West Europe languages, you can just go with the stdlib: >>> import unicodedata >>> print( unicodedata.normalize('NFKD', "éèêàùçÇ").encode('ascii','ignore')) eeeaucC But if you need to project (transliterate to ascii) Arabic, Russian or Chinese, unidecode is close to black magic: >>> from unidecode import unidecode >>> unidecode("北亰") 'Bei Jing ' Anyway, always remember that str.encode(),…

    Comment linking /posix-locale.html

    on “Projecting Unicode to ASCII”
  10. Submitted Python C API: Add functions to access PyObject as a story · 2 points

    HN discussion
  11. Found some history: https://vstinner.github.io/python30-listdir-undecodable-file... Includes "Modify os.listdir(str) to ignore silently undecodable filenames, instead of returning them as bytes", but not later work where apparently this was changed to use surrogates.

    Comment linking /python30-listdir-undecodable-filenames.html

    on “There are many ways to fail to read a file in a C program”
  12. Submitted Python 3.7 UTF-8 Mode as a story · 2 points

    HN discussion
  13. But isn't 'surrogateescape' supposed to address this? (no expert) https://vstinner.github.io/pep-383.html

    Comment linking /pep-383.html

    on “Frozen String Literals: Past, Present, Future?”
  14. Submitted Python C API: Add functions to access PyObject – Victor Stinner blog 3 as a story · 1 points

    HN discussion
  15. Thanks, yeah that's basically what I thought, but it's nice to know it was the same year! If only UTF-8 had been invented a little earlier, we could have avoided so much pain :-( The idea of global varables like LANG= and LC_TYPE= in C is utterly incoherent. Python's notion of "default file system encoding" is likewise incoherent. You can obviously process strings with two different encodings in the same program !!!…

    Comment linking /painful-history-python-filesystem-encoding.html

    on “cuneicode, and the Future of Text in C”
  16. Submitted Python C API: Add functions to access PyObject as a story · 1 points

    HN discussion
  17. Submitted How Victor Stinner fixed a very old GIL race condition in Python 3.7 as a story · 1 points

    HN discussion

Search all of HN for vstinner.github.io

Linked by the same people?