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 of cut.
  • 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.