科技爱好者周刊(第 236 期):中国的阳光地带

作者: 阮一峰

日期: 2022年12月23日

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

封面图

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

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

入冬以后,上海都是冷飕飕的阴沉天气。偶尔有几天,太阳露一下脸。

每年的这个时候,我就想换一个城市过冬,去那种阳光充足的地方。

今年真的打算成行,我就想确定一下,中国阳光最多的是哪些城市。

气象学真的有这个统计,叫做"全年日照时数"(sunshine duration)。维基百科还明确列出了,影响这个指标的三个因素。

(1)干旱的地区 日照多,湿润的地区日照少。

(2)高海拔地区,空气稀薄,云不多,所以日照多。

(3)高纬度地区 的太阳在地平线附近的时间比较长,因而太阳低于地平线时、还能看到阳光的时间也比较长。

每个城市的气象局都有这个统计,全国主要城市的数据可以在《中国统计年鉴》查到。最新在线版是2021版,《表8-8》就是前一年的数据。

我做了数据排名,先看看日照最少的10个城市。

不出所料,四川盆地是阳光最少的地方。意外的是华中、华东、华南都属于阳光偏少的地区。

日照最多的10个城市如下。

上图的排名非常令人惊讶。高原地区(青藏高原、云贵高原)排名靠前,这是能想到的,没想到的是东北、华北、西北都是阳光偏多的地方。

这说明中国北方其实是一个阳光地带,原因可能是纬度高,也可能是干旱少雨。如果能够好好地改善和维护环境,再加上阳光充足,北方城市肯定是宜居的。

科技动态

1、躺平使用的头盔

一家日本公司宣布,取消早前宣布的躺着使用的头盔项目,原因是财务困难,以及难以达到设计目标。

这个项目看上去很不错,用户只要戴上头盔,就能躺在床上使用互联网和 VR。

它有专属的眼罩和耳机,并且因为在床上不能使用鼠标,它特别设计了一对脚底传感器,戴在脚上,通过调整脚的倾斜度,控制操作。

2、建筑业采用游戏引擎

大型建筑项目往往需要 3D 建模,向客户展示建成后的效果。以前,建模都采用建筑专业软件,现在开始转向用游戏引擎建模。

这主要因为,游戏引擎的渲染效果远超其他软件。另外,游戏引擎有资源包,可以方便地引入各种物体模型。

并且,游戏引擎有漫游的效果,允许客户在模型中随意漫游,还支持 3D 游览。游戏引擎的建模可能会成为一个大产业。

3、藻类水泥

水泥是地球上使用最广泛的建筑材料,但是它的生产污染很大。焚烧石灰石会释放大量二氧化碳,还严重影响空气质量。

一位美国教授突发奇想,既然石灰石(主要成分碳酸钙)是自然生长出来的(碳酸与水中的钙相互作用而生成),那么有没有办法人工种植水泥呢,这样就可以避免污染?

他使用一种叫做球石藻的微藻,通过光合作用吸收二氧化碳,成功生产出来了生物石灰石。他认为只要大规模培养这种藻类,让它生产我们所需的建筑材料,水泥行业就会变成绿色行业。

4、滚筒打印机

普通打印机通常只能打印固定大小的纸张,哪怕只打印一行字,也需要完整的一张纸。

一个韩国设计师因此发明了滚筒打印机,它使用滚筒纸打印。

它可以打印出任意长度的内容,特别适合短内容的打印,比如发票、便条、通知等等,不会浪费纸张。

它采用热敏打印,不需要碳粉和墨盒。如果有公司愿意量产,可以改造成喷墨打印机或激光打印机。

5、奶油色球衣

NBA 的密尔沃基雄鹿队的球衣,传统上是奶油色。但是,他们最近放弃了这个球衣颜色。

原因是现在的电视台转播 NBA 比赛,采用软件添加球场广告和比赛统计。

