LLBBL Blog

LLBBL Blog

About Archive Links
Categories Photos Subscribe RSS
  • JPEG Quality 80 Is Not a Setting

    MP4’s boxes are exact about everything: every byte accounted for, every offset written down. JPEG is exact about its structure too, and then hands you one control that has no defined meaning at all. It destroys things. That is the entire …

    Aug 24, 2026 Programming File-formats Compression Jpeg Images Read post →
  • An AVIF Is an MP4 With One Frame

    GIF’s structure was a header, some tables, and a sequence of blocks with a one-byte type code. MP4 is stricter than that, and the strictness is the whole design. Every byte in the file lives inside a box, and every box starts the same way: …

    Aug 23, 2026 Programming File-formats Mp4 Video Streaming Read post →
  • Every XML Feature Is One You Turn Off

    Last post ended on a question. XML is the format in this series that specified everything, so what did all that specifying buy? An answer for every question, and an attack surface made entirely of answers. The other formats in this series …

    Aug 22, 2026 Programming security File-formats Parsing Xml Read post →
  • Norway Is Not a Boolean

    JSON’s problem is that its specification is too small. It tells you 9007199254740993 is a well-formed number and then declines to say which number. YAML went the other way. The 1.2.2 specification is a book. It has a formal grammar, a …

    Aug 21, 2026 Programming security File-formats Parsing Yaml Read post →
  • Your JSON Parser Disagrees With Mine

    Markdown has too many specs. CSV has one that nobody agreed to follow. JSON is supposed to be the happy ending: a grammar small enough to print on a business card, standardized twice over, and elevated to a full Internet Standard. It is, …

    Aug 20, 2026 Programming Json File-formats Parsing Interoperability Read post →
  • Nobody Agrees What a CSV Is

    CSV is simple but powerful. Values, separated by commas. It’s easy to understand and use. It is also, by a wide margin, the one that destroys the most data. That’s not a paradox. It’s cause and effect. A format simple enough that everyone …

    Aug 19, 2026 Programming Data File-formats Csv Excel Read post →
  • Nobody Agrees What a CSV Is

    CSV is the simple but powerful. Values, separated by commas. It’s easy to understand and use. It is also, by a wide margin, the one that destroys the most data. That’s not a paradox. It’s cause and effect. A format simple enough that …

    Aug 18, 2026 Programming Data File-formats Csv Excel Read post →
  • Word Documents Used to Be Filesystems

    Last post ended on a promise: a .docx is a ZIP file, and you already know how ZIP works. That’s true, and it’s the smaller half of the story. The interesting part is what .docx replaced, because the old .doc format was doing something …

    Aug 18, 2026 Programming File-formats Word Docx Ooxml Read post →
  • ZIP Files Are Read Backwards

    Every format in this series so far reads front to back. PNG starts with a signature and you walk chunks in order. A text file is bytes from the beginning. Markdown parsers scan line by line, top to bottom. ZIP reads backwards. The index is …

    Aug 17, 2026 Programming security File-formats Compression Zip Read post →
  • Markdown Is Not a Format, It's an Argument

    I’ve covered PNG and text files, and now it’s time for Markdown, which can be thought of as a philosophy of formatting or a lifestyle of text documents more so than an actually well defined file format. It has structure, and it has …

    Aug 16, 2026 Programming Markdown File-formats Commonmark Parsing Read post →
Older →