查看原文
其他

每周分享第 60 期

阮一峰 阮一峰的网络日志 2022-10-15

这里记录过去一周,我看到的值得分享的东西,每周五发布。

欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly[1] 提交 issue。

由于微信不允许外部链接,你需要点击页尾左下角的“阅读原文” ,才能访问文中的链接。

中国历史的第一课,总是教大家,我国很早就有人类活动,周口店发现的北京猿人[2]已有20万年~70万年的历史。

因此,我从小就以为,所有的中国人都来自北京猿人。长大了,才知道不是这样,科学界的主流意见是,所有现代人都是智人,属于猿人的一个分支。也就是说,中国人跟北京猿人其实关系不大。

1987年,美国科学家根据 DNA 检查,提出了夏娃假说[3],认为现代人都来自一个20万年前的非洲女性,也就是说,人类起源于非洲。然后,大约在7万年前,人类开始走出非洲,逐渐分布到了世界各地。人类每到一地,就淘汰了当地的猿人。最终,其他猿人都灭绝了,智人成为了地球的主宰。

尼安德特人[4](上图)是欧洲的古人类,生活在40万年~4万年前,也被智人淘汰了。但是,2010年瑞典生物化学家斯万特·帕博发表论文,宣布测出了尼安德特人的 DNA,发现现代人类的 DNA 有1%~4%来自尼安德特人。也就是说,现代人的祖先跟尼安德特人有过杂交。

更惊人的是,他发现,中国人继承的尼安德特人基因,居然多于欧洲人,但是中国从未发现尼安德特人的踪迹。因此,只能推断,人类走出非洲以后,第一步来到中东,然后分别向东和向西迁移。向东迁移的过程中,与当地的尼安德特人不断有杂交,然后才来到中国。这就是中国人的起源。

我知道这些,是因为斯万特·帕博的自传《尼安德特人》[5]中译本(下图)去年出版了。这本书值得一读,既可以了解科学家的人生和学术界的内幕,又可以学到很多人类进化的遗传知识,推荐给大家。本期周刊的《文摘》部分也摘录了这本书。

家庭保障规划

本期周刊很高兴得到了孙明展老师的支持。这里向大家介绍一下他正在举办的一个活动,提供家庭财务保障的咨询。

孙明展老师是广州中山大学统计系硕士,毕业后进入了保险行业,后来创办了“谱蓝”品牌,目前是中山大学金融系、统计系专业(兼职)硕士导师。进一步的情况,可以搜索“谱蓝”。

除了开公司,他还搞了一个公众号,名字就叫“孙明展”,专门介绍家庭保障、儿童保险、儿童财商这方面的知识。 目前,已经有500多篇原创文章,介绍理财知识、保险案例分析等等,值得一看。

为了推广公众号,他这一次策划了一个“家庭保障规划咨询活动”,免费提供保险理财咨询。 如果你被保险代理人坑过,心有余悸,或者对各种保单或险种感到很难懂,拿不定主意,再或者就是单纯想增加家庭财务保障,都可以参加这个活动。活动内容主要是,根据报名情况进行电话或网络沟通,了解家庭背景资料以后,回答保险理财咨询。

扫描关注下面的公众号,然后输入 “阮一峰 + 你的手机号码”,就可以参加这个活动了。参加者都可以获赠一份价值800元的免费保障规划,包含对于家庭成员保障责任的综合评估。

资讯

1、重新设计购物小票[6]

超市购物的时候,都会提供购物小票,列出购物的详细清单。这种小票通常非常简陋,Netflix 公司的数据可视化工程师 Susie Lu 尝试对它重新设计。她在小票的头部加上分类图(上图),并在每项物品的下方加上一个水平的柱状图,表示金额的大小(下图)。

2、光纤传导阳光[7]

大楼深处的房间要得到自然光照明,往往非常困难。美国一家创业公司开发了光纤照明系统,在屋顶上架设集光器,收集阳光,然后通过光纤,将阳光导入室内,让地下室也能照到阳光。

3、照亮小镇的镜子[8]

