要命!《程序员延寿指南》火爆GitHub,日涨1500+星,跟着码农干多活20年

本文主要是介绍要命!《程序员延寿指南》火爆GitHub,日涨1500+星,跟着码农干多活20年,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

金磊 丰色 发自 凹非寺
量子位 | 公众号 QbitAI

跟着程序员搞养生,最高能多活20年?!

就在最近,一个名为《程序员延寿指南》的项目在GitHub上大受欢迎,几天狂揽5.5k颗星星

9e0dd95a81db022ed07d5cba1c817797.png

这个项目的作者本人,恰恰就是一名程序员

af9edba45b4fb753af7e0f8fa459cdfa.png

在这份延寿指南中,各种方法被严格地划分成输入、输出和上下文三类,每一种方法都有可以量化的指标和结果。

2e10ccf165ca14b783c951ec4f5d6c53.png

这可不是瞎编,据作者表示每一个步骤和方法都有严格的研究依据——

其中有不少方法,都是根据Science、Nature、柳叶刀等顶刊中的最新研究“提取”的。

相比保温杯泡枸杞,简直过于硬核了有木有?!

114bcddee92628549e2f48075fa17be8.gif

来看看到底是个怎么延寿法。

程序员,该如何延寿?

纵观这个项目,其所围绕的一个关键词是——

ACM

但并不是你以为的那个ACM,它的全称是All-Cause Mortality,中文叫做全因死亡率

(连关键词都挺程序员味道的)

87727817ed207cc9b25b9bbbc9a3a722.png

全因死亡率,严谨地来讲,是指一定时期内各种原因导致的总死亡人数与该人群人口数之比。

而这个项目要做的,就是把这个ACM在程序员人群中“打下去”

项目作者所参考的主要指标,便是与ACM相关的众多文献了。

但在这其中,也需要注意2点:

  • 增加寿命与ACM关系非线性:这里假设 DeltaLifeSpan=(1/(1-ACM)-1)*10

  • 变量无法简单叠加:各个变量之间并不符合独立同分布假设

因此,项目作者便将“ACM打下去”的工作,划分为了更细致的三大类,并给它们取名为:

输入输出上下文

程序员延寿大法一:输入,Input

这里的“输入”,好比程序里的Input,而是指程序员群体从外界摄入到体内的各种因素。

主要包括固体、液体、气体、光照和药物等。

“固体”为例,项目作者便以发表在JAMA子刊的一项研究为例做佐证:

86278e075f55f0a53fb3a73912d86248.png

这项为期八年的研究表明,如果每天平均每天增加至少半份红肉摄入,那么ACM将增加10%。

而每周吃两份红肉或加工肉类(不包括禽或鱼类),则ACM会增加3%。

2f6d44b88d7603b5f84bb30ea58bf6b6.png

当然,除了红白肉的分析之外,项目作者也列举了其它人们平时会摄入的食物,对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)×酒精浓度)。

bd4abe74c965aa90a5e3cc45322bbd90.png

《柳叶刀》研究:每天1斤牛奶或酸奶,心血管死亡风险下降23%

至于气体方面,首先要解决的便是吸烟问题了。

对此,项目作者在经过对ACM文献调研之后发现:

吸烟会让ACM增加50%,寿命平均缩短11至12年。

06c1542b6c2b212fc1f3cb33b2f00ba0.png

除此之外,像多晒太阳可以降低40%的ACM。

而药物方面,例如二甲双胍可以让糖尿病人可以平均多活3年、复合维生素可以患癌风险降低8%,亚精胺和葡萄糖胺分别可以降低ACM30%-60%和39%。

程序员延寿大法二:输出,Output

类比上述的输入,这里的输出指的便是程序员们在体外的一些活动了。

例如运动方面,根据《柳叶刀》一项120万人参与的研究,仅是 挥拍运动,若是每周能保持3次,每次45-60分钟,便可以让ACM降低47%

还有程序员们得好好刷牙,这样会让ACM降低25%!

9bcd53e727e1efaacfc48acff13da205.png

除此之外,睡觉也是降低ACM的重要因素。

例如JAMA Network Open的一项研究,便指出了每晚的睡眠时长与全因死亡率的关联。

