笑死!程序员延寿指南开源了。。
来源|金磊/丰色/量子位(ID:QbitAI)报道
最近,一个名为《程序员延寿指南》的项目在GitHub上大受欢迎,几天狂揽5.5k颗星星。
这个项目的作者本人,恰恰就是一名程序员。
在这份延寿指南中,各种方法被严格地划分成输入、输出和上下文三类,每一种方法都有可以量化的指标和结果。
这可不是瞎编,据作者表示每一个步骤和方法都有严格的研究依据——
其中有不少方法,都是根据Science、Nature、柳叶刀等顶刊中的最新研究“提取”的。
相比保温杯泡枸杞,简直过于硬核了有木有?!
来看看到底是个怎么延寿法。
程序员,该如何延寿?
纵观这个项目,其所围绕的一个关键词是——
ACM。
但并不是你以为的那个ACM,它的全称是All-Cause Mortality,中文叫做全因死亡率。
(连关键词都挺程序员味道的)
全因死亡率,严谨地来讲,是指一定时期内各种原因导致的总死亡人数与该人群人口数之比。
而这个项目要做的,就是把这个ACM在程序员人群中“打下去”。
项目作者所参考的主要指标,便是与ACM相关的众多文献了。
但在这其中,也需要注意2点:
增加寿命与ACM关系非线性:这里假设 DeltaLifeSpan=(1/(1-ACM)-1)*10
变量无法简单叠加:各个变量之间并不符合独立同分布假设
因此,项目作者便将“ACM打下去”的工作,划分为了更细致的三大类,并给它们取名为:
输入、输出和上下文。
程序员延寿大法一:输入,Input
这里的“输入”,好比程序里的Input,而是指程序员群体从外界摄入到体内的各种因素。
主要包括固体、液体、气体、光照和药物等。
以“固体”为例,项目作者便以发表在JAMA子刊的一项研究为例做佐证:
这项为期八年的研究表明,如果每天平均每天增加至少半份红肉摄入,那么ACM将增加10%。
而每周吃两份红肉或加工肉类(不包括禽或鱼类),则ACM会增加3%。
当然,除了红白肉的分析之外,项目作者也列举了其它人们平时会摄入的食物,对ACM的影响分析。
总结来说便是:
吃白肉:ACM可降低3%-11%
蔬果为主ACM可降低17%-26%
多吃辣:ACM可降低23%
多吃坚果:ACM可降低4%-17%
少吃蛋黄:若每天吃0.5颗,ACM会增加7%
中量碳水、多吃植物蛋白:ACM可降低10%
除了“吃的”之外,平时我们“喝的”也会对ACM产生影响:
喝咖啡(-12%~-22% ACM)、喝牛奶(-10%~-17% ACM)、喝茶(-8%~15% ACM)、少喝或不喝甜味饮料(否则每天一杯+7% ACM,+多巴胺)、戒酒或每周100g(纯酒精量(g)=饮酒量(ml)×酒精浓度)。
△《柳叶刀》研究:每天1斤牛奶或酸奶,心血管死亡风险下降23%
至于气体方面,首先要解决的便是吸烟问题了。
对此,项目作者在经过对ACM文献调研之后发现:
吸烟会让ACM增加50%,寿命平均缩短11至12年。
除此之外,像多晒太阳可以降低40%的ACM。
而药物方面,例如二甲双胍可以让糖尿病人可以平均多活3年、复合维生素可以患癌风险降低8%,亚精胺和葡萄糖胺分别可以降低ACM30%-60%和39%。
程序员延寿大法二:输出,Output
类比上述的输入,这里的输出指的便是程序员们在体外的一些活动了。
例如运动方面,根据《柳叶刀》一项120万人参与的研究,仅是 挥拍运动,若是每周能保持3次,每次45-60分钟,便可以让ACM降低47%。
还有程序员们得好好刷牙,这样会让ACM降低25%!
除此之外,睡觉也是降低ACM的重要因素。
例如JAMA Network Open的一项研究,便指出了每晚的睡眠时长与全因死亡率的关联。
具体而言,每天睡7小时全因死亡率最低。
若是在22-24点间睡觉最好,早睡和晚睡会分别增加43%和15%的ACM。
程序员延寿大法三:上下文,Context
就像一段代码有了外部变量,这段代码便无法独立运行。
程序员们的健康也是如此,ACM会受到外部环境的影响。
例如研究表明,悲观情绪会与ACM有所关联(虽然乐观情绪并不会起到保护作用)。
甚至贫富差距、减肥都与ACM息息相关。
……
当然,项目作者也对这项工作提出了不足之处。
因为有些文献之间有显著矛盾的观点,例如对于碳水摄入的比例;还有些文献存在较大争议,例如有人认为22点前睡觉会43%的ACM。
因此,项目作者也指出:
所有文献表明的更多是相关而非因果。
那么问题就来了:
延寿指南,靠谱吗?
这本指南,充满干货,文档中一本正经的态度也让人忍俊不禁。
但同时,它也躲不过“程序员的严谨”——有人就提出了很重要的一个问题:
引用的链接都有可信度吗?
毕竟这年头“谣言”可是不少,而这里面还包括不少第三方的文章。
于是,我们找到项目作者本人,与他深度交流了一番。
作者:背后的论文全部看过
项目作者在我们的采访以及回答网友疑问中都表示,虽然有的链接放的不是原文,但里面的内容都可以溯源。涉及到的论文他都一一读过。
还得提一句的是,他自述曾为了根治鼻炎,在看完医生的同时,还自发看过不下4、50篇论文,包括欧洲鼻窦炎鼻息肉诊疗指南EPOS等。
可以说,医学论文没少看。
但是由于这类专业论文读起来十分晦涩,也缺少阅读体验,项目中的证据才用了这些易读的文章呈现。
现在经过大家的建议,他已经在陆续加源文献,并且后续也会把期刊名、影响因子、评级等常规评价方式透出来。
同时大家也注意到,里面涉及到了一些结论矛盾的研究,也正如刚才所述,作者也都一一标注。
而关于矛盾研究,他认为,可以根据研究本身的质量做评估。
因为有时候一些研究也并非完全矛盾,研究时间、研究人群、实验方法不同时,同一个选题确实会得出不同的结果。
项目由头要追溯到小时候
说起来很有趣,作者是在小时候突然有一天意识到:原来自己终有一天会离开世界。
这让他很难过,一度对着父母大哭。
正是这次发现,让小小年纪的他就想着以后一定要活得更久一些。
在成长的过程中,他看过很多没有依据包括长辈灌输的“养生方法”,就萌生了量化各个因素对全因死亡率影响的念头,开始了经年累月的数据积累。
前几个月他在参加一个技术社群之后小范围分享了这些数据,没想到引起了非常高的好评率,还经常有人找到他要材料,索性就开源了。
网友:How to live longer with hair?
这个项目一放上程序员聚集的GitHub,短短一天就涨了1500+star。
在别的平台,有不少非程序员网友还会贴心地转给身边的程序员朋友看。
有人打趣道:目标、行动、分析、输入输出……这几个关键字一出来,简直就是被OKR支配的寿命管理。
而作者的解释就更有趣了:因为最近经常听到human-in-the-loop的观念,这个文档里人就可以看成一个Object,修改不同的输入、输出、上下文,就可以改变人。
(可以,这很程序员。)
写不完的bug,没日没夜的加班……如何活得更长,确实是这个群体非常值得关注的问题。
不过,大家似乎并不满足于此。
比如在项目的Issues中,就有人提问:
How to live longer with hair?
对程序员来说,头发可是比什么都重要:头发都没有了,要这长命百岁有何用……
以及不仅要保住头发,还要显年轻才行。
这不就有人问:
“作者大大,是否有兴趣开一个How to look young?
毕竟二十多岁被人说像七老八十的滋味谁明白?(旺柴)
总之,别的不说,这届程序员是越来越有觉悟了——做饭、养生、考公、买房……全都安排得明明白白的。
而这些意见,作者表示会考虑。
比如他想到了“延寿先锋”哈佛教授David Sinclai,或许后面在找到足够的证据后,可以把他的食谱加上来。
以及有足够的数据支撑的话,他还会加上多巴胺量表。
当然,“活得久且开心更重要”
作者神秘的面纱在这里揭晓,对,他本人也是一名程序员,还很年轻,90后。
他叫吴承霖,毕业于厦门大学计算机专业,曾在腾讯担任高级AI研究员,是当时部门最年轻的T3.3高级员工。
他的GitHub主页项目不多,但每一个标星数都不少。
也许有人已经听过他的名字,他在几年前就入选了福布斯30位30岁以下精英和胡润30位30岁以下创业领袖。
是的,他现在已经是一家公司的CEO了。
这家公司就是深度赋智,主要以AutoDL的形式提供AI中台SaaS服务,聚集了一帮来自腾讯、Google、百度、华为等公司的程序员。
对于这个爆火的项目,吴承霖表示谈不上什么意不意外。
他说,程序员的眼睛、鼻子、腰椎、脊椎、肝等几个部位都比较容易出问题。
因此“定向检测和预防性检测很重要”,当然,话锋一转,他也指出:“核心还是得自己对“健康”有较高的洞察力。”
现在的他基本会按照这些量表去生活,主要是运动和晒太阳方面做的还不够。
不过他不会苛求自己100%实行,毕竟:
活得久而开心比单纯的活得久重要。
最后,作为程序员的你,觉得如何才能“延寿续命”呢?
GitHub项目地址:https://github.com/geekan/HowToLiveLonger
参考链接:
[1]https://jamanetwork.com/journals/jamainternalmedicine/fullarticle/2759737
[2]http://mdrf-eprints.in/1114/1/Association_of_dietary_patterns_and_dietary_diversity_with_cardiometabolic_disease_risk_factors.pdf
[3]https://pubmed.ncbi.nlm.nih.gov/34152010/#:~:text=Among%20Chinese%20adults%2C%20we%20found,diabetes%20and%20chronic%20kidney%20disease.
[4]https://jamanetwork.com/journals/jamanetworkopen/fullarticle/2783717
[5]https://www.nature.com/articles/s41591-020-1112-0.pdf
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
面试题
】即可获取