MoreRSS

site icon科技爱好者周刊修改

由阮一峰(RuanYiFeng)主理,可能是中文互联网最受欢迎的技术分享周刊。每周五发布。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

科技爱好者周刊的 RSS 预览

科技爱好者周刊(第 350 期):Java 三十周年

2025-05-30 08:02:46

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

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

封面图

正在举行的第26届舟山国际沙雕节,主题是"海上音乐城"。海滩上50多座沙雕,组成了一把吉他。(via

Java 三十周年

上周是 Java 语言诞生三十周年。1995年5月23日,Sun 公司正式发布了这种语言。

三十年了,大家觉得 Java 算不算老语言?

说实话,我一直以为,Java 跟 C++ 是同一时期的语言。但是实际上,Java 与 Python、JavaScript、PHP 同时期,属于年富力强的年轻语言。

全世界的计算机语言有几千种,Java 是特别、特别成功的那一类。从发布的第一天起,它就很成功,一直保持到今天。

Java 的成功体现在两方面。

(1)它无所不在。日常生活中,我们接触到的软件服务,尤其是企业级服务,后端的开发语言大部分都是 Java。

Java 在服务端是霸主地位,在桌面端也有广泛应用,很多人用它写桌面软件。至于手机端,就更不用说了,安卓系统就基于 Java。

(2)它的工作岗位最多

如果你问我,学习什么编程语言,最容易找工作?

没有其他前提的情况下,我会建议学习 Java,它的工作岗位最多,最容易找。

Python 语言虽然也很热门,但是工作岗位往往要求高级程序员,中级和低级的岗位并不多。不像 Java,你只要具有一般水平,就可以去应聘,需要普通 Java 程序员的地方非常多。

国外有一条经验法则,叫做林迪效应(Lindy effect),说的是一种事物的预期寿命与它已经存在的时间成正比。它已经存在多久,你可以预期,它还会存在这么久。

那么,Java 已经流行了30年,接下来30年,很可能还会继续流行。

高斯林口述历史

Java 语言的发明人是高斯林(James Gosling,1955-)。他在 Sun 公司时,发明了 Java。

2019年,美国的计算机历史博物馆采访他,一连两天,每天三个小时,后来制作了一个节目《高斯林口述历史》(Oral History of James Gosling)。

网上有视频 + 文字稿(PDF ),他谈了很多东西。下面,我摘录跟 Java 有关的部分,非常有意思。

问:你什么时候开始研究字节码?

答:我在卡内基梅隆大学读研究生时,开始从事字节码方面的工作。

当时,我的导师要求我,将一些软件从一种计算机移植到另一种计算机。我不知道他怎么想的,移植软件非常困难。

但是我发现,写一个字节码到汇编代码的编译器却很容易,得到的代码质量比原生的 C 编译器还要好,能够顺利运行。

这件事让我记住了,只要生成软件的字节码,然后为不同平台写一个字节码到汇编语言的编译器,就能让软件在不同架构的计算机上运行。

问:你怎么在 Sun 公司开始搞 Java?

答:Sun 公司的产品是服务器,在消费电子领域错过了很多机会。

我们当时有一群人,核心小组大概只有四个人,想探索消费电子领域。首席执行官同意了,给了我们一笔钱,那时是1991年。

我们决定做一个原型设备,项目名叫 Star7。这个设备相当古怪,有点像后来的 iPad。事实上,我们团队后来有几个人,确实继续从事 iPad 的研发。

我们并不想做那种特定功能的设备,而是想要一个网络设备,可以跟其他设备相互通信,并进行远程控制。

我们设想的一个用途是,当时的电视和录像机都有各自的遥控器,我们想用一个设备同时遥控多种其他设备,不仅能够控制电视,还能控制灯光,并且可以互动。

当然,Star7 没有成功。但是过了30年,人们竟然还在打造这样的设备,感觉有点奇怪。

问:你怎么想到要为这个设备,发明一种新的编程语言?

答:我们最初的目标不是发明一种编程语言,但是我们意识到,很多问题都源于编程工具。

我们想改进一下 C 和 C++,让它们更适合我们的环境。我自愿承担了这项任务,因为我是小组里唯一一个之前开发过编译器的人。

随着时间的推移,我改动的部分越来越不像 C++ 了,开始像一种独立的语言。

问:这种语言最初命名为 Oak?

答:是的,它最初被命名为 Oak(橡树)。这纯粹是偷懒,我当时需要新建一个文件夹,存放代码。我坐在办公桌前,望着窗外,看到一棵橡树,就为文件夹起了这个名字。

问:一开始,该语言就被设计为独立于特定平台?

答:是的。平台独立性是我们从一开始就考虑的事情之一。

这其实来自那些消费电子公司,他们是这种语言的使用者。他们非常不乐意受制于特定供应商,如果某个供应商有问题,他们希望可以更换供应商。CPU 也是如此,他们不希望受制于特定的 CPU。

问题就来了:如何才能让他们轻松地从一种芯片切换到另一种呢?这不就是我在卡内基梅隆大学移植字节码时遇到的问题吗。

所以,新语言的核心特性就是字节码,这样才能轻松地针对不同的 CPU 指令集进行开发。

如果厂商要为某个芯片制造一些东西,比如下一代录像机或电视机,即使处理器架构发生变化,也不用重写大量代码。现有的代码可以有把握地在尚未发明的机器上运行。

问:Java 的口号"一次编写,随处运行"(Write once, run anywhere)是这样来的吗?

答:我完全不知道这句话是谁想出来的,它是公司的营销用语。这句话说得很棒,但把事情过分简化了。

问:Java 是什么时候从机顶盒转向互联网?

答:应该是94年或95年,我们决定放弃机顶盒。因为我们发现,大型媒体公司内心深处,并不想要一款强大的新设备,而是想要控制用户的眼球,多吸引广告商。

我们决定转向更广阔的领域,让新语言可以用在互联网开发。

问:Java 是怎么赢得软件开发商的?

答:我们发现,Java 与平台隔离的特性很有吸引力,它不关心你使用哪种浏览器,因此你可以把平台问题与应用程序的问题隔离开来。

我们不再以消费者和嵌入式为中心了,而是思考这种语言怎么帮助更广大的软件开发者。

如果你是一个软件开发者,你不必考虑在谁的平台上开发软件,Sun、微软的 Windows NT 或者惠普。如果你用 Java 开发,你可以把软件卖给使用不同平台的客户。

问:你们发现 Oak 被另一家公司占用后,才想到了 Java 这个名字?

答:是的。你要发布一款产品,必须给它起个名字。Oak 已经被其他公司注册成商标了,我们被迫选择一个新名字。

那时,我们已经准备好发布软件了,就是缺一个名字。我们组织了一场命名会议,询问大家的意见,列出一张大家感觉可以的单词列表,然后发给律师,让他们从上到下检查有没有商标问题,哪个单词第一个通过检查,我们就用那个。

问:Java 是第四个单词?

答:是的。我个人最喜欢的是排名第三的 Lyric,但它没通过检查。排名第一的单词,也就是项目组大多数人最喜欢的名字,是 Silk。我不喜欢这个词,觉得它有点吓人,让我想起了蜘蛛。尽管喜欢它的人说,它象征互联网。我忘了排名第二是什么词,但是第四是 Java,我们就用了它。

科技动态

(1)内蒙古一煤矿,实现了100台无人卡车的编组运行,操作人员仅仅6人。

注意,无人卡车的驾驶舱位置是电池。

(2)戴森公司创始人,发布世界最薄吸尘器,机身仅高95毫米。

(3)杭州举行人形机器人格斗赛

比赛机器人采用遥控操作。

(4)丹麦继日本之后,成为全世界第二个国家,将退休年龄提高到70岁。

(5)阿联酋成为全球首个国家,为全体公民和居民免费提供 ChatGPT Plus,该服务目前的月费为20美元。

文章

1、CAPTCHA 没用了(英文)

作者在一家票务网站工作。他提出,各种识别机器人的验证机制,要么可以被 AI 绕过,要么不适用于出票,难以找到有效的解决方案。

2、我的同步备份方案(英文)

作者的备份方案分成两部分。(1)使用开源软件 Syncthing 在多台电脑之间同步目录,(2)使用 TrueNAS 将本地内容同步到云存储。

3、Bash 脚本执行心跳测试的写法(英文)

本文教你一种简单的写法,使用 Bash 脚本执行心跳测试(验证服务器是否正常在线)。

4、虚拟主机加固指南(英文)

开通虚拟主机(VPS)后,应该如何设置,提高安全性,本文给出基本步骤。

5、自解释的代码(英文)

本文通过一个例子,演示应该怎么写,才能让代码清晰易懂,自己解释自己。

工具

1、Defuddle

一个 JS 库,从 HTML 网页代码提取内容,转成文本。

2、DockFlare

Cloudflare Tunnel 的开源管理工具。

如果内网有多个 Docker 容器,通过 Cloudflare Tunnel 向外网开放,DockFlare 可以对它们进行统一管理,参见介绍文章

3、f2

一个命令行的文件批量改名工具,功能较强,参见介绍文章

4、TypeID

唯一身份识别码 UUIDv7 的改进版,加上了类型前缀。

5、Starlight

基于 Astro 框架的文档网站生成工具。

6、ntfy.sh

消息推送工具,向手机和桌面电脑推送消息,可以自搭建,也可以使用官方服务器,参见介绍文章

7、BillionMail

开源的电子邮件营销平台,帮助企业和个人管理电子邮件营销活动,可以发送新闻通讯、促销邮件、消息。(@aaPanel 投稿)

8、Lynx Proxy

开源服务器,代理 HTTP/HTTPS 和 WebSocket 流量,内置 Web 管理界面。(@suxin2017 投稿)

9、Text to SVG

字体转 SVG 的工具网站,可以用来制作文字 Logo。(@JiuRanYa 投稿)

10、DualPiP

Chrome 插件,提供增强版的画中画播放器,支持主流视频网站一键弹出。(@ymlluo 投稿)

AI 相关

1、Smart Mermaid

将文本转为 Mermaid 格式的可视化图表,省去手动编写 Mermaid 代码。(@liujuntao123 投稿)

2、Folda-Scan

一个与代码库对话的 Web 应用,可以扫描本地文件夹,对其建立本地索引,从而用自然语言库对话。(@oldjs 投稿)

3、Ainee

AI 开源笔记工具,将音频、文字、文件以及 YouTube 视频等转换为笔记。(@luyu0279 投稿)

4、OpenDerisk

开源的 AI 运维助手,对线上系统提供 AI管家,与真人协同处理运维问题。(@csunny 投稿)

资源

1、周刊 AI 总结器

AI 提炼的每一期周刊重点内容,代码开源。(@ronething 投稿)

2、日本語文章解析器

日语句子分析的网站。(@cokice 投稿)

Computex 的奇特 PC

上周闭幕的台北 Computex 2025 电脑展,出现了很多奇特的 PC(来源12)。

1、招财进宝

你以为这是金元宝吗?错了它是一台电脑。

它的背后就是机箱,金元宝上方的流水装置就是循环的液冷。

2、变形金刚

这个变形金刚也是一台电脑,头部会旋转,眼睛会变色,还能播放语音。

它胸部发亮的地方,就是电源按钮。

腿部就是放置显卡的地方。

3、水族馆

这个水族馆是真正的海景房电脑,里面有水母和金鱼的饰品。

风扇的 RGB 灯效,做得像灯笼一样,晚上亮起来肯定很漂亮。

4、黄貂鱼

这台电脑模仿了黄貂鱼,但是又好像一架飞机。

它的两侧前翼,可以用胸前的齿轮,调节移动。

5、咖啡机

这个咖啡机机箱是概念产品,应该不能用来冲咖啡。

6、跑车

这台跑车机箱,显卡插在车尾,引擎盖下面是主板和散热风扇。

7、黑神话悟空

黑神话主题机箱,外面包了一层"牛王铠甲"。

8、河马

河马机箱走可爱路线,下面的水盆好像是标配。

9、茅草屋

茅草屋机箱无敌了,上面真的覆盖了一层稻草,放在家里可以做盆景了。

言论

1、

我从来不喜欢内容收费,我的所有写作和研究成果都免费发布,这带给我巨大的价值。

现在,我想尝试一种不一样的订阅:你付钱给我,我会少给你发送一些东西。

我会推出一份仅限赞助者的月度邮件,里面都是我精心选择的重点内容,你就不用每天看我的大量更新了。

-- Simon Willison,著名开发者

2、

AI 是比真人更好的老师,但是以后的学校还会需要真人老师,他们的主要职责是看管孩子。

-- 路易斯·冯·安 (Luis von Ahn) ,Duolingo 的首席执行官

3、

把 AI 当作工具,而不是拐杖,那些2019年时被认为有价值的基础工程技能,值得你继续投资。

-- 《不要让 AI 加速我们的无能》

4、

最有害的建议之一就是不要重新发明轮子。

这种建议会导致一种抑制好奇心和探索的氛围。现代生活的很多重要发明,都来自那些不听从这个建议的人们。

重新发明轮子就是一种学习,并且学习过程中,你可能会做出更好的版本。

-- 《重新发明轮子》

往年回顾

技术封建主义(#303)

训练材料用完之日(#253)

英国的名校签证,伯克利的计算机教育(#203)

机器翻译是对译者的侮辱吗?(#153)

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年5月30日

科技爱好者周刊(第 349 期):神经网络算法的发明者

2025-05-23 08:12:32

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

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

封面图

北京的护城河公共绿道,位于鼓楼附近。(via visuals_china@instagram

神经网络算法的发明者

上周的《李飞飞自传》读后感,还有后续。

那篇文章的结尾是,2012年一支加拿大团队使用神经网络算法,夺得了 ImageNet 比赛冠军。

今天就来说说,这支加拿大团队的故事。

大家看了就知道了,神经网络算法是怎么诞生的,背后的推手又是谁。

(1)杰弗里·辛顿(Geoffrey Hinton,1947-)

辛顿出生于英国,后移居加拿大。他是神经网络算法的奠基人和主要发明者。

神经网络的概念,是上世纪40年代后期提出的(提出人不是辛顿)。当时的想法是,既然人类通过神经网络进行思考,那么只要让机器模拟神经网络,机器就能思考了。

但是,那只是一个概念,并没有具体的算法。机器怎么模拟思考,人们并不知道。

1984年,辛顿在加州大学担任博士后,与两个同事一起提出了反向传播算法。

这个算法可以建立多层网络,产生一个输出结果,让神经网络变成了现实,也是后来更高级算法的基础。

由于它需要多层计算,后一层在前一层的结果上学习,所以被称为"深度学习",辛顿因此成为"深度学习之父"。

辛顿后来因为这个贡献,获得了图灵奖(2018年)和诺贝尔物理学奖(2024年)。

(2)杨立昆(1960-)

杨·安德烈·勒坎(Yann André Le Cun,中文名杨立昆)是法国人。上个世纪80年代,他是多伦多大学博士后。

这一时期,辛顿也来到了多伦多大学任教,担任他的指导教师。

所以,杨立昆是辛顿的大弟子,继承和发展了辛顿的算法。他的主要成就是,为神经网络引入了卷积算法,并且做出了第一个有实际用途的神经网络。

1990年代,他用神经网络识别银行支票的手写数字,成功获得了企业的采用。

但是,这个应用也暴露了卷积神经网络的弱点:它需要大量样本的训练,耗费巨大的算力。银行支票只需要识别10个阿拉伯数字,如果是更多样化的场景,当时的计算能力难以做到。

学术界因此认为,卷积神经网络只适用特定的、计算量较小的场景,不具备推广的价值。这导致这种算法,以及辛顿和杨立昆,被冷落了二十年。

这二十年,杨立昆一直混迹于企业实验室和大学教研室。等到世界重新认识卷积神经网络,他在2018年与辛顿一起获得了图灵奖,现在是 Meta 公司的副总裁和 AI 首席科学家。

(3)亚历克斯·克里泽夫斯基(Alex Krizhevsky,1986-)

亚历克斯·克里泽夫斯基是乌克兰人,少年时随家人移民到加拿大。2007年,他进入多伦多大学,成为辛顿的博士生。

这时距离杨立昆提出卷积神经网络,已经过去快20年了。辛顿始终没忘记它,他鼓励亚历克斯和稍后要提到的伊尔亚·苏茨克维,使用这种算法,去挑战李飞飞的 ImageNet。

亚历克斯就写了一个程序,用 ImageNet 的1500万图片,来训练他的卷积神经网络。但是,计算量太大了,他的个人计算机根本跑不动,他就买了两块 Nvidia 显卡,每天24小时一刻不停地运算。

事实证明,卷积神经网络+大训练集+高速计算硬件,超过了其他一切已知的算法。最终,他们的三人团队以巨大优势,夺得了2012年第三届 ImageNet 算法比赛冠军。

这件事轰动了业界,各大互联网公司纷纷邀请辛顿和他的学生加入。百度也伸出橄榄枝,邀请辛顿担任首席科学家,但是最后输给了谷歌。

2013年,谷歌以4400万美元收购了辛顿成立的空壳公司,将辛顿、亚历克斯、伊尔亚三个人一起招入麾下。

2017年,亚历克斯辞职,现在一家创业公司研究 AI 技术。

(4)伊尔亚·苏茨克维(Ilya Sutskever, 1986-)

伊尔亚·苏茨克维出生于前苏联,后去了以色列,然后来到加拿大。他是亚历克斯·克里泽夫斯基在多伦多大学的博士同学,也是辛顿的博士生。

他与亚历克斯组成团队,共同赢得了2012年的 ImageNet 算法比赛。辛顿作为指导老师,也是团队一员。

他在2013年跟随辛顿加入谷歌,2015年辞职,成为 OpenAI 的联合创始人和首席科学家,后来是 ChatGPT 的主要作者之一。2024年,他离开 OpenAI,现在创立了自己的 AI 公司。

(5)安德烈·卡帕斯(Andrej Karpathy,1986-)

安德烈·卡帕斯出生于斯洛伐克,15岁随家人来到加拿大,在多伦多大学读完了本科。

他跟伊尔亚·苏茨克维很可能大学里就认识。但是,他没在多伦多大学读博士,而是去了斯坦福大学,指导老师就是李飞飞。

他的方向也是卷积神经网络,博士期间开设了斯坦福大学第一门深度学习课程,担任主讲。

2015年,他跟随伊尔亚一起加入 OpenAI,成为主要研究人员。

2017年,他离开 OpenAI,去了特斯拉,担任特斯拉 AI 总监,2022年离职。

(6) 总结

上面五人是神经网络算法的主要创立者和推动者。没有他们,就不会有今天的 AI 大模型。

但是,单单靠他们的算法,AI 不会成功。因为算法需要大量的数据进行训练,而训练需要高速计算的硬件。这三者缺一不可。

只有等到2012年,才万事俱备。神经网络算法 + 李飞飞的 ImageNet 训练集 + Nvidia 高速显卡,同时出现了。

历史于是翻开了新的一页,AI 时代正式来临。

科技动态

(1)一家深圳公司推出了,可能最炫酷的树莓派机箱

它自带机箱显示屏、RGB 灯光、风扇、NVMe SSD 扩展板,很适合用作 NAS 和 AI 边缘计算。

(2)芬兰尝试在驯鹿的鹿角,涂上荧光粉。

这是为了方便司机在夜间看到驯鹿,目前每年在芬兰公路上被撞死的驯鹿有4000头。

(3)在线会议软件 Google Meet,推出实时语音翻译,首先提供西班牙语版本。

在线会议时,对方说西班牙语,你听到的却是英语,而且声音、语调和情感‌都不变。

(4)意大利开源硬件公司 Arduino,研发出了可降解 PCB(电路板),减轻对环境的污染。

这种可降解电路板,将电路印刷在植物亚麻材料上,而不是传统的玻璃纤维和树脂。

不过,电路板上的铜无法降解,需要在丢弃电路板之前先回收。

(5)一家美国创业公司,准备发射卫星,将 AI 机房建在太空

它依靠24小时的太阳能供电,也不用担心散热。

该公司希望通过这种方法,解决 AI 服务器的耗电和冷却问题。

文章

1、手机的 Linux 桌面环境(英文)

作者出门不带笔记本,只带手机,再配上蓝牙键盘和 AR 眼镜。

他的安卓手机在获取 root 权限后,通过 chroot 安装了 Linux 发行版,从而可以运行桌面环境。

2、AI 应用的核心逻辑(英文)

作者提出,AI 应用(AI agent)的核心逻辑只需要9行代码。

3、浏览器默认屏蔽的端口(英文)

你可能不知道,浏览器无法打开下面的网址localhost:6000,原因是6000是浏览器默认屏蔽的端口。

4、推荐 RustDesk 远程桌面(英文)

Mac 电脑访问 Windows 电脑,一种方法就是使用远程桌面,作者推荐远程桌面工具 RustDesk。

5、HTML <dialog> 的 CSS 技巧(英文)

HTML 有一个原生的弹窗元素<dialog>,本文介绍两个配套使用的 CSS 技巧。

6、Git 配置详解(英文)

本文详细解释 Git 配置命令 git config 的几个最常见的设置。

工具

1、Pyrefly

Meta 公司发布的 Python 代码的类型检查器,参见介绍文章

2、Zen Browser

新发布的一个开源浏览器,基于 Firefox,国外评价非常高,使用体验好,参见介绍文章

3、xtool

Xcode 的替代品,在 Linux/Win/macOS 开发 iOS 应用。

4、Zero Convert

在线批量转换文件,基于 WebAssembly 技术,完全本地完成,还可以编辑图片。(@xiaoshangmin 投稿)

5、耗子面板

Go 语言开发的服务器管理面板。(@devhaozi 投稿)

6、Goravel

Go 语言的 Web 开发框架,与 PHP 的 Laravel 框架保持一致,方便快速上手。(@devhaozi 投稿)

7、OpenSpeedy

开源的游戏变速工具,通过调整 Windows 系统时间函数来实现游戏速度变化。(@game1024 投稿)

8、SimonAKing-Gallery

后端的 JS 相册应用,瀑布流展示图片,指定图片目录,直接运行即可。(@SimonAKing 投稿)

9、Jwno

网友开源的 Windows 10/11 平铺窗口管理器,键盘驱动。(@agent-kilo 投稿)

10、星河小程序

滴滴公司开源的跨平台开发框架,支持将小程序打包成为安卓、iOS、鸿蒙和 Web 四个平台的原生 App。(@dos1in 投稿)

AI 相关

1、aTrain

一个跨平台、图形界面的自动语音识别工具,基于 Whisper 模型,支持识别50多种语言,参见介绍文章

2、AI Image Editor

在线的免费图像处理工具,提供多种 AI 功能,比如图片增强、去除水印、风格转换等十几种。(@worminone 投稿)

资源

1、万物博物馆

一个跨平台的桌面软件,将维基百科变成一个虚拟博物馆。

每件展品与维基百科的一篇文章相对应,墙上的画框就是文章图片,讲解牌就是文章内容。

走廊则根据文章的链接通向其他展厅,有几乎无限的展厅可以参观。

图片

1、《星球大战》的机器人

《星球大战》的第一部电影,拍摄于1976年,里面有一个机器人 R2-D2,会四处走动,做各种动作,还会说话。

其实,它根本没那么高科技,拍摄的时候,就是里面藏了一个真人演员。

2、冰为什么体积大?

水变成冰以后,体积会增大10%,密度因此小于水,使得冰可以浮在水面上。

那么,冰的体积为什么会增大呢?

答案是冰的分子结构,跟水的分子结构不一样。

上图左侧是液态水的分子结构,右侧是冰的分子结构。其中,白色节点为氢原子,红色节点为氧原子。

可以看到,液态水是紧密聚合的网络结构,冰则是中空的网络结构。也就是说,冰的分子结构不是那么密合,所以体积就变大了。

文摘

1、Slack 公司的 URL

Slack 是一家即时通信的软件公司。它的官网有一个"公司介绍"的页面,通常来说该页面的 URL 会是slack.com/about,但是 Slack 没有采用这种做法。

它将这个页面命名为is,并分拆成若干个子页面。

所以,"公司介绍"页面的 URL 是slack.com/is

子页面的 URL 如下。

  • slack.com/is/team-communication
  • slack.com/is/everything-in-one-place
  • slack.com/is/wherever-you-are

这样的好处是单单看 URL,就知道页面想要传递的信息,URL 本身就是对公司的一种宣传。

这种 is 的巧妙做法,后来被广泛借鉴。碰巧的是,is也正好是一个顶级域名,代表冰岛(iceland)。很多名人就申请了 is 域名,作为个人主页。

比如,艺术家杰西卡·希斯切(Jessica Hische)的个人网站,域名就是jessicahische.is,她介绍自己的页面 URL 就都是jessicahische.is/xxx的形式。

言论

1、

我们很快会跟大家分享一个低调的研究成果。我们会给它起一个比 chatGPT 更好的名字,以防它流行起来。

-- Sam Altman,OpenAI 的 CEO

2、

加尔定律经常被引用:"一个有效的复杂系统,总是从一个有效的简单系统进化而来。"

但是,它的推论很少被引用:"一个从零开始设计的复杂系统永远不会有效,你必须从一个可以运行的简单系统开始。"

-- Stack Staves

3、

宇宙有两种可能:要么我们是孤独的,要么我们并不孤独。这两种可能性都同样令人恐惧。

-- 阿瑟·克拉克,英国著名科幻小说家

4、

太阳绕银河系公转一圈需要2.3亿年,上一圈的时候,地球的主宰还是恐龙。

-- Reddit 网友

5、

我关注了一些教育工作者,他们都报告了同样的现象:他们的学生什么事情都用 ChatGPT,结果什么也没学到。

最终可能会出现这样一代人,自己的智力很低下,完全依赖于他们不理解的技术,一旦技术崩溃,他们永远无法从头开始重建。

-- 尼尔·斯蒂芬森(Neal Stephenson),美国科幻小说家,"元宇宙"一词的创造者

往年回顾

创业虽然好,不敢推荐了(#302)

互联网创业变难了(#252)

三个有启发的学习方法(#202)

从北大到技校(#152)

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年5月23日

科技爱好者周刊(第 348 期):李飞飞,从移民到 AI 明星

2025-05-16 08:05:44

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

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

封面图

5月1日,宇宙飞船造型的深圳科技馆新馆开馆,上图是设计团队在新馆前合影。(via

李飞飞,从移民到 AI 明星

大家知道李飞飞吧,AI 的明星教授。

她在斯坦福大学任教,是美国国家工程院等三院院士,担任过斯坦福 AI 实验室主任,以及谷歌云 AI 首席科学家。

她1976年出生于北京,在成都长大,16岁全家移民美国。

我一直好奇,她怎么走上 AI 这条路,从移民变成学术明星?

这几天,我读完她的自传《我看见的世界》(中信出版集团,2024),才发现她的人生很有戏剧性,每当重要关头,都有幸运的事情发生

(1)高中阶段

她出生于一个普通家庭,中学阶段并无过人之处。

我们家位于成都当时的外环路旁边,小区由三栋一模一样的塔楼组成,我家住在四楼。这个环路是不断扩张的城市边缘,一侧是工厂,另一侧是农田。

我进入了一所吸引全市优秀学生的中学。在那几年里,对女孩的预设和偏见让我越来越不耐烦,这种情绪已经超出了课业的范围。在同龄人中,我已经有"假小子"的称号。

1992年,移民美国后,她家的生活顿时变得困难。一家三口挤在新泽西乡下一间一居室公寓,她睡客厅,床就放在餐桌旁边。

父亲在一家华人商店修理旧相机,后来被辞退,从此失业。母亲做杂货店营业员,后因风湿性心脏病,回家休养。李飞飞下课后,就要去打工,有时在中餐馆端盘子12个小时,每小时2美元。

最后,实在走投无路,她们家决定买下社区的一家干洗店,靠洗衣为生。买下干洗店需要10万美元,全家仅有2万美元储蓄,其余8万美元都是借的。

(2)大学阶段

1997年,李飞飞中学毕业,要申请大学了。

一开始,我的目标大学主要是州立大学和社区大学,而不是常春藤学校。但我一直对一所顶级高校念念不忘,那就是普林斯顿大学。

我们是一个靠从车库市场淘来的旧货才能勉强度日的家庭,连我用的计算器都是坏的,我们怎么可能负担得起常春藤学校的学费呢?

尽管如此,我还是无法抑制内心的冲动,提交了申请。就算只是象征性地申请一下,我也感觉具有特殊意义。

她申请了普林斯顿大学,结果好梦成真,普林斯顿给了全额奖学金。

如果没有全奖,以她家的经济状况,负担不了学费。如果不去普林斯顿大学,她就不太可能走上学术道路了,更不要说后面的成就了。

(3)博士阶段

大学毕业后,李飞飞原想去华尔街工作,解决家庭的经济问题。

母亲鼓励她,继续追求自己的梦想。于是,她选择去加州理工学院读研究生,方向是视觉识别机制。

2004年,李飞飞为了写博士论文,需要图片材料,来训练算法。她找了9000张图片,组成了一个图片集,手工对每张图片进行分类标注,一共分成101类。

这个图片集叫做 Caltech 101,算法经过训练,就能从新图片识别出这101类物品。她因此顺利拿到了博士学位。

(4)助教阶段

博士毕业后,李飞飞先去伊利诺伊大学,后去普林斯顿大学,都是担任计算机科学的助教。

她继续探索视觉识别,想找到一种通用算法,能够识别所有种类的物品,而不是 Caltech 101 那样,只能识别出101类物品。

这意味着她需要一个超大的图片训练集,能够包含了世界上所有物品。这可太难了,所有人都反对这件事。

我们都是年轻的助理教授,所处的院系竞争激烈,在事业起步的那几年里,我们都面临着"要么发表论文,要么完蛋走人"的局面。压力之下,我们必须马不停蹄、保质保量地完成工作,因为我们知道,稍有懈怠就可能与终身教授的职位说再见,一同失去的还有获得稳定生计的最佳机会。

我听到的劝阻之声已经多得够我用一辈子了(可能下辈子也够了).

有上万个类别的数据集有什么用?大部分模型连一两个类别都识别不准!

你知道用这么多图像训练一个模型要花多长时间吗?这个时间可是用"年"来计算的。

别人要怎么下载呢?你这个图像总量比大多数硬盘的存储量还要大。

具体怎么做,你有计划了吗?几百万张图谁来做标注?要花多长时间?怎么验证所有内容的准确性呢?

(5)ImageNet

李飞飞坚持要做,这个通用图片集起名为 ImageNet。那时是2006年。

她想到一个思路,英语词典有一些基本名词,用来解释其他所有物品。只要统计一下,基本名词有多少个,每一个又有多少变体,那就得到了所有物品的基本类别。

统计结果是3万类。因此,李飞飞估计,ImageNet 将有3万个类别,总共包含2000万张图片,每张图片都要有分类和标注,需要从几亿张图片里面筛选出来。

我们发出了邮件,招募愿意帮忙从网上下载和标注图片的本科生,工作时间灵活,每小时10美元。我们招募到一些学生,但是按照这样的进度,完成整个项目需要19年。

这太慢了,项目方法做了改进,用脚本自动去谷歌搜索图片,然后抓取。但是这样也需要人工核对和筛选,只把19年的时间缩短到18年。

幸运的是,亚马逊刚刚发布了众包平台"土耳其机器人"(Amazon Mechanical Turk,AMT)。在这个平台上,你可以出钱,通过互联网,把任务分包给世界各地接活的人。

他们通过这个平台,将 ImageNet 分包出去,投入的人数一下子扩展到几千人,而人均费用只是原来的几十分之一。

2009年6月,ImageNet 的初始版本终于完成了。我们成功达成了目标:收集了1500万张图片,涵盖了2.2万个不同类别。这些图片筛选自近10亿张候选图片,并由来自167个国家的4.8万多名全球贡献者进行了标注。

(6)ILSVRC 算法竞赛

ImageNet 虽然完成了,但在学术界毫无反响,没有太多人关注。

我们遇到了第一个也是最严重的挫折:在当年的"计算机视觉与模式识别大会"上,ImageNet 被降级为"海报展示"。

所谓的"海报展示"是一个学术术语,意味着我们将不能在演讲厅内向听众展示我们的工作,只能在会场的指定区域里摆放一幅印有项目摘要的大幅海报,希望能引起路人的兴趣。

我想过 ImageNet 可能被证明是对的,也可能被证明是错的,对于这两种可能性,我都做好了准备。无论是哪种结果,都会是一个学习的机会。然而,我万万没想到,它被忽视了。

由于 ImageNet 得不到承认,李飞飞想到一个办法,她要每年举行一次算法比赛,看看哪种算法识别 ImageNet 图片集的正确率最高。

这样一来,在计算机视觉领域,ImageNet 就会成为一个比较基准,各种算法都需要用它表示自己的识别能力,大家就不会忽视它了。这个比赛叫做 ILSVRC(ImageNet 大型视觉识别挑战赛,ImageNet Large Scale Visual Recognition Challenge)。

2010年,第一届比赛令人失望,11个团队提交了35个参赛算法。冠军算法是传统的图片向量比较,并无创新之处,正确率也不高。

2011年,第二届比赛更惨,获胜算法还是图片向量比较,正确率只提高了2个百分点。这意味着,没有任何创新和进展。

最糟糕的是,参赛人数也出现急剧下降,参赛算法从35个减少到15个,愿意为此付出努力的人似乎越来越少。

说这种经历"让人羞愧"已经远远不足以描述我们的心情了。为了推动 ImageNet 的发展,我们倾注了多年的心血,搜集的图片数量远远超过以往的任何数据集,还精心策划了一场国际竞赛来探索它的能力,但结果却只是简单地重复了现状。如果说ImageNet 是一场赌注,是时候开始思考我们是不是已经输了。

眼看这个项目就要失败了,几年的心血付之东流。就在这个时候,李飞飞人生最大的惊喜和反转来临了。

2012年,第三届比赛,一个加拿大团队使用被学术界遗忘已久的卷积神经网络,一举将图片识别正确率提高了10%。

接下来的事情,就是被写进教科书的历史了。全世界被神经网络的效果轰动了,AI 研究出现突破,人类进入 AI 时代。

李飞飞彻底翻身,一举成名,从助教变成世界知名的 AI 研究领头人物,人生从此海阔天空。

她的故事令人感叹,如果神经网络算法没有在2012年出现,而是再晚几年,或者更早一点,亚马逊的土耳其机器人众包平台没有在2005年诞生,一切会怎样?

这就是时运吧。科学家的人生和科学发现一样,都是由一些偶然事件推动的。个人奋斗固然重要,但是关键时刻还是离不开幸运。

科技动态

(1)传统的脑电图,需要在头上布满电极(下图),有很多限制,也不舒适。

美国宾州大学的科学家,发明了一种头发电极,细得像头发一样,可以直接粘在皮肤上,淋浴和运动也不会掉下。

这种电极目前还是有线的,但是有计划开发无线版本。

(2)百度地图在导航路面植入广告。

(3)谷歌的 AI 笔记应用 NotebookLM,可能很快就会添加"视频概览"功能。

它已经支持生成音频和 AI 问答,如果再支持生成视频,简直难以想象,是否还需要真人老师。

直接上传课本,它就生成讲课视频了。

(4)安卓官方的桌面模式,泄露了运行照片。下图是它的多窗口模式。

但是 Android 16 可能来不及,发布要等到 Android 17。

手机当作桌面电脑,已经不远了。

(5)百度公布"动物语言转换方法、装置、电子设备及存储介质"专利,使用 AI 识别动物的情感状态,转换为人类能够理解的语言,从而实现动物与人类之间的情感交流和理解。

文章

1、一段让 Chromium 机器人崩溃的代码(英文)

作者介绍了一段 JS 代码,让Chromium 无头浏览器(Puppeteer 和 Playwright)崩溃。它可以用来识别,访问者是不是机器人。

2、Git worktree 简介(英文)

Git 仓库同时只能有一个工作区,如果想同时建立多个工作区,可以使用 git worktree 命令。

3、用 Go 移植 TypeScript 的重要影响(中文)

微软官方要用 Go 语言重写 TypeScript 项目,本文分析这样做的目的和影响。(@imbant 投稿)

4、为什么大模型可以控制手机(中文)

开源项目 droidrun 可以通过大模型,以自然语言操作安卓手机的 APP。本文分析它是如何做到的。(@lezhi12 投稿)

5、创业公司可能无法承受微服务(英文)

本文提出,微服务需要很强的运维能力,并会增加代码复杂性,创业公司不要盲目采用,单体应用更简单。

6、从 Prettier 和 ESLint 迁移到 BiomeJS(英文)

BiomeJS 是用 Rust 语言写的工具,对 JS 代码进行格式化和语法检查,速度极快,可以取代 Prettier 和 ESLint。

7、如何自己托管 Obsidian(英文)

Obsidian 是一个优秀的笔记软件,作者给出详细步骤,自己托管 Obsidian 服务器,从而在任何地方都可以通过浏览器使用。

工具

1、Void

开源的 AI 代码编辑器,Cursor 的替代品,基于 VS Code。

2、Hyvector

在线的矢量图(SVG 文件)编辑工具。

3、Karakeep

一个自搭建的书签 App,提供全文搜索和 AI 自动分类标签,参见介绍文章

4、PairDrop

局域网传输文件的 Web 应用,代码开源,类似于 ShareDropLocalSend

5、zVault

NAS 操作系统 TrueNAS 原本基于 FreeBSD,正在转向 Linux。zVault 是一个社区的分支,由社区推动继续在 FreeBSD 开发。

6、YAMLResume

使用 YAML 格式创建简历,并通过 LaTeX 输出 PDF,方便进行版本管理。(@xiaohanyu 投稿)

7、AllinSSL

开源的 SSL 证书自动化管理平台,集证书申请、管理、部署和监控于一体。(@KincaidYang 投稿)

8、Basecoat

一套基于 Shadcn UI 的组件库,但是不使用 React。

9、Scraperr

网络爬虫的 Web 控制台。

AI 相关

1、MathModelAgent

开源的 AI 应用,自动完成数学建模,生成一份完整的论文。(@jihe520 投稿)

2、BiliFilter

基于本地大模型的 Bilibili 弹幕过滤器,对弹幕分类过滤。(@ddddng 投稿)

3、AI 语音克隆

免费的语音克隆工具,3 秒录音克隆人声。(@xiaodaidai0701 投稿)

资源

1、I Don't Have Spotify

一个音乐搜索引擎,输入 Spotify、YouTube、Apple、SoundCloud 的音乐链接,它会提供该音乐在其他网站的链接。

2、IPinfo Lite

地理位置数据库 IPinfo 推出的免费服务,IP 查询地理位置,无需信用卡,API 请求次数不受限制。

1、Web Component 教程

英文的 Web Component 入门教程。

图片

1、数字键盘的样式

数字键盘来源于电话。

早期的电话都采用旋转的拨号盘。20世纪50年代,电话可以长途直拨了,拨打长途电话需要输入11个号码,拨号盘就太麻烦了,导致了数字键盘的诞生。

1955年,AT&T 公司的研究人员,做过一个研究,10个数字的小键盘应该怎样排列,效率最高?

他们一共列出了15种排列。

经过研究和比较,用户更喜欢从左到右、从上到下的布局。

具体来说,两排五列水平布局与现在普遍使用的 3x3+1 布局速度相当,差异很小。

AT&T 公司最终为电话选择了 3x3+1 布局,主要原因大概是它比较紧凑。

文摘

1、我第一次加入创业公司的教训

一位开发者大学毕业后,加入了一家创业公司。

他逐渐发现,公司内部有很多矛盾,产品决策也有失误。

最终,公司开始走下坡路,他就提交了辞呈,放弃了自己的期权。

离职后,他写了一篇文章,总结了自己得到的教训。

(1)即使创业公司的每个员工都很有动力,但如果创始人并非顶尖人才,那么取得巨大成功的机会很低(但你仍然可以从中学到很多东西)。

(2)创业公司只有两种工作:开发和销售。如果创始人既不做开发,也不做销售,不知道他在做什么,那就相信你的直觉吧。

(3)创业公司的产品还未得到市场验证的情况下,为多个平台构建原生应用,是一种极其低效的行为。如果同时为两个产品在每个平台开发两个原生应用,简直是疯了。

(4)创业公司的路演,大多是浪费时间。产品的验证来自于与用户交流和迭代,而不是打动评委。

(5)没有什么比并肩作战、共同实现梦想更神奇的了。如果你经常见不到创始人,所有的沟通都只能通过远程进行,那可不是好兆头。

(6)如果创业公司没有经过严格的面试,就录用了你,这是一个危险信号。他们到底是基于能力来录用你,还是因为你是第一个同意只收很少的报酬,就为他们工作的工程师?

言论

1、

科学项目日益大型化和制度化,使得个人的好奇心和创新,对于科学的推动正在减弱。科学的进步越来越依靠有效的组织和大量的投入。

-- 《思想家和实干家》

2、

除非你参与过历史遗留项目,否则你不能自称高级工程师。

-- infobip.com

3、

是什么让硅谷的公司如此强大?

不仅仅是它们数十亿美元的资金或数十亿用户,也不仅仅是因为它们拥有惊人计算能力和数据储备,让学术实验室的资源相形见绌。它们之所以强大,是因为成千上万个才华横溢的人在同一个屋檐下共同努力。

-- 《李飞飞自传》

4、

以前的小团队是1名高级开发人员 + 5名初级开发人员,以后是1名高级开发人员 + AI 大模型。

-- Hacker News 读者

5、

我打赌,以后的工程师必须深入底层,更接近硅片的层面。开发应用程序将不再需要精通技术的人,AI 让每个人都可以开发自己的应用程序。

-- Hacker News 读者

往年回顾

OpenAI 的图书馆工位(#301)

国产单板机值得推荐(#251)

中国需要成立半导体部(#201)

NFT 是什么,听说能赚钱(#151)

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年5月16日