这里记录每周值得分享的科技内容,周五发布。

封面图

12月16日清晨,柏林水族馆的世界最大的圆柱体水族箱(高达14米)突然爆裂,原因据说是夜间低温造成了玻璃裂痕,1000吨水和1500条热带鱼倾泻而出,淹了一条街。(via[1]

本周话题:中国的阳光地带

入冬以后,上海都是冷飕飕的阴沉天气。偶尔有几天,太阳露一下脸。
每年的这个时候,我就想换一个城市过冬,去那种阳光充足的地方。
今年真的打算成行,我就想确定一下,中国阳光最多的是哪些城市。
气象学真的有这个统计,叫做“全年日照时数”[2](sunshine duration)。维基百科还明确列出了,影响这个指标的三个因素。
(1)干旱的地区 日照多,湿润的地区日照少。
(2)高海拔地区,空气稀薄,云不多,所以日照多。
(3)高纬度地区 的太阳在地平线附近的时间比较长,因而太阳低于地平线时、还能看到阳光的时间也比较长。
每个城市的气象局都有这个统计,全国主要城市的数据可以在《中国统计年鉴》[3]到。最新在线版是2021版[4],《表8-8》就是前一年的数据。
我做了数据排名,先看看日照最少的10个城市。
不出所料,四川盆地是阳光最少的地方。意外的是华中、华东、华南都属于阳光偏少的地区。
日照最多的10个城市如下。
上图的排名非常令人惊讶。高原地区(青藏高原、云贵高原)排名靠前,这是能想到的,没想到的是东北、华北、西北都是阳光偏多的地方。
这说明中国北方其实是一个阳光地带,原因可能是纬度高,也可能是干旱少雨。如果能够好好地改善和维护环境,再加上阳光充足,北方城市肯定是宜居的。

科技动态

1、躺平使用的头盔[5]
一家日本公司宣布[6],取消早前宣布的躺着使用的头盔项目,原因是财务困难,以及难以达到设计目标。
这个项目看上去很不错,用户只要戴上头盔,就能躺在床上使用互联网和 VR。
它有专属的眼罩和耳机,并且因为在床上不能使用鼠标,它特别设计了一对脚底传感器,戴在脚上,通过调整脚的倾斜度,控制操作。
2、建筑业采用游戏引擎[7]
大型建筑项目往往需要 3D 建模,向客户展示建成后的效果。以前,建模都采用建筑专业软件,现在开始转向用游戏引擎建模。
这主要因为,游戏引擎的渲染效果远超其他软件。另外,游戏引擎有资源包,可以方便地引入各种物体模型。
并且,游戏引擎有漫游的效果,允许客户在模型中随意漫游,还支持 3D 游览。游戏引擎的建模可能会成为一个大产业。
3、藻类水泥[8]
水泥是地球上使用最广泛的建筑材料,但是它的生产污染很大。焚烧石灰石会释放大量二氧化碳,还严重影响空气质量。
一位美国教授突发奇想,既然石灰石(主要成分碳酸钙)是自然生长出来的(碳酸与水中的钙相互作用而生成),那么有没有办法人工种植水泥呢,这样就可以避免污染?
他使用一种叫做球石藻的微藻,通过光合作用吸收二氧化碳,成功生产出来了生物石灰石。他认为只要大规模培养这种藻类,让它生产我们所需的建筑材料,水泥行业就会变成绿色行业。
4、滚筒打印机[9]
普通打印机通常只能打印固定大小的纸张,哪怕只打印一行字,也需要完整的一张纸。
一个韩国设计师因此发明了滚筒打印机,它使用滚筒纸打印。
它可以打印出任意长度的内容,特别适合短内容的打印,比如发票、便条、通知等等,不会浪费纸张。
它采用热敏打印,不需要碳粉和墨盒。如果有公司愿意量产,可以改造成喷墨打印机或激光打印机。
5、奶油色球衣[10]
NBA 的密尔沃基雄鹿队的球衣,传统上是奶油色。但是,他们最近放弃了这个球衣颜色。
原因是现在的电视台转播 NBA 比赛,采用软件添加球场广告和比赛统计。
在球场的白色灯光下,奶油色球衣跟地板颜色有时很接近,广告会直接打在球衣上,导致奇怪的画面。下图左下角,雄鹿球员的短裤就消失了。
冰球转播也有类似的情况,下图球员的上半身也消失了。

文章

1、三分钟读懂核聚变(中文)
美国能源部最近宣布,实现了可控核聚变的“净能量增益”。本文通俗解释了这是什么意思。(@marmul2[11] 投稿)
2、美国的地理优势[12](英文)
这篇英语长文详细介绍了美国的地理优势:两边都是海洋,周围没有强敌;中部有巨大的平原,保证了粮食生产;内河水运距离超过其他国家的总和,运输成本极便宜。
文中有一张图片,很震撼:郑和下西洋的宝船(上方)与哥伦布环球航行的船只(下方)的大小对比。不过,郑和的宝船大小是后人根据古文献推算的,并没有足够的实物证据。
3、Mastodon 介绍[13](英文)
Mastodon 是一个类似推特的社交媒体,但是采用分布式结构,任何人都可以架设实例。本文详细地介绍它的运作机制。
4、动态生成头像的最简单方法[14](英文)
CDN 服务商 Bunny.net 让 AI 绘图引擎自动生成用户头像,每个用户都有一个不一样的兔子头像。
5、如何使用 HTML <picture> 标签[15](英文)
本文是一篇初级教程,介绍网页<picture>标签的使用方法。
6、如何关闭 favicon 请求[16](英文)
作者想制作一个体积尽量小的网页,文章里面介绍了一个技巧,如何让浏览器不发出 favicon 请求。
7、关系型数据库的优缺点[17](英文)
本文讨论跟 NoSQL 数据库相比,关系型数据库的优势在哪里。
8、分布式系统的8个错误观念[18](英文)
初学者对于分布式系统,往往有一些错误观念,忽视了这种系统的复杂性。本文总结了8个常见的错误观念,比如网络是可靠的、延迟为零、系统间通信没有成本等等,看完你就会了解分布式系统的难度在哪里。

工具

1、tremor[19]
一个专门制作控制面板的 React 组件库。
2、GPTAnywhere[20]
一个浏览器插件,只要点击工具栏,就可以跟 ChatGPT 对话。它需要 OpenAI 账号。
3、Obsidian Canvas[21]
开源笔记软件 Obsidian 本周发布新功能,可以在画布上画出思维图。
4、Enhance Speech[22]
Adobe 公司推出的一个工具,用来增强语音效果,使得普通的录音变得像在专业录音室录制的。
5、One Tab Group[23]
一个浏览器插件,有效地管理浏览器标签页,支持云同步。(@xiaoluoboding[24] 投稿)
6、Forgejo[25]
著名 Git 托管软件 Gitea 最近成立了商业公司[26],导致社区分裂。一部分开发者出走,创立了 Forgejo 这个项目。
7、Satori[27]
这个 JS 库可以把 HTML 和 CSS 代码转为 SVG 图形,很适合为组件生成缩略图。
8、Agreper[28]
一个最简化的论坛程序,号称不需要 JS,使用 Python 写的。
9、Rmt.rs[29]
一个命令行程序,可以用作rm命令的替代,用来删除文件。特点是有回收箱,删掉的文件可以恢复。

资源

1、纸制日晷[30]
日冕是古代的计时工具,这个网站教大家怎么做一个纸制日冕。
2、The Ruby Reference[31]
一本 Ruby 语言参考教程,免费在线阅读。
3、MacOS 默认壁纸下载[32]
这个网址提供 MacOS 所有版本的默认壁纸的 6K 清晰度下载。
4、The Algorithms[33]
这个网站收集 GitHub 上面的各种算法实现,按照种类和语言进行分类。

图片

1、 俄罗斯矿机
俄罗斯生产一种叫做 1ГПКС 的矿机,专门用于煤矿和钾矿。它的外形非常奇特,具有浓重的科幻色彩。
2、ET 模型[34]
1982年的经典电影《外星人》轰动一时,里面的外星人 ET 采用机械模型制作。
这个模型最近要拍卖了,估价达到250万美元。
如果是现在拍这部电影,肯定不会用机械道具,成本高、操作难,而是改用绿幕和表情捕捉,再用计算机图形生成。
3、胜利女神[35]
法国卢浮宫有一个胜利女神的古希腊雕塑,是世界最著名的雕塑之一。
它是从海底找到的,缺少头部。
它表现了胜利女神展开翅膀,降落在船头。历史学家猜测,这是为了一场海军战役的胜利,而树立的。

文摘

1、幂等性导致的一次重大事故[36]
大概三年前,外卖平台 Uber Eats 在印度发生了一次重大事故,使得用户可以免费获得食品。
一天早上,有人试图通过印度的 Uber Eats 订购食物,并使用印度的支付平台 Paytm 付款。但是,他的账户里面没有足够的余额,没有下单成功。
但是,这个人不死心,继续订购,这一次居然成功了!让他在没有付款的情况下,可以订购食物。
消息传开以后,人们疯狂地下单。Uber Eats 短时间涌入大量订单,餐馆无法接单,不得不下线。平台发现了以后,立刻停止使用 Paytm 作为付款方式。
事后调查发现,这个事故与 Paytm 团队前一天上线的一个看似无害的代码变更有关。他们把付款失败的 API 从幂等改为非幂等。
所谓幂等性,指的是如果你重复请求同一个 API,每次都得到相同的响应。
以前,如果余额不够,API 总是返回相同的错误对象,就像下面这样:
1.“尝试在没有资金的情况下向 X 钱包充值”-> 返回 Error1
2.“尝试再次在没有资金的情况下向 X 钱包充值”-> 返回 Error1
现在变成了:
1.“尝试在没有资金的情况下向 X 钱包充值”-> 返回 Error1
2.“尝试再次在没有资金的情况下向 X 钱包充值”-> 返回 Error2
这看起来只是一个很小的变化,偏偏 Uber Eats 的代码有问题。他们假设这个 API 是幂等的,只比较了再次请求失败返回的结果,跟上一次失败的结果是否相同。如果不相同,就认为第二次支付成功了。
事后,餐馆得到了报酬,滥用这个 bug 的用户也没被追究,免费享用了食物。外界并不知道,谁支付了这些食物的费用,到底哪一方应该对这件事负责呢?
只能说两方都有责任。Paytm 在未告知合作伙伴的情况下,API 返回了一个全新的响应。而 Uber Eats 代码不严谨,没有做足够的检查。正是因为双方都有过错,所以责任划分很困难。

言论

1、
我面试应聘者有一个窍门,就是看他说话是否具体。那些合适的应聘者会告诉你大量的细节,而那些只会夸夸其谈术语和概念的人,几乎总是不合适的。
-- David Perell
2、
我原以为,进入太空会感到欢欣鼓舞。但是实际上,看到的宇宙是一片寒冷、黑暗的空虚。
我们唯一的家园——地球——显得那么渺小,而我正在远离它。我感到了强烈的悲伤。
-- 威廉·沙特纳[37]谈2021年乘坐“蓝色起源”观光飞船进入太空的感受
3、
我们生活在软件如此丰富的年代,无数免费代码就像一艘小舟,载着我们穿越“PyPI 海”或者“npm 洋”。海上有惊涛骇浪,小舟还会突然漏水,我们必须尽快用胶带和木板修补漏洞,一不小心就会葬身大海。
-- 《我们正在沉没》[38]
4、
好几次,我都被工作搞得精疲力尽,了无生趣,觉得这辈子再也不能编程了。不过每一次,都是因为又接触到新东西,让我慢慢恢复,能够重新开始工作。
-- Hacker News 读者[39]
5、
当你跳上飞机、使用汽车的辅助驾驶系统、或者在重症监护病房与病魔作斗争,那么你就是把生命托付给计算机。
-- 《走向知识驱动的系统管理》[40]

历史上的本周

2021年(第188期):音乐是反社交
2019年(第86期):千万不要当完美主义者
2018年(第35期):“一人份”的服务越来越多

说明

周刊每周五发布在我的个人网站[41]和微信公众号《阮一峰的网络日志》,欢迎订阅。
周刊是开源的,自由使用,仓库在 GitHub: ruanyf/weekly[42],投稿请到仓库提交 issue。我们还开设了《谁在招人?》[43]服务,欢迎发布或查看程序员招聘信息。
商业合作和产品推广,请邮件联系我(Email: [email protected][44] )。

鸣谢

文档和笔记服务 FlowUs[45] 对周刊提供支持,非常感谢。
FlowUS[46] 是新一代知识管理与协作平台,集成了“文档+表格+网盘”,具有写文档、制作主页、管理数据、存储文件等多种用途。
周刊开设了 FlowUs 专栏[47],欢迎大家也去开设自己的专栏和页面。
(完)

References

[1]
 via: 
https://www.theguardian.com/world/2022/dec/16/huge-cylindrical-aquarium-housing-1500-exotic-fish-bursts-in-berlin
[2]
 “全年日照时数”: 
https://en.wikipedia.org/wiki/Sunshine_duration
[3]
 《中国统计年鉴》: 
http://www.stats.gov.cn/tjsj/ndsj/
[4]
 2021版: 
http://www.stats.gov.cn/tjsj/ndsj/2021/indexch.htm
[5]
 躺平使用的头盔: 
https://news.nweon.com/89728
[6]
 宣布: 
https://diver-x.jp/news/en/20220131.html
[7]
 建筑业采用游戏引擎: 
https://spectrum.ieee.org/unreal-engine
[8]
 藻类水泥: 
https://interestingengineering.com/biogenic-limestone-from-microalgae
[9]
 滚筒打印机: 
https://minimalissimo.com/articles/roller-jet-printer
[10]
 奶油色球衣: 
https://paullukas.substack.com/p/exclusive-the-inside-story-of-why
[11]
 @marmul2: 
https://github.com/ruanyf/weekly/issues/2811
[12]
 美国的地理优势: 
https://unchartedterritories.tomaspueyo.com/p/world-chessboard
[13]
 Mastodon 介绍: 
https://wordsmith.social/elilla/a-futuristic-mastodon-introduction-for-2021
[14]
 动态生成头像的最简单方法: 
https://bunny.net/blog/introducing-bunny-optimizer-ai-a-new-way-of-creating-content/
[15]
 如何使用 HTML 
<picture>
 标签: 
https://jfhr.me/optimizing-images-with-the-html-picture-tag/
[16]
 如何关闭 favicon 请求: 
https://tdarb.org/blog/under-1kb.html
[17]
 关系型数据库的优缺点: 
https://www.simplethread.com/relational-databases-arent-dinosaurs-theyre-sharks/
[18]
 分布式系统的8个错误观念: 
https://architecturenotes.co/fallacies-of-distributed-systems/
[19]
 tremor: 
https://www.tremor.so/
[20]
 GPTAnywhere: 
https://chrome.google.com/webstore/detail/gptanywhere/pklibapjplkpanekidgnckgjablljhni
[21]
 Obsidian Canvas: 
https://obsidian.md/canvas
[22]
 Enhance Speech: 
https://podcast.adobe.com/enhance
[23]
 One Tab Group: 
https://www.onetab.group/
[24]
 @xiaoluoboding: 
https://github.com/ruanyf/weekly/issues/2812
[25]
 Forgejo: 
https://forgejo.org/
[26]
 商业公司: 
https://blog.gitea.io/2022/10/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/
[27]
 Satori: 
https://github.com/vercel/satori
[28]
 Agreper: 
https://github.com/Demindiro/agreper
[29]
 Rmt.rs: 
https://github.com/AmineZouitine/rmt.rs
[30]
 纸制日晷: 
https://www.sundialzone.com/zh/
[31]
 The Ruby Reference: 
https://rubyreferences.github.io/rubyref/
[32]
 MacOS 默认壁纸下载: 
https://512pixels.net/projects/default-mac-wallpapers-in-5k/
[33]
 The Algorithms: 
https://the-algorithms.com/zh_Hans
[34]
 ET 模型: 
https://people.com/movies/e-t-the-extra-terrestrial-model-from-1982-movie-files-off-with-2-million-at-auction/
[35]
 胜利女神: 
https://www.louvre.fr/en/explore/the-palace/a-stairway-to-victory
[36]
 幂等性导致的一次重大事故: 
https://threadreaderapp.com/thread/1502947315279187979.html
[37]
 威廉·沙特纳: 
https://variety.com/2022/tv/news/william-shatner-space-boldly-go-excerpt-1235395113/
[38]
 《我们正在沉没》: 
https://snarfed.org/2022-03-10_were-drowning-software-dependencies
[39]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=33261055
[40]
 《走向知识驱动的系统管理》: 
https://research.redhat.com/events/toward-knowledge-driven-system-management-to-control-timeliness/
[41]
 我的个人网站: 
http://www.ruanyifeng.com/blog
[42]
 ruanyf/weekly: 
https://github.com/ruanyf/weekly
[43]
 《谁在招人?》: 
https://github.com/ruanyf/weekly/issues/2771
[44]mailto:[email protected]
[45]
 FlowUs: 
https://flowus.cn?promotionChannel=GW_RYF_01
[46]
 FlowUS: 
https://flowus.cn?promotionChannel=GW_RYF_01
[47]
 FlowUs 专栏: 
https://ruanyf-weekly.flowus.cn/?code=FLOWUS&promotionChannel=WX_RYF_00
继续阅读
阅读原文