Submission timeline
2007–2026One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.
First comments on top threads
HN comment orderReally good article. You'll get nothing from me but heartfelt agreement. I especially liked that the article was giving numbers about how inefficient UTF8 would be to store Asian text (not really apparently). Also insightful, but obvious in hindsight: Not even in utf-32 you can index specific character in constant time due to the various digraphs. The one property I really love about UTF8 is that you get a free consistency check as not every arbitrary byte sequence is a…
> In the UNIX world, narrow strings are considered UTF-8 by default almost everywhere. Because of that, the author of the file copy utility would not need to care about Unicode It couldn’t be further from the truth. Unix paths don’t need to be valid UTF-8 and most programs happily pipe the mess through into text that should be valid. (Windows filenames don’t have to be proper UTF-16 either) Rust is one of the few programming languages that correctly doesn’t…
This resonate so much for me, in VLC. VLC has a very large number of users on Windows (80% of our users), yet almost none of the dev use Windows to code. Therefore, we use UTF-8 char* everywhere, notably in the core. We use UTF-16 conversions only in the necessary Windows modules, that use Windows APIs. Being sure we were UTF-8 everywhere took a lot of time, tbh... But the worse are formats like ASF (WMV) or MMS that use…
The Python problem is amusing. Python 3 has three representations of strings internally (1-byte, 2-byte, and 4-byte) and promotes them to a wider form when necessary. This is mostly to support string indexing. It probably would have been better to use UTF-8, and create an index array for the string when necessary. You rarely need to index a string with an integer in Python. FOR loops don't need to. Regular expressions don't need to. Operations that return a position into…
The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.
- Breakout years
- 4
- Total points
- 1168
- Total comments
- 774
100+ points or 50+ comments
reference only — not used in Hall rules or ranking
reference only — not used in Hall rules or ranking
Every submission
| Date | Title as submitted | By | Points | Comments |
|---|---|---|---|---|
| 2012-04-29 | The UTF-8-Everywhere ManifestoFirst breakout · Best thread | bearpool | 381 | 182 |
| 2012-10-17 | UTF-8 Everywhere: A Manifesto | e1ven | 2 | 0 |
| 2012-10-25 | UTF-8 Everywhere | wamatt | 16 | 2 |
| 2014-01-16 | UTF-8 Everywhere | angersock | 275 | 149 |
| 2014-04-05 | UTF-8 Everywhere | dsego | 1 | 0 |
| 2015-03-15 | UTF-8 Everywhere | lfowles | 5 | 1 |
| 2015-12-14 | The UTF-8 Manifesto | gragas | 3 | 0 |
| 2016-05-10 | UTF-8 Everywhere Manifesto | based2 | 8 | 0 |
| 2016-06-07 | Why you should use UTF-8 (not UTF-16) everywhere | xvilka | 4 | 0 |
| 2016-06-19 | UTF-8 Everywhere (2012)Hall induction | thefox | 122 | 153 |
| 2019-10-10 | UTF-8 Everywhere | srathi | 2 | 0 |
| 2019-12-03 | UTF-8 Everywhere | pcr910303 | 2 | 0 |
| 2020-04-14 | UTF-8 EverywhereLatest 20+ point return | pcr910303 | 326 | 281 |
| 2024-02-15 | UTF-8 Everywhere | snats | 2 | 0 |
| 2024-05-22 | The UTF-8-Everywhere Manifesto (2012) | aragonite | 1 | 1 |
| 2024-06-05 | UTF-8 Everywhere | throw0101d | 12 | 3 |
| 2024-09-30 | UTF-8 Everywhere | throw0101b | 2 | 1 |
| 2025-05-15 | UTF-8 Everywhere | Tomte | 4 | 1 |
