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 生成,可能有误。

    算法与计算机科学github.com

    x86 mov 指令是图灵完备的:仅用 mov 的编译器

    X86 mov is turing complete: mov-only compiler

    4次上首页
    6年跨度
    638累计得分
    151条评论

    2015 — 2021,它一次次回到首页

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

    导读

    Movfuscator 是一个实验性 C 编译器,能把程序编译成只使用 x86 的 mov 指令的代码,证明了 mov 指令是图灵完备的。作者在页面附带了论文和视频讲解其实现原理。

    为什么经久不衰:它以极端方式展示了 x86 指令集的冗余与灵活性,兼具趣味性和安全研究价值,多年来反复引发讨论。

    关键词 x86编译器图灵完备安全研究

    HN 评论精选

    指出 x86 的 mov 实际是一族指令,类似技术也是 ROP 攻击的基础

    这是个有趣的程序。类似技术被用于构造 ROP(返回导向编程)攻击——你获得足够的构建块就能实现通用编程,剩下的只是映射问题。不过 x86 的 mov 有点作弊:它是一个助记符背后几十条完全不同的指令。ARM 的 mov 只做寄存器间操作,访存用 ldr/str,而 x86 全用 mov。

    pslam查看英文原文

    That's a fun program. Similar techniques to this are used to create "ROP" (return-oriented programming) exploits. You get enough building blocks to get general purpose programming, and it's "just" matter of mapping to those building blocks. X86 "mov" is a bit of a cheat, though. It's a single mnemonic for what's really dozens of quite different instructions. For example, ARM has "mov" for register-register operations, but "ldr/str" for register-memory, while X86 just uses mov for everything. Even ARM mov optionally puts a barrel shifter into the path, so it's not that pure either.

    质疑 mov 是否算真正的'单一条指令'

    并非要贬低作者,但把 MOV 称为'单条指令'相当牵强——它更像一大族恰好共用同一汇编助记符的指令。

    stephencanon查看英文原文

    Without taking anything away from the author, calling MOV a "single instruction" stretches things quite a bit. It's more of a big family of instructions that happen to share an assembly mnemonic.

    补充另一个极端案例:仅靠页错误(trapcc)也能图灵完备

    谁还需要指令?页错误也是图灵完备的:https://github.com/jbangert/trapcc

    M2Ys4U查看英文原文

    Who needs instructions? Page faults are Turing complete: https://github.com/jbangert/trapcc

    推荐作者的视频讲解,直观展示实现过程

    推荐页面链接的视频演讲,作者演示了他如何把 mov 变成一台机器,非常怪异又有趣!

    ianbicking查看英文原文

    I'd recommend the video presentation linked off the page, where he walks through how he actually turned mov into a machine. It's very weird and interesting! https://www.youtube.com/watch?v=R7EEoWg6Ekk

    历次讨论

    同类还值得读

    1. 位运算技巧集

      Bit Twiddling Hacks

      斯坦福页面上的经典位运算技巧合集,收录了 popcount、前导/尾随零、位反转、交换、舍入等大量技巧,并附有解释和性能讨论。

      算法与计算机科学上首页 8 次 · 2011–2024graphics.stanford.edu编辑精选
    2. 如何不按平均评分排序

      How Not To Sort By Average Rating

      经典文章解释了为什么按平均评分排序不可靠:只有少量评价的条目(比如仅一条五星)会轻易排到最前,而评价数量的差异被忽略。

      算法与计算机科学上首页 7 次 · 2009–2024evanmiller.org编辑精选
    3. 数据结构可视化

      Data Structure Visualizations

      旧金山大学 David Galles 教授制作的数据结构与算法交互式可视化网站,涵盖 B 树、红黑树、排序、图算法等,可逐步操作观察其运行过程。

      算法与计算机科学上首页 6 次 · 2011–2021cs.usfca.edu编辑精选
    4. 1996 年以来的计算机科学最佳论文奖

      Best Paper Awards in Computer Science since 1996

      Jeff Huang 维护的一个汇总页面,收录了自 1996 年以来计算机科学各主要会议的“最佳论文奖”获奖名单,并按年份和会议整理,方便读者一站式浏览历届获奖论文。

      算法与计算机科学上首页 6 次 · 2010–2018jeffhuang.com编辑精选
    5. 算法(Jeff Erickson)

      Algorithms, by Jeff Erickson

      伊利诺伊大学 Jeff Erickson 教授的算法课教材,免费在线开放。

      算法与计算机科学上首页 5 次 · 2018–2022jeffe.cs.illinois.edu编辑精选

    打赏支持

    打赏二维码

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

    WeChat

    关注向阳乔木

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

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

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