HackerPapers

HN 二十年,最值得读的论文。

从 Hacker News 2006 年以来的全部投稿里,挑出链接本身就是论文的帖子:arXiv、期刊、会议论文、技术报告。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从必读开始
  • 8,000+篇被 HN 讨论过的论文

Essential

必读 30 篇

在论文库里看全部精选

编辑精选里 HN 讨论最热的 30 篇,每篇都有中文导读。不知道从哪读起,就从这里开始。

  1. 正在载入论文…

Archive

论文库

点柱子按年份筛选。注:源数据里 2023 年的帖子分数记录不全,2026 年尚未过完,这两年收录偏少。

难度
排序

    About

    这些论文是怎么挑出来的

    1. 01

      全量扫一遍

      读取 Hacker News 自 2006 年以来的全部 446 万条链接投稿,找出指向 arXiv、期刊、会议、技术报告和学术 PDF 的帖子。

    2. 02

      只留论文本身

      由 AI 逐条判断,剔除介绍论文的新闻、博客和幻灯片,同一篇论文的多次投稿合并计算,并统计它在评论区被引用的次数。

    3. 03

      写导读、译评论

      讨论最热的 1,500 篇配上中文导读,并精选、翻译 HN 高赞评论。导读由 AI 生成,可能有误,请以原文为准。

    系统与数据库2015web.mit.edu编辑精选

    复杂系统如何失效(1998)

    How Complex Systems Fail (1998)

    入门 · 约 30 分钟读完前置知识:系统工程基础、软件运维经验

    读论文 HN 讨论
    255HN 得分
    40条评论
    3次投稿

    导读

    这是 Richard Cook 的经典短文《复杂系统如何失败》,总结了复杂系统失效的若干观察,如复杂系统本质上运行在'破损'状态、依靠冗余和人的干预维持运转、失效往往在多重隐患叠加后突然爆发等。文中强调'无故障运行需要以经历过故障为前提'。

    HN 关注点:这篇 1998 年的短文是系统可靠性与事故分析领域的经典,对软件工程师理解生产事故和系统韧性极具启发,因此多年来在 HN 上反复被讨论。

    关键词 复杂系统系统失效可靠性Richard Cook

    后来怎么样

    这篇短文成为可靠性工程与韧性研究领域的经典文献,被广泛引用,其'复杂系统运行在破损状态'等观点已成为 SRE 和事故分析领域的共识性框架。

    HN 评论精选

    这几条评论里:支持 1 质疑 1 补充 2

    支持引用文中核心观点:复杂系统靠冗余和人的干预在带病状态下运行

    我想这是核心要点之一:复杂系统是作为'破损的系统'在运行的。系统之所以还能继续运转,是因为它包含大量冗余,而且人们能让它运转起来——尽管存在诸多缺陷。

    kuu查看英文原文

    I guess this is one of the main keys: A corollary to the preceding point is that complex systems run as broken systems. The system continues to function because it contains so many redundancies and because people can make it function, despite the presence of many flaws.

    质疑质疑复杂系统是否必要,认为社会低估了复杂性的真实成本

    我们真正该问的是:这些复杂系统是否真的必要?从绝对意义上说,我们的祖先过着简单得多的生活也活下来了。所以不是我们必须拥有如此复杂的系统,而是我们判定收益大于成本(这没问题)。但我怀疑,我们对复杂性的成本和风险的评估并不总是全面的。如果算清总账,我们可能会建造更少的高度复杂系统,而且建出来的系统会更好。把整个 IT 体验看作一个系统,各种社会、经济和技术力量合谋制造了巨大的复杂性,表现为无休止的 bug、故障、挂掉的网站和安全漏洞。真希望我们能退一步,深呼吸,想办法简化。

    packet_nerd查看英文原文

    The question we should be asking is whether these complex systems are actually required. In absolute terms, our ancestors lived much much simpler lives and somehow managed to survive. So, it's not that we're required to have such complex systems, it's that we've decided that the reward is higher than the cost (which is fine). But, I wonder, how accurately have the costs and the rewards been evaluated? I suspect that we don't always take into account the full cost and risks of complexity. If we did, I suspect we'd build fewer highly complex systems, and the systems we did build would be better. If you think of the entire IT experience as a system, somehow all the various social, economic, and technical forces have conspired to produce massive complexity which shows in constant bugs, failures, broken websites, and security breaches. I wish we could just step back, take a deep breath, and find ways to simplify and clean some of this up.

    补充补充资料:推荐 Cook 的演讲及 Rasmussen 模型的应用文章

    Richard Cook 关于系统的文章和演讲深刻塑造了我对系统的思考。感兴趣的人可以看他关于系统韧性的精彩演讲(附 YouTube 链接),其中介绍了一个很有用的模型。我还写了一篇文章,总结如何将 Rasmussen 的模型应用于初创公司和 Web 应用。

    sunils34查看英文原文

    Richard Cook's writing and talks on systems have hugely shaped my thinking on systems. For those interested in more, he gave a highly entertaining talk on system resiliency here and introduces a helpful model. https://www.youtube.com/watch?v=PGLYEDpNu60 I also wrote a post summarizing how I think about Rasmussen’s model in startups and web applications. https://medium.com/@sunils34/managing-systems-ecbf161066cf

    补充补充资料:推荐 Nancy Leveson 的系统性著作

    这些原则在 Nancy Leveson 的著作中有更完整、更系统的阐述,特别是《Engineering a Safer World》(有免费 PDF),以及她在 MIT 举办的年度研讨会(也是免费的)。

    markc查看英文原文

    These same principles are explored more completely and systematically by Nancy Leveson in her writings, specifically https://mitpress.mit.edu/books/engineering-safer-world (free pdf) and her yearly workshops at MIT (also free!).

    相关资源

    从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。

    代码
    视频与演讲

    历次讨论

    同领域还值得读

    1. I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象

      I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions

      指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。

      系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选
    2. 使用 io_uring 的高效 I/O

      Efficient IO with io_uring

      由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。

      系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选
    3. 线程对大多数用途而言是个坏主意(1995)

      Threads Are a Bad Idea for Most Purposes (1995)

      这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。

      系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选
    4. 学习型索引结构之论证

      The Case for Learned Index Structures

      提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…

      系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选
    5. FoundationDB:一个分布式、解耦的事务型键值存储

      FoundationDB: A distributed, unbundled, transactional key value store

      介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。

      系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。