The Heart of Unix (2018)
Editors and the Unix Philosophy
- Several comments argue Emacs exemplifies and extends the Unix philosophy: it’s a self-editable Lisp machine where the editor is just the default app.
- Emacs is praised for deep customizability, live modification, REPL-driven development, and integration of tools (dired, eshell, Org, Calc, rsync, blogging, etc.).
- Others push back that relying on Emacs/Elisp can feel like having an “Emacs-shaped hammer”; alternatives like kakoune emphasize orchestrating external programs instead of an internal VM.
Shells, Text Streams, and Structured Data
- Strong critique of shells: text-only pipelines obscure errors, encourage brittle ad‑hoc parsing (regex, cut), and don’t scale to large scripts.
- Countermeasures mentioned:
set -euo pipefail, error-branching with&&/||, and using real parsers (e.g., CSV libraries) instead ofcut. - Debate over CSV handling illustrates the problem: naive parsing vs. strict validation and rejection of malformed inputs.
- Some argue “any data can be represented as text”; critics reply that representation without robust tools for structured manipulation is of limited value.
- JSON/TSV vs. binary formats: some prefer structured formats and proper grammars; others defend simple text as composable and tool-friendly.
Alternative Shell Designs
- Discussion of rc and es shells as cleaner, more disciplined successors to Bourne, with influences from Lisp and better error handling, all in small binaries.
- Structured shells like Oils/YSH add GC and native JSON/TSV data structures while still treating processes/files as “exterior” resources, contrasted with PowerShell’s object-in-VM model.
Processes, Pipelines, and OS Comparisons
- Multiple comments stress that cheap, composable Unix processes and pipes are the real “heart”: easy forking,
inetd, CGI, cron/at, and process isolation. - Compared favorably to VMS, mainframes, CP/M, and even modern cloud/serverless setups that resemble rigid JCL/YAML job submission.
Homoiconicity and Code-as-Data
- The article’s claim that Unix is homoiconic is contested: some say shell scripts are manipulable text; others argue meaningful homoiconicity (as in Lisp/Tcl) requires first-class code structures, not just editable source files.
Filesystem, Security, and Future OS Ideas
- One thread notes Unix’s simple filesystem can underpin ACID behavior in user space; another proposes more radical designs: transactional, hypertext-like storage, capability-based security, typed initial messages, and binary “common data formats.”
- Several commenters think the “next system” will not be Unix but something more structured and capability-oriented.
Terminals and Rich Interaction
- Image-capable terminals (sixel) and tools like gnuplot are seen as steps toward notebook/CLIM-like interactive environments; some think current setups are “good enough,” others wonder what a truly modern terminal experience would be.