lucida
blog paper tags 中文

The Bitter Lesson

2019 · Rich Sutton

Sutton distills a recurring lesson from AI: in the long run, methods that scale with computation beat hand-coded human knowledge.

The Unreasonable Effectiveness of Data

2009 · Alon Halevy, Peter Norvig, Fernando Pereira

Halevy, Norvig, and Pereira argue that for language and web-scale problems, large real-world datasets plus simple scalable models often beat elegant small-data theories.

The Rise of "Worse Is Better"

1991 · Richard P. Gabriel

Explains why "worse is better" wins in practice: simple implementations, rapid spread, and evolvability often beat perfect design.

You and Your Research

1986 · Richard W. Hamming

Drawing on Bell Labs and the history of science, Hamming discusses how to choose important problems, manage yourself, build courage and habits, and do work of lasting value.

No Silver Bullet: Essence and Accidents of Software Engineering

1986 · Frederick P. Brooks, Jr.

Brooks distinguishes essential from accidental difficulties in software engineering and explains why no single technology can deliver an order-of-magnitude productivity jump.

Programming as Theory Building

1985 · Peter Naur

Naur argues that programming is not mainly producing text, but building a theory around the problem and solution that can be explained, extended, and revised.

End-to-End Arguments in System Design

1984 · J.H. Saltzer, D.P. Reed, D.D. Clark

Saltzer, Reed, and Clark formulate the end-to-end argument: many functions can only be implemented correctly at the endpoints, with lower layers serving mainly as performance optimizations.

Reflections on Trusting Trust

1984 · Ken Thompson

Through self-reproducing programs and a backdoored compiler, Thompson shows why source review alone cannot fully establish trust in a toolchain or software supply chain.

Hints for Computer System Design

1983 · Butler W. Lampson

A set of system design heuristics on keeping interfaces simple, making systems faster, and balancing fault tolerance against complexity.

Time, Clocks, and the Ordering of Events in a Distributed System

1978 · Leslie Lamport

Lamport's classic paper models event order with happened-before, then builds logical clocks, total ordering, mutual exclusion, and physical clock synchronization from it.

The UNIX Time-Sharing System

1974 · Dennis M. Ritchie and Ken Thompson

Ritchie and Thompson explain early UNIX: its file system, process model, shell, unified I/O abstraction, and why the system stayed small yet powerful.

Computer Programming as an Art

1974 · Donald E. Knuth

Knuth argues that programming is both science and art: it needs formal foundations, but also taste, style, and aesthetic judgment.

The Strength of Weak Ties

1973 · Mark S. Granovetter

Granovetter argues that weak ties, not strong ones, are often what connect groups and let information, opportunities, and coordination travel across social boundaries.

On the Criteria To Be Used in Decomposing Systems into Modules

1972 · D. L. Parnas

Using the KWIC example, Parnas shows that good modular decomposition hides change-prone design decisions rather than mirroring processing steps.

An Axiomatic Basis for Computer Programming

1969 · C. A. R. Hoare

Hoare presents an axiomatic framework for proving partial program correctness, then uses it to discuss proofs, language definition, documentation, and portability.

Computing Machinery and Intelligence

1950 · A. M. Turing

Turing reframes "Can machines think?" through the imitation game, answers major objections, and turns the discussion toward learning machines.

The Use of Knowledge in Society

1945 · Friedrich A. Hayek

Hayek argues that the central economic problem is not centralized calculation, but how to use dispersed local knowledge; the price system is the mechanism that does it.

thoughts, notes, and writings