在球场的白色灯光下,奶油色球衣跟地板颜色有时很接近,广告会直接打在球衣上,导致奇怪的画面。下图左下角,雄鹿球员的短裤就消失了。

冰球转播也有类似的情况,下图球员的上半身也消失了。

文章

1、三分钟读懂核聚变(中文)

美国能源部最近宣布,实现了可控核聚变的"净能量增益"。本文通俗解释了这是什么意思。(@marmul2 投稿)

2、美国的地理优势(英文)

这篇英语长文详细介绍了美国的地理优势:两边都是海洋,周围没有强敌;中部有巨大的平原,保证了粮食生产;内河水运距离超过其他国家的总和,运输成本极便宜。

文中有一张图片,很震撼:郑和下西洋的宝船(上方)与哥伦布环球航行的船只(下方)的大小对比。不过,郑和的宝船大小是后人根据古文献推算的,并没有足够的实物证据。

3、Mastodon 介绍(英文)

Mastodon 是一个类似推特的社交媒体,但是采用分布式结构,任何人都可以架设实例。本文详细地介绍它的运作机制。

4、动态生成头像的最简单方法(英文)

CDN 服务商 Bunny.net 让 AI 绘图引擎自动生成用户头像,每个用户都有一个不一样的兔子头像。

5、如何使用 HTML <picture> 标签(英文)

本文是一篇初级教程,介绍网页<picture>标签的使用方法。

6、如何关闭 favicon 请求(英文)

作者想制作一个体积尽量小的网页,文章里面介绍了一个技巧,如何让浏览器不发出 favicon 请求。

7、关系型数据库的优缺点(英文)

本文讨论跟 NoSQL 数据库相比,关系型数据库的优势在哪里。

8、分布式系统的8个错误观念(英文)

初学者对于分布式系统,往往有一些错误观念,忽视了这种系统的复杂性。本文总结了8个常见的错误观念,比如网络是可靠的、延迟为零、系统间通信没有成本等等,看完你就会了解分布式系统的难度在哪里。

工具

1、tremor

一个专门制作控制面板的 React 组件库。

2、GPTAnywhere

一个浏览器插件,只要点击工具栏,就可以跟 ChatGPT 对话。它需要 OpenAI 账号。

3、Obsidian Canvas

开源笔记软件 Obsidian 本周发布新功能,可以在画布上画出思维图。

4、Enhance Speech

Adobe 公司推出的一个工具,用来增强语音效果,使得普通的录音变得像在专业录音室录制的。

5、One Tab Group

一个浏览器插件,有效地管理浏览器标签页,支持云同步。(@xiaoluoboding 投稿)

6、Forgejo

著名 Git 托管软件 Gitea 最近成立了商业公司,导致社区分裂。一部分开发者出走,创立了 Forgejo 这个项目。

7、Satori

这个 JS 库可以把 HTML 和 CSS 代码转为 SVG 图形,很适合为组件生成缩略图。

8、Agreper

一个最简化的论坛程序,号称不需要 JS,使用 Python 写的。

9、Rmt.rs

一个命令行程序,可以用作rm命令的替代,用来删除文件。特点是有回收箱,删掉的文件可以恢复。

资源

1、纸制日晷

日晷是古代的计时工具,这个网站教大家怎么做一个纸制日晷。

2、The Ruby Reference

一本 Ruby 语言参考教程,免费在线阅读。

3、MacOS 默认壁纸下载

这个网址提供 MacOS 所有版本的默认壁纸的 6K 清晰度下载。

4、The Algorithms

这个网站收集 GitHub 上面的各种算法实现,按照种类和语言进行分类。

图片

1、 俄罗斯矿机

俄罗斯生产一种叫做 1ГПКС 的矿机,专门用于煤矿和钾矿。它的外形非常奇特,具有浓重的科幻色彩。

2、ET 模型

1982年的经典电影《外星人》轰动一时,里面的外星人 ET 采用机械模型制作。

