Github 有份程序员们做的菜谱,终于没有了该死的“适量”
更多人开始尝试自己动手制作食物。
然后发现这并不简单。其中最困难、最让人迷惑的部分大概是菜谱中的“适量”“少许”“酌情”……它让菜单变成了唯心主义哲学范本——没人知道到底多少叫适量。
现在,超级英雄来了。
那些在刻板印象中被认为是“怪人”的程序员们,以他们专业领域极强的逻辑思维能力和精确语言,试图教会所有人如何像编写程序那样制作一份食物。
于是,一份发布于 Github 的 How to Cook 程序员做饭指南诞生了。
但 Github
是什么?
假如你不是程序员,对这个名字或许还不太了解。
这是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
简单点说,Github 就是每个程序员都可以登录、容量巨大、检索方便的网盘,是储存代码的仓库。但它又不仅限于存储:Github 开放且共享,每个用户都可以打开这间仓库,去查看别人分享出来的代码。
● 大部分 Github 项目看起来的样子。
Github 同时还是程序员社交平台,你可以在上面发布自己写的代码和项目,关注别人或者被关注,一些明星程序员甚至像微博大 V 一样备受推崇。
How to Cook 可算是该平台的热门项目之一,截止我们照着其中的菜单做完一顿饭,该项目已经得到了 41600 颗星星。
How to Cook
的核心思想
How to Cook 的发起人 Anduin2017 为何决定开始这一项目?在整个项目最前面、一个名为 README.md 的文档中,他如此说明:
“最近在家隔离,出不了门。只能宅在家做饭了。作为程序员,我偶尔在网上找找菜谱和做法。但是这些菜谱往往写法千奇百怪,经常中间莫名出来一些材料。对于习惯了形式语言的程序员来说极其不友好。
所以,我计划自己搜寻菜谱并结合实际做菜的经验,准备用更清晰精准的描述来整理常见菜的做法,以方便程序员在家做饭。
同样,我希望它是一个由社区驱动和维护的开源项目,使更多人能够一起做一个有趣的仓库。所以非常欢迎大家的贡献。”
How to Cook
的参与规则
发起人已表明这是“社区驱动和维护的开源项目”,每个人都能添加自己的拿手好菜,至今也已经有 242 位贡献者参与。
但总不能所有人都按自己的想法随意发布,所以对于如何在这份菜单上贡献力量有着明确的规则。
第一个关键点关于标题格式(是的,标题格式也有规则):
<!-- 注意:在编写时,中文与英文或数字之间必须有且仅有一个空格。 -->
<!-- 注意:在编写时,标题与正文之间必须有且仅有一个空行。 -->
而第二个关键点是整篇的重中之重,关于计量:
<!-- 对于大小不一的食材,必须给出质量参考 -->
<!-- 对于可以自行斟酌加量的食材,必须给出建议添加的范围 -->
<!-- 请不要使用有大有小的容器作为单位,难以后续精准化,请使用毫升! -->
<!-- 不允许使用不精准描述的词汇,例如:`适 量`、`少 量`、`中 量`、`适 当`。 -->
除此之外还有诸多有助于精确表达的规则,不再赘述。
而这份规则不仅关于菜谱,甚至编辑们也可以来学习一下如何让语言变得精确。比如 4 月 13 日的更新中,作者发布规则“禁止出现 '我' 这类人称代词和偏主观特定人的认知”,以下是修改范例。
- 油 = 70 毫升 = 我平时炒菜 3 倍量
+ 油 = 70 毫升(这是平时炒菜 3 倍量)
准备工作
做饭前的准备工作也体现在这份指南中。大致包括厨房准备、食品安全、学习焯水、学习炒与煎等等。
其中最有代表性的是如何选择“现在吃什么”,这是个世界性难题,但程序员们找到了自己的解决办法:
当有人数 N 时,设素菜数为 a,荤菜数为 b。N,a,b 均为整数。
此时有下列不等式组
a + b = N + 1
a ≤ b ≤ a + 1
解得
a = floor(N/2)
b = ceil(N/2)
floor 是向下取整函数,ceil 是向上取整函数,大概毕业之后你有很多年没见过这东西了,把它换成普通话,大意是:
菜的数量 = 人数 + 1。
荤菜比素菜多一个,或一样多即可。
同时,作者还贴心地给出了菜式选择建议:
如果人数超过 8 人,考虑在荤菜中增加鱼类荤菜。
如果有小孩,考虑增加有甜味的菜。
考虑增加特色菜、拿手菜。
注意决策荤菜时不要全部使用同一种动物的肉。考虑顺序为:猪肉、鸡肉、牛肉、羊肉、鸭肉、鱼肉。
不要选择奇奇怪怪的动物做荤菜。
看完这些,是时候拿出锅子开火烧油了!
虽然这份菜单看起来足够精确,但它究竟能指导出怎样的食物?味道如何?我们决定——
上手试试!
主菜 ❶
这道菜改编自西雅图 Veil 餐厅主厨 Johnny Zhu 的母亲 Margaret Lu 的菜谱。卢女士原菜谱是使用罗非鱼来做这道菜,这里改为鳕鱼,但也可以用大比目鱼鱼排,或者海鲈鱼、鳟鱼等。
食材剂量.md
黑鳕鱼,带皮,450g(本菜谱主角,所有调料可根据鳕鱼的实际重量进行比例调整)
青葱,葱白,25g。
青葱,葱绿,10g。
姜,13g。
料酒,5mL。
酱油,25mL。
芝麻油,2mL。
花生油,50mL。
操作流程.md
鱼片分别放入密封袋,鱼皮向下放在盘子中。
取葱白切丝 25g,姜去皮后切丝 10g,混合在一起后分成两半,分别放在袋内鱼片上。
每个袋子倒入 2.5mL 料酒。
封好密封袋,放入微波炉中,中火(800 瓦)微波至不透明且容易散开时(约 3.5-5 分钟),从袋中取出鱼片。
去除青葱和姜。
取酱油 25mL,芝麻油 2mL,混合均匀后平均淋在两片鱼片上。
取葱绿切细丝 10g,姜去皮后切丝 3g,混合后分成两份撒在鱼片上。
取花生油 50mL,在小锅中加热至 190℃。
将热油淋到放油葱绿的鱼片上,立刻上桌。
附加内容.xls
鱼类 | 是否切片 | 重量 | 微波时间 |
海鲈鱼 | 整条 | 450g | 6.5 分钟 |
罗非鱼 | 整条 | 800g | 6 分钟 |
大比目鱼 | 切片 | 170g | 2.25 分钟 |
龙脷鱼 | 切片 | 170g | 1.5 分钟 |
成品.jpeg
主菜 ❷
食材剂量.md
黄瓜 = 1 根(约 200g)
鸡蛋 = 2 个
火腿肠 = 1 根(约 40g)
红尖椒 = 1 个
食用油 = 10mL
生抽 3mL
盐 2g
操作流程.md
黄瓜洗净,切半圆形,备用
火腿切半圆形,备用
红尖椒(可选)切碎,备用
将鸡蛋打入碗中,搅匀,即为鸡蛋液
热锅里倒 5mL 食用油
油热后转小火,倒入打散的鸡蛋液,用筷子划散,翻炒至鸡蛋结为固体且颜色微微发黄,即为半熟鸡蛋,盛出备用
不用洗锅,往锅内倒入 5mL 食用油,倒入黄瓜片大火翻炒 1 分钟
把半熟鸡蛋倒入锅中,调入 2g 盐、3mL 生抽,立刻倒入火腿片和辣椒碎(可选)翻炒均匀
关火,盛盘
附加内容.md
火腿是咸的,要在调味后才加入,这样不会让火腿也沾上盐
成品.jpeg
餐后
食材剂量.md
一杯分量约 300mL
水 100mL
耙耙柑 1~2 个(200g 以上)
茉莉绿茶 2~4g
冰块 60g
蔗糖糖浆 10g (可选)
操作流程.md
称量 2~4g 茶叶置于容器,加入 100mL 开水,泡 6 分钟
往泡好的绿茶中放入 60g 冰块冷却,可搅拌加速冷却
待冰块消失后,将茶叶过滤得到茉莉绿茶茶水约 160mL
选择一个杯子,建议使用容量在大约 300mL 的透明玻璃杯
取出耙耙柑的肉瓣,并将外皮剥去,取得果肉
取 130g 果肉和 130mL 茉莉绿茶放入搅拌机中
倒入 10g 蔗糖糖浆(可选,如果喜甜可放)
封盖启动搅拌机,搅拌 20 秒后将搅拌产物倒入杯中
取一点果肉撕碎撒在液面上
附加内容.md
耙耙柑可以用其他容易分离果肉的柑橘替代,比如丑橘
果肉和茶水比例为 1 : 1,如果需要配置更大的分量,可按比例提升用量
成品.jpeg
程序员,晚餐拯救者
有人说:“不认字,是传统意义的文盲;不懂编程,是人工智能时代的文盲。”
倒不是意味着每个人都该掌握编程语言,就像画家不必学会制作颜料和纸,但不能否认的是——已经掌握这门语言的程序员、以及他们输入计算机的 0 和 1 对世界造成了极大改变,你打开手机扫描的健康宝,或是正在看的这篇推送,都依赖计算机语言才得以成型。
现在,程序员们杀疯了,又拿出一份“让人感动”的菜单,他们还会继续做些什么?会在什么地方以什么角度继续改变世界?并不得而知。
但经过试验,这份程序员菜单确实结结实实地拯救了一顿晚餐,而接下来还会发生什么有趣的事情,人类和计算机都很期待。☁️
注:如需查看完整版本,请自行登录 Github 并搜索 How to Cook
编辑:
玛鲨
撰文:
y
摄影、设计:
Andy
插画:
力力
每一次不赶时间的骑行,都能享受北京城的风
一解封就穿上高跟鞋去浪吧……男的
地中海里的口罩很快会比水母还多,艺术家也坐不住了
时装大师们的“灵感源泉”,不在工作室里就在家里
带上诗集去公园
从东四到房山,在这 20 家咖啡馆里重拾“北京的春天”
常看常新的旅行、媒体观察和日常随笔。前往京东、当当等网站搜索“乌云装扮者”,就能找到这两本书。
Jetlag Books 创办于北京三里屯,是以“分享世界资讯、美和创意”为宗旨的独立书店,亦是创造美和趣味的文化创意机构。
关于人文、旅行、审美的微博杂志
微信扫码关注该文公众号作者