2025-11-08
Doug McIlroy summarized the Unix philosophy in 1978:
Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
Forty-seven years later, this is still the best advice in computing.
Consider grep. It searches text. That's all it does. It doesn't have a GUI. It doesn't sync to the cloud. It doesn't require an account.
And because it does one thing well, I can combine it with other tools:
cat access.log | grep 404 | wc -l
Three simple tools, piped together, answering the question: "How many 404 errors today?"
Modern software does the opposite. Every app wants to be a platform. Every tool wants to be a suite. The result is bloat—software that does many things poorly instead of one thing well.
The Unix philosophy isn't about Unix. It's about restraint. It's about resisting the temptation to add features just because you can.
Small, composable tools. Text as the universal interface. This is how we build software that lasts.
Next week: why I store everything in plain text files.
Don't miss what's next. Subscribe to Plain Text:
Add a comment: