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

    Vis:类 Vim 文本编辑器

    Vis: A Vim-Like Text Editor

    2次上首页
    1年跨度
    539累计得分
    201条评论

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

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

    导读

    Vis 是一个类 Vim 的模态文本编辑器,目标是结合 vi 的编辑方式与 sam 的结构化正则表达式,同时保持代码库小而可改。它用 Lua 扩展,采用宽松许可证(部分 sam 代码除外),并明确列出非目标以避免功能膨胀。页面是它的 GitHub 仓库。

    为什么经久不衰:它证明了不靠插件和庞大功能也能有强大编辑能力:极简、可读可改、结构化正则和宽松许可证,让它成为厌倦 Vim 臃肿者的长期参考。

    关键词 Vim结构化正则表达式极简编辑器suckless

    HN 评论精选

    长期 vim 用户认可其简单、Lua、可改代码和结构化正则,但缺 tag 浏览与折叠。

    我用 vis 作为主编辑器已经六个月,相当满意(我是长期 vim 用户)。主要卖点:编辑器简单易学,文档约 650 行 man page;简单但包含 vim 和 sam 最有用的特性;没有功能膨胀,不像 vim;没有 vimscript,用 Lua;代码可读可改,不像 vim;结构化正则表达式。目前最想念的是标签浏览和代码折叠;在足够干净模块化的代码库里不太想念,但分析大型复杂或写得差的代码时不可或缺,那种情况我会切回 vim。它们的实现也在考虑中。强烈推荐给想找更好 vim、并且懂得如何在不用海量插件的情况下使用 vim 的人。

    gwn7查看英文原文

    I've been using vis as my primary editor for six months, and I'm quite happy with it. (I'm a long time vim user.) Main selling points for me: - Simple editor, easy to learn, with a ~650 line man page as the documentation - Simple, yet has the most useful features from the great vim and sam editors - No feature bloat - unlike vim - No vimscript (lua instead) - Readable and hackable codebase - unlike vim - Structural regular expressions For now the unavailable features that I miss the most are tag browsing and code folding. I don't miss them very much in sufficiently clean and modular codebases, but they are indispensable when analyzing large, complex, or badly written code. I switch to vim when that is the case. I should say that their implementation is considered though: https://github.com/martanne/vis/issues/547 https://github.com/martanne/vis/issues/342 vis is highly recommended to anybody looking for a better vim and appreciate & know how to use vim without a gazillion of plugins.

    用不可变 piece table 和自动关闭文件展示极简协同设计。

    几个月前我全职用 Vis 两周,挺不错(我是 Emacs 用户,所以这是有时限的实验)。Vis 是 suckless 哲学的好例子,也体现了 Guy Steele 的观点:通过功能间的协同来消除对某些功能的需求。例如它用不可变 piece table,只需移动指针就能支持撤销;这意味缓冲区一直打开会占用越来越多内存。它没有实现“垃圾回收器”,而是选择在文件不在屏幕上显示时自动关闭它。

    PuercoPop查看英文原文

    I used Vis full time for a two weeks a couple of months ago. It was pretty nifty. (I'm Emacs user so this was an time-bounded experiment). Vis is a great of example of the suckless philosophy and of Guy Steele's point about removing the need of features by having synergy between other features. For example they have an immutable piece table to support undo by just moving a pointer. This would mean that as the buffer remains open one would use more and more memory. Instead of implementation a 'garbarge collector' they chose to automatically close a file when its not shown on the screen.

    赞赏明确非目标避免臃肿,但遗憾没有 vimdiff/diff 模式。

    称赞开发者列出“非目标”。太多软件项目因为承担次要功能而失去焦点、变得臃肿。项目可能因担心排斥想要某些功能的人而不愿列出非目标。看这份清单,排除了一些相当不错的功能,比如网络支持、编辑压缩文件或 tar 文件。我猜预期是仍可通过编辑器外部的命令完成,这是一种干净的做法。不过,没有 diff 模式?vimdiff 很棒!我不确定没有多工作区怎么恢复这功能。也许答案就是不恢复:日常编辑用 vis,需要时再拿出 vimdiff。

    loudmax查看英文原文

    Kudos to the developers for listing non goals. Too many software projects lose focus and become bloated because they take on features that are secondary to the main purpose. Projects may refrain from listing non goals for fear of excluding people who may want some of those features. And looking at the list, there are some pretty nice features excluded. For example network support, or editing compressed or tar files. I guess the expectation is that these can still be accomplished by leveraging commands outside the editor. This is a clean approach. Okay, but no diff mode? vimdiff is fantastic! And I'm not sure how you recover that functionality without multiple workspaces. Maybe the answer is you don't. Use vis for normal editing and pull out vimdiff only when you need it.

    推荐阅读结构化正则的原始论文,以理解 vis 的核心特色。

    任何想了解什么是结构化正则表达式、以及它为何优于普通正则表达式的人,都值得读一读这篇 Bell Labs 的论文:http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf

    pmoriarty查看英文原文

    Anyone interested in what structural regular expressions are and how they're superior to ordinary regular expressions is encouraged to read: http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf

    历次讨论

    同类还值得读

    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

    关注向阳乔木

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

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

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