You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today I read through the jqmanual cover-to-cover. For those unaware, jq is a popular CLI tool to query and manipulate JSON. It's a mini-language with nice functional semantics and fits into the ethos of composable CLI tools.
It was an exemplar of well-written technical documentation. Concise, well-written, littered with examples, and linking to an interactive playground to test-and-learn.
Some learnings:
It's surprisingly functional! You can implement recursive functions and use higher-order functions! For example, here's factorial in jq:
It supports string interpolation - this is really nice if you're piping stuff from JSON into a string. Coupled with format strings this becomes frictionless:
Side note: This is one of my goals for 2025 - read through documentation end-to-end to develop mastery over tools. I'm trying to prioritise selectively depth over breadth.
Footnotes
The line between "functions" and "filters" is a little blurry to me. ↩
The text was updated successfully, but these errors were encountered:
Blog Post Title
Surely you're
jq
ingBlog Section
Microblog
Post Date
2025-02-18
Description
Learning
jq
by reading the manual end-to-end.Link
https://jqlang.org/manual/
Additional Content
Today I read through the
jq
manual cover-to-cover. For those unaware,jq
is a popular CLI tool to query and manipulate JSON. It's a mini-language with nice functional semantics and fits into the ethos of composable CLI tools.It was an exemplar of well-written technical documentation. Concise, well-written, littered with examples, and linking to an interactive playground to test-and-learn.
Some learnings:
jq
:Side note: This is one of my goals for 2025 - read through documentation end-to-end to develop mastery over tools. I'm trying to prioritise selectively depth over breadth.
Footnotes
The line between "functions" and "filters" is a little blurry to me. ↩
The text was updated successfully, but these errors were encountered: