Redesigning Terminal Infrastructure: The Challenge of Moving Beyond 1980s Legacy Systems
By
miguelraz
If you only eat one bagel today, this is the bagel.
Summary
The article examines the fundamental design challenges of terminal software, arguing that terminal internals are a mess due to historical decisions from the 1980s that are now impossible to change. It presents a mental model of terminals with four key components: terminal emulator, pseudo-terminal (PTY), shell, and applications. The core argument is that redesigning infrastructure requires allowing incremental adoption while simultaneously moving the entire design space at once, drawing parallels to how Rich Hickey redesigned Clojure by taking the entire Lisp language and moving the whole design rather than piling new features on top.
Key quotes
· 4 pulledTerminal internals are a mess. A lot of it is just the way it is because someone made a decision in the 80s and now it's impossible to change.
This is what you have to do to redesign infrastructure. Rich [Hickey] didn't just pile some crap on top of Lisp [when building Clojure]. He took the entire Lisp and moved the whole design at once.
At a very very high level, a terminal has four parts: The 'terminal emulator', which is a program that renders a grid-like structure to your graphical display. The 'pseudo-terminal' (PTY)...
To redesign infrastructure, you have to allow incremental adoption, while simultaneously moving the whole design space at once.
You might also wanna read
The Architectural Principles of UNIX Pipelines and Their Modern Relevance
This article examines the fundamental architectural principles behind UNIX pipelines, arguing that their true breakthrough was not just comm
Optimizing .NET APIs for High Throughput: Techniques for 1M Requests Per Minute
Article discusses techniques for designing high-throughput .NET APIs capable of handling 1M requests per minute. It covers horizontal scalin
SQLite as a Viable Alternative for Durable Workflow Execution
The article argues that SQLite can replace complex orchestration systems for durable workflow execution in many cases. It builds on DBOS's a
JWT vs Opaque Tokens: A Technical Comparison for API Security Architecture
This article compares JWT (JSON Web Tokens) and opaque tokens for API security, clarifying the common confusion between bearer tokens and JW
How Frontend State Management Becomes a Distributed Monolith as Apps Scale
This article discusses how frontend state management in growing applications can evolve into a "distributed monolith" — where state becomes
A Field Guide to Production-Ready AI Agents: Context Windows, Security, and Drift Monitoring
Karl Mehta presents a field guide for building production-ready AI agents, focusing on four key engineering challenges: context-window disci
