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

    互联网与文化webaim.org编辑精选

    浏览器 User-Agent 字符串的历史

    History of the browser user-agent string (2008)

    5次上首页
    10年跨度
    1,092累计得分
    305条评论

    2012 — 2022,它一次次回到首页

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

    导读

    这篇 2008 年的经典文章用戏谑的“创世纪”口吻,讲述浏览器 User-Agent 字符串如何从简单的标识演变成层层叠加的伪装:浏览器为了绕过按 UA 分发的网站检测,纷纷把自己伪装成 Netscape、IE、Firefox、Chrome、Safari,最终形成今天又长又荒谬的一串标识。

    为什么经久不衰:它把一段技术史写成寓言,解释了为什么今天的 UA 字符串如此臃肿,也揭示了兼容性博弈如何让所有人陷入局部最优却整体糟糕的困境。

    关键词 浏览器历史User-Agent兼容性Web 标准

    HN 评论精选

    用续写寓言的方式补上 Edge 的伪装,延续文章的讽刺基调。

    更妙的是……Chrome 表现好而 MSIE 不好,于是站长给 MSIE 发烂页面。微软不高兴,推出了 Edge。Edge 表现好,但微软担心站长会把它当 MSIE 对待,于是让 Edge 假装成 Chrome 来换取好页面:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

    antoncohen查看英文原文

    It gets one better... And Chrome was good, and MSIE wasn't, so webmasters served bad pages to MSIE. Microsoft was not happy. So they created Edge. Edge was good, but Microsoft feared webmasters would treat it like MSIE. So Microsoft Edge pretended to be Chrome to get the good pages. Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

    借 Croquet 项目指出:更好的架构(面向对象而非文本)因路径依赖和网络效应而失败。

    Alan Kay 早就预见了这一点:与其把一堆烂文本发给各渲染引擎各自解析,不如发送对象——每个对象都有 URL,用户直接与对象交互。他和 David A. Smith 等七人真的做出来了,有 2D 对象、有不同服务器上的对象互相交互的 3D 虚拟现实,大家都觉得很酷,但最终什么都没成,因为世界是路径依赖的,网络效应说了算。简言之:未来早已到来,只是无法与当下通信。

    nabla9查看英文原文

    And Alan Kay saw this coming from a mile away and said: "What a total stone age BS this is. We already did it better in the PARC". Instead of sending shitty text files to rendering engines to parse all their own way, we should send objects. Every object should have an URL and the users should interact with these objects. And he teamed with David A. Smith and six others and they made it happen... aand it had 2d objects and it had 3d virtual reality where objects from different servers interacted and everybody saw it was cool as hell, but nothing came out of it because the world is path dependent and network effects rule. http://wiki.c2.com/?OpenCroquet https://en.wikipedia.org/wiki/Croquet_Project https://www.youtube.com/watch?v=XMk9IGwuRmU TL;DR: Future was already here, but it could not communicate with the present.

    指出这是各方局部最优导致集体困境的典型案例,出路在于被普遍遵守的标准。

    有意思的是,每一步中每个参与者都做了局部最优的选择——站长想给用户可用的页面,新浏览器厂商想让用户拿到支持全部特性的页面。可最终却给所有人留下了一团乱麻。本可以怎么做才能得到好结果?大概是有统一制定并被遵守的标准,这样浏览器只需声明“我支持 HTML 1.3”。

    Wehrdo查看英文原文

    This is interesting, because at every step along the way, each actor took the locally optimal step -- webmasters wanted to serve up working pages to their users, and new browser vendors wanted their users to get pages with all the supported features. Yet, in the end, we end up with a mess for everybody. What could have been done differently to end up at a good solution? I guess having universally defined and complied with standards would have helped, so a browser could just say "I support HTML 1.3".

    提出把 UA 拆成结构化虚拟头以兼顾可解析性和向后兼容。

    UA 承担了两件事:描述设备(操作系统)和描述能力(浏览器、插件)。我讨厌它没有合理长度上限、开发者随意重载它的方式,解析极其困难。我希望把 UA 变成由其他头组成的虚拟头,比如 os: Windows、os-version: 7、client: Gecko、client-version: 16、plugins: [{'flash':11}]——信息相同但结构更清晰、类型明确,同时保留向后兼容。

    buro9查看英文原文

    The user-agent has two implied pieces of functionality: 1) Describe the device that the agent is coming from (operating system) 2) Describe the capabilities of the agent (this browser, those plugins) One of the things I loathe about the user agent header is the lack of reasonable maximum length, and the inconsistent way in which developers have overloaded the value. Parsing it is difficult (especially given that the length means there is a lot of scope for bad input). I would love to see user agent be a virtual header comprised of other headers. The other headers would not be mandatory, but as most browsers would provide them you could reasonably use them in most cases. These other headers may be things like: os: Windows os-version: 7 client: Gecko client-version: 16 plugins: [{'flash':11}] Basically... same info but more structure with known acceptable types for certain values. Headers taking uncompressed space it would also be helpful if shorthand names were accepted: c-v for client-version, etc. This is me thinking aloud, and perhaps it's an idea that has been thought of before and rejected... but by offering User-Agent as a virtual header that is comprised of all of the other headers you maintain some background compatibility whilst providing something easier to parse, use and trust for developers.

    历次讨论

    同类还值得读

    1. 如今电脑上几乎所有操作在感知上都比 1983 年更慢(2017)

      Almost everything on computers is perceptually slower than it was in 1983 (2017)

      2017 年的推文串认为,尽管计算机硬件比 1983 年快得多,日常操作的感知速度却常常更慢:启动、界面响应和网络应用被层层抽象、动画、后台检查与网络依赖拖累。

      互联网与文化上首页 5 次 · 2017–2020twitter.com
    2. 网站肥胖危机

      The Website Obesity Crisis

      Maciej Cegłowski(idlewords)的经典演讲文稿《网站肥胖症危机》,批评现代网页越来越臃肿:动辄数 MB 的 JavaScript、追踪脚本和广告,把本可以轻…

      互联网与文化上首页 5 次 · 2016–2021idlewords.com编辑精选
    3. 亚马逊那本标价 23,698,655.93 美元的苍蝇书

      Amazon’s $23,698,655.93 book about flies

      博文讲的是亚马逊上一本关于果蝇的二手书被标到 23,698,655.93 美元。

      互联网与文化上首页 5 次 · 2011–2022michaeleisen.org
    4. 最后的问题——艾萨克·阿西莫夫

      The Last Question - Isaac Asimov

      阿西莫夫最著名的短篇科幻小说《最后的问题》的在线全文。

      互联网与文化上首页 5 次 · 2009–2019multivax.com编辑精选
    5. 一场杀死 IE6 的阴谋

      A Conspiracy to Kill IE6

      博客是 YouTube 前工程师 Chris Zacharias 的回忆:他和同事秘密给 IE6 用户投放“请升级浏览器”横幅,绕过公司审批,并推动 Google 其他产品跟进。

      互联网与文化上首页 4 次 · 2019–2025blog.chriszacharias.com

    打赏支持

    打赏二维码

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

    WeChat

    关注向阳乔木

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

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

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