Top all-time · #5454
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.
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?
- The History and rationale of the Python 3 Unicode model for the operating system3 people · 3 mentions · first linked 2021-01-21
- Python C API: Add functions to access PyObject2 people · 3 mentions · first linked 2021-10-06
- Python 3.7 UTF-8 Mode2 people · 2 mentions · first linked 2018-05-03
What Hacker News says?
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”Submitted The History and rationale of the Python 3 Unicode model for the operating system as a story · 9 points
HN discussionVictor 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”Submitted Isolate Python Subinterpreters as a story · 4 points
HN discussionFunnily, 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)”Submitted Pass the Python thread state explicitly as a story · 3 points
HN discussionSo, 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”Submitted Remove private C API functions as a story · 2 points
HN discussionIf 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”Submitted Python C API: Add functions to access PyObject as a story · 2 points
HN discussionFound 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”Submitted Python 3.7 UTF-8 Mode as a story · 2 points
HN discussionBut 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?”Submitted Python C API: Add functions to access PyObject – Victor Stinner blog 3 as a story · 1 points
HN discussionThanks, 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”Submitted Python C API: Add functions to access PyObject as a story · 1 points
HN discussionSubmitted How Victor Stinner fixed a very old GIL race condition in Python 3.7 as a story · 1 points
HN discussion