具体而言,每天睡7小时全因死亡率最低。

若是在22-24点间睡觉最好,早睡和晚睡会分别增加43%和15%的ACM。

6d2d3264299afb0627b91e25686cfa28.png

程序员延寿大法三:上下文,Context

就像一段代码有了外部变量,这段代码便无法独立运行。

程序员们的健康也是如此,ACM会受到外部环境的影响。

例如研究表明,悲观情绪会与ACM有所关联(虽然乐观情绪并不会起到保护作用)。

甚至贫富差距减肥都与ACM息息相关c4999cf7d622c4637c3eea9936c81c92.png

当然,还有近几年全球爆发的新冠疫情,Nature子刊的一项研究表明:(美国)新冠死亡率达到了1.5%左右,人均预期寿命减少了2年。

dc874facfe1992f2ce16b7859f1c6f76.png

……

当然,项目作者也对这项工作提出了不足之处

因为有些文献之间有显著矛盾的观点,例如对于碳水摄入的比例;还有些文献存在较大争议,例如有人认为22点前睡觉会43%的ACM。

因此,项目作者也指出:

所有文献表明的更多是相关而非因果。

那么问题就来了:

延寿指南,靠谱吗?

这本指南,充满干货,文档中一本正经的态度也让人忍俊不禁。

但同时,它也躲不过“程序员的严谨”——有人就提出了很重要的一个问题:

引用的链接都有可信度吗?

毕竟这年头“谣言”可是不少,而这里面还包括不少第三方的文章。

8f232caf5f2f5e7a553cef9a9a555816.png

于是,我们找到项目作者本人,与他深度交流了一番。

作者:背后的论文全部看过

项目作者在我们的采访以及回答网友疑问中都表示,虽然有的链接放的不是原文,但里面的内容都可以溯源。涉及到的论文他都一一读过。

还得提一句的是,他自述曾为了根治鼻炎,在看完医生的同时,还自发看过不下4、50篇论文,包括欧洲鼻窦炎鼻息肉诊疗指南EPOS等。

可以说,医学论文没少看。

但是由于这类专业论文读起来十分晦涩,也缺少阅读体验,项目中的证据才用了这些易读的文章呈现。

现在经过大家的建议,他已经在陆续加源文献,并且后续也会把期刊名、影响因子、评级等常规评价方式透出来。

同时大家也注意到,里面涉及到了一些结论矛盾的研究,也正如刚才所述,作者也都一一标注。

而关于矛盾研究,他认为,可以根据研究本身的质量做评估。

因为有时候一些研究也并非完全矛盾,研究时间、研究人群、实验方法不同时,同一个选题确实会得出不同的结果。

项目由头要追溯到小时候

说起来很有趣,作者是在小时候突然有一天意识到:原来自己终有一天会离开世界。

这让他很难过,一度对着父母大哭。

正是这次发现,让小小年纪的他就想着以后一定要活得更久一些2cafcae377d34e59e03edb04c5d1ed26.png

在成长的过程中,他看过很多没有依据包括长辈灌输的“养生方法”,就萌生了量化各个因素对全因死亡率影响的念头,开始了经年累月的数据积累。

前几个月他在参加一个技术社群之后小范围分享了这些数据,没想到引起了非常高的好评率,还经常有人找到他要材料,索性就开源了。

网友:How to live longer with hair?

这个项目一放上程序员聚集的GitHub,短短一天就涨了1500+star。

在别的平台,有不少非程序员网友还会贴心地转给身边的程序员朋友看。

有人打趣道:目标、行动、分析、输入输出……这几个关键字一出来,简直就是被OKR支配的寿命管理。

而作者的解释就更有趣了:因为最近经常听到human-in-the-loop的观念,这个文档里人就可以看成一个Object,修改不同的输入、输出、上下文,就可以改变人。

029499ac9f1a78bdb0be86ea534d88e4.png

(可以,这很程序员。)

写不完的bug,没日没夜的加班……如何活得更长,确实是这个群体非常值得关注的问题。

不过,大家似乎并不满足于此。

比如在项目的Issues中,就有人提问:

How to live longer with hair

7d277ce6c45760e5b493ca278f01ea39.png

