The unix philosophy is older than most software careers, and like all good aphorisms it has been repeated until it lost its teeth. “Do one thing well” became a slogan, not a discipline. So what does it actually look like to build a small tool in 2026, in good faith?
I built three such tools this year, a hex dump, a notes indexer and a calendar. All three fit the same shape: read bytes from stdin, transform them, write bytes to stdout, and never grow a feature the command line cannot express.
A small tool is not a miniature big tool. It is a different kind of thing, with a different lifespan.
What still holds
- Composability. A tool that reads stdin and writes stdout can be arranged into pipelines nobody predicted.
- Text is the API. If your output is human-readable text, the shell gives you grep, sort, sed and a hundred friends for free.
- Failure is loud. Small tools return exit codes and print one clear error. They do not pretend to recover.
- No state. The process starts clean, ends clean. The only memory is the pipe between them.
What the modern stack gets wrong
Somewhere along the way we decided every tool needed a config file, a service layer and a dependency tree the size of a small city. The cost is not just disk. It is a shorter lifespan. A tool that needs three frameworks and a build step is a tool that will be abandoned, because maintenance is now a project.
The deepest problem, though, is the quiet shift from tools to platforms. A platform keeps your data so it can sell you convenience; a tool gives your data back to you. The unix philosophy is, at bottom, an argument about ownership, about who gets to keep the raw material.
The discipline in practice
My rules are unglamorous:
1. One file of source when possible.
2. Zero dependencies when possible.
3. Help text that teaches, not just lists.
4. If it needs a database, it is not a small tool.
The unix philosophy survives not because it is trendy but because it is true: small tools, composed freely, live longer than their creators and their platforms. That is a legacy worth writing in C and sleeping well after.