阮一峰的网络日志

科技爱好者周刊#340:技术炒作三十年

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

本杂志开源[1],欢迎投稿[2]。另有《谁在招人》[3]服务,发布程序员招聘信息。合作请邮件联系[4]([email protected][5])。

封面图

Image

成都建筑师刘家琨,本周获得号称“建筑界诺贝尔奖”的普利兹克奖,上图是他的作品苏州御窑金砖博物馆。(via[6])

技术炒作三十年

大家有没有发现,每隔一段时间,媒体就会大肆炒作一种新技术,宣扬它将对人类产生巨大影响,全社会都在关注,人人都在谈论。

Image

这种炒作就是大家常说的“风口”吧。突然之间,风就起来了,如果正好站在风口,猪也能飞起来。

你能举出多少个这种炒作的例子?

一个国外程序员[7]根据回忆,列出了过去三十年主要的几次技术炒作。

•1998-2001 年:互联网 WWW•1999-2006 年:Java•2004-2007 年:Web 2.0•2007-2010:云计算•2010-2015:社交媒体•2012-2015:物联网•2013-2015:大数据•2017-2021:区块链•2021 年至今:人工智能

大家觉得,这个时间列表是否准确?

Image

我的亲身感受是差不多。这是主要的几次技术炒作,而且这些技术都成功了,所以炒作的时间才会持续这么久,两年到五年,然后被下一个热点取代。

当中,还有许多次小的技术炒作,但都没有那么成功,持续时间就没有这么久,很快退潮了,比如元宇宙、Web 3、AR/VR 眼镜、3D 打印、自动驾驶等等。

一种新技术能够带来打来大规模、长时间的炒作,有一个前提条件,那就是它有真东西,确实能对社会经济带来非常有感的变化。

上面列表的每一种新技术,确实都是大的突破,改变了技术方向,没有一个是虚的。如果再加上智能手机、短视频、加密货币,可能就把最近三十年大的技术“风口”都包括了。

我以前有一个误区,看不起技术炒作,认为那只是一窝蜂的音浪,跟娱乐版的明星炒作没什么不同。

人到中年,我才意识到,这种观念大错特错,技术从业者千万不能有这种想法。每一次技术炒作,不仅是音浪,更是机会,会带来空前的关注、疯狂涌入的资金、以及切切实实的需求。炒作规模越大、程度越厉害,带来的机会和资金也就越大。

每一次大规模的技术炒作,都会诞生一些快速增长的指标公司,创造巨大的财富效应。如果你正好身在其中,事业和财富都会随之起飞。

让我们现实一点,一个工程师最有技术生产力、创造力、事业起飞的时间窗口,就只有那么几年。如果个人事业要快速起来、为未来铺好道路,光有技术还不够,还必须赶上至少一个大的技术风口,用外部的资金和需求放大个人努力。

否则,单靠自己的成果积累,就太慢了,很难快速到达更高的层次,很可能辛辛苦苦干了二十年,还是在做一些基础的事情。如果出现技术升级,使得你的技能过时了,后面的路就难了。技术风口其实是实现个人阶层飞跃、人生翻转的最可行的路径。

所以,每一轮大的技术风口并不完全是一哄而上的炒作,里面包含了一些真正的机会,值得关注和跟上。这也是为什么周刊每一次都对新技术倍加关注、积极评价的原因。

当然,赶上技术风口的前提,还是要有真才实学,能做出实打实的产品。否则,真遇到风口,你也无法脱颖而出,拿到技术炒作的红利。

[活动] AI FOR CODE 创意挑战赛

上周提到的全国 AI 编程大赛,大家还有印象吗。

这次大赛为了让更多人参与,除了常规的“应用赛道”,还特别设置了“创意赛道”。

只要有创意,就能参加,不需要具体的实现,实现交给 AI。

Image

创意赛道从今天(3月7日)开始,就可以提交作品了,到3月27日截止。

如果你有想让 AI 实现的创意(点子),不妨发布到作品提交专区。发布时,需要按照模版要求[8]提交。

注意,发布的创意需要公开可见,这样才能让大家投票。得票高的创意,将有丰富的奖品。

每个人最多提交5个创意。如有团队使用你的创意完成项目开发,你将获得神秘大礼!

不要错过本次大赛,只要你有想法,就有机会得奖。提交创意和投票的详细介绍,可以点击这里[9],或者扫描上面海报的二维码。

修复壁画的新方法

意大利帕多瓦教堂,曾经有一幅巨大的中世纪壁画,非常精美。

Image

但是,这幅壁画在1944年的第二次世界大战被炸毁。

下面是壁画的虚拟重建图(局部)。

Image

壁画被炸毁时,人们把墙壁的碎片收集起来,一共有88000多块,存放在博物馆。

下面是碎片的照片,这些碎片大概只占原始壁画的10%。

Image

碎片的数量太大,缺失又太多,从来没人敢于尝试将它们还原。

但是,1992年的时候,博物馆曾经将所有碎片拍成了数码照片。

慕尼黑工业大学的数学教授马西莫·福纳西耶(Massimo Fornasier)得知了这件事,决定基于这些数码照片,使用计算机进行壁画还原。

这幅壁画在战前,曾经有过一张黑白照片(下图),可以作为修复的依据。

Image

马西莫教授的第一步,是将这张照片上色,还原成彩色照片。

Image

然后,将碎片进行图像吻合,一块块找到它们的位置(下图)。

Image

下面是碎片上墙的样子。

Image

缺失的部分,团队用灰白颜色补全。

Image

全彩的虚拟效果图如下。

Image

科技动态

1、美国萤火虫航天公司的“蓝色幽灵”登陆器[10],成功登陆月球,成为第一家登陆月球的民营企业。

Image

2、一家美国生物技术公司,改造了老鼠的毛发基因,成功培养出了长毛鼠[11]。

Image
Image

他们下一步的目标,是培育长毛象。

3、本田公司推出一款口袋妖怪摩托车[12],外形非常惊艳(下图)。

Image

4、联想推出一款太阳能笔记本[13],上盖覆盖了太阳能电池。

Image

据说阳光下放20分钟,可以播放视频1小时。但是怎么看,都不如外接一个太阳能发电板实用。

5、微软将在今年5月关闭通信服务 Skype[14],由 Teams 替代。智能手机出现之前,Skype 是最流行的国际电话软件。

Image

文章

1、流式 HTML[15](英文)

Image

AI 的聊天对话都是流式加载的,本文介绍一个技巧,不使用 JS 也能加载流式内容。

2、不要用 TypeScript 枚举[16](英文)

Image

TypeScript 官方已经不建议使用 enum(枚举)语法,作者建议改用字符串的联合类型代替。

3、我如何使用 roboscribe 音频转文本[17](英文)

Image

一篇教程,作者使用软件 roboscribe[18] 将播客转成可用的文本,这事要比听上去麻烦。

4、如何测试电梯[19](中文)

Image

本文将电梯抽象成一个“有限状态机”,设计测试用例。(@lezhi12[20] 投稿)

5、我为什么选择 Firefox[21](英文)

Image

作者介绍 Firefox 浏览器胜过 Chrome 的几个地方,有些功能大家可能未必知道。

6、脚本代替别名[22](英文)

Image

常用的终端命令,往往可以设置别名(alias)作为快捷方式,作者提出一种新的方式,用脚本代替别名,更容易维护。

7、Tailscale 对我很有用[23](英文)

Image

作者介绍自己的 Tailscale 用法,将不同的设备组成一个虚拟局域网。

工具

1、Yaak[24]

Image

一个测试 API 的开源桌面软件,功能比较全。

2、cleanmac[25]

清理 macOS 系统的一个命令行脚本。

3、Lynx[26]

Image

字节开源的一款跨平台原生应用开发工具,使用 Web 语法,生成各个平台的原生应用,类似于 React Native。

4、appstat[27]

Image

监控 Windows 应用的资源占用(内存、CPU、网络)的一款工具。

5、Maestro[28]

Image

一个 Web 和 手机的 UI 测试工具,只要写好配置文件,就能自动运行测试。

6、Git Worktree Manager[29]

Image

VS Code 插件,方便在不同的 Git 仓库、不同的分支之间切换。(@jackiotyu[30] 投稿)

