从一个 brew install 报错开始,我意外挖出了一段有趣的程序员故事。
#起因:一个安装报错
今天我试着用 Homebrew 安装 Google Chrome,结果遇到了一个报错:
1Error: It seems there is already an App at '/Applications/Google Chrome.app'.解决方案很简单——加上 --force 参数强制覆盖:
1brew install --cask --force google-chrome但这个过程让我开始好奇:cask 这个词是什么意思?
#Homebrew 的酿酒宇宙
Homebrew 的整个命名体系都围绕酿酒展开,充满极客幽默:
| 术语 | 字面意思 | 在 Homebrew 中的含义 |
|---|---|---|
| brew | 酿造 | 安装软件 |
| formula | 配方 | 命令行工具的安装脚本 |
| tap | 酒桶龙头 | 第三方软件源 |
| cask | 木桶 | GUI 应用的安装包 |
| cellar | 酒窖 | 软件实际安装目录 |
Cask 的逻辑:formula 是"配方",需要现场编译组装;而 cask(木桶)里装的是已经酿好、密封好的成品酒——对应 GUI app 这种直接拿来用的预打包程序(.dmg / .pkg)。
这套命名不只是好玩,它让整个工具的概念变得直觉化,一看就懂。
#创始人:Max Howell
Homebrew 的创始人是英国程序员 Max Howell,普通极客一枚,用酿酒主题纯粹因为觉得贴切又好玩。
#那条震动程序员圈的推特
2015 年,Max 去 Google 面试,结果被刷掉了——原因是没能在白板上手写翻转二叉树。
他随手发了一条推特:
"Google: 90% of our engineers use the software you wrote (Homebrew), but you can't invert a binary tree on a whiteboard so fuck off."
这条推特在程序员圈疯传,直接引爆了一场延续至今的争论:算法面试到底有没有意义?
事后,Google 内部据说被这条推特搅动了不少讨论。当周还有 Google 和 Apple 的人主动联系 Max 邀请他重新面试。
#离开 Homebrew 之后
Max 曾在 Apple 参与 Swift Package Manager 的开发,后来创办了 Tea——一个试图用区块链解决开源项目资金问题的新包管理器(Homebrew 数千万用户,他本人从未从中获得足够的收入)。
#现在
目前 Max 是独立 AI 顾问,帮助团队落地生产级 AI 系统。同时在做自己的新项目 Game Studio Simulator——用自然语言 prompt 生成游戏并直接玩。
他说的一句话很有意思:
"Code isn't the moat anymore. Imagination is."
联系方式:
- X/Twitter:@mxcl
- GitHub:github.com/mxcl
- 个人网站:mxcl.dev
#尾声
Max 现在住在北卡罗来纳州的 Apex。
我也刚好要搬去 Apex。
或许哪天在街角咖啡馆,我们能喝一杯——就当是"家酿"的缘分。
(后续有故事,再来更新。)