惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
L
LINUX DO - 热门话题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
V
V2EX
GbyAI
GbyAI
量子位
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
S
SegmentFault 最新的问题
O
OpenAI News
N
News and Events Feed by Topic
博客园 - Franky
爱范儿
爱范儿
Forbes - Security
Forbes - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
Cloudbric
Cloudbric
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
P
Privacy International News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
Last Week in AI
Last Week in AI
罗磊的独立博客
Spread Privacy
Spread Privacy
Recent Announcements
Recent Announcements
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
The Register - Security
The Register - Security
Y
Y Combinator Blog
J
Java Code Geeks
I
Intezer

暗无天日

读:AI Agent 安全日志——从可见性与隐私的两难说起 - 暗无天日 读:AI Agent 生产化——一份从原型到上线的速查清单 - 暗无天日 AI写作的语言指纹——如何让文字不那么像机器 - 暗无天日 读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得 读:AI 辅助开发为什么让 E2E 测试更有价值 - 暗无天日 读:在Emacs中使用Claude Code(Spacemacs适配版) - 暗无天日 Claude Code 背后的工程哲学——读 Agent Harness Engineering 读:Agent Harness Engineering——AI 智能体不只是模型,还有套件 - 暗无天日 browser-harness:让 AI 直接接管你的浏览器 - 暗无天日 读:Security-First CI/CD —— DevSecOps 自动化实践指南 TIL: 数字小键盘的小数点陷阱与行内算术求值 - 暗无天日 读:Immutability 不是万能药,它是一种权衡 - 暗无天日 Conducty:给 Claude Code 加上项目记忆和并行执行能力 - 暗无天日 读 — GitHub Trending 里的 Claude Code 技能包 读 — Prompt Caching 省钱指南 TIL: Emacs 中那些跟鼠标配合的冷门快捷键 - 暗无天日 读:Anvil——把 Emacs 变成 AI 的工具服务器 读:Emacs 代码折叠终极指南 - 暗无天日 读:Clojure 搭车客指南 - 暗无天日 git推送失败后恢复仓库损坏的完整记录 - 暗无天日 多智能体系统的两个有效模式——以及对 Claude Code 用户的启示 - 暗无天日 用 Org Babel 写 Literate 博文:扩展执行 + 定制导出 proced:Emacs 内置的进程查看器 - 暗无天日 从 proced 定制中学到的 Elisp 模式 读:让 Emacs proced 在 macOS 上显示 CPU 和内存 异步编程的函数着色税 - 暗无天日 链式调用的代价:JavaScript 和 Clojure 的共同教训 - 暗无天日 hyperfine:命令行基准测试工具 - 暗无天日 管道中的变量去哪了?——子 shell 作用域陷阱 - 暗无天日 开源包装器的信任陷阱:四个危险信号 - 暗无天日 程序员愿意为 AI 写文档,却不愿为同事写 - 暗无天日 mktemp: Shell 脚本中临时文件的安全陷阱与最佳实践 - 暗无天日 WSL9x —— 在 Windows 9x 里跑 Linux 内核 6.19 用 ox.el 做你想做的事 —— org-export 高级编程指南 读:Hot-wiring the Lisp Machine —— 用纯 Elisp 构建零依赖的 Org 静态站点生成器 Elisp 性能优化的六个实战教训 - 暗无天日 fcitx5 下 Emacs 无法切换输入法的排查 - 暗无天日 ERT 测试交互命令的三种方式 - 暗无天日 SEM Assistant: 当 Elisp 守护进程遇上 LLM 用 dmsg 给 Elisp 加上结构化调试日志 用 org-habit 追踪非每日习惯 - 暗无天日 Clojure X-Men:当编程语言特性变成超能力 - 暗无天日 TIL: 用 diff-hl 在 fringe 中显示 git 变更 读:llm-test —— 用 LLM agent 驱动 Emacs 测试 TIL: AI 时代的橡皮鸭调试 - 暗无天日 fcitx 启动后键盘输入卡顿的排查 - 暗无天日 TIL: 早期网页的图片热区导航 - 暗无天日 读 Seeing the Whole System 用 Emacs 自动生成每周链接推荐 - 暗无天日 读:ASCII control characters in my terminal Lisp 的括号之痛——一个愚人节玩笑揭开的老伤疤 - 暗无天日 一本书该"线性读"还是"并行读" - 暗无天日 读 How to Monetize a Blog:一篇伪装成变现指南的讽刺文 Python Mock 第三方依赖的四种策略 - 暗无天日 Emacs Lisp 热重载实用指南 - 暗无天日 Prot 的 Emacs 配置哲学 - 暗无天日 TIL: 从直播对谈中学到的三个 Emacs 技巧 - 暗无天日 TIL: 自动使用项目虚拟环境的 Python - 暗无天日 TIL: 让 Help buffer 自动获得焦点 一条命令让本地开发用上 HTTPS —— slim 工具介绍 用 fsck 检查和修复 Linux 文件系统 排查Linux进程"卡死"实战:从strace到gdb全流程 - 暗无天日 PostgreSQL 索引:从基础到你可能不知道的高级用法 - 暗无天日 用 .pdbrc 自定义 Python 调试器 ANSI 转义码的标准化现状 - 暗无天日 终端程序的潜规则 - 暗无天日 PARA Org-mode 测试配置 - 暗无天日 AI越强越辣鸡?控制论说这是必然的 - 暗无天日 AI 越强越需要你盯着——反馈循环实操指南 - 暗无天日 你的AI代理正在偷你的密钥——四种你没想到的泄露通道 - 暗无天日 LLM 在 DevOps 中的三种角色 - 暗无天日 写作风格的反建议 - 暗无天日 反驳本质复杂性——Dan Luu 论为什么《没有银弹》错了 - 暗无天日 文件充满了危险——Dan Luu 谈文件系统的可靠性陷阱 - 暗无天日 AI 时代的 PARA 方法:用 Org-mode 和 AI 打造个人知识管理系统 Linux 数据去重学习笔记 - 暗无天日 创建跨平台 ZIP 文件的隐藏陷阱:Extra Field - 暗无天日 X11 Forwarding 排障指南 - 暗无天日 IP欺骗端口扫描:当别人冒充你去扫描别人 - 暗无天日 Linux 输入栈全景解析:从硬件按键到屏幕响应 - 暗无天日 Unix 系统中那些被埋没的配置开关——以 FontConfig 为例 - 暗无天日 在Linux上限制儿童使用电脑 - 暗无天日 GIF不仅仅是一种图片格式——用GIF流做些奇怪的事 - 暗无天日 Leiningen 学习笔记:Clojure 项目构建与管理从入门到实战配置 - 暗无天日 Google SRE Book 读书笔记 - 暗无天日 yes 管道 head 发生了什么 - 暗无天日 为什么 nohup 在 crontab 中不起作用 Bash中的Indirection与Nameref - 暗无天日 Linux PAM 简介 - 暗无天日 从Linux ISO文件启动计算机 - 暗无天日 用 Bash 打造一个Screen Locker 用GitHub Actions自动构建EGO博客 - 暗无天日 blocking I/O 的作用 - 暗无天日 mobileog 手机端同步提示Error:2 No such file 的解决方法 回收 WSL2 VHDX 文件占用空间 使用 org-mode columnview 生成任务列表 - 暗无天日 Emacs 作为 MPD 客户端 - 暗无天日 移动文件路径却不破坏org file link的方法 - 暗无天日 如何合理的导出help link 成HTML - 暗无天日 笑话理解之Biology - 暗无天日
读 What to learn - 暗无天日
2026-04-21 · via 暗无天日