挪威南部的 Rjukan 小镇位于峡谷之中,每天只有很短的时间能够照到阳光,其他时候只能看着阳光找到两边的山上。

为了解决这个问题,一个企业家说服小镇的议会,出资在山上安装了三面巨大的镜子,每面镜子的面积是17平方米。可以在下午将阳光反射到小镇中央的广场。镜子建成的那一天,所有居民集中在广场上,等待阳光来临。

4、豌豆蛋白[9]

很多创业公司正在开发“植物肉”,使用植物蛋白制作传统的肉制品,这样有成本和环境上面的好处。下面的图片都不是真的肉,而是植物肉。

植物肉主要使用大豆蛋白制作,其中豌豆蛋白最接近肉制品的口味。预计到2025年,全球豌豆蛋白的销售量将翻两番,其中大部分增长都是植物肉带来的。因此,未来的豌豆种植预测会大幅上升。

5、SAT 考试增加“逆境分”[10]

美国高中生都要参加 SAT 考试,考试成绩是大学招生的主要参考指标之一。近几年来,考试委员会越来越觉得,SAT 成绩不足以反映学生的努力,同样都是90分,穷人家的孩子获得这个成绩的难度,要大于富人家的孩子。因此,SAT 委员会正在试验,再给出一个“逆境分”(adversity score),反映该学生是否身处逆境。

这个指标通过15个因素计算得到,满分100分,最低1分。分数越低,表示处境越糟。如果你来自高收入家庭,有着受过良好教育的父母,那么你的“逆境分”就会比较高。平均得分是50分,表示处于社会的中间阶层。该指标已经在50所大学试行,以后可能会全面推广。

6、澳大利亚的滤水网[11]

澳大利亚城市 Kwinana 最近在河道上游,安装了滤水网,过滤各种垃圾,尤其是塑料垃圾,保证河水的清澈。这个发明看上去非常简单,但是很有效。

下图是安装时的样子,以及装完垃圾的情景。

装满垃圾以后,只要换一下网,又可以重新使用了。该发明不仅可以用于河道,又可以用于山上的溪流。

7、云服务影响 3M 公司[12]

3M 公司是位于美国明尼苏达州的一家著名的工业产品制造商,主要生产工业粘合剂、磨料、涂料等产品。最近,它的销售额开始下降。

公司将原因归咎于,越来越多的用户开始使用互联网云服务,正在用软件重构他们的业务,将生产和管理过程搬到网上,从而减少了对实体工业产品的需求。

8、一句话新闻

《自然》杂志[13]报道,中国科学家研发了每秒钟4万亿帧的照相机,可以拍出光的运动轨迹。

华为公司[14]还有海底电缆业务,铺设了第一条从非洲到南美洲的海底电缆。美国正在讨论,禁止华为参与铺设西方国家之间的海底电缆。

美国[15]有300万人直到60岁,还没有还清学生贷款,总金额860亿美元,平均每人欠款将近3万美元。

特斯拉公司的 CEO 马斯克[16]2018年的职务收入是23亿美元,创了有史以来 CEO 收入的最高记录。





文章

1、CSS 制作中国窗格[17](英文)

本文介绍如何使用 CSS 的 -webkit-box-reflect 属性,通过镜面反射制作中国窗格图案。

2、学习 Dart 语言的10个理由[18](英文)

Dart 语言本来已经死掉了,就是因为 Flutter 这个非常有前景的业务绑定了它,所以又活过来了。说到底,还是业务重要。好的技术不一定能活,坏的技术不一定会死,取决于有没有业务。

3、非设计师需要知道的设计原则[19](英文)

如果你的团队没有专业设计师,那么这篇文章教你四个基本的设计原则。只要你遵循这四个原则,就会取得不错的效果。

4、Python 3 好在哪里?[20](英文)

Python 3 是 Python 2 的全新升级版,有重大的改进。本文介绍 Python 3 到底增加了哪些功能。

5、2019 年的 PHP[21](英文)

