HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    工具与资源blog.fogus.me编辑精选

    每个程序员都应(至少)读两遍的技术论文

    Technical Papers Every Programmer Should Read (At Least Twice)

    4次上首页
    5年跨度
    1,105累计得分
    159条评论

    2011 — 2016,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    这是一篇博客文章,列出了作者认为每个程序员都应该读(至少两遍)的10篇技术论文。评论者讨论了列表内容,有人提供了论文归档下载,也有人批评列表过于集中在编程语言和函数式编程方面。

    为什么经久不衰:它提供了一份经得起时间考验的经典论文清单,能帮助程序员理解编程语言、文件系统、并发等基础概念,并引发了关于技术阅读广度的持续讨论。

    关键词 技术论文阅读清单计算机科学

    HN 评论精选

    提供了论文的归档下载,方便读者。

    我归档了 fogus 提到的论文,并把 .ps 文件转成了 .pdf。想快速获取的人可以在这里下载:http://c.wunki.org/A2s0

    wunki查看英文原文

    Archived the papers mentioned by fogus and converted the .ps files to .pdf. For those who want quick access to them, download here: http://c.wunki.org/A2s0

    补充了四篇经典论文,涵盖文件系统、MapReduce 和并发。

    推荐四篇论文:《A Fast File System for UNIX》是现代文件系统的基础;《The Google Filesystem》展示了当决定某些事情(如存储小文件)不重要时能设计出什么;《MapReduce》是拿现有想法实现高性能的好例子;《The Implementation of the Cilk 5 Multithreaded Language》中许多想法被 Apple 的 Grand Central Dispatch 采用。

    scott_s查看英文原文

    A Fast File System for UNIX: http://www.cs.berkeley.edu/~brewer/cs262/FFS.pdf Modern filesystems are based on this design. They add significant features - like journaling - but by reading this paper, you will form a basis for how modern file systems work. The Google Filesystem: http://labs.google.com/papers/gfs.html Great example of what you can design when you decide certain things - like storing small files - are not important. MapReduce: Simplified Data Processing on Large Clusters: http://research.google.com/archive/mapreduce.html Great example of taking an existing idea and using it to achieve high performance. The Implementation of the Cilk 5 Multithreaded Language: http://supertech.csail.mit.edu/papers/cilk5.pdf Apple's Grand Central Dispatch uses a lot of ideas from this paper.

    批评“所有程序员都应该”的标题,认为领域太大,没有统一必读。

    程序员之间很少有必须共同的东西,这个领域现在太大了。这类列表十有八九会包含一篇关于浮点数表示的论文,虽然有用,但在21世纪可能不是最重要的,不过曾经人们认为那是“所有程序员”必读的。至少这个列表看起来更现代、更相关。我只希望我们别再使用“所有X都应该”这样的标题了,它既贬低人又不准确。

    platz查看英文原文

    There is very little all programmers should be required to have in common. The field is just that big now. 9 times out of 10 a list like this includes a treatise on floating point number representation, which while useful, probably isn't of utmost importance in the 21st century, but hey, at one time folks thought that was required for 'all programmers' to read. At least this list does seem more up to date and relevant. I just wish we'd stop with 'all X should' titles. Its demeaning and inaccurate.

    批评列表过于集中在编程语言,未达到广泛覆盖的目标。

    十篇里有八篇是关于编程语言的,而且偏函数式。不是说这些主题不重要或论文不好,但这是不是太偏向一个领域了?十大论文里至少应该有一篇直接关于安全、性能或其他想法,而不是我们用来表达想法的记号?我知道,你可以自己列一个。也许我会。尽管如此,作者明确提到“覆盖广泛主题”是目标,而这个列表没有达到。

    notacoward查看英文原文

    Eight out of ten are about programming languages, and strong on the functional side to boot. It's not that these topics aren't important, or that they're not great papers, but isn't that a bit too heavily skewed toward one area? Shouldn't at least one of those top ten be more directly about security, or performance, or some other kind of idea rather than the notation we use to express ideas? Yeah, I know, make your own list. Maybe I will. Nonetheless, the author specifically mentions "cover a wide-range of topics" as a goal and this list fails to meet that goal.

    历次讨论

    同类还值得读

    1. 直接在浏览器中启动 Linux 内核

      Boot a linux kernel right inside your browser.

      Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。

      工具与资源上首页 5 次 · 2011–2025bellard.org
    2. Hacker News 未公开功能与行为清单(2018)

      A List of Hacker News's Undocumented Features and Behaviors (2018)

      数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。

      工具与资源上首页 5 次 · 2019–2025github.com
    3. MapSCII:在终端中用盲文和 ASCII 渲染地图

      MapSCII – Braille and ASCII map renderer for the console

      MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。

      工具与资源上首页 5 次 · 2017–2025github.com
    4. 顶尖大学的免费在线课程

      Free Online Courses from Top Universities

      Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。

      工具与资源上首页 5 次 · 2010–2022openculture.com
    5. 淘气字符串:容易引发用户输入问题的字符串清单

      Naughty Strings: A list of strings likely to cause issues as user-input data

      一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。

      工具与资源上首页 4 次 · 2015–2020github.com

    打赏支持

    打赏二维码

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

    WeChat

    关注向阳乔木

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

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

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