对程序员来说,头发可是比什么都重要:头发都没有了,要这长命百岁有何用……

d6b7ff8cdbbcf60ab2e69730cd28f2e3.png

以及不仅要保住头发,还要显年轻才行。

这不就有人问:

“作者大大,是否有兴趣开一个How to look young?

a85bb3fa06e791c7ee4d0f2f85691341.png

毕竟二十多岁被人说像七老八十的滋味谁明白?(旺柴)

6b275d6a6f937de6700f690a8fccaa41.png

总之,别的不说,这届程序员是越来越有觉悟了——做饭、养生、考公、买房……全都安排得明明白白的。

而这些意见,作者表示会考虑。

比如他想到了“延寿先锋”哈佛教授David Sinclai,或许后面在找到足够的证据后,可以把他的食谱加上来。

以及有足够的数据支撑的话,他还会加上多巴胺量表

当然,“活得久且开心更重要”

作者神秘的面纱在这里揭晓,对,他本人也是一名程序员,还很年轻,90后。

他叫吴承霖,毕业于厦门大学计算机专业,曾在腾讯担任高级AI研究员,是当时部门最年轻的T3.3高级员工。

他的GitHub主页项目不多,但每一个标星数都不少。

4665a909ad3ad755e148427d6758c743.png

也许有人已经听过他的名字,他在几年前就入选了福布斯30位30岁以下精英和胡润30位30岁以下创业领袖。

是的,他现在已经是一家公司的CEO了。

386dd9e7bdfbf4f30410e09eb94911b3.png

这家公司就是深度赋智,主要以AutoDL的形式提供AI中台SaaS服务,聚集了一帮来自腾讯、Google、百度、华为等公司的程序员。

对于这个爆火的项目,吴承霖表示谈不上什么意不意外。

他说,程序员的眼睛、鼻子、腰椎、脊椎、肝等几个部位都比较容易出问题。

因此“定向检测和预防性检测很重要”,当然,话锋一转,他也指出:“核心还是得自己对“健康”有较高的洞察力。”

现在的他基本会按照这些量表去生活,主要是运动和晒太阳方面做的还不够。

不过他不会苛求自己100%实行,毕竟:

活得久而开心比单纯的活得久重要。

最后,作为程序员的你,觉得如何才能“延寿续命”呢?

6345ced1dafe9d0f40ac7d8cdaeb6972.png

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

这篇关于要命!《程序员延寿指南》火爆GitHub,日涨1500+星,跟着码农干多活20年的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/832287

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

如何提高 GitHub 的下载速度

如何提高 GitHub 的下载速度 文章目录 如何提高 GitHub 的下载速度1. 注册账号2. 准备好链接3. 创建仓库4. 在码云上下载代码5. 仓库更新了怎么办 一般来说,国内的朋友从 GitHub 上面下载代码,速度最大是 20KB/s,这种龟速,谁能忍受呢? 本文介绍一种方法——利用“码云”,可以大大提高下载速度,亲测有效。 1. 注册账号 去“码云”注册一

【JavaScript】LeetCode:16-20

文章目录 16 无重复字符的最长字串17 找到字符串中所有字母异位词18 和为K的子数组19 滑动窗口最大值20 最小覆盖字串 16 无重复字符的最长字串 滑动窗口 + 哈希表这里用哈希集合Set()实现。左指针i,右指针j,从头遍历数组,若j指针指向的元素不在set中,则加入该元素,否则更新结果res,删除集合中i指针指向的元素,进入下一轮循环。 /*** @param

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

Github连接方式

打开Linux中git的配置文件: /home/username/git/MyRepository/.git/config [core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true[remote "origin"]fetch = +refs/heads/*:refs/remot

GitHub每周最火火火项目(9.2-9.8)

项目名称:polarsource / polar 项目介绍:polar 是一个开源项目,它是 Lemon Squeezy 的替代方案,并且具有更具优势的价格。该项目的目标是为开发者提供一种更好的选择,让他们能够在追求自己的热情和兴趣的同时,通过编码获得相应的报酬。通过使用 polar,开发者可以享受到更实惠的价格,同时也能够更自由地发挥自己的创造力和技能。 项目地址:https://github.