这个模型最近要拍卖了,估价达到250万美元。

如果是现在拍这部电影,肯定不会用机械道具,成本高、操作难,而是改用绿幕和表情捕捉,再用计算机图形生成。

3、胜利女神

法国卢浮宫有一个胜利女神的古希腊雕塑,是世界最著名的雕塑之一。

它是从海底找到的,缺少头部。

它表现了胜利女神展开翅膀,降落在船头。历史学家猜测,这是为了一场海军战役的胜利,而树立的。

文摘

1、幂等性导致的一次重大事故

大概三年前,外卖平台 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、

我原以为,进入太空会感到欢欣鼓舞。但是实际上,看到的宇宙是一片寒冷、黑暗的空虚。

我们唯一的家园----地球----显得那么渺小,而我正在远离它。我感到了强烈的悲伤。

-- 威廉·沙特纳谈2021年乘坐"蓝色起源"观光飞船进入太空的感受

3、

我们生活在软件如此丰富的年代,无数免费代码就像一艘小舟,载着我们穿越"PyPI 海"或者"npm 洋"。海上有惊涛骇浪,小舟还会突然漏水,我们必须尽快用胶带和木板修补漏洞,一不小心就会葬身大海。

-- 《我们正在沉没》

4、

好几次,我都被工作搞得精疲力尽,了无生趣,觉得这辈子再也不能编程了。不过每一次,都是因为又接触到新东西,让我慢慢恢复,能够重新开始工作。

-- Hacker News 读者

5、

当你跳上飞机、使用汽车的辅助驾驶系统、或者在重症监护病房与病魔作斗争,那么你就是把生命托付给计算机。

-- 《走向知识驱动的系统管理》

历史上的本周

2021年(第188期):音乐是反社交

2020年(第138期):失业难以避免,重构人生规划

2019年(第86期):千万不要当完美主义者

2018年(第35期):"一人份"的服务越来越多

说明

周刊每周五发布在我的个人网站和微信公众号《阮一峰的网络日志》,欢迎订阅。

周刊是开源的,自由使用,仓库在 GitHub: ruanyf/weekly,投稿请到仓库提交 issue。我们还开设了《谁在招人?》服务,欢迎发布或查看程序员招聘信息。

商业合作和产品推广,请邮件联系我(Email: [email protected] )。

鸣谢

文档和笔记服务 FlowUs 对周刊提供支持,非常感谢。

FlowUS 是新一代知识管理与协作平台,集成了"文档+表格+网盘",具有写文档、制作主页、管理数据、存储文件等多种用途。

周刊开设了 FlowUs 专栏,欢迎大家也去开设自己的专栏和页面。

(完)

留言(37条)

每周打卡!

没想到有些比赛的广告居然是p上去的,和现场观众看的不一样

日冕是古代的计时工具,这个网站教大家怎么做一个纸制日冕。

阮老师,这里有个错别字。

“好几次,我都被工作搞得精疲力尽,了无生趣,觉得这辈子再也不能编程了。不过每一次,都是因为又接触到新东西,让我慢慢恢复,能够重新开始工作。” 看到这句话深有同感,学到新东西固然让人开心,但是每天都有新的东西要学习,也确实让人压力很大。

北方日照相对多,但是冷啊,,

这一期新东西不多啊

引用yan的发言:

北方日照相对多,但是冷啊,,

是的,所以说云南真心是个不错的地方

“尝试在没有资金的情况下向 X 钱包充值” 翻译错了 "Try to charge wallet X without funds" ,不是向钱包充值,是花钱包的钱

之前看一个纪录片有个说法
为什么成都的妹子水灵水灵的 其中一个原因就是因为日照时间少 ,一白遮百丑

把日照时间,结合温度时间等其它参数重叠起来。。估计 昆明 真的是 天选之地。。

那个打印机和打小票的打印机有什么区别。