PHP 语言发展到今天,已经有了巨大改进,各方面的状况逐步让人感到满意。本文介绍 PHP 语言在2019年的最新状况,包括语法改进、性能提升、框架和模块体系等等。

6、清洁能源的下一步发展[22](英文)

比尔·盖茨谈,他眼中的接下来能源革命的三大发展领域,也是他的基金会重点投资方向:能量储存技术、碳捕获和核能技术、长距离的高压输电线路。

7、React 应用的 Docker 化[23](英文)

这篇教程一步步详细教你,如何将 React 应用打包成生产环境可用的 Docker 容器。

8、SOLID 原则:以 TypeScript 为例[24](英文)

SOLID 原则是2004年 Robert C. Martin 提出的软件架构原则,创造更健壮、可维护的代码,包括5个小点。本文以 TypeScript 代码为例,介绍 SOLID 的含义。

9、我的透明创业实验[25](中文)

一个正在进行的创业实验,一年时间做10个小产品,看看能否达到每月被动收入1000美元的目标。(@timqian[26] 投稿)

10、5G网速那么快,基站辐射会很大吗?[27](中文)

5G 通信使用比 4G 更高的频率,需要的能量更大,这对基站和手机的辐射有何影响。这篇文章给出了很好的分析。

软件

1、Darling[28]

Darling 的意思是 Darwin + Linux。它是一个转换层,允许在 Linux 直接运行 macOS 的二进制文件,前提是该应用不使用图形界面。

2、uppy[29]

一个文件上传的 JS 库。

3、koken[30]

一个搭建个人图片库网站的软件。

4、KeePass[31]

一个管理密码的桌面软件。

5、NoScript[32]

一个 Chrome 浏览器插件,可以指定关闭网页中的某一个 JS 脚本。

6、RandomJson[33]

一个生成随机 JSON 数据的 Kotlin/Java 库。

7、ipfs-deploy[34]

将静态网站发布到 IPFS 的命令行工具。

8、sonic[35]

一个 Rust 语言写的搜索服务器,可以用作 Elasticsearch 的替代品。(@ifrontend-xyz[36] 投稿)

9、Librian[37]

根据准备好的背景图片和剧本,自动生成 Galgame 游戏图景的工具。(@RimoChan[38] 投稿)

10、pastel[39]

一个基于 React 和 Ink 的命令行应用开发框架。

11、utterances[40]

将 GitHub 的 issue 当作评论系统,插入第三方网页的 JS 库。

12、Flutter4GitLab[41]

一个 Flutter 实现的 GitLab 客户端,可以用作 Flutter 学习资源。(@stefanJi[42] 投稿)

13、Open-Registry[43]

开源的 JavaScript 模块管理服务,目标是取代 npm。它希望用社区捐款来运作,而不是将 JS 模块管理的重任交给一家盈利性公司。说实话不看好,话说 npm 以前也是非盈利性的,后来实在撑不下去,才成立了公司。

资源

1、Prob 140[44]

加州大学伯克利分校的数据科学概率入门课程的教科书。

2、VS Code 能做到[45]

该网站收集 VS Code 能够实现的各种高级功能教程,目前已经有36个。

3、如何 root[46]

该页面收集各种安卓手机 Root 的方法。

4、数据科学项目 Python 实战[47]

DigitalOcean 推出的免费电子书,介绍如何使用 Python 完成三个基本的机器学习项目:自动分类、识别手写数字、机器人构建。

5、如何使用 Python3 编程[48]

DigitalOcean 推出的免费电子书,介绍 Python3 编程,针对新手。

6、i18ns.com[49]

一个制作国际化应用的利器。该网站收集各种语言包,你输入中文,它返回各种语言包对这个词的翻译。(@2i18ns[50] 投稿)

7、CTOLib 码库[51]

该网站收集并分类开源项目和资源,每日更新。目前共有49959个收录,并归类到658个分类。(@ctolib[52] 投稿)

文摘

1、《尼安德特人》

《尼安德特人》是瑞典生物化学家斯万特·帕博(Svante Pääbo) 的自传,中译本由浙江教育出版社出版。他是第一个尝试获取木乃伊的 DNA 的科学家,目前致力于测出尼安德特人的完整 DNA 图谱。

