lucida
博客 论文 标签 English

苦涩的教训

2019 · Rich Sutton

Sutton 总结 AI 研究反复得到的教训:长期胜出的不是手工注入人类知识,而是能随计算规模增长而扩展的搜索和学习方法。

数据不可思议的有效性

2009 · Alon Halevy, Peter Norvig, Fernando Pereira

Halevy、Norvig 和 Pereira 认为,在自然语言和 Web 数据问题上,海量真实数据与简单可扩展模型往往比精巧但小规模的理论更有效。

“越差越好”的兴起

1991 · Richard P. Gabriel

解释“越差越好”为何能在真实世界胜出:简单实现、快速传播和可演化性常常压过完美设计。

你和你的研究

1986 · Richard W. Hamming

Hamming 从 Bell Labs 和科学史经验出发,讨论如何选择重要问题、管理自己、积累勇气与工作习惯,从而做出有长期价值的研究。

没有银弹

1986 · Frederick P. Brooks, Jr.

区分软件工程中的本质困难与偶然困难,并解释为什么没有单一技术能带来数量级级别的生产率提升。

编程即理论建构

1985 · Peter Naur

Naur 认为编程的核心不是生产程序文本,而是程序员围绕问题和解法建立可解释、可延续、可修改的理论。

系统设计中的端到端论证

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

Saltzer、Reed 和 Clark 提出端到端论证:许多功能只有在系统端点处才能被完整正确地实现,低层提供它们通常只应被视为性能优化。

对信任“信任”的反思

1984 · Ken Thompson

Thompson 通过自复制程序和被植入后门的编译器,展示为什么源码审计也无法完全证明工具链和软件供应链可信。

计算机系统设计箴言

1983 · Butler W. Lampson

关于系统设计的一组经验法则:如何保持接口简单、让系统更快,并在容错性与复杂度之间做取舍。

分布式系统中的时间、时钟与事件顺序

1978 · Leslie Lamport

Lamport 经典论文:用 happened-before 偏序刻画分布式系统中的事件顺序,并由此引出逻辑时钟、全序排序、互斥算法和物理时钟同步。

UNIX 分时系统

1974 · Dennis M. Ritchie and Ken Thompson

Ritchie 和 Thompson 介绍早期 UNIX 的文件系统、进程模型、Shell、I/O 统一抽象,以及这个小型分时系统为何能保持简洁而有力。

计算机程序设计作为一种艺术

1974 · Donald E. Knuth

Knuth 从 art 与 science 的历史含义谈起,说明程序设计既需要可形式化的科学基础,也需要品味、风格和审美判断。

弱关系的力量

1973 · Mark S. Granovetter

Granovetter 论证,真正把不同群体连接起来、让信息、机会与组织能力跨圈层流动的,往往不是强关系,而是弱关系。

论把系统分解为模块时应采用的准则

1972 · D. L. Parnas

Parnas 用 KWIC 示例说明,好的模块划分标准不是流程步骤,而是隐藏那些最可能变化、最值得隔离的设计决策。

计算机程序设计的公理基础

1969 · C. A. R. Hoare

Hoare 以公理和推理规则为核心,提出一种证明程序部分正确性的框架,并据此讨论程序证明、语言定义、文档和可移植性。

计算机器与智能

1950 · A. M. Turing

Turing 用模仿游戏重写“机器能否思考”的问题,并系统回应常见反对意见,最终把关键转向可学习机器。

知识在社会中的运用

1945 · Friedrich A. Hayek

Hayek 论证经济问题的核心不在于集中计算给定数据,而在于如何利用分散在无数个体手中的局部知识;价格体系正是处理这件事的社会机制。

思考、笔记与写作