这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly[1]),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》[2],提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。

封面图

6月22日,世界游泳锦标赛上,一位美国运动员突然在比赛中昏厥,沉入泳池底部。她的教练见状不对,跳入水底,将她救出。(via

本周话题:知识孤岛,知识软件

(一)
世界最大的问答网站 Stack Overflow[3],每年举办一次全世界程序员调查,2022年的结果[4]已经出来了。
今年增加了一个问题:
“哪些因素会影响你的工作效率?它们频繁发生吗?会花费你多少时间?”
大家猜猜看,回答是什么。
(二)
68%的程序员说,最影响工作效率的是找不到答案。遇到问题,要么没人可问,要么没有文档,工作就卡在那里,进行不下去。
越是高级程序员,给出这个回答的百分比越高。也就是说,水平高的人更苦于找不到答案,因为遇到的都是非典型问题,很少有人提到过。
程序员用来找答案的时间,每天平均30分钟,25%的人更是超过一个小时(上图)。这对个人和公司,都是很大的损耗。
有一个专门的名词形容这种现象,叫做“知识孤岛”[5](knowledge silos),意思是信息无法有效融合,仿佛大海中的一个个“孤岛”。
知识肯定存在于某个地方,但是你不知道这个地方在哪里,也不知道如何到达。这就是知识时代的痛苦:太多的知识没有流动性,难以了解,难以获取,难以传播。
(三)
为了解决“知识孤岛”,这些年兴起了一种新类型的软件,叫做 “知识软件”,专门用来整理和传播知识。
我一直觉得,知识软件大有前途,很值得做,市场非常大。我们面对的知识越复杂,就越需要强大的知识工具。它也是国家鼓励的方向,要成为知识大国,就一定需要工具的支持。
这次的调查结果,进一步强化了我的这个想法。如果有办法,将每个人用来寻找答案的时间,从每天30分钟减少到25分钟,那会产生多大的效益啊!
知识软件不管是什么形态,我认为,至少应该具备以下特征。
1.记录。它能够把知识记录下来,让知识不再是一次性的交流。2.整理。它提供一个知识入口,将知识进行清晰的分类,MDN[6] 和 Arch Wiki[7] 就是很好的例子。3.流动。它让知识变得容易流动,可以方便地从一个人转移到另一个人,并易于跟其他知识聚合。
我想特别说一下最后一点,知识的可流动性,就必然要求知识的表达是容易理解的,甚至是有趣味的。
因为知识其实是一种负担,越复杂的知识,对人的生理和心理的压力就越大,要求学习者做出的“减熵”努力也越大。好的知识软件,可以减轻知识的负担。
知乎就有这个问题,它鼓励复杂的答案。明明一两句话就可以说清楚的事情,它的首选答案却往往是东拉西扯的长篇大论,看了以后,你会觉得问题更复杂了,熵更大了。
好的知识软件应该平衡原理和细节这两方面,原理是简单的,细节是复杂的。尽量做到新手容易理解,产生兴趣,老鸟可以参考,解决问题。

活动

1、尤雨溪演讲《前端趋势2022》[8]
前端框架 Vue.js 和构建工具 Vite 的作者尤雨溪,将在7月22日的“第二届稀土开发者大会”做一场演讲《前端趋势2022》,谈谈他对当下的前端开发的看法,内容包括(1)框架的范式、(2)工具链的发展、(3)JS 全栈的趋势等。
扫描下方海报二维码,就可以免费报名,参与演讲直播,以及大会的其他活动。
报名成功后,别忘了还有抽奖,赢取 AirPods Pro、华为手表等大奖。

科技动态

1、可口可乐瓶盖[9]
可口可乐公司在英国修改了瓶盖设计,将瓶盖附在瓶身上,使得两者不能分离。
这是为了回收,以前回收瓶子的时候,经常没有瓶盖。为了保证塑料瓶盖不造成环境问题,就让它跟瓶身不能分离。
2、沙丘配乐[10]
去年的热门科幻电影《沙丘》,讲述在一个沙漠星球发生的故事。为了传达一望无际沙海的感觉,电影配乐没有在录音室完成,而是去美国加州的死谷沙漠实地录制。
电影中,主人公第一次踏上沙漠星球时,由于当地的沙子里面含有“香料”,音效师想找到一种声音,让观众感觉脚下的沙漠有一些特别的东西。他们想出的方法就是把脆米饼撒在沙漠上,让沙子发出一种微妙的、诱人的嘎吱声。
整部电影一共录制了3,200种音效,很多是把麦克风埋在沙子里面、或者用木锤敲击沙子而产生的。
3、呼气测醉器[11]
2021年,美国约43000人死于交通事故,是十五年来最高的。为了减少死亡人数,美国打算立法,强制所有销售的新车都必须安装呼气测醉器。
呼气测醉器用来测试呼吸的酒精含量,它连着发动机的点火装置。驾驶员开车前,必须向管子吹气,只有酒精含量低于标准,发动机才会启动。目前,美国已有近35万辆汽车安装了这个装置。
4、自行车后视镜[12]
佳明公司推出了自行车后视镜,这个装置类似一个拇指相机,同时具备“摄像 + 雷达 + 尾灯”三大功能。
在座垫后面装上它,就可以在手机上显示实时的车后影像。更重要的是,它的雷达会自动侦测后方140米内的驶近车辆,给予提醒。骑行时无需回头,只要后方有车辆靠近,就会得到报警。
5、自动驾驶汽车故障[13]
上个月,美国旧金山市成为全世界第一个大城市,允许无人驾驶出租车上路。每天晚上10点至次日凌晨5点,这些出租车可以在没有司机的情况下,运送乘客。
但是刚上路没多久,6月29日的晚上,至少12辆Cruise 公司的无人出租车,突然在一个十字路口停下来,原因未知。这些车就这样停在路口,一动不动,堵塞了交通了几个小时。Cruise 公司最后不得不派出人类司机,把它们开到了停车场。
这个事故表明,无人驾驶车辆进入现有的城市交通,是一件很复杂的事情,会出现各种预想不到的问题。先规划“无人驾驶车辆专用道路”,可能是更好的方式。

文章

1、任正非:关于专家委员会[14](中文)
华为最近成立了专家委员会,是内部6000多名首席专家、科学家、十几万工程师的一个活动平台,平时组织大家搞搞活动、喝咖啡、开茶话会,进行思想交流。
这里是任正非今年6月1日的一个内部谈话,跟专家委员会秘书处的成员座谈,回答大家的问题,解释为什么要搞专家委员会。
我很喜欢里面的一句话:“铲除一切阻挡我们开放的人,我们要吸收别人的能量改进自己。”
2、追踪北京雨燕的迁徙[15](中文)
每年4月,一群雨燕会来到北京颐和园,7月份再离开。为了搞清楚它们的路线和去向,科研人员为它们装上定位器,证实它们离开北京后,会经过新疆中亚、中东,最后抵达非洲南部。
3、零基础开发一个 Web/Hybird 项目[16](中文)
作者零基础开发了一个完整的 Web/Hybird 的项目,支持浏览器端、Android 端、iOS 端,这篇长文记录了所有的学习和开发过程。(@imfms[17] 投稿)
4、氧气蜡烛[18](英文)
蜡烛燃烧会消耗氧气,本文介绍一种特殊蜡烛,燃烧时会释放大量氧气,用来紧急供氧。
5、JavaScript 容器[19](英文)
Node.js 和 Deno 创始人 Ryan Dahl 的文章,提出将 JavaScript 作为容器标准语言,Deno 作为容器内部运行环境。
这样的话,容器就能标准化,开发者自己就不必构建容器的镜像文件了,直接把 JS 脚本扔到标准化容器就可以了。
6、如何选择美国的计算机硕士学校[20](英文)
作者是一个美国人,想要读一个计算机硕士学位。本文记录他筛选学校过程,对有类似需求的同学可能有用。
7、我所用的自托管应用程序[21](英文)
作者介绍了自己在家庭内网托管的所有应用程序,可以当作架设家庭 SaaS 服务的参考。
8、如何通过 JS 运行时快照进行 Web 抓取[22](英文)
很多网页的数据是通过 JS 产生的,这时就特别不便于网页抓取。作者想到了一个很妙的方法,对 JS 运行时生成内存快照,再从快照里面提取网页数据。

工具

1、KOReader[23]
适合 Kindle、Android 和 Linux 的电子书阅读软件,支持各种常见的电子书格式。
2、Pointless[24]
一个开源的网页画板,可以当作白板使用,效果不错。
3、PyScript[25]
PyScript 是一个用于网页的 Python 解释器,能够在网页上运行 Python 代码。
4、MacCopier[26]
这个 MacOS 工具可以提取短信里面的验证码,自动复制到剪贴板,参考这篇教程[27]。短信需要苹果手机设定转发到桌面电脑。(@DreamSaddle[28] 投稿)
5、doctree[29]
这个软件能够解析任何语言的代码,提取出函数、类等语法单位,生成一个可搜索的 API 文档网站。
6、htmx[30]
一个网页 JS 库,可以让任何一个网页元素发出 HTTP 请求,并且可以局部更新该元素,详见这篇教程[31]
7、USWDS[32]
美国政府的网页设计系统,提供许多组件,供政府系统的网站使用。
8、Jbake[33]
Java 的静态站点生成器,有跨平台的二进制可执行文件。
9、Repo Visualizer[34]
GitHub 官方推出的一个代码库可视化工具,通过 GitHub Actions 生成 SVG 文件,代表整个代码库,空心圆表示目录,实心圆表示文件,圆的大小代表了文件的大小,还能根据提交历史,生成动态变化图。

资源

1、机械表原理[35]
一篇英文长文,使用制作精美的互动图片,介绍机械手表的原理,为什么弹簧和齿轮可以用来计时。
2、谷歌软件工程[36](中文版)
作者自己动手,中英对照翻译了《Software Engineering at Google》一书。原书是谷歌员工的文章合集,介绍谷歌内部的软件工程做法。(@zhang14725804[37] 投稿)
3、Tauri 系列:打造属于自己的下一代跨端应用[38]
一组中文系列文章,介绍如何用 Tauri 开发一个跨平台桌面应用。Tauri 是 Electron 的替代品,使用平台自带的 WebView。(@lencx[39] 投稿)
4、Vue.js 挑战[40]
一个 Vue.js 题库,可以选择不同的难度进行不同程度的练习。(@webfansplz[41] 投稿)
5、合成器原理[42](Learning Synths)
一篇声音合成的教程,通过一个个小例子,介绍声音合成器的原理,有中文版。

图片

1、螺丝型棺材[43]
2009年,一个美国工程师看到人们迁移坟墓时,需要从墓地挖出棺材,非常麻烦,就发明了一种螺丝型棺材,还申请了专利。
这种棺材可以像拧螺丝一样,拧入地下。需要搬迁时,使用机械反向拧出即可。使用这种棺材,下葬可以做到自动化。
2、显示器的摆放姿势[44]
越来越多的人使用长条形的带鱼屏显示器。它的好处是可以同时摆放多个窗口。
但是,看网页和写代码的时候,你会觉得显示屏的高度不够,所以有些人会把显示器竖着放。
这样一来,看视频和玩游戏又不爽了。
有没有两全其美的显示器摆放姿势呢?
Linux 系统允许显示器倾斜任意角度。如果将显示器倾斜22度,就会使得 21:9 显示器的对角线处在水平位置。
这样可以得到最大的水平行长度,显示器也能放置最多的窗口。同时,窗口的垂直显示高度,也比显示器水平放置时高一些。

文摘

1、海量论文无助于科学进步[45]
某一个领域的论文越多,就代表该领域的科学进步越快吗?
不,不是这样的。
每一年都有海量的论文发表,背后的原因并不是真的有这么多科学发现,而是因为大量机构都使用论文数量作为指标,来衡量科学家的工作成绩和产出,决定给予多少资助。科学家也把发表论文,视为自己职业生涯的成就。
但是,论文数量的增加跟科学的进步,其实是两个问题,两者之间也不一定有转化关系。
一项研究发现,当一个领域每年发表的论文过多,其实会导致该领域的停滞而不是进步。
因为大量新论文可能会使得审稿人和读者产生阅读疲劳,无法认出具有突破价值的新思想和新发现。而且,各种论文提出的不同观点,可能会阻止学术界将注意力逐渐集中在一个真正有价值的新想法上。
论文数量越多,只会使得大量引用集中到某几篇被广泛阅读的论文上面,新论文不太可能被大量引用,只会淹没在海量的论文当中。
这时,就算有新论文被关注,也不是通过一个渐进的、累积的过程,而是通过其他因素,比如名人的推荐。
这些因素都表明,海量的论文很可能会让大型科学领域的进展放缓,把研究者困在现有的经典论述之中。

言论

1、
说服他人的一种常见手法是,不要争辩某事是假的,只需要证明它与低地位的人有关;反之亦然,不要争论某事是真的,只需要证明它与高地位的人有关。
-- 《说服力和声望悖论》[46]
2、
我预测,2029年人工智能将达到人类的智能水平,2045年人工智能将比人类智能强十亿倍,达到自我进化。
-- Ray Kurzweil[47],谷歌工程总监2017年的预测
3、
上个世纪70年代,英国国有电信公司 BT 就开展光纤研究,并建立了世界第一个光纤广域网。1990年,英国首相撒切尔夫人决定不推广这项技术,原因是 BT 比其他公司领先太多,这项技术一旦推广,会导致大量公司倒闭或退出英国市场。
结果是从那以后,英国的宽带网速一蹶不振,直到现在都落后其他国家。
-- 《撒切尔夫人如何在英国高速宽带出现前就扼杀了它》[48]
4、
1960年,一个美国家庭平均每年购买不到25件衣服,到了2020年,则是每年要购买近70件衣服。如果地球上的每个人都像美国人一样生活,需要五个地球的资源才能满足需求。
-- 《过度消费正在扼杀地球》[49]
5、
每个人都是父母的基因混合在一起产生的,这样会制造基因突变,其中有利的突变最终会形成生存优势。
同理,作为程序员,也应该多尝试新事物和新技能,与旧知识和旧技能进行混合,这样才能获得生存优势。
-- 《为什么程序员停滞不前》[50]

历史上的本周

2021年(第 165 期):全端 App 的时代
2020年(第 114 期):U 盘化生存和 Uber-job
2019年(第 63 期):互联网市场的集中化趋势
2018年(第 12 期):人口老龄化,养老金不够

鸣谢

国产软件 FlowUs[51] 为周刊提供专栏服务[52](扫码也可查看)。FlowUs 集合了“文档+表格+网盘”,可用于知识库、数据处理、文件存储。
(完)

References

[1]
 ruanyf/weekly: 
https://github.com/ruanyf/weekly
[2]
 《谁在招人?》: 
https://github.com/ruanyf/weekly/issues/2483
[3]
 Stack Overflow: 
https://stackoverflow.com/
[4]
 2022年的结果: 
https://survey.stackoverflow.co/2022/
[5]
 “知识孤岛”: 
https://baike.baidu.com/item/%E7%9F%A5%E8%AF%86%E5%AD%A4%E5%B2%9B/12747678
[6]
 MDN: 
https://developer.mozilla.org
[7]
 Arch Wiki: 
https://wiki.archlinux.org/
[8]
 尤雨溪演讲《前端趋势2022》: 
https://conf.juejin.cn/xdc2022/wap/?utm_source=ruanyfblogjiangshi
[9]
 可口可乐瓶盖: 
https://www.cocacolaep.com/gb/news/2022/coca-cola-begins-introduction-of-attached-caps-across-entire-portfolio-to-boost-collection-and-recylcing-and-help-to-prevent-litter/
[10]
 沙丘配乐: 
https://www.nytimes.com/2022/03/16/movies/dune-denis-villeneuve-sound.html
[11]
 呼气测醉器: 
https://jalopnik.com/we-can-cut-traffic-deaths-in-half-but-nobody-wants-to-1848892809
[12]
 自行车后视镜: 
https://news.mydrivers.com/1/833/833294.htm
[13]
 自动驾驶汽车故障: 
https://thelastdriverlicenseholder.com/2022/06/29/driverless-robotaxi-fleet-paralyzed-for-hours-in-san-francisco/
[14]
 任正非:关于专家委员会: 
https://www.163.com/dy/article/HBFKD26S0519QIKK.html
[15]
 追踪北京雨燕的迁徙: 
https://www.bjnews.com.cn/detail/165692908214307.html
[16]
 零基础开发一个 Web/Hybird 项目: 
https://imf.ms/web/2022/07/05/my-first-web-hybird-project-experience/
[17]
 @imfms: 
https://github.com/ruanyf/weekly/issues/2492
[18]
 氧气蜡烛: 
https://minearc.com/oxygen-candles-providing-emergency-air/
[19]
 JavaScript 容器: 
https://tinyclouds.org/javascript_containers
[20]
 如何选择美国的计算机硕士学校: 
https://evanp.me/2022/05/04/masters-degree-in-computer-science/
[21]
 我所用的自托管应用程序: 
https://noted.lol/what-are-your-most-used-self-hosted-applications/
[22]
 如何通过 JS 运行时快照进行 Web 抓取: 
https://www.adriancooney.ie/blog/web-scraping-via-javascript-heap-snapshots
[23]
 KOReader: 
https://koreader.rocks/
[24]
 Pointless: 
https://github.com/kkoomen/pointless
[25]
 PyScript: 
https://pyscript.net/
[26]
 MacCopier: 
https://github.com/DreamSaddle/MacCopier
[27]
 这篇教程: 
https://taohan.xyz/article/maccopier
[28]
 @DreamSaddle: 
https://github.com/ruanyf/weekly/issues/2489
[29]
 doctree: 
https://github.com/sourcegraph/doctree
[30]
 htmx: 
https://htmx.org/
[31]
 这篇教程: 
https://codecapsules.io/docs/tutorials/build-flask-htmx-app/
[32]
 USWDS: 
https://designsystem.digital.gov/
[33]
 Jbake: 
https://jbake.org/
[34]
 Repo Visualizer: 
https://github.com/githubocto/repo-visualizer
[35]
 机械表原理: 
https://ciechanow.ski/mechanical-watch/
[36]
 谷歌软件工程: 
https://qiangmzsx.github.io/Software-Engineering-at-Google/
[37]
 @zhang14725804: 
https://github.com/ruanyf/weekly/issues/2484
[38]
 Tauri 系列:打造属于自己的下一代跨端应用: 
https://www.zhihu.com/column/c_1519079232848785408
[39]
 @lencx: 
https://github.com/ruanyf/weekly/issues/2486
[40]
 Vue.js 挑战: 
https://cn-vuejs-challenges.netlify.app/
[41]
 @webfansplz: 
https://github.com/ruanyf/weekly/issues/2487
[42]
 合成器原理: 
https://learningsynths.ableton.com/zh-Hans
[43]
 螺丝型棺材: 
https://kottke.org/22/03/the-inventor-of-the-screw-in-coffin
[44]
 显示器的摆放姿势: 
https://sprocketfox.io/xssfox/2021/12/02/xrandr/
[45]
 海量论文无助于科学进步: 
https://www.pnas.org/content/118/41/e2021636118
[46]
 《说服力和声望悖论》: 
https://quillette.com/2021/04/03/persuasion-and-the-prestige-paradox-are-high-status-people-more-likely-to-lie/
[47]
 Ray Kurzweil: 
https://futurism.com/kurzweil-claims-that-the-singularity-will-happen-by-2045
[48]
 《撒切尔夫人如何在英国高速宽带出现前就扼杀了它》: 
https://webreturn.co.uk/how-thatcher-killed-the-uks-superfast-broadband-before-it-even-existed/
[49]
 《过度消费正在扼杀地球》: 
https://www.popsci.com/environment/overconsumption-sustainability-climate/
[50]
 《为什么程序员停滞不前》: 
https://blog.devgenius.io/why-developers-stagnate-77d9bfc5c91e
[51]
 FlowUs: 
https://flowus.cn?promotionChannel=GW_RYF_01
[52]
 专栏服务: 
https://ruanyf-weekly.flowus.cn/?code=FLOWUS&promotionChannel=WX_RYF_00
继续阅读
阅读原文