13岁时,妈妈带我去了埃及,自此我就迷上了那里的古老历史。大学时,我选修古埃及历史,连续两个夏天在斯德哥尔摩的地中海博物馆做志愿者。我或许会成为瑞典的一位古埃及学者,并在同一家博物馆工作。但是我发现,那里的人第二个夏天所做的事情与第一个夏天几乎一样。此外,他们在同一时间去同一家餐馆吃同样的饭菜,讨论同样的古埃及之谜和学术八卦。我开始意识到,对我而言,埃及古文物学这个领域发展太慢。这不是我想要的那种职业生活。我想经历更多的兴奋,想要与我所看到的周围世界有更多的关联。

于是,我选择乌普萨拉大学的医学院,攻读生物化学博士学位。但是,我仍无法完全摆脱对古埃及的迷恋。只要有时间,我就去埃及学研究所听课。虽然我热爱古埃及,但很难看到未来。我也喜欢分子生物学,它可以不断提升人类的福祉。我不知道应该选择哪一条人生道路。

一个新的想法逐渐浮现在我的脑海:能不能对古埃及木乃伊进行 DNA 测序呢?DNA 分子能否在木乃伊中留存下来呢?我们是否有可能通过研究古 DNA 序列,从而阐明古埃及人彼此之间以及与现今人类之间是否关联呢?如果可以做到,那么我们便可以回答埃及学研究中常规方法所无法回答的问题。

我遇到的第一个问题是 DNA 能否在死后的组织中长期存活。我推测,如果组织变得干燥,如古埃及木乃伊那样,那么 DNA 或许可以长期保存良好,因为降解 DNA 的酶需要水来激活。这是我需要测试的第一件事情。

1981年夏天,实验室没有太多人,我去超市买了一块小牛肝。为了模仿古埃及木乃伊,我决定将牛肝封存在实验室的烤箱中并加热到50℃,让其木乃伊化。第二天,怪味招致了许多闲言碎语,所幸随着脱水过程的进行,气味不再浓郁,于是也就没有腐烂的气味或埋怨的话传到教授那里。

几天之后,肝脏就坚硬干燥,并变成黑褐色,就像埃及木乃伊一样。我开始从中提取 DNA,大获成功。我获得的 DNA 是只有几百个核苷酸的短片段,不像从新鲜组织中提取的 DNA 那样有数千个核苷酸,不过依旧足够用于实验。我的想法得到了证实。认为 DNA 可以在一个死组织中存活至少几天或几周,这并不荒谬。但是,几千年呢?很明显,下一步便是在埃及木乃伊中尝试同样的方法。我需要从真的木乃伊身上,尝试获取 DNA。

2、华氏度的合理性[53]

温度有两种表示方法:摄氏度和华氏度。

只要学过化学,就会知道摄氏度更好。因为它的定义很简单明确:0℃是水的冰点,100℃是沸点。华氏度的定义就显得复杂:特定的冷冻盐水溶液的温度为0℉,水的冰点为32℉,体温为96℉(未校正前)。显然,这个温度体系不那么直观。

但是,摄氏度是针对水的状态,对于表示日常天气,效果很不理想。我发现,使用负数表示不那么冷的温度,令人很烦,然后只要35℃,就是一个高温天了,这也不那么直觉。事实上,在化学实验室之外,我并不关心水的冰点和沸点,我更关心本周会有多热或多冷。摄氏度不是为了这个目的设计的,而华氏度恰恰是针对人的感觉设计的。

下面是华氏度的一些优点。

•直观:0度就是极冷的天气,100度就是极热的天,这对人们来说很自然。•避免小数:预报气温的时候,摄氏度需要带上小数,华氏度都是整数。•避免负数:华氏度的0度足够冷,温度很少低于0度。•避免3位数字:华氏度很少出现高于100度的高温天气。

下面是波士顿和加利福尼亚州红木城一年的天气变化,可以看到,就在0度~100度之间变动。

图片

