Rewriting Unix Philosophy for the Post-AI Era
gizvault.com
gizvault.com
I'm not exactly sure what the author is arguing for. Perhaps they have a vision, and perhaps it is a vision that has utility. That said, I do not see how their words fit into a modernized version of the Unix philosophy.
If anything, I see the dawn of LLMs as upending the “internet as we knew it” and also as having a step effect on the value of human literacy.
cat file | grep "foo" | awk '{print $2}'
That's terrible in this day and age. Text streams are terrible to work with in modern times. We've long moved past /etc/passwd-like formats, and even with those such tooling has been extremely subpar. What if you put a colon in a file with colon separated fields?There's no end to the nonsense you have to deal with that just shouldn't even be a problem in 2025.
Yeah, most problems are solvable somehow, but you still have to solve them instead of getting things done, and the results are often fragile. Like awk -F: /etc/passwd works nicely, until there's an \: in there that awk completely fails to understand.
Or are you suggesting monolithic tools instead of composable ones? Tomorrow I have a need you haven't thought of. Now your tool is useless to me and I have no way to do what I need. Modular composition isn't just a Unix philosophy, it's a basic development principle because it puts the power in the hands of the user to create almost anything they can think of, rather than restricting it to only what the creator thought of and implemented.
I'm not really sure what you're arguing is "terrible" about the solution. If you don't like the hazards and difficulty of dealing with something like your colon separator being in the data too, let me introduce you to data handling 101. It doesn't matter what format you put data in, the same problem exists. Even raw binary needs a delineator between elements, and eventually that delineator is going to need to be in the data itself somewhere. Unless you suggest we shouldn't be able to represent all data? It's the reason virtually every language supports escaping special characters (E.g. JSON's backslash escaping of quotes).
It's terrible because while it was a good idea back in the day, today everything tries to get away from it as quickly as possible. Most any tool gets wrapped in a library that actually exposes a much more pleasant to use and safer interface.
And the usage of text streams means everyone is reinventing the same wheel decade after decade, everyone in a slightly different manner and with different footguns.
This problem has been solved for thirty years.
awk '/foo {print $2}' file
does the same thing, without a pipeline.If one wanted robust rich pipelines, one could use PowerShell (which I used as my UNIX and Linux shell for a while when I was programming in it everyday as part of dayJob).
If you want to make an "AI dev philosophy", sure go ahead
But it has nothing to do with the Unix philosophy