Top all-time · #2529
Nigel Tao
Personal blog · nigeltao.github.io/blogprogrammingsystems
Nigel Tao's personal blog at nigeltao.github.io covers programming and systems. Since 2018, 30 different Hacker News readers have linked it 57 times, most often “JSON with Commas and Comments”. It is still writing: the last post was on 2026-10-05, and you can follow it by feed.
Too few sampled comments (24) to say how often HN recommends it.?
Why HN links it
HN readers link Nigel Tao's posts on JSON extensions (JWCC, comments and trailing commas), Wuffs, and fast image and compression code such as QOI, PNG, zstd and Adler-32.
Summarised by Claude from a sample of 24 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- JSON with Commas and Comments9 people · 10 mentions · first linked 2021-02-22
- Jsonptr: Using Wuffs' Memory-Safe, Zero-Allocation JSON Decoder4 people · 7 mentions · first linked 2020-09-01
- Empty Intervals Are Valid Intervals3 people · 3 mentions · first linked 2025-10-14
- Dumbindent: When 93% of the Time Was Spent in Clang-Format3 people · 3 mentions · first linked 2020-06-15
- The Eisel-Lemire ParseNumberF64 Algorithm3 people · 3 mentions · first linked 2020-10-08
- QOIR: A fast, simple, lossless image file format3 people · 3 mentions · first linked 2022-12-05
- Wuffs’ PNG image decoder3 people · 3 mentions · first linked 2021-04-06
- Show HN: Handsum: An LQIP Image File Format3 people · 3 mentions · first linked 2026-07-08
- Zstandard Worked Example2 people · 2 mentions · first linked 2022-05-17
- From JPEG to JFIF via an Io.Writer2 people · 2 mentions · first linked 2021-11-21
What Hacker News says?
I call this the Peter Principle of Programming: "Code increases in complication to the first level where it is too complicated to understand. It then hovers around this level of complexity as developers fear to touch it, pecking away here and there to add needed features." http://h2.jaguarpaw.co.uk/posts/peter-principle/ Seems like I'm not the first one to notice this either: https://nigeltao.github.io/blog/2021/jso…
Comment linking /blog/2021/json-with-commas-comments.html
on “At Amazon, some coders say their jobs have begun to resemble warehouse work”Submitted Wuffs’ PNG image decoder as a story · 462 points
HN discussionNot to mention the part where adding compressors like this somewhat defeats the purpose of using a simple format like QOI (although at least zstd is faster than gzip, let alone 7zip). But if we're modifying things like that, then they might as well make use of Nigel Tao's improved QOIR format, and replace the LZ4 compressor it uses with zstd. That's probably faster and likely compresses better than QOI. [0] https://…
Comment linking /blog/2022/qoir.html
on “Porting my JavaScript game engine to C for no reason”Submitted Zstandard Worked Example as a story · 175 points
HN discussion> Are there any compiletime benchmarks? It used to take a couple of seconds to compile Wuffs' standard library. It's back down to a few hundred milliseconds. https://nigeltao.github.io/blog/2020/dumbindent.html#compila...
Comment linking /blog/2020/dumbindent.html
on “Wuffs’ PNG image decoder”Submitted JSON with Commas and Comments as a story · 155 points
HN discussionSurprisingly, Go's png decoder is half as slow as the default libpng :( https://nigeltao.github.io/blog/2021/fastest-safest-png-deco...
Comment linking /blog/2021/fastest-safest-png-decoder.html
on “Wuffs’ PNG image decoder”Submitted The Eisel-Lemire ParseNumberF64 Algorithm as a story · 45 points
HN discussionhttps://nigeltao.github.io/blog/2020/jsonptr.html describes a JSON query tool that can use an order of magnitude less memory than jq. Its query language (JSON Pointer) is much simpler, though.
Comment linking /blog/2020/jsonptr.html
on “Parsing JSON at the CLI: A Practical Introduction to jq and more”Submitted Wuffs has the fastest, safest PNG decoder in the world (2021) as a story · 11 points
HN discussionAnother name for this is JWCC. IMO very good argument for this feature set here: https://nigeltao.github.io/blog/2021/json-with-commas-commen...
Comment linking /blog/2021/json-with-commas-comments.html
on “Ignore the haters, and other lessons learned from creating JSON5”Submitted C++ Coroutines as a story · 11 points
HN discussionWhen I wrote my jsonptr tool a few years ago, I noticed that some JSON libraries (in both C++ and Rust) don't even do "parse a string of decimal digits as a float64" properly. I don't mean that in the "0.3 isn't exactly representable; have 0.30000000000000004 instead" sense. I mean that rapidjson (C++) parsed the string "0.99999999999999999" as the number 1.0000000000000003. Apart from just looking weird, it's a dif…
Comment linking /blog/2020/jsonptr.html
on “What even is a JSON number?”Submitted Jsonptr: Using Wuffs' Memory-Safe, Zero-Allocation JSON Decoder as a story · 7 points
HN discussionMight be relevant to your interests: https://nigeltao.github.io/blog/2022/gamma-aware-ordered-dit...
Comment linking /blog/2022/gamma-aware-ordered-dithering.html
on “Dithering in Colour”Submitted Producing Uncompressed PNG Files as a story · 6 points
HN discussionYou might like JWCC, which literally stands for JSON With Commas and Comments. https://nigeltao.github.io/blog/2021/json-with-commas-commen...
Comment linking /blog/2021/json-with-commas-comments.html
on “JSON parsers that can accept comments”Submitted From JPEG to JFIF via an Io.Writer as a story · 4 points
HN discussionIt's a great idea. Chromium uses Wuffs to parse GIF data from the untrusted network. There's also a "wget some JSON and pipe that to what Wuffs calls example/jsonptr" example at https://nigeltao.github.io/blog/2020/jsonptr.html#sandboxing
Comment linking /blog/2020/jsonptr.html
on “Kaitai Struct: declarative binary format parsing language”Submitted The Eisel-Lemire ParseNumberF64 Algorithm as a story · 4 points
HN discussionAlso external dictionaries https://nigeltao.github.io/blog/2022/zstandard-part-7-dictio...
Comment linking /blog/2022/zstandard-part-7-dictionaries.html
on “We could save petabytes of cache storage with Zstandard and Pingora”Submitted Empty Intervals Are Valid Intervals as a story · 3 points
HN discussion> Several times the compression/decompression speed of gzip Just be careful that you're comparing against the best implementation of gzip. One recent re-implementation of zcat was 3.1x faster than /bin/zcat (and the CRC-32 implementation within was 7.3x faster than /bin/crc32). Both programs decode exactly the same file format. They're just different implementations. For details, see: https://nigeltao.github.io/blog…
Comment linking /blog/2021/fastest-safest-png-decoder.html
on “Zstandard RFC 8878”Submitted Premultiplied Alpha as a story · 3 points
HN discussionHere's another SIMD implementation, with commentary: https://github.com/google/wuffs/blob/main/std/adler32/common... Like the fpng implementation, it's SSE (128-bit registers), but the inner loop eats 32 bytes at a time, not 16. "Wuffs’ Adler-32 implementation is around 6.4x faster (11.3GB/s vs 1.76GB/s) than the one from zlib-the-library", which IIUC is roughly comparable to the article's defer32. https://nigeltao.…
Comment linking /blog/2021/fastest-safest-png-decoder.html
on “Computing Adler32 Checksums at 41 GB/s”Submitted Custom eBPF Helpers as a story · 3 points
HN discussionJWCC (JSON With Commas and Comments) gives you exactly that, without other things that are arguably a mistake. https://nigeltao.github.io/blog/2021/json-with-commas-commen...
Comment linking /blog/2021/json-with-commas-comments.html
on “The Goals of XML at 25: and the one change that XML now needs”Submitted The Eisel-Lemire ParseNumberF64 Algorithm as a story · 3 points
HN discussionSee JWCC (JSON With Commas and Comments) https://nigeltao.github.io/blog/2021/json-with-commas-commen...
Comment linking /blog/2021/json-with-commas-comments.html
on “The Goals of XML at 25: and the one change that XML now needs”Submitted Show HN: Handsum: An LQIP Image File Format as a story · 2 points
HN discussion