7、Hugo Translator[31]

一个 Python 脚本,将 markdown 格式的中文 Hugo 博客帖子,翻译成英文。(@Rico00121[32] 投稿)

8、O-Spy[33]

Image

一个 Web 应用的记录并回放用户操作的工具,用来远程调试。(@wqcstrong[34] 投稿)

9、MTranServer[35]

Image

开源的离线翻译服务器,号称资源消耗低,CPU + 1G 内存即可运行,支持调用沉浸式翻译。(@xxnuo[36] 投稿)

10、Screen Sharing Application[37]

Image

一个开源的 Next.js 应用,通过点对点通信,实时分享你的屏幕。它会生成一个房间码,其他人访问这个房间,就能看到你的屏幕。

AI 相关

1、olmOCR[38]

Image

一个使用 AI 模型进行文字识别(OCR)的 Python 工具。

2、Probly[39]

Image

一个基于 AI 的电子表格软件,可以在浏览器中对表格运行 Python 代码。

3、Hacker News 每日播报[40]

Image

每天自动抓取 Hacker News 热门文章,通过 AI 生成中文播客。(@Y024[41] 投稿)

4、语析[42]

Image

基于大模型,进行知识库管理与生成知识图谱的工具。(@xerrors[43] 投稿)

5、DiffRhythm[44]

Image

西北工业大学 ASLP 实验室开发的一个 AI 音乐生成模型。(@JoeDeanx[45] 投稿)

资源

1、Meta 的 AI Demo[46]

Image

Meta 公司的 AI 实验室,展示最新的成果。

2、ProWords[47]

Image

一个基于 AI 的单词记忆平台,根据职业身份生成例句,代码开源[48]。(@winterfx[49] 投稿)

3、圣彼得大教堂 3D 导览[50]

Image

梵蒂冈的圣彼特大教堂(St. Peter's Basilica)是世界最大教堂,这个网站提供它的 3D 模型还原。

4、Shapecatcher[51]

Image

这个网站根据你画出的形状,返回匹配的 Unicode 字符,包括 Emoji 字符和东亚文字。

图片

1、奥乐齐的条形码[52]

奥乐齐(Aldi)是一家德国连锁超市,为了方便用户扫描条形码,把条形码印刷得特别长。

Image

小包装商品无法放置那么长的条形码,奥乐齐就会设法放置多个条形码。

Image

上图的奶酪通心粉,在侧面和底部都有条形码。

2、乐高日心仪[53]

国外网友使用乐高积木,搭建了一个可以转动的日心仪。

Image

上图中,中间黄色的是太阳,地球围绕太阳公转,并且有22.5°的倾斜角。

Image

地球的旁边还有月亮。月亮其实有5.15°倾角,但是肉眼不容易察觉。

Image

它是可以实际运转的,内部结构很复杂,有大量齿轮。

Image
Image

文摘

1、高管与普通员工的脱节[54]

作者:伊森·埃文斯(Ethan Evans)

我是已经退休的亚马逊副总裁,在亚马逊待了超过15年,领导过800多人的国际团队。

我任职期间,亚马逊股票涨幅高达9082%,因此我对普通人的许多生活困境并不了解。比我更高级的副总裁和首席执行官,就更是如此了。谈论自己的财富是大多数高管都避而不谈的禁忌话题。

今天我想谈谈一个小问题,先介绍一下我自己的情况,就举四点:1) 我没有任何抵押贷款,2) 每两周有一个女佣为我打扫一次住宅,3) 我付钱请别人帮我的花园割草, 4) 我50岁就退休了。

普通家庭,即使是工程师和知识分子,也没有这些福利。

在我上面的高管,享有的福利就更多了,我看到的就有:1) 有专门的度假屋,雇了多个工作人员长期看守;2) 私人飞机;3) 私人助理,不用自己付账单、买杂货或接孩子,助理处理一切;4)私人司机;5)孩子上贵得惊人的私立学校;6)他们想住哪儿就住哪儿。

经济成本从来不是这一类人的障碍。

现在让我们看一个例子,说明高管与员工是如何脱节的:结束远程工作,重返办公室。