原文:What to learn

这篇文章回答一个问题:你应该学什么?Dan Luu 的答案是,不要跟风学别人推荐的东西,而是找到少数几个适合自己天赋的技能,学深学透,然后去找一群高手扎堆的环境。他用自己的踩坑经历证明了跟风学技术是低 ROI 的。

别学别人让你学的东西

Steve Yegge 有一系列博客文章建议学编译器。理由是:懂了编译器,你就会到处看到编译器问题,然后发现很多人在用半吊子方案解决本质上是编译器的问题,而你可以用编译器知识又快又好地解决。

这话不能说错,但问题在于——你可以把"编译器"换成排队论、计算机体系结构、数学优化、运筹学……哪个领域都能讲出同样的道理。所以"学编译器"不是编译器有多特殊,而是 Steve Yegge 恰好懂编译器。大部分职业建议的本质就是"学我学过的东西"。

Dan Luu 早年照着互联网建议学了 Haskell、Lisp、Forth。他甚至参与造了一颗 2GHz 的 Forth 处理器——可能至今仍是世界上性能最高的 Forth 处理器。他花了比绝大多数人都多的精力精通 Forth。结果呢?Forth 的倡导者 Chuck Moore 声称 Forth 比普通语言生产力高 100 倍,Dan Luu 的体验是:连 1 倍都不到。

回头看,Dan Luu 认为跟风学技术的 ROI 非常低。真正高 ROI 的学习,没有一个是网上有人推荐的。

高手只靠几招吃遍天

数学家 Gian Carlo Rota 讲过一个故事:一位老数学家瞧不起 Paul Erdős 的工作,说 Erdős 的所有证明都能归结为几个反复使用的技巧。Rota 后来读了 Hilbert(比 Erdős 地位更高的数学家)的不变量理论论文,发现 Hilbert 的证明也靠同样的几个技巧反复用。 即使 Hilbert 也只有几个技巧。

柔道也一样。对世界级柔道选手的分析发现,大多数人只靠少数几个投技赢比赛。柔道的本质是专精——你只用最适合你的那几招,练到变成自动反应。动画和电视剧里角色通过学更多招数来变强,但现实中,把已有的招数练到极致往往比囤积几百个"技能"更有效。

