Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Inside my head, the Unix philosophy + graph theory + High Output Management have combined into one monstrous beast. It sits on my shoulder and forces me to view all tools as a set of inputs and outputs. Worse, it insists some tools make other tools, and has strong opinions on when they're worth the investment.

For a meta-tool like jq, I put in an initial investment of time and get out a tool to solve your actual problem, in the form of a jq command. I can then use the command again and again on my data set. The size of the initial investment determines when using a command is worth it, but making an investment once reduces the cost of the next, so I am never quite sure when to invest.

The ability to put together pipelines of these tools and meta-tools is more important than any one tool -- after all, jq could be replaced by a python script, json could be replaced by toml, and so on -- but at the same time each tool makes up the pipeline. The path to mastery of manipulating a tree (or using a functional programming language) might be through jq and json for me but through xml and xslt (or F#) for you. Learning the tool, and particularly learning how it fits in the broader pipeline of tools in terms of its inputs and outputs, drives our mastery.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: