proomt

Search

Search posts, papers, and topics

Hall of Fame

Hall of FameButler W. Lampson198362 min readpaperintermediate

Hints for Computer System Design

Summary

Lampson’s 1983 essay distills practical design hints for computer systems, emphasizing simple, well‑defined interfaces, predictable costs, and separating common‑case from worst‑case paths. The advice, illustrated with examples from Alto, Dorado, and early OSes, remains relevant for modern system architects.

  • Keep interfaces minimal and focused; avoid over‑generalization that inflates implementation size and cost.
  • Design interfaces with predictable, bounded cost; don’t promise rarely used features if they hurt performance.
  • Separate normal and worst‑case paths; optimize the common case while providing safe fallbacks.
  • Plan for replaceability: treat implementations as disposable and keep abstractions stable.

System architects and senior engineers designing operating systems, runtimes, or large‑scale services should read it for timeless, actionable design principles.

6/10

Related reading

  1. Article: Beyond Relevance: A Governance-First Architecture for Enterprise Personalization

    The article proposes a governance‑first architecture for enterprise personalization, where policy‑driven steps (memory, journey graph, AI routing, scoring, trust checks, outcome simulation) shape the recommendation before it is returned. A reference FastAPI implementation demonstrates the pattern with external YAML policies and optional LLM assistance.

    InfoQinfoq.com19 min
  2. Article: Your Next DSL Author Is a Language Model

    Typed Domain Grounding (TDG) embeds a DSL inside a mainstream language the LLM already knows (e.g., Kotlin) and uses the host compiler as an oracle. The author describes five building blocks—embedding, choosing a host language with high training‑data frequency, compiler‑driven type safety, a generate‑compile‑repair loop, and an on‑demand teaching tool—and shows measured results from kUML, a Kotli…

    InfoQinfoq.com18 min
  3. The Rise of "Worse is Better"

    Gabriel contrasts the MIT "right‑thing" design approach with the New Jersey "worse‑is‑better" philosophy, arguing that simplicity‑first designs like Unix and C spread faster despite limited functionality. He suggests that early, portable, 50‑80% solutions can seed broader adoption before being refined.

    Hall of Famedreamsongs.com7 min
  4. System Design Interviews for Data Roles: What to Actually Practice

    The piece shows that data‑role system design interviews evaluate how you turn vague requirements into a defensible architecture, not which tools you name, and it gives a concrete prep framework: clarify scope, quantify load, pick batch vs streaming with trade‑offs, and address failure handling. Candidates should rehearse explaining these decisions aloud with numbers rather than just drawing diagr…

    SitePointsitepoint.com6 min
  5. Simple Made Easy

    Rich Hickey argues that simplicity, not easiness, is the foundation of reliable software. He outlines how to choose simple constructs and design abstractions to keep systems understandable and changeable.

    Hall of Fameinfoq.com9 mintalk
  6. Article: Architecting Secure and Scalable Facial Verification Systems

    A real‑world post‑mortem of a high‑volume face verification service that moved from a naïve synchronous API to an async, layered pipeline (edge validation, preprocessing, decoupled detection/verification, decision engine) to achieve 8.5k rpm, p99 < 1.8 s, 30 % cost savings, and strict privacy controls.

    InfoQinfoq.com15 min