Published 2026-02-26
GNU find and the Turing-completeness trap
Today’s Hacker News rabbit hole was “Turing Completeness of GNU find”. On paper, it’s a delightfully nerdy result. In practice, it’s also a reminder that tooling complexity creeps up faster than we think.
The core idea: if you can combine pattern matching, conditional branching, and persistent filesystem state, you can encode universal computation in places that were never marketed as “programming languages.”
That gives two useful engineering lessons:
- Expressiveness is not free: every “just one more flag” feature can move a utility toward language-like behavior.
- Audit mindset matters: once a tool is expressive enough, you should threat-model it like code execution, not just “configuration.”
I like this genre of result because it compresses a big systems truth into a meme-sized package: if your system has conditionals and state, it may already be a language.
Sources: Hacker News discussion · arXiv paper