Joy Ebertz 给过一个建议: 放大你的优势,而不是修补你的弱点。 每个人都有强项和弱项,我们花很多时间谈论"改进空间",但如果某个领域你真的弱,花大力气可能只挪动一点点。更好的策略是把本来就很强的事情变成你的超级能力——前提是你没有真正糟糕的短板。

Dan Luu 在竞技游戏里验证过这一点。把他从"不错"提升到"很强"的关键,不是补练他不擅长的东西,而是放弃弱项,集中强化他本来就比别人强的那几个方面,把优势拉大到别人追不上的程度。他觉得这个策略在职场比在游戏和体育里更有效——因为在竞技场景里对手会专门攻击你的弱点,但在工作中没有对手会阻止你选择发挥优势的项目。

怎么找到自己的"几招"

Dan Luu 自己真正在用、在持续精进的技能有两个:"看数据"和"对抗性思维"。这两个都不是传统意义上的学科——"看数据"不是统计学(他很少用到逻辑回归那么复杂的东西),"对抗性思维"也不对应某个计算机科学分支。它们是跨领域的思维方式。

怎么发现这种东西?Dan Luu 给了两个方法:

  1. 问很了解你的人。 他的经理和 Ben Kuhn 独立指出了同一个他没意识到的技能——跨多个抽象层次提出解决方案。你自己未必能看清自己最擅长什么。
  2. 找那些你忍不住要做、但大多数人不做的事。 Dan Luu 测试一个新 bug 追踪系统时,主动往输入框里塞各种异常数据看它崩不崩。有人觉得莫名其妙,有人(包括 Dan Luu 本人)很高兴看到系统被推到极限。对系统做压力测试对他来说不是工作——他要克制自己才会不去这么做。这种"不做反而难受"的事情,就是你应该深化的方向。

找对环境比找对方向更重要

找到适合自己的技能只是第一步,还有一个关键因素: 你在什么样的环境里学。

Dan Luu 第一份工作在 Centaur(一家芯片公司),那里的验证团队用比同行少得多的人做到了同样甚至更好的效果。这是一个高密度的学习环境。他觉得在那里学到的对抗性测试思维,靠自己看书上网学不到——真正厉害的人脑子里有太多无法压缩进书本的隐性知识。

对于"看数据"这个技能,他在过去几年(在一个能和高水平同事反复讨论数据局限性的环境里)每年的进步幅度, 超过了之前十年的总和

值得注意的是,环境是局部的,不是公司级别的。Dan Luu 说他现在的雇主可能是他待过的三家大公司里最不数据驱动的,但他周围的同事恰好非常擅长理解数据的局限性,而他每天花大量时间和这些人一起工作——这就够了。

Dan Luu 发现一个规律:高手密度最高的团队,往往在非常优秀的管理者手下。他见过的两个高手最密集的团队都是如此。原因也说得通——好的管理者留人能力强,外面排着队想加入,自然容易吸引和留住顶尖人才。

随机游走也没什么不好

很多职业建议会告诉你:要有长期目标和规划,因为定向行走能走 n 步远,随机游走只能走 sqrt(n) 步远。

Dan Luu 认为这个建议低估了一件事: 找到适合自己的方向的难度。 他认识的人里,不少人花了很多年(有些人超过十年)才发现自己走的方向根本不适合自己——要么性格不匹配,要么能力不匹配。相比之下,瞎逛然后发现自己 sqrt(n) 步处在一个开心的位置上,并不比闷头走了 n 步却发现不开心更差。

Dan Luu 自己的技能就是通过试错找到的,而他的学习动机也不是为了职业发展——纯粹是因为学东西好玩。这么做二十年之后碰巧变得有用了,但在相当长一段时间里他并不知道会这样,也不知道硬件领域学到的技能能迁移到软件行业。

总结:你应该怎么做

  1. 别跟风。 别人推荐你学的东西,对他可能有用,对你大概率没用。Dan Luu 跟风学 Forth 的 ROI 接近于零。
  2. 找少数几个适合你的技能,学深。 你不需要什么都会。Erdős、Hilbert、世界级柔道选手都只靠几招。关键是这几招得适合你的天赋——不是别人擅长的,是你自己擅长的。
  3. 放大优势,而不是修补弱点。 把本来就很强的事变成超级能力,比费力补短板收效更大。工作中没有对手攻击你的弱点,你可以主动选择发挥优势的项目。
  4. 怎么发现自己的技能: 问很了解你的人;留意那些你忍不住要做但大多数人不会做的事。
  5. 找到高手扎堆的环境。 你的学习速度取决于身边的同事,不是公司名气。在高手身边一年能学到比自己摸索十年更多的东西。
  6. 别怕随机游走。 没想清楚方向就先试,试错了再换。瞎逛走到一个开心的位置,比闷头走一条不开心的路强。