高管的财富使他们有不同的选择。大多数高管把工作和职业成功放在生活的首位。如果他们不这样做,他们很少能成为高管。他们中的大多数人(包括我自己),利用财富为自己购买时间。他们大部分时间都花在工作上,小部分时间花在家人身上。如果工作是你生活的重心,那么重返办公室就自然是一个优先事项。

你想象一下高管的工作场景:无需通勤,司机会送你到家,你一心工作,无需赶回家接孩子,助理会帮你做这些,你也无需购物、打扫或做饭,佣人会做这些,无需辅导作业,好学校会提供辅导。在这种情况下,回到办公室感觉非常“值得”。

这不是一篇反对高管个人财富的长篇大论。毕竟,我付出了25年的生命,得到了一些财富。相反,这是一种解释,以便你了解高管与普通员工的脱节。

如果你需要影响高管,而他们的经历可能与你的现实生活脱节,请通过故事、视频和数据帮助他们看到现实。请记住,他们确实生活在另一个世界。这并不一定会使他们变得邪恶,只是脱节了。我不想发生“脱节”,但必须承认这种情况确实会随着时间的推移而发生。

言论

1、

兼职创业不是可以长期坚持的事情。如果你上班时整天面对电脑,回家后又坐在另一台电脑前开发自己的软件,那将让你筋疲力尽。

你可以这样做几个月,但问题是,企业通常需要更长的时间才能起步,很多人就会放弃。

-- 《关于独立开发》[55]

2、

在开始一个项目时,一定程度的天真是必不可少的。如果我知道这条路有多难,我可能永远不会开始。但由于我完全不了解未来的挑战,所以我只是一头扎进去,一路摸索。

-- 金茨·齐巴洛迪斯[56](Gints Zilbalodis),拉脱维亚导演,他的作品《猫猫的奇幻漂流》(Flow)获得今年的奥斯卡最佳动画片奖

3、

你编写的每一行代码都可能是一个潜在的 bug。除非你绝对需要这行代码,缺了它程序就会受影响,否则就不要写。不要编写你用不到的抽象层。如果优化会增加任何复杂性,就坚决不要优化。

-- 《每一代码都可能是 bug》[57]

4、

我对 AI 的看法是,AI 本身不会创造,需要人类与它共同创造,创造的结果好坏与使用它的人的质量高度相关。

与 AI 交谈不像在与一个人交谈,而像在与人类的集体思维交谈。AI 不应该让你减少思考,而应该帮助你增加思考,AI 是你的杠杆,可以让你拓展自己。

-- Alex Komoroske[58],美国程序员

5、

10个人开会,可以没有主持人。100个人开会,必须有主持人。1000个人开会,需要一个组委会。

扩大10倍,需要将知识/资源推向极限,但是扩大100倍,需要跳出现有的维度,重新安排一切。

-- 《你的下两个零》[59]

往年回顾

