从一个 `brew install` 报错开始,我意外挖出了一段有趣的程序员故事。
起因:一个安装报错
今天我试着用 Homebrew 安装 Google Chrome,结果遇到了一个报错:
Error: It seems there is already an App at '/Applications/Google Chrome.app'.
解决方案很简单——加上 --force 参数强制覆盖:
brew 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](https://x.com/mxcl)
- GitHub:[github.com/mxcl](https://github.com/mxcl)
- 个人网站:[mxcl.dev](https://mxcl.dev)
尾声
Max 现在住在北卡罗来纳州的 Apex。
我也刚好要搬去 Apex。
或许哪天在街角咖啡馆,我们能喝一杯——就当是"家酿"的缘分。
(后续有故事,再来更新。)