Blog
Notes on parsing, data formats, and the parts of JSON tooling that turn out to be harder than they look.
9 min read
Learn jq by example
The manual is a reference, not a tutorial, and it never explains the one idea that makes jq click: every expression returns a stream, not a value.
Read post7 min read
The JSON numbers JavaScript quietly corrupts
JSON.parse changes your data and never says so. Three distinct failure modes, only one of which is the famous one about large integers.
Read post8 min read
Writing a jq engine in TypeScript
jq is a stream language, and JavaScript already ships streams. Getting that one thing right made the pipe operator four lines instead of forty.
Read post