做饭前先计算,苏州程序员设计“方程式”菜谱走红网络


 

家里来了客人聚餐时,准备多少道菜合适?

苏州软件工程师薛锋将自创的一套《程序员做饭指南》上传网络后,其“方程式”菜谱在全球最大的代码托管平台GitHub走红,受到各地程序员们的点赞。

目前,《程序员做饭指南》已经收录了上百种涵盖各式菜系的菜谱,从主食到饮料,从甜品到鸡尾酒......当菜谱变成形式化的语言,对“适量”、“少许”、“若干”等模糊词语说“不”,这是属于程序员的“独特浪漫”。


程序员做饭指南意外走红

这样精确的菜谱你见过吗?


来到薛锋家里,入眼便是一台一米多高的服务器,不大的客厅被占据了不少空间。而薛锋正坐在服务器前,忙着给自己的“大玩具”安装新的网线,一剪一拧,对精度要求极高的网线连接工作在他手中不到10分钟便可轻松完成。

“看,这是我花了半年时间自己买零件组装的服务器,我叫它‘家庭存储中心’,也是我的大玩具。”薛锋饶有兴致地介绍起自己的杰作,复杂的线路被他分类得整整齐齐。



“我有强迫症。”薛锋说,“不论是工作还是生活,我都习惯追求精准。”诚然,对于程序员来说,错误(bug)就意味着要一遍遍修改代码,是令人心烦意乱的大红色叉和警示音。有趣的是,薛锋将这一习惯带入生活中,而他创作的《程序员做饭指南》在GitHub上意外走红。(GitHub:世界上最大的代码托管平台)


图/《程序员做饭指南》在GitHub上收获4.8万收藏


乍一看,它和常见的菜谱没什么区别,但点开每一道菜时会发现,这里面对用法用量的描述极为精确。寻常菜谱中常见的“若干”、“适量”、“少许”等模糊不清的量词都被薛锋剔除了,甚至连“勺”的概念也拿去了。“每个人家里勺子的大小是不一样的,如果我写放一勺酱油,这个量其实很不清晰。”

食用油10毫升、淀粉10克、甚至连西红柿都规定要切成不超过4厘米的小块......在“厨房准备”的工具栏里,甚至还出现了“天平”、“量筒”、“游标卡尺”等高精度的测量工具。此外,薛锋还把决策的难度直接简化为公式化的计算。

例如,家里来了5名客人,不知道菜的数量和荤素搭配的人便可以直接套用公式:(菜的数量)=5(人数)+1,则是要准备 6道菜,荤素菜数量则为菜品总数的一半,即荤菜和素材各为3道。


《程序员做饭指南》收获了大量关注的同时,也有不少热心网友往里面添加新的菜谱,不断丰富整份指南。目前,指南中共收录了上百种菜谱,按照素菜、荤菜、水产、主食、早餐等品类严格细分,囊括了粤、湘、川、浙、西北等诸多菜系,甚至还有鸡尾酒、饮料、甜品等各类五花八门的餐品。



“当时是疫情期间,隔离在家的日子里我只能自己学习做饭。”回忆起创作初衷,薛锋的经历引起了不少网友的共鸣,“网上搜到的菜谱往往写法千奇百怪,若干、适量和少许等词语对于习惯了程序世界里精准的量化语言的我们来说极其不友好,因为它们意味着随机和不确定性。”

正是这份来自程序员群体的共鸣,让《程序员做饭指南》能在Github这样一个世界级的平台走红。“其实这是个无心插柳的项目,对于它的走红我感觉很意外。”薛锋坦言,他的初衷只是记录自己的生活,并不是指望这份指南产生什么盈利。目前,有不少开发者借鉴其思路开发了小程序、App 等,薛锋都表示欢迎。

“《程序员做饭指南》可不单单只适合程序员,我想任何一个做饭小白,都能从中学到不少烹饪技巧。此外,如果有人拿它去二次开发,这样精确的菜谱还可以用在智能厨房或者生命健康管理中,可以给大家带来很多便利。”


“遇到困难就要去解决它”

程序员式浪漫有点“甜”


1996年出生在河北晋州,薛锋受工程师父亲的影响,从小便开始接触电脑、计算机零件、电路板等。“我们家的客厅和餐厅都被改造成了爸爸工作的地方,放了四五台电脑。”从八九岁开始,薛锋迷上了电脑游戏,《星际争霸1》、《帝国时代2》等都是他的数字世界启蒙。

而小学四年级在父亲书架上找到的《C#入门经典》图书,为小薛锋打开了编程的大门。“这本书写的得引人入胜,第二章讲布尔运算,也就是逻辑与或非运算,之后的几章讲加减乘除、条件运算等,我看得津津有味。”


图/薛锋在公司做演讲


就这样,怀着对编程的憧憬,薛锋考入东北大学学习软件工程专业,并在毕业后成功入职微软苏州分公司。“如愿实现了自己的梦想我感到很幸福,人们看到我会说‘看,他在自己喜欢的行业上班,而且还做得不错!’,这就让我很满足了。”

薛锋的家中,处处藏着他程序员式的浪漫。“我尽量让自己的生活井井有条,这样可以避免很多麻烦。”每天起来,他会先打开自己的记事本,确认自己当天要完成的任务;衣服都按照裤子、上衣和外套进行搭配收纳,并且在Excel文档里记录了每套衣服适合的温度和场合......



作为一名程序员,薛锋秉持着遇到困难就要想办法解决的原则,“要时刻保持思考,比如,坐电梯的时候,我常常感觉电梯的调度系统不够智能,而用智能化手段解决生活中的类似问题,就是我们的职责和乐趣。”

怕麻烦的薛锋总是在想办法让自己的生活变得轻松。为了方便自己在家进行编程实验,他干脆动手拼了一台服务器;为了更快地打开苏康码,他开发了一个快捷链接,还把它分享到博客上,取名《在一秒钟内打开苏康码》;他做了一个自动把电脑上所有软件设置全同步过来的软件,可以直接关机,再切到另一台电脑上,所有的东西都会一模一样......

“他是一个会把想法实现的人。”这是薛锋的朋友们对他共同的评价。从B站粉丝到如今的室友,同为程序员的卓奕帆将薛锋视为自己的偶像,“他的行动力和执行力很强,生活中也是个‘细节控’,跟着他我学习到了很多。”



在拥抱科技和智能的同时,薛锋也强调了经历和体验的重要性。“我正在学习开飞机,也会通过弹钢琴疏解心中的情绪。”

在薛锋看来,如果想让弹钢琴更智能,其实完全可以开发一个提示下个音节的程序,这样就不用背曲谱。但如果这样的话,为何不直接让钢琴自己弹奏?再进一步想,是不是就和直接用音响放歌没有区别?“尽管我只会弹几首简单的曲子,但是弹钢琴的经历和体验,是不可被替代的。”

而通过学习飞行,薛锋看到了鲜少有人见过的风景。“很多事情如果现在不做,以后就没有机会做了,我们程序员也要学会享受生活。”


图/薛锋和朋友们


作为一个北方男孩,薛锋在苏州找到了适合自己的生活方式。“我曾在北京工作过一段时间,那里的人连走路都很快,像被生活压力推着走。来到苏州以后,感觉被这座城市治愈了,很享受在这里的生活。”

对于未来,薛锋充满激情,在他看来,写代码也是一种创作,“通过写代码,我可以把自己的想法表达出来,留下属于自己的作品。”


发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章