「程序员」当程序员学做饭,用代码写下100道菜谱
认证:数码产品优质原创作者
本文有3997个文字,大小约为18KB,预计阅读时间10分钟
精选评测好文
原文标题:当程序员学做饭,用代码写下100道菜谱
" 西红柿块边长不能超过 4cm"
今年 2 月中旬,一份 " 程序员在家做饭方法指南 " 在 GitHub ——世界上最大的代码托管平台上走红。
乍一看,它和常见的菜谱没什么区别,但你点开每一道菜,会发现对用法用量的描述精确到了离谱的程度。" 适量 " 二字是绝对不存在的,拿最常见的 " 西红柿炒蛋 " 举例,西红柿块,被具体为 " 边长不超过 4cm 的小块 ",翻炒的时间被确定为 "20 秒 "。
在 " 厨房准备 " 的工具栏里,赫然出现了 " 天平 "、" 量筒 "、" 游标卡尺 " 等工具,甚至还有一个 " 如何决策吃什么 " 的计算方式。
这份菜谱由一个 95 后程序员 Anduin 在 2020 年隔离期间发起,他在发起说明中说:
最近在家隔离,出不了门。只能宅在家做饭了。作为程序员,我偶尔在网上找找菜谱和做法。但是这些菜谱往往写法千奇百怪,经常中间莫名出来一些材料。对于习惯了形式语言的程序员来说极其不友好。
所以,我计划自己搜寻菜谱和并结合实际做菜的经验,准备用更清晰精准的描述来整理常见菜的做法,以方便程序员在家做饭。
同样,我希望它是一个由社区驱动和维护的开源项目,使更多人能够一起做一个有趣的仓库。所以非常欢迎大家贡献它 ~
诞生之初,这份菜谱只有 7 道菜——也是 Anduin 在隔离期间学会的全部菜色。在今年 2 月突然走红后,吸引来大量的共建者,目前已经累计到超过 100 道。
GitHub 上一次吸引公众的目光是在 2020 年冬天,一份 " 程序员考公指南 " 登上首页,那时,关于 "996"、" 内卷 "、"35 岁危机 " 的讨论刚刚开始。我采访了那些准备考公或已经考上公务员的程序员,他们中有马上 35 岁的公司中层,有报班学习三个月后自嘲成为 " 最底层 " 外包程序员的土木专业学生,也有来自 C9 大学顶级计算机专业的优秀学生代表。
我忍不住问他们同一个问题:最初想做程序员的原因是什么?有没有被程序员这个职业的世界性、开放性以及改变世界的可能鼓舞?
他们总是笑一笑,对我说:" 可能有这样的程序员,但自己不是,也没见过。"
某种程度上,Anduin 是他们口中的 " 那种 " 程序员,他乐于接受挑战,坚信万事万物都有解决方案,也以此指导自己的生活。他不愿意做重复的事,一旦察觉到重复工作的苗头,就会试图 " 把它自动化 "。他用最少的精力面对选择,从 A 到 H 一套一套标记好自己的衣服。更重要的是,他相信程序员的社区精神,相信程序可以帮助我们走向更好更开放的世界。
以下是 Anduin 的自述。
一
程序员做菜指南
2020 年年初,我在家隔离的时候决定开始做饭。
在此之前我只会泡方便面,所以最开始研究的也是炒方便面,因为好学,不需要研究如何配料,就从调料包里拿就行。
之后我又学了几道菜,都是简单的家常菜,什么西红柿炒蛋、水煮肉片之类的。
学习的过程让我很崩溃。网上的菜谱一是没有被量化,总是 " 适量 "、" 适量 ",二是好多东西有歧义,步骤中间会突然莫名其妙地出现一些上下文里没有的材料,我没提前准备,直接就跟不下去了。这让我很困惑,无法接受,我决定自己整理一份菜谱。
在确定一道菜谱前,我会自己做三四次。比如说我要做一个水煮肉片,我会先在网上搜三四个版本的水煮肉片,对比看看。如果三四个版本里都要加豆瓣酱,我就觉得水煮肉片确实应该加豆瓣酱。如果三份菜谱里面有两份都把这个肉腌了,那我也就觉得这个肉确实要腌,这样把三四份菜谱全归纳完了以后,我就自己试着做一两次,把其中令人困惑的地方再改一改,再发给我妈看看,差不多一份菜谱就定下来了。
一开始,这些菜谱被写在 word 文档里,我把它们打印下来贴在厨房墙上。后来积累了六七张纸,我觉得这个东西如果用 GitHub 去版本控制一下,看看社区里别的大佬有没有什么想法,可能还挺好玩,我才放到 GitHub 上。
这个仓库最初的架构主要用来解决我的需要。
比如我不想做太复杂的菜,那种需要多次开锅、提前调料腌制的,我都放弃了。
指南里的 " 如何决策吃什么 ",是专门用来解决聚餐点菜的问题的。
截自 GitHub" 程序员在家做饭方法指南 "
" 点菜 " 是从大一开始困扰我的问题。和七八个人一起吃饭,可能有领导、有小孩、有亲戚朋友、有同学,你们可能关系等级都不一样。到了饭店里,突然,他们把菜谱递到了你手里,让你来点,我就非常害怕。
这样的情况发生多了,我还真的去请教了一些高手,他们给我简单归纳了一下,得到了一些计算的方法,我觉得还挺有用。总结起来,就是菜的总数等于人数加一,然后把总数除以 2,向上取整就是荤菜数量,向下取整就是素菜数量。比如说 10 个人的话,就是 11 个菜,6 个荤菜 5 个素菜。荤菜的话就挨个选用猪、鸡、牛、羊、鸭、鱼,再考虑增加饭店的特色菜和拿手菜;如果有小孩的话,要增加有甜味的菜;如果是正式场合的话,要增加鱼。就基本上就这些套路。现在我出去吃饭,会在脑子里把这个公式过一遍,很好用。
这个仓库在今年 2 月突然走红,大家的热情超出了我的预期,光是 " 下饺子放不放凉水 " 就吵了好几轮,我以前以为大部分程序员都和我一样只点外卖呢。
" 程序员在家做饭方法指南 "Issue 区的最新讨论
在 GitHub 上,如果一个人对我的仓库有修改意见,他可以写 issue,类似评论,或者自己直接写好修改步骤,向我发起 " 请求 ",要求 " 合并 " 到我的菜谱里。
争议最大的一道菜是西红柿炒蛋,我已经被 " 请求 " 了五六次。有人说要加糖,有人说不加糖,有人加葱花有人不加葱花,有人说是鸡蛋炒熟后直接放西红柿,有人说是鸡蛋和西红柿都单独炒完再放在一起炒,有人说要往鸡蛋里放醋来去掉腥味,有人说要加番茄酱增加汤汁 ...... 我感觉这些版本太多了,最后都把他们写到附加内容里去了,就说这道菜有好多版本,你自己看着办吧。
最近的一次修改是取消了 " 勺 " 这个单位,起因也是有人提了一个 issue,说这个东西看不懂,太不精确了,底下很多人跟着评论说确实不精确,我就取消了。
现在每天活跃在这个仓库的大概有几十个人。有几个人固定地帮我写了好多菜,有人帮我做了一些自动化检查,大概一个月前,还有两个人分别说要给这份菜谱做一个网站和小程序,这是属于他们自己独立运营的,我只是提供一下数据,我挺高兴他们愿意用我的数据。
二
大玩具
我 1996 年出生在河北晋州,3 岁搬去了石家庄,我爸爸最初是电气工程师,后来自己出来创业,开了家小公司做一些企业资源管理的软件。
我爸的公司就在我们家里,90 多平米的房子,客厅和餐厅都被改造成了工作的地方,放了四五台电脑。那个地方对我来说像是一个实验室,里面各种各样杂七杂八的零件和电路板,小伙伴来我家蹭电脑,我们要在缝隙里放下自己的脚和手。
我接触电脑比同龄人早。从八九岁开始,我就迷上了电脑游戏,《星际争霸 1》、《帝国时代 2》。但是很快,玩游戏不太能满足我了,玩过各种各样类型的游戏之后,我已经知道什么类型的游戏比较容易让我得到快乐,什么类型的游戏其实是很无聊的。
小学四年级左右,我在我爸书架上找到一本《C# 入门经典》,这本书是循序渐进的。第二章讲布尔运算,就是逻辑与或非运算,什么真与真是真,真与假是假,什么假与假是假,之后的几章讲加减乘除、条件运算之类的,对我来说都很简单,我看得津津有味。
大概到第六七章的时候,我就完全看不懂了,但是前面的数学运算多少给我一种自信,就是控制计算机工作其实并没有那么复杂,是很简单的一件事情。
Anduin 记录的 " 每天写一行代码 " 挑战
我从那时候开始写一些简单的文字游戏。我会告诉你现在有多少滴血,你有多少钱,然后呢你可以买一个更厉害的武器,或者买一些护甲、一些药,你决策完以后就可以继续去打怪,怪又有多少滴血 …… 一些很简单的文字,写好之后发给同学炫耀,你看,我可以自己写一些游戏,就觉得很酷。
我爸妈觉得我挺废的。那时候他们总是出差,回来就看到我在玩电脑,昼夜不分。他们给家里电脑都设上密码,但是没用,我总是有办法解开。
高中,我进入了一所寄宿中学,那时候多媒体教学刚刚开始普及,学校老师开始经常使用 PPT 来教学。
教室的讲台下面有了一台电脑,还能联网,简直成了我的大玩具。班主任需要指派一个学生来管这台电脑,我立马举手了,主要任务是给老师们开机,插 U 盘,打开 PPT。
我用这台电脑干了不少坏事。比如,我尝试破解了隔壁办公室的 Wi-Fi 密码,还拿到老师面前炫耀,比如我会用它剪辑和播放班上同学的出糗视频。我和几个同学尝试在这个电脑上装一些比较大型的游戏,但很明显,这台电脑的性能不是很好,玩那些大型游戏总是很卡。我甚至还在那台电脑上安装了一些开发环境来编程写代码。
大学里,Anduin 最常待的是机房
整个学生阶段,我都没太认真学习,成绩最好的是物理,几乎都是满分,成绩最差的是语文,满分 150,我只能考 80 多分。高考前,东北大学提前招收软件工程专业的学生,我报名了,没想到考到了第 9 名。
我对一个行业喜不喜欢的判断标准很简单,就是这个行业是不是关于未来的,而且不会做重复的事情。对于软件工程来讲,一个优秀的项目确实能够改变全人类的发展。
小时候,我的偶像是比尔盖茨,我觉得他是世界上最精明的商人,能够意识到自己会什么,应该做什么,基本上他一直都在做正确的决策。嗯,包括他的辍学,我也觉得是他人生中的正确决策。
三
人不要做重复的工作
我不想做重复的工作。
2020 年 7 月,我从北京去到苏州,入职微软,做程序开发。
最让我不习惯的是苏康码。苏康码只能在支付宝或是微信小程序里打开,但是我如果进了公司内网,再打开支付宝就会告诉我这个小程序不可以使用,我每次都得把 Wi-Fi 关了,用流量才能打开,特别麻烦,我经常被卡在门口。
被卡的次数多了,我决定解决这个事。去年 12 月份,我发现苏康码事实上是一个网页,经过检查备案信息,确实属于苏州公安局,我想,如果能抠出来 URL,自己用浏览器打开,事实上可以绕过小程序,不到一秒钟就可以打开。
把这个网页抠出来后,我把它单独放在我的手机主页面上,每次跟一大群同事一起进公司,我一秒钟打开,他们全在那卡着,我觉得挺有趣的。后来我把它分享到了我的博客上,取名《在一秒钟内打开苏康码》。
做菜谱也是这样的初衷,我不能容忍一个问题一直困扰我,我会想把它解决掉。
我不太清楚你是否会管理自己的衣服,我对自己的衣服管理得特别严。我给你发一张照片,我就是随手拍的。
Anduin 的衣柜
这是我的衣柜。从 ABC 开始,一共编到了 H,每一个字母就是一套,然后每一套上面标着适应穿的温度、场合等数据,我用一个 Excel 把他们都整理起来,嵌入到我的数据库里面,这是我的资产管理。
可能我太喜欢打扫房间了,朋友来我家都说我家徒四壁,什么都没有。
其实我最在乎的是布线。因为我的电子设备比较多,怎么布线能够让他们都发挥功能,然后从前面看从后面看都是整齐的,还挺难的。
这件事我基本上是从本科的时候就开始做,朋友们每次到我的宿舍都会十分震惊,因为我的宿舍墙上布的全是线,转弯都是直角的,就感觉跟一个电路板一样。
布线整洁强迫症从大学一直带到工作
从毕业开始,我一直在坚持让自己的所有设备都能实现一键同步。有时候我在公司做一件事做到一半,想回家接着做,家里的电脑又缺点东西,我就特别难受。我做了一个自动把所有电脑上的软件设置全同步过来的软件,它会把这几台电脑的壁纸、快捷键、浏览历史、文件 …… 所有设置全都同步,我在一台电脑上做了什么事情,可以直接关机,切到另一台电脑上,所有的东西都会一模一样。
我主要是觉得人就不应该做重复的工作,凡是重复的工作都应该用一个自动化的东西去解决。做菜指南刚火起来的时候,我每天需要花大概一小时在维护这个仓库上。主要是浏览大家的 issue,处理合并请求,帮他们把格式修改得一致等等,全是重复的。后来,我花三小时写了一些代码,把大部分工作都自动化了。
四
" 理想程序员 "
来到微软之后,我发现很多同事都和我的经历相似,就是小时候都有电脑,都会自己在电脑上捣鼓很多有趣的事情。
我们每天工作的本质就是在学习,在接触我们不会的东西,对程序员来说,在弄会一个问题的时候,很可能一个工作内容已经完成了。
从大学开始,我感觉身边很多人学习的知识和实践是分离的,学到的东西并不能帮他们解决实际的问题,所以我一直相信程序员是要在一个个项目中成长。
我喜欢挑战。如果你给我一个问题,它有点难,但不至于超越我的理解极限,我会特别高兴,我可能接下来几天饭都不想吃,觉都不想睡,就研究这个问题。如果能解决它,我会得到一种极大的自我肯定和满足。
微软 ( 中国 ) 有限公司 ( 苏州分公司 )
在微软,有鼓励程序员 "hack" 的文化,翻译成中文叫 " 黑 "。
hack,其实就是运用自己的技术去改变生活里的一个方面,很可能是好的方面。比如说我的手机不能无线充电,那我自己用我的技术对他捣鼓捣鼓,它现在可以无线充电了,这本质上就是一种 hack。微软内部的很多产品,包括现在很有名的产品,当时并不是产品经理想到的,而是一些程序员他们闲得没事自己 hack 的,本着一个做玩具的心态,最后竟然做成了产品。
每年会有大概三个星期的时间,微软鼓励员工不做和工作相关的内容,举行 Hackathon(黑客马拉松)。在这三个星期里,员工不会被安排任何工作,但是鼓励他们花公司的资源去尝试奇奇怪怪的点子,可以自己做,也可以组队,三个星期结束后会有一次评选,这诞生出非常多有价值的项目。
这种交流和创造,是我觉得程序员这个工作最迷人的部分。
我在大学的时候注册了 GitHub,起初只是在上面学习一些大佬的处理方案,后来渐渐的,我发现自己解决了一些可能别人也需要解决的问题的时候,就开始自己拥有一些自己的仓库。GitHub 是一个奇妙的社区。最初它只是作为版本控制的平台,但因为其 " 开源 " 的特性——即代码诞生后完全开放,任何人都可以对此代码进行二度加工完善,为集体创作提供了可能。
GitHub 以前出过一个功能,可以查一个国家的贡献量排行榜,2020 年的时候,我几乎每天泡在上面四五个小时,最高能在全国排 20 多名。
Anduin 的博客主页
我很喜欢一本书,叫《大教堂与集市》,一本薄薄的小册子,内容不多,但是这本书却对为什么要开源,开源有什么好处,以及什么时候应该开源这些问题做了非常深刻的回答,以至于这本书虽然是几十年前写的,但是直到今天仍然被视为是开源领域的圣经。
对于我个人而言,我始终觉得开源更像是一种无私的奉献,当你把你的代码赋予了开源的协议的时候,你已经能够预料到,未来即使有人用你的代码去挣了钱去解决了什么问题,你也不能从中得到任何利益。对于这样的代码来讲,它更多是一种创意作品,创意作品是很难用金钱来进行衡量和交易的,更像是一种想清楚了,我今天做的事情就是在帮着全人类去解决问题的一种社区精神。
现在,我在各个平台维护接近 20 个开源项目,以每月两篇的速度更新我的博客,我喜欢和来自全世界的同行们交流,我们共享同一种语言。我想我会一直做一名程序员,因为这是让我快乐的事。
更多文章:扫地机器人也内卷,避障更灵活更智能的追觅L10Pro扫地机器人来啦<\a>
其他人还看了
「马修」Copilot要摊官司了!工作20年老程序员重新激活律师证,发起集体诉讼,
「高通」高通向安卓AOSP捐赠aptX与aptXHD编解码器源代码
CODE01推出后,机械革命计划发布新款CODEGO程序员本
一款既能削芒果西红柿又能削土豆的神器(德尔玛加湿器怎么用,德尔玛加湿器
郑重声明:本文“「程序员」当程序员学做饭,用代码写下100道菜谱”,https://nmgjrty.com/shumacp_388851.html内容,由看客inSight提供发布,请自行判断内容优劣。
上一篇:「黑洞」神秘宇宙环之谜
- 全部评论(0)
- 三星GalaxyS22降至3399元,马上冲?还是再等一等?
- 目前3款最值得入手的iPhone,不花冤枉钱,性能强劲
- 上市超2年的华为P40,还能继续用多久?
- MAX+120Hz电竞屏,12+256GB仅售1899元
- 数码好物新一波来袭!
- 进化的巅峰之作,远超竞争对手
- H2与X-H2s没有8K/60p选项,官方作出回应
- iPhone8更换电池指南
- 华为Nova9SE
- “舍不得利润套不住用户”,骁龙870跌至1499元!
- 富士XT4实用的数码配件好物分享,实用主义向
- 双11必看/不同预算iPhone应该怎么选/超详细信息/价格预测/机型对比/购买建议/销
- 华为PocketS及全场景新品发布会
- 单反相机中的佼佼者,索尼
- 华为Mate50E同款芯片,售价仅1259元,5000mAh+5G全网通
- 尼康/NikonDf开箱
最新更新
- 三星GalaxyS22降至3399元,马上冲?还是再等
- 目前3款最值得入手的iPhone,不花冤枉钱,
- 上市超2年的华为P40,还能继续用多久?
- MAX+120Hz电竞屏,12+256GB仅售1899元
- 数码好物新一波来袭!
- 进化的巅峰之作,远超竞争对手
- H2与X-H2s没有8K/60p选项,官方作出回应
- iPhone8更换电池指南
- 华为Nova9SE
- “舍不得利润套不住用户”,骁龙870跌至
- 富士XT4实用的数码配件好物分享,实用主
- 双11必看/不同预算iPhone应该怎么选/超详细
- 华为PocketS及全场景新品发布会
- 单反相机中的佼佼者,索尼
- 华为Mate50E同款芯片,售价仅1259元,5000
推荐阅读
- 「生物」我们应该寻找什么样的外星生命,高等的还是低等的?
- 「空间望远镜」韦布空间望远镜捕捉到布满恒星的创生之柱
- 「行者」从《双城之战》到《边缘行者》,游改动画迎来盛世?
- 「国际象棋」智能肛珠作弊案反转:19岁小将告世界冠军诽谤索赔7亿
- 「英伟达」不止是游戏党,他们才是被英伟达坑怕的人。
- 「索尼」索尼官宣!猜猜A7R5多钱?R2要价1.9万、R3要价2.4万、R4要价2.7万……
- 「癌症」一种癌症转移的关键因素
- 「智能手表」面世八年后,谷歌的智能手表生态终于迎来开放曙光
- 「adobe」用VR手捏3D模型,PS直接与甲方对线,Adobe新技术确实给设计师炫到了
- 「amd」RTX40的对手来了!AMDRDNA3显卡发布会官宣
- 「奥斯汀」苹果M3准备登场,库克展示奥斯汀AppleSilicon工程团队努力成果
- 「马修」Copilot要摊官司了!工作20年老程序员重新激活律师证,发起集体诉讼,
猜你喜欢
- [iPhone]iPhone13promax远峰蓝128G入手
- [安卓手机]realme真我GTNeo2开箱,金刚石冰芯散热系统+E4屏,5000mAh大电池
- [贴膜]红米9爆屏更换记录,弯曲的中框修复
- [智能机器人]编程从娃娃抓起,MakeBlock程小奔上手体验
- [智能摄像机]内置大电池,无需打孔走线,小米室外摄像机给你满满的安全感
- [充电器]65w网红氮化镓一次看个够
- [电脑支架]原汤化原食,LGErgo显示器支架
- [蓝牙耳机]中端耳机音质天花板,降噪很有一手,鹿图COCO真蓝牙降噪耳机评测
- [音频播放器]关于R01主板的主观看法,和一些碎碎念
- [充电器]双口快充,满足日常需求
- [VR设备]GOOVISLite头戴影院评测
- [蓝牙耳机]魅蓝Blus耳机体验,魅蓝依旧还是当年坚持做良品的青年良品
- [安卓手机]从5988跌至2749,256GB+鸿蒙OS+7nm麒麟,从高端市场跌至中端市场
- 「轻众测|素诺智能可视冲牙器」别急,对准再冲!素诺可视冲牙器让残渣无所
- 「九号新品Nano及Air T15」萌娃初体验——Ninebot九号平衡车Nano