那个 滚筒式打印机,是不是就是放大版的小票机?这不是很早以前就被发明了?

引用KSK的发言:

把日照时间,结合温度时间等其它参数重叠起来。。估计 昆明 真的是 天选之地。。

赞同

日冕是古代的计时工具,这个网站教大家怎么做一个纸制日冕。写错了,是日晷。

留言系统有什么问题么?中午11点了还一条都没有。。

那个滚筒打印机跟打小票的机器有什么区别

引用小王的发言:

那个 滚筒式打印机,是不是就是放大版的小票机?这不是很早以前就被发明了?

我倒是想到了错题打印机

引用wxpp的发言:

是的,所以说云南真心是个不错的地方

去过那里旅游,真的很适合生活。不过日照强度比较大,容易晒黑

内容越来越水了

只能说uber eats的系统实在是够垃圾的,系统健壮性简直不存在,强依赖于对接系统的输入。。

“幂等性,指的是如果你重复请求同一个 API,每次都得到相同的响应。“ 这种对于幂等性的描述是不准确的。

HTTP 中幂等性所描述的是 side effects,即「服务器状态」。RPC 2616 section-9.1.2 这样写到:

“HTTP Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is the same as for a single request.”

因此,即使第一次请求返回 Error1,第二次请求返回 Error2,只要「服务器状态」不改变,依然可以说请求是幂等的。

成都和昆明对比,看肤色就够了

2. chatgpt插件用不了了 ChatGPT is at capacity right now

obsidian 并不是开源软件,同类的logseq才是开源软件, 不过它是可以完全本地使用的,可以离线使用的笔记软件,个人使用也是免费的,但是目前应该还不能得到它的源码

现在的孩子可能不知道,最开始的打印机,针式的,就是连续进纸的孔带纸。

我阳了第五天了。
好几次,我都被新冠搞得精疲力尽,了无生趣,觉得这辈子快要不行了。
不过每一次,都是因为又想到了阮老师的周刊,我才能慢慢恢复。
感谢阮老师。

按整个城市全年日照时数就肯定宜居,可太科学了,哪怕是笼统的宜居标准,哪怕再人为改善和维护某小片地域,某一小片地域的环境就是比不上另一小片地域的 doge

卷筒纸打印机可以搜搜喵喵机或者作业机,中国的文具制造商们已经做得很成熟了

@c4710n:

确实,幂等性应该是对于服务器而言的,即“每次都得到相同的响应”,应该是指服务器的下一个判断流程得到来自上一个流程的相同响应。

建筑业采用游戏引擎-推荐一个软件d5渲染器

那个手机墨水屏很好的哦。
达芬奇综合症?好像是说我。

引用c4710n的发言:

“幂等性,指的是如果你重复请求同一个 API,每次都得到相同的响应。“ 这种对于幂等性的描述是不准确的。

HTTP 中幂等性所描述的是 side effects,即「服务器状态」。RPC 2616 section-9.1.2 这样写到:

“HTTP Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is the same as for a single request.”

因此,即使第一次请求返回 Error1,第二次请求返回 Error2,只要「服务器状态」不改变,依然可以说请求是幂等的。

可不可理解为客户端的幂等性?

德国最大水族馆---简直是作死,是水就让他回归大地,是鱼就让他回归大海。
重大的bug往往由简单的几行代码构成----if else 或者空指针。

北方城市如哈尔滨日照时间长的日子多在夏季,冬季照样寒冷阴郁;所以不应该统计“全年日照时长”最长的城市,而应统计“秋冬季日照时长”最长的城市。上表所列10个全年日照最长的城市中,真正比北上广深更适宜生活的恐怕只有青岛和昆明。

看到躺平的头盔,脑海中立马想到的是植物人。

那个兔子头像的好好笑

使用picture tag需考虑兼容性,因此doc中需要存储多个类型的image,感觉并没有从整体降低静态资源包的大小,首次加载仍然慢。。

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接