41554 blogs · [ { "id": "01a087af-d39f-70e4-990e-0eb6787e2d3a", "title": "Handsum: An LQIP Image File Format", "url": "https://nigeltao.github.io/blog/2026/handsum.html", "published_at": "2026-07-08T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb678e33977", "title": "Visualizing Y′CbCr Chroma Space", "url": "https://nigeltao.github.io/blog/2026/visualizing-ycbcr.html", "published_at": "2026-05-25T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb679d6d94b", "title": "Mischief (for Harpsichord)", "url": "https://nigeltao.github.io/blog/2025/mischief.html", "published_at": "2025-10-18T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb679e6d54a", "title": "Empty Intervals are Valid Intervals", "url": "https://nigeltao.github.io/blog/2025/empty-intervals.html", "published_at": "2025-10-14T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb679f2e086", "title": "Producing Uncompressed PNG Files", "url": "https://nigeltao.github.io/blog/2025/uncompressed-png.html", "published_at": "2025-07-19T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67ac246c6", "title": "These Days (One Night Lonely)", "url": "https://nigeltao.github.io/blog/2025/these-days.html", "published_at": "2025-05-27T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67b580649", "title": "Blue Noise Braille Art", "url": "https://nigeltao.github.io/blog/2024/blue-noise-braille-art.html", "published_at": "2024-10-07T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67bc979aa", "title": "Go Embedding and Backwards Compatibility", "url": "https://nigeltao.github.io/blog/2024/go-embedding-back-compat.html", "published_at": "2024-10-06T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67c30d69a", "title": "JPEG Chroma Upsampling", "url": "https://nigeltao.github.io/blog/2024/jpeg-chroma-upsampling.html", "published_at": "2024-08-11T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67cc3dd72", "title": "XZ/LZMA Worked Example Part 5: XZ", "url": "https://nigeltao.github.io/blog/2024/xz-lzma-part-5-xz.html", "published_at": "2024-04-18T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67dc08fac", "title": "XZ/LZMA Worked Example Part 4: Lempel-Ziv, Markov-chain", "url": "https://nigeltao.github.io/blog/2024/xz-lzma-part-4-lempel-ziv-markov-chain.html", "published_at": "2024-04-17T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67e3e7d17", "title": "XZ/LZMA Worked Example Part 3: Literal-Only LZMA", "url": "https://nigeltao.github.io/blog/2024/xz-lzma-part-3-literal-only-lzma.html", "published_at": "2024-04-16T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67ecf0d09", "title": "XZ/LZMA Worked Example Part 2: A Complete Toy Range Coder", "url": "https://nigeltao.github.io/blog/2024/xz-lzma-part-2-complete-toy-range-coder.html", "published_at": "2024-04-15T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67ed9d439", "title": "XZ/LZMA Worked Example Part 1: Range Coding", "url": "https://nigeltao.github.io/blog/2024/xz-lzma-part-1-range-coding.html", "published_at": "2024-04-14T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67f934001", "title": "Rook's Law - There's Always a Limit", "url": "https://nigeltao.github.io/blog/2024/rooks-law.html", "published_at": "2024-04-10T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67fe832d6", "title": "C++ Coroutines Part 2: `co_await` and Fizz Buzz", "url": "https://nigeltao.github.io/blog/2023/cpp-coro-part-2-await-fizz-buzz.html", "published_at": "2023-02-21T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb67fe8ecf5", "title": "C++ Coroutines Part 1: `co_yield`, `co_return` and a Prime Sieve", "url": "https://nigeltao.github.io/blog/2023/cpp-coro-part-1-yield-return-prime-sieve.html", "published_at": "2023-02-20T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb6804801e0", "title": "Wuffs v0.3 Released", "url": "https://nigeltao.github.io/blog/2023/wuffs-v03-released.html", "published_at": "2023-01-26T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68130d4a1", "title": "QOIR: a Fast, Simple, Lossless Image File Format based on QOI", "url": "https://nigeltao.github.io/blog/2022/qoir.html", "published_at": "2022-12-05T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb681e94242", "title": "Gamma-Aware Ordered Dithering", "url": "https://nigeltao.github.io/blog/2022/gamma-aware-ordered-dithering.html", "published_at": "2022-09-25T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb682985fc0", "title": "Wuffs' Bzip2 Decoder", "url": "https://nigeltao.github.io/blog/2022/wuffs-bzip2-decoder.html", "published_at": "2022-09-04T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb6830cdccd", "title": "Go Fonts v2.010", "url": "https://nigeltao.github.io/blog/2022/go-fonts-v2010.html", "published_at": "2022-06-17T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb684033026", "title": "Zstandard Worked Example Part 7: Dictionaries", "url": "https://nigeltao.github.io/blog/2022/zstandard-part-7-dictionaries.html", "published_at": "2022-05-17T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb684e487f0", "title": "Zstandard Worked Example Part 6: Sequences", "url": "https://nigeltao.github.io/blog/2022/zstandard-part-6-sequences.html", "published_at": "2022-05-16T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb6852fc9d5", "title": "Zstandard Worked Example Part 5: Finite State Entropy Codes", "url": "https://nigeltao.github.io/blog/2022/zstandard-part-5-fse.html", "published_at": "2022-05-15T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb685e6900e", "title": "Zstandard Worked Example Part 4: Huffman Codes", "url": "https://nigeltao.github.io/blog/2022/zstandard-part-4-huffman.html", "published_at": "2022-05-14T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb686c0be4d", "title": "Zstandard Worked Example Part 3: Bitstreams", "url": "https://nigeltao.github.io/blog/2022/zstandard-part-3-bitstreams.html", "published_at": "2022-05-13T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb686d00f8f", "title": "Zstandard Worked Example Part 2: Structure", "url": "https://nigeltao.github.io/blog/2022/zstandard-part-2-structure.html", "published_at": "2022-05-12T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68734a4a5", "title": "Zstandard Worked Example Part 1: Concepts", "url": "https://nigeltao.github.io/blog/2022/zstandard-part-1-concepts.html", "published_at": "2022-05-11T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb687ed0c27", "title": "Premultiplied Alpha", "url": "https://nigeltao.github.io/blog/2022/premultiplied-alpha.html", "published_at": "2022-03-28T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb6886d4314", "title": "Inverting a 3x2 Affine Transformation Matrix", "url": "https://nigeltao.github.io/blog/2021/inverting-3x2-affine-transformation-matrix.html", "published_at": "2021-12-30T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb6894f105e", "title": "From JPEG to JFIF via an `io.Writer`", "url": "https://nigeltao.github.io/blog/2021/from-jpeg-to-jfif.html", "published_at": "2021-11-21T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68967ff12", "title": "Using Go Without Generics", "url": "https://nigeltao.github.io/blog/2021/using-go-without-generics.html", "published_at": "2021-08-22T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb689dd3105", "title": "Custom eBPF Helpers", "url": "https://nigeltao.github.io/blog/2021/custom-ebpf-helpers.html", "published_at": "2021-07-20T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68ac99303", "title": "Three Points (Two Opposing) Define an Ellipse", "url": "https://nigeltao.github.io/blog/2021/three-points-define-ellipse.html", "published_at": "2021-06-20T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68b1b7d93", "title": "The Fastest, Safest PNG Decoder in the World", "url": "https://nigeltao.github.io/blog/2021/fastest-safest-png-decoder.html", "published_at": "2021-04-06T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68b822b26", "title": "JSON With Commas and Comments", "url": "https://nigeltao.github.io/blog/2021/json-with-commas-comments.html", "published_at": "2021-02-22T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68bda13ec", "title": "Fruit Salad Domino", "url": "https://nigeltao.github.io/blog/2021/fruit-salad-domino.html", "published_at": "2021-01-03T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68c479e63", "title": "ParseNumberF64 by Simple Decimal Conversion", "url": "https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html", "published_at": "2020-11-02T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68cb09224", "title": "The Eisel-Lemire ParseNumberF64 Algorithm", "url": "https://nigeltao.github.io/blog/2020/eisel-lemire.html", "published_at": "2020-10-07T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68d94bf1e", "title": "Jsonptr: Using Wuffs' Memory-Safe, Zero-Allocation JSON Decoder", "url": "https://nigeltao.github.io/blog/2020/jsonptr.html", "published_at": "2020-09-01T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68e3906aa", "title": "Dumbindent: When 93% of the Time was Spent in Clang-Format", "url": "https://nigeltao.github.io/blog/2020/dumbindent.html", "published_at": "2020-06-15T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb68f373e91", "title": "Generating Code", "url": "https://nigeltao.github.io/blog/2020/generating-code.html", "published_at": "2020-06-05T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb6900f9f28", "title": "`Mı~Le~Nıε~L`: an English Phonetic Alphabet", "url": "https://nigeltao.github.io/blog/2020/miileeniol.html", "published_at": "2020-05-08T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb690987081", "title": "Wuffs v0.2.0 is Released", "url": "https://nigeltao.github.io/blog/2019/wuffs-v020-released.html", "published_at": "2019-12-20T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb690f67989", "title": "The XYZ ABC Problem", "url": "https://nigeltao.github.io/blog/2019/xyz-abc-problem.html", "published_at": "2019-11-10T00:00:00+00:00" }, { "id": "01a087af-d39f-70e4-990e-0eb691ea6c80", "title": "Colorful Text for Everyday Programming", "url": "https://nigeltao.github.io/blog/2018/colorful-text.html", "published_at": "2018-12-12T00:00:00+00:00" } ] posts Claim your blog
Back to nigeltao.github.io
Blog · corpus.blog/blogs/nigeltao.github.io/posts

nigeltao.github.io

nigeltao.github.io

2026

2025

2024

2023

2022

2021

2020

2019

2018