1、美国人的反应

只要表现不低于平均水平一个标准差,美国人就会说“This is awesome”,不低于两个标准差会说“Pretty good”。

2、最后的白犀牛[54]

2018年3月,世界上最后一头雄性的白犀牛在肯尼亚去世。目前还活着的两头白犀牛都是雌性,这宣告了这个物种注定灭绝。

犀牛角在中国、韩国及越南等国家都是珍贵药材,巨大的利益导致了盗猎猖獗。为了保护这些犀牛,肯尼亚政府派了武装警卫。这些警卫荷枪实弹,全天候巡逻佔地 360 平方公里的保护区。去年一场枪战中,就打死了三名偷猎者。

言论

1、

技术新闻和技术会议等地方,传播的都是行业的前瞻性观点,这些声音过于响亮,得到了最大的权重。但是,请不要忘记,世界仍然运行在 Excel、Java 8 和 Sharepoint 上面。

-- 《美国运行在 Java 8 上面》[55]

2、

作为公司的首席 JavaScript 工程师,我总是让团队尽可能少写 JavaScript 。

-- 《保守的前端开发者》[56]

3、

开发 Redis 之前,我从未一周七天,每天都在工作。我必须在 Redis 投入全部的时间,因为这个项目在以最快的速度发展,我需要的工作效率,大于我被迫每天工作所产生的生产力。

-- antirez[57],Redis 的发明者

4、

开发软件是一件很棒的事情,但绝不会像写一本能存活几个世纪的著作那样伟大,最终总是会有新的软件取代它。所以,有时我相信,我所做的一切最终都是徒劳的。

-- antirez[58],Redis 的发明者

5、

我在这个开源项目上投入多年,非常辛苦,但是我是做自己真正喜欢的事情,这给我带来了朋友、认可、金钱,所以我不想说这是一个糟糕的交易。

-- antirez[59],Redis 的发明者

回顾

去年的本周:《每周分享第 8 期》

References

