Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    M

    Markus Kuhn

    cl.cam.ac.uk/~mgk25 · Personal blog · on HN since 2008

    Markus Kuhn, a Cambridge computer security researcher, keeps reference pages on UTF-8, Unicode fonts, quotation marks, paper sizes and TV eavesdropping.

    Visit blogHN submissions
    SecurityOpen Source & LinuxWriting & Thinking
    What HN says

    HN commenters cite his pages as go-to references on UTF-8, X11 fonts, quote marks and ISO paper sizes, and one recommends his OTPW one-time password tool.

    Stats for nerds
    133HN people shared it
    75linked in comments
    907story points
    Apr 2026last shared
    2008people per year2026

    Top posts on HN

    1. 1
      UTF-8 history (2003)
      46 people · 426 points · first shared 2008 · 52 comments on HN
    2. 2
      ASCII and Unicode quotation marks
      10 people · 183 points · first shared 2013 · 186 comments on HN
    3. 3
      International Standard Paper Sizes
      7 people · 92 points · first shared 2014 · 73 comments on HN
    4. 4
      Modernized time.h for ISO C (1998)
      1 person · 61 points · first shared 2014 · 17 comments on HN
    5. 5
      A summary of the international standard date and time notation (2004)
      7 people · 57 points · first shared 2009 · 5 comments on HN
    6. 6
      UTC with Smoothed Leap Seconds (UTC-SLS)
      7 people · 46 points · first shared 2011 · 3 comments on HN
    7. 7
      OTPW – A one-time password login package
      3 people · 20 points · first shared 2010 · 5 comments on HN
    8. 8
      UTF-8 and Unicode FAQ for Unix/Linux
      8 people · 7 points · first shared 2008 · Discussion on HN
    9. 9
      IBM PC Real Time Clock Should Run in UT
      3 people · 5 points · first shared 2013 · 2 comments on HN
    10. 10
      UTF-8-demo.txt (2002)
      5 people · 2 points · first shared 2014 · 2 comments on HN

    What HN people wrote when they linked it

    • svatApr 2021

      I remember encountering this wonderful page/website about ten years ago, and I was struck by two things:

      1. How effective it was (and is). Both the demonstrations here (of Boyer-Moore algorithm, and of Knuth-Morris-Pratt) illustrate the algorithms very clearly (the same for the linear-time majority vote algorithm); the interactive (web) medium really helps (just hyperlinks and maybe the back button); and the technology is nothing more than a hand-coded HTML file (with abundant "<BR>"s), already over a decade old when I saw it. (The DOCTYPE line in the source mentioning "HTML 3.2" lets us date this to 1997 I guess, as HTML 3.2 was released in January 1997 and HTML 4 in December 1997.)

      2. The page one level up from this (https://www.cs.utexas.edu/users/moore/best-ideas/index.html), titled ``My'' Best Ideas, which opens [Incidentally, this usage of `` and '' reflects ancient fonts—you can see the same usage in Emacs, TeX, etc—explained well by Markus Kuhn here: https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html] with:

      > Here are the technical achievements of which I am most proud. I think such a list gives more insight into my research than, say, the traditional ``Honors and Awards'' section of a resume.

      And it lists eight ideas. Firstly, what a great idea to make such a list. And secondly, an impressive research career, and it's a successful life, to end with a portfolio of 8 ideas of which one can be proud. One doesn't need much more, and to have a handful of good ideas is…

    • js2Jan 2011

      The wikipedia page on UTF-8 -- http://en.wikipedia.org/wiki/UTF-8 -- is excellent, and includes a link to this wonderful anecdote from Rob Pike - http://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt

      UTF-8 was designed, in front of my eyes, on a
      placemat in a New Jersey diner one night in September or so 1992.

      What happened was this. We had used the original UTF from ISO 10646
      to make Plan 9 support 16-bit characters, but we hated it. We were
      close to shipping the system when, late one afternoon, I received a
      call from some folks, I think at IBM - I remember them being in Austin
      - who were in an X/Open committee meeting. They wanted Ken and me to
      vet their FSS/UTF design. We understood why they were introducing a
      new design, and Ken and I suddenly realized there was an opportunity
      to use our experience to design a really good standard and get the
      X/Open guys to push it out. We suggested this and the deal was, if we
      could do it fast, OK. So we went to dinner, Ken figured out the
      bit-packing, and when we came back to the lab after dinner we called
      the X/Open guys and explained our scheme. We mailed them an outline
      of our spec, and they replied saying that it was better than theirs (I
      don't believe I ever actually saw their proposal; I know I don't
      remember it) and how fast could we implement it? I think this was a
      Wednesday night and we promised a complete running system by Monday,
      which I think was when their big vote was.

    • feldrimDec 2021

      > The UTF-8 encoding was invented in 1992 and standardized by January 1993. UTF-8 was adopted by the unix world over the following years due to its backwards-compatibility

      I'd like to add some historical background the UTF-8 problem mentioned there. UTF-8 was standardized in 1992. But the first Linux using UTF-8 as the default encoding was RedHat in 2002 [1]. 10 years later!

      On the other hand, Windows started using Unicode before it was standardized, and back then there was no UTF-8. Or as Raymond Chen put it, "Windows adopted Unicode before the C language did" [2].

      [1] https://www.cl.cam.ac.uk/~mgk25/unicode.html#linux

      [2] https://devblogs.microsoft.com/oldnewthing/20190830-00/?p=102823

    • JNRoweAug 2021

      Markus Kuhn’s International Standard Paper Sizes¹ is a great document on ISO-216 paper sizes, if you want a little more depth than HelloNurse’s succinct description. It also covers US-style sizes toward the bottom.

      Kuhn also has an excellent ISO-8601 document², which makes you wish he would dive through more of the common standards that ISO stand guard over.

      ¹ https://www.cl.cam.ac.uk/~mgk25/iso-paper.html

      ² https://www.cl.cam.ac.uk/~mgk25/iso-time.html - Sadly only covers timestamps, not durations/intervals/etc

    • throw0101dSep 2025

      > It sacrifices the ability to encode more than 21 bits, which I believe was done for compatibility with UTF-16: UTF-16’s awful “surrogate” mechanism can only express code units up to 2^21-1z

      Yes, it is 'truncated' to the "UTF-16 accessible range":

      * https://datatracker.ietf.org/doc/html/rfc3629#section-3

      * https://en.wikipedia.org/wiki/UTF-8#History

      Thompson's original design could handle up to six octets for each letter/symbol, with 31 bits of space:

      * https://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt

    • sdfsdfdsfsfJul 2023

      The quote marks on that page are a real mess. Best practice is to use double curly quotes or single curly quotes—not backtick and apostrophe.

      See https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
      ("Summary: Please do not use the ASCII grave accent (0x60) as a left quotation mark together with the ASCII apostrophe (0x27) as the corresponding right quotation mark (as in `quote').")

      Also, Founder's Caslon is commercially available, at least, it is now.
      https://www.myfonts.com/collections/founders-caslon-font-itc

    Related

    Manish Goregaokarmanishearth.github.io97 people

    Picking Apart the Crashing iOS String

    Manish Goregaokar
    Personal · last shared 2026
    Jukka Korpelajkorpela.fi31 people

    Margin notes to “HTML 4.0 in Netscape and Explorer” (2000)

    Jukka Korpela
    Personal · last shared 2026
    Henri Sivonenhsivonen.fi47 people

    String Lengths in Unicode

    Henri Sivonen
    Personal · last shared 2025
    Zack Weinbergowlfolio.org25 people

    Strengths, weaknesses, opportunities, and threats facing the GNU Autotools

    Zack Weinberg
    Personal · last shared 2025
    Rainer Joswiglispm.de21 people

    Ergonomics of the Symbolics Lisp Machine

    Rainer Joswig
    Personal · last shared 2025
    BabelStonebabelstone.co.uk20 people

    Unicode 15.0 Slide Show

    BabelStone
    Personal · last shared 2025
    Unicode Blogblog.unicode.org55 people

    Unicode Standard, Version 12.0

    Unicode Blog
    Company · last shared 2025
    Paul Khuongpvk.ca106 people

    SBCL: The Ultimate Assembly Code Breadboard

    Paul Khuong
    Personal · last shared 2026