一周是一年的2%(#293)

与孔子 AI 聊天(#243)

前端与后端,谁更难?(#193)

世界尽头与冷酷仙境(#143)

(完)

References

[1] 开源:https://github.com/ruanyf/weekly
[2]投稿:https://github.com/ruanyf/weekly/issues
[3]《谁在招人》:https://github.com/ruanyf/weekly/issues/6189
[4]邮件联系:mailto:[email protected]
[5][email protected]:mailto:[email protected]
[6]via:https://www.npr.org/2025/03/04/nx-s1-5304312/pritzker-architecture-prize-liu-jiakun
[7]国外程序员:https://wiki.alopex.li/HypeCycles
[8]模版要求:https://bytedance.larkoffice.com/docx/RooLdy1Q7oXVzXx9MJMcWfNcnCe
[9]点击这里:https://sourl.co/5thdnz
[10]“蓝色幽灵”登陆器:https://edition.cnn.com/2025/03/01/science/blue-ghost-mission-moon-landing
[11]长毛鼠:https://www.livescience.com/animals/land-mammals/colossal-creates-woolly-mouse-in-new-step-towards-mammoth-de-extinction
[12]口袋妖怪摩托车:https://www.designboom.com/technology/honda-unveil-pokemon-koraidon-motorcycle-moving-hands-face-eyes-feet-02-28-2025/
[13]太阳能笔记本:https://www.xda-developers.com/lenovo-mwc-2025-concepts/
[14]Skype:http://xda-developers.com/microsoft-killing-skype/
[15]流式 HTML:https://rinici.de/posts/streaming-html
[16]不要用 TypeScript 枚举:https://blog.disintegrator.dev/posts/ode-to-typescript-enums/
[17]我如何使用 roboscribe 音频转文本:https://den.dev/blog/how-i-automated-podcast-transcription-with-local-ai/
[18]roboscribe:https://github.com/dend/roboscribe
[19]如何测试电梯:http://hanzilu.com/wordpress/?p=239
[20]@lezhi12:https://github.com/ruanyf/weekly/issues/6207
[21]我为什么选择 Firefox:https://www.howtogeek.com/why-i-switched-to-firefox-and-never-looked-back/
[22]脚本代替别名:https://evanhahn.com/why-alias-is-my-last-resort-for-aliases/
[23]Tailscale 对我很有用:https://blog.6nok.org/tailscale-is-pretty-useful/
[24]Yaak:https://github.com/mountain-loop/yaak
[25]cleanmac:https://github.com/hkdobrev/cleanmac
[26]Lynx:https://lynxjs.org/
[27]appstat:https://pragmar.com/appstat/
[28]Maestro:https://github.com/mobile-dev-inc/Maestro
[29]Git Worktree Manager:https://github.com/jackiotyu/git-worktree-manager
[30]@jackiotyu:https://github.com/ruanyf/weekly/issues/6198
[31]Hugo Translator:https://github.com/Rico00121/hugo-translator
[32]@Rico00121:https://github.com/ruanyf/weekly/issues/6199
[33]O-Spy:https://github.com/HuolalaTech/page-spy-web/
[34]@wqcstrong:https://github.com/ruanyf/weekly/issues/6202
[35]MTranServer:https://github.com/xxnuo/MTranServer
[36]@xxnuo:https://github.com/ruanyf/weekly/issues/6208
[37]Screen Sharing Application:https://github.com/tonghohin/screen-sharing
[38]olmOCR:https://github.com/allenai/olmocr
[39]Probly:https://github.com/PragmaticMachineLearning/probly
[40]Hacker News 每日播报:https://github.com/ccbikai/hacker-news
[41]@Y024:https://github.com/ruanyf/weekly/issues/6200
[42]语析:https://github.com/xerrors/Yuxi-Know
[43]@xerrors:https://github.com/ruanyf/weekly/issues/6215
[44]DiffRhythm:https://github.com/ASLP-lab/DiffRhythm
[45]@JoeDeanx:https://github.com/ruanyf/weekly/issues/6218
[46]Meta 的 AI Demo:https://aidemos.meta.com/
[47]ProWords:https://prowords.zeabur.app
[48]代码开源:https://github.com/winterfx/ProWords
[49]@winterfx:https://github.com/ruanyf/weekly/issues/6217
[50]圣彼得大教堂 3D 导览:https://virtual.basilicasanpietro.va/en
[51]Shapecatcher:https://shapecatcher.com/
[52]奥乐齐的条形码:https://thehill.com/homenews/nexstar_media_wire/5006900-whats-up-with-aldis-trippy-barcodes/
[53]乐高日心仪:https://marian42.de/article/orrery/
[54]高管与普通员工的脱节:https://x.com/EthanEvansVP/status/1895845734177452369
[55]《关于独立开发》:https://blog.charliemonroe.net/a-few-words-about-indie-app-business/
[56]金茨·齐巴洛迪斯:https://www.blender.org/user-stories/making-flow-an-interview-with-director-gints-zilbalodis/
[57]《每一代码都可能是 bug》:https://www.teamten.com/lawrence/writings/every_line_is_a_potential_bug.html
[58]Alex Komoroske:https://docs.google.com/document/u/0/d/1GrEFrdF_IzRVXbGH1lG0aQMlvsB71XihPPqQN-ONTuo/mobilebasic
[59]《你的下两个零》: https://taylor.town/next-two-zeroes