[1] ruanyf/weekly: https://github.com/ruanyf/weekly
[2] 北京猿人: https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E4%BA%BA/1837?fromtitle=%E5%8C%97%E4%BA%AC%E7%8C%BF%E4%BA%BA&fromid=29057
[3] 夏娃假说: https://baike.baidu.com/item/%E5%A4%8F%E5%A8%83%E7%90%86%E8%AE%BA
[4] 尼安德特人: https://baike.baidu.com/item/%E5%B0%BC%E5%AE%89%E5%BE%B7%E7%89%B9%E4%BA%BA/3348172
[5] 《尼安德特人》: https://book.douban.com/subject/30312155/
[6] 重新设计购物小票: https://www.fastcompany.com/90347782/the-humble-receipt-gets-a-brilliant-redesign
[7] 光纤传导阳光: https://www.parans.com/parans-light/how-it-works/
[8] 照亮小镇的镜子: http://www.bbc.com/future/story/20170314-the-town-that-built-a-mirror-to-catch-the-sun
[9] 豌豆蛋白: https://www.bloomberg.com/news/articles/2019-05-14/the-mighty-pea-is-everybody-s-new-favorite-plant-based-protein
[10] SAT 考试增加“逆境分”: https://www.nytimes.com/2019/05/16/us/sat-score.html
[11] 澳大利亚的滤水网: https://themindcircle.com/save-water-from-plastic-pollution/
[12] 云服务影响 3M 公司: https://www.forbes.com/sites/jonmarkman/2019/05/17/why-software-giants-like-adobe-are-slaughtering-manufacturers-like-3m/#6d2a086f55f5
[13] 《自然》杂志: https://www.nature.com/articles/d41586-019-01625-5
[14] 华为公司: https://asia.nikkei.com/Spotlight/Comment/Undersea-cables-Huawei-s-ace-in-the-hole
[15] 美国: https://www.insider.com/americans-over-60-paying-student-loans-2019-5
[16] 特斯拉公司的 CEO 马斯克: https://www.linkedin.com/feed/news/elon-musk-breaks-ceo-pay-record-5016546/
[17] CSS 制作中国窗格: https://yuanchuan.dev/2019/05/15/window-lattice-and-css.html
[18] 学习 Dart 语言的10个理由: https://hackernoon.com/10-good-reasons-why-you-should-learn-dart-4b257708a332
[19] 非设计师需要知道的设计原则: https://medium.freecodecamp.org/fundamental-design-principles-for-non-designers-ad34c30caa7
[20] Python 3 好在哪里?: https://datawhatnow.com/things-you-are-probably-not-using-in-python-3-but-should/
[21] 2019 年的 PHP: https://stitcher.io/blog/php-in-2019
[22] 清洁能源的下一步发展: https://www.gatesnotes.com/Energy/A-critical-step-to-reduce-climate-change
[23] React 应用的 Docker 化: https://mherman.org/blog/dockerizing-a-react-app/
[24] SOLID 原则:以 TypeScript 为例: https://khalilstemmler.com/articles/solid-principles/solid-typescript/
[25] 我的透明创业实验: https://blog.t9t.io/transparent-startup-experiment-2019-05-20/
[26] timqian: https://github.com/ruanyf/weekly/issues/556
[27] 5G网速那么快,基站辐射会很大吗?: https://www.huxiu.com/article/295373.html
[28] Darling: https://www.darlinghq.org/
[29] uppy: https://github.com/transloadit/uppy
[30] koken: http://koken.me/
[31] KeePass: https://keepass.info/
[32] NoScript: https://chrome.google.com/webstore/detail/noscript/doojmbjmlfjjnbmnoijecmcbfeoakpjm
[33] RandomJson: https://github.com/mangatmodi/RandomJson
[34] ipfs-deploy: https://github.com/agentofuser/ipfs-deploy
[35] sonic: https://github.com/valeriansaliou/sonic
[36] ifrontend-xyz: https://github.com/ruanyf/weekly/issues/497
[37] Librian: https://github.com/RimoChan/Librian
[38] RimoChan: https://github.com/ruanyf/weekly/issues/498
[39] pastel: https://github.com/vadimdemedes/pastel
[40] utterances: https://utteranc.es/
[41] Flutter4GitLab: https://github.com/stefanJi/Flutter4GitLab
[42] stefanJi: https://github.com/ruanyf/weekly/issues/600
[43] Open-Registry: https://github.com/open-services/open-registry
[44] Prob 140: http://prob140.org/textbook/chapters/README
[45] VS Code 能做到: https://www.vscodecandothat.com/
[46] 如何 root: https://www.xda-developers.com/root/
[47] 数据科学项目 Python 实战: https://www.digitalocean.com/community/tutorials/machine-learning-projects-python-a-digitalocean-ebook
[48] 如何使用 Python3 编程: https://www.digitalocean.com/community/tutorials/digitalocean-ebook-how-to-code-in-python
[49] i18ns.com: https://i18ns.com/
[50] 2i18ns: https://github.com/ruanyf/weekly/issues/535
[51] CTOLib 码库: https://www.ctolib.com/
[52] ctolib: https://github.com/ruanyf/weekly/issues/598
[53] 华氏度的合理性: http://lethalletham.com/posts/fahrenheit.html
[54] 最后的白犀牛: https://photoblog.hk/252384/%E6%94%9D%E5%BD%B1%E5%B8%AB-justin-mott-%E5%BD%B1%E5%83%8F%E7%B4%80%E9%8C%84%E4%B8%96%E4%B8%8A%E6%9C%80%E5%BE%8C%E5%85%A9%E9%9A%BB%E5%8C%97%E6%96%B9%E7%99%BD%E7%8A%80%E7%89%9B%EF%BC%8C%E8%88%87/
[55] 《美国运行在 Java 8 上面》: https://veekaybee.github.io/2019/05/10/java8/
[56] 《保守的前端开发者》: https://adamsilver.io/articles/the-boring-front-end-developer/
[57] antirez: http://antirez.com/news/129
[58] antirez: http://antirez.com/news/129
[59] antirez: http://antirez.com/news/129


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存