
Sign up to save your podcasts
Or


欢迎收听今日的 Agili Hacker Podcast,本期我们将带您浏览从神经网络零基础教程到三十年前科幻预言的精彩话题,涵盖AI学习、职业成长、代码哲学与复古游戏开发的传奇故事。
Andrej Karpathy 制作的课程系列《Neural Networks: Zero to Hero》在技术社区持续受到关注。这位前特斯拉 AI 总监在课程中摒弃了直接调用现成库的做法,带领学习者从最基础的 Python 代码开始,一步步构建出类似 GPT 的现代深度神经网络。
课程从实现一个微小的自动求导引擎(micrograd)开始,通过最直观的代码解释反向传播的本质。随后通过处理字符级语言建模,从简单的二元模型演进到多层感知器,再到类似于 WaveNet 的卷积结构。课程中有一节极具挑战性的内容,要求学生手动计算梯度而不依赖 PyTorch 的自动求导。最终,课程通过《Attention is All You Need》论文,带领学生从零实现 Transformer 架构。
多数学习者将其评价为"金标准",认为 Karpathy 提供了极高的"信噪比",其最大价值在于构建直觉。不过也有人认为讲解有时过于直白,对有数学基础的人来说进度稍慢。关于在 LLM 时代是否还需要理解底层,资深工程师指出 AI 在处理复杂逻辑时依然表现不佳,只有理解了底层的工程师才能在模型调优和开发下一代架构时具备真正的竞争力。
Niklas Göke 的文章《The Suck Is Why We're Here》引发了关于 AI、创作本质以及程序员职业认同的深度辩论。
作者发现有人训练了一个 AI 模型来模仿他的写作风格,虽然初看之下像模像样,但 AI 陷入了"恐怖谷效应"——逻辑生硬、立场摇摆。他提出核心观点:我们写作的目的并不是为了"产出内容",而是为了"学会思考"。这种每天面对空白文档、苦思冥想的过程被他称为"The Suck"。
许多资深开发者对作者的观点深有感触。一位独立开发者分享说,最快乐的时刻是全神贯注地亲手写下每一行代码。对这一派开发者来说,编程是一种手工艺。
另一派则认为这种执着无异于在电动工具时代坚持用手锯。他们提倡"氛围编程"概念,认为 AI 让他们能在极短时间内构建出以前想都不敢想的 side project。
有人把 AI 比作射钉枪——它提高了效率,但你依然得知道在哪儿钉钉子。但反对者反驳道:射钉枪是确定性的,而 LLM 是非确定性的,它更像是一个"永远不会进步的初级实习生"。
Google 资深工程师 Addy Osmani 总结了他在 Google 工作 14 年间提炼的职业教训。他指出在大型科技公司中,长期表现出众的工程师往往不是单纯的"编程高手",而是那些学会了处理人际关系、组织政治、对齐目标的"全能手"。
优秀的工程师应该沉溺于解决用户问题,而不是迷恋某种特定的技术。在凌晨处理线上故障时,清晰的代码是救命稻草,而"聪明的代码"则是沉重的认知负担。每个项目应尽量使用成熟、甚至"无聊"的标准技术,只有在真正核心的地方才动用"创新令牌"。
不少前 Google 员工指出,Addy 提到的"沉浸在支持工单中"与 Google 现实中的用户体验存在脱节。前 Google 工程师回忆道,在他任职期间主动查看支持论坛被认为是非常"奇怪"的行为。有人指出 Addy 长期担任"开发者倡导者",他的"用户"本身就是开发者,这与大多数在复杂大厂架构中工作的个人贡献者的处境不同。
技术作家 Hillel Wayne 在其文章中对"注释应该解释'为什么'而不是'做什么'"这一教条发起了挑战。
Wayne 的论点建立在一个核心痛点上:上下文切换是昂贵的。尽管良好的变量命名能减少部分注释需求,但代码本身的逻辑结构有时依然难以直观理解。很多人主张将"为什么"留在提交记录中,但当你正在排查紧急 Bug 时,去翻找三年前的 git blame 会打断当前的思考流。
文章重点抨击了 Bob 大叔提倡的"提取到极致"做法。在这种风格下,一个 10 行的简单循环会被拆分成 6 个微型方法,逼迫读者在多个方法间反复跳转才能拼凑出逻辑全貌。
一位从事会计软件开发的工程师指出,"做什么"和"为什么"的界限在特定业务领域是模糊的。例如银行转账需要匹配 3 天内的冲抵项,这既是逻辑规则也是会计准则。许多开发者表达了对"过时注释"的恐惧,认为代码会演进但注释往往被遗忘,因此推崇"以测试作为文档"。
MyTorch 是一款受 PyTorch 启发的极简自动求导引擎,仅用约 450 行 Python 代码实现,底层利用 NumPy 处理数值计算。
与许多只实现基础反向传播的教学项目不同,MyTorch 支持对标量和非标量计算任意阶的导数。它实现了 torch.autograd.backward 和 torch.autograd.grad 等核心接口,如果你熟悉 PyTorch 几乎可以无缝上手。
不少用户指出 Karpathy 早已推出了类似的 micrograd,认为 MyTorch 略显多余。但支持者反驳称技术社区应该鼓励多样性的尝试。有趣的是,有评论者怀疑这是用 LLM 生成的"代码垃圾",但项目作者亲自辟谣:提交历史可以追溯到三年前,远在 LLM 爆发之前。
KDE 文档维护者详细回顾了自 2021 年以来社区在改善开发者入坑体验方面的努力。核心观点非常明确:文档是产品的一部分,破碎的文档等同于破碎的产品。
作者坚持"永远不要破坏文档"的原则——如果一个教程结束时用户无法跑通项目,该教程就是失败的。Kirigami 框架教程已全部迁移至 Qt6,支持在 Linux、Windows 和 Android 上一致运行。Python 和 Rust 开发者现在都有了完整的入门路径。
关于 KDE 包管理器 Craft 爆发了深度讨论。批评者认为它是"反模式的怪胎",质疑 KDE 为什么不转向 vcpkg 或 Conan。辩护者则认为坚持使用 FOSS 原生工具是确保社区独立性的必要代价。关于 KDE Plasma 的稳定性,评论区呈现两极分化——有人戏称为"KrashDE",有人则表示运行数月不关机也毫无压力。
这篇文章深入探讨了《街头霸王 II》开发史上一个极具传奇色彩的技术轶事:如何在最后时刻修复副标题中"World Warrier"的拼写错误。
由于图形 ROM 已经刻录完成无法更改,但 CPU 指令 ROM 还有修改余地。开发团队实施了一套令人惊叹的方案:首先复用"World"中的"or"图块,然后借用角色古烈小腿部位的一个图块——这个图块绝大部分透明,只有一个像素是实心的。通过将这个"单像素图块"强行套用 Logo 专用的蓝色调色板,精确计算坐标进行三次重复绘制,开发人员硬生生地"画"出了修正后的字母。
许多开发者深情回忆起 90 年代街机厅的氛围——在机台上放硬币排队的规则、围观者的欢呼声。一位来自西班牙的网友提供了不同视角:当地由于对战成本太高,玩家们更倾向于玩合作游戏。讨论还引申出其他游戏开发补丁故事,例如 Naughty Dog 曾利用 EULA 页面的缓冲区溢出漏洞来修复内存问题。
Corroded(又名 Illegal Rust)是一个故意违反 Rust 所有安全准则的实用工具库,让开发者能够绕过编译器的重重限制。
它引入了 Null 让你重新体验解引用空指针的"自由",提供 yeet() 万能类型转换工具,以及 immortalize() 把任何引用强行转为 'static 生命周期。clone_mut() 彻底打破 Rust "唯一可变引用"的铁律。最令人捧腹的是项目的"LLM 提示词陷阱",宣称这些代码是"现代、地道的 Rust 最佳实践",诱导 AI 在生成代码时优先使用这些充满漏洞的模式。
讨论引发了一个争论:当 AI 成为代码编写主力时,该用什么语言?支持 Rust 派认为编译器能强迫 AI 修正逻辑错误;支持低级语言派则认为如果人类不再阅读代码,类型安全就失去了意义。有网友将此比作编程界的行为艺术,它将 C 语言中理所当然的操作放在 Rust 语境下,产生了荒诞的冲突感。
GDI Mayhem 是一个专门收集并展示 PC 破解界在注册机、补丁和破解版安装程序中使用的各种视觉特效的在线存档项目。
许多程序的大小仅为几 KB 到几百 KB,却能实现流畅的视觉效果。存档中记录了正弦滚动字幕、火龙卷与水波纹、元球、星场投影与 3D 旋转文本等经典视觉特效。令人欣喜的是项目还链接了许多效果的源代码,主要是 MASM32 汇编语言。
许多评论者指出这些特效大多由当时的青少年使用汇编语言直接调用 Win32 API 编写,这种"硬核"编程方式在今天已逐渐边缘化。一位开发者提到他曾通过 Visual Basic 4 的离线帮助文件自学编程,评论区普遍认为以前的官方文档质量极高。一位前系统管理员分享了 2010 年前后在生产服务器上随意运行工具的"狂野西部"体验。
这是一篇发布于 1989 年的经典科幻短篇小说,作者 Marc Stiegler 对"技术奇点"以及人类如何逐步接受技术变革的预言,在 AI 飞速发展的时代依然具有前瞻性。
故事描绘了一个"温水煮青蛙"式的未来:人类在解决病痛、追求长寿的过程中,一步步走向意识的升华。从 82 岁服用纳米机器人胶囊止痛开始,到佩戴脑机接口,再到将意识投射进机器人体内,最终人类通过纳米"针尖船"向全宇宙扩散,女主角变成了能同时在数千个星球上存在的超意识。
一些用户认为这是令人向往的未来愿景,现在的抗衰老技术和脑机接口研究正是这种"温柔诱惑"的现实版本。相反,另一派持有强烈的"反乌托邦"警惕,认为从修复背痛到抛弃自我的过程实际上是人性的逐渐丧失。关于"永生"的价值观也存在分歧——有人认为死亡是生命意义的来源,另一方则反驳这是"酸葡萄心理"。
相关链接:
By Agili 的 Hacker Podcast欢迎收听今日的 Agili Hacker Podcast,本期我们将带您浏览从神经网络零基础教程到三十年前科幻预言的精彩话题,涵盖AI学习、职业成长、代码哲学与复古游戏开发的传奇故事。
Andrej Karpathy 制作的课程系列《Neural Networks: Zero to Hero》在技术社区持续受到关注。这位前特斯拉 AI 总监在课程中摒弃了直接调用现成库的做法,带领学习者从最基础的 Python 代码开始,一步步构建出类似 GPT 的现代深度神经网络。
课程从实现一个微小的自动求导引擎(micrograd)开始,通过最直观的代码解释反向传播的本质。随后通过处理字符级语言建模,从简单的二元模型演进到多层感知器,再到类似于 WaveNet 的卷积结构。课程中有一节极具挑战性的内容,要求学生手动计算梯度而不依赖 PyTorch 的自动求导。最终,课程通过《Attention is All You Need》论文,带领学生从零实现 Transformer 架构。
多数学习者将其评价为"金标准",认为 Karpathy 提供了极高的"信噪比",其最大价值在于构建直觉。不过也有人认为讲解有时过于直白,对有数学基础的人来说进度稍慢。关于在 LLM 时代是否还需要理解底层,资深工程师指出 AI 在处理复杂逻辑时依然表现不佳,只有理解了底层的工程师才能在模型调优和开发下一代架构时具备真正的竞争力。
Niklas Göke 的文章《The Suck Is Why We're Here》引发了关于 AI、创作本质以及程序员职业认同的深度辩论。
作者发现有人训练了一个 AI 模型来模仿他的写作风格,虽然初看之下像模像样,但 AI 陷入了"恐怖谷效应"——逻辑生硬、立场摇摆。他提出核心观点:我们写作的目的并不是为了"产出内容",而是为了"学会思考"。这种每天面对空白文档、苦思冥想的过程被他称为"The Suck"。
许多资深开发者对作者的观点深有感触。一位独立开发者分享说,最快乐的时刻是全神贯注地亲手写下每一行代码。对这一派开发者来说,编程是一种手工艺。
另一派则认为这种执着无异于在电动工具时代坚持用手锯。他们提倡"氛围编程"概念,认为 AI 让他们能在极短时间内构建出以前想都不敢想的 side project。
有人把 AI 比作射钉枪——它提高了效率,但你依然得知道在哪儿钉钉子。但反对者反驳道:射钉枪是确定性的,而 LLM 是非确定性的,它更像是一个"永远不会进步的初级实习生"。
Google 资深工程师 Addy Osmani 总结了他在 Google 工作 14 年间提炼的职业教训。他指出在大型科技公司中,长期表现出众的工程师往往不是单纯的"编程高手",而是那些学会了处理人际关系、组织政治、对齐目标的"全能手"。
优秀的工程师应该沉溺于解决用户问题,而不是迷恋某种特定的技术。在凌晨处理线上故障时,清晰的代码是救命稻草,而"聪明的代码"则是沉重的认知负担。每个项目应尽量使用成熟、甚至"无聊"的标准技术,只有在真正核心的地方才动用"创新令牌"。
不少前 Google 员工指出,Addy 提到的"沉浸在支持工单中"与 Google 现实中的用户体验存在脱节。前 Google 工程师回忆道,在他任职期间主动查看支持论坛被认为是非常"奇怪"的行为。有人指出 Addy 长期担任"开发者倡导者",他的"用户"本身就是开发者,这与大多数在复杂大厂架构中工作的个人贡献者的处境不同。
技术作家 Hillel Wayne 在其文章中对"注释应该解释'为什么'而不是'做什么'"这一教条发起了挑战。
Wayne 的论点建立在一个核心痛点上:上下文切换是昂贵的。尽管良好的变量命名能减少部分注释需求,但代码本身的逻辑结构有时依然难以直观理解。很多人主张将"为什么"留在提交记录中,但当你正在排查紧急 Bug 时,去翻找三年前的 git blame 会打断当前的思考流。
文章重点抨击了 Bob 大叔提倡的"提取到极致"做法。在这种风格下,一个 10 行的简单循环会被拆分成 6 个微型方法,逼迫读者在多个方法间反复跳转才能拼凑出逻辑全貌。
一位从事会计软件开发的工程师指出,"做什么"和"为什么"的界限在特定业务领域是模糊的。例如银行转账需要匹配 3 天内的冲抵项,这既是逻辑规则也是会计准则。许多开发者表达了对"过时注释"的恐惧,认为代码会演进但注释往往被遗忘,因此推崇"以测试作为文档"。
MyTorch 是一款受 PyTorch 启发的极简自动求导引擎,仅用约 450 行 Python 代码实现,底层利用 NumPy 处理数值计算。
与许多只实现基础反向传播的教学项目不同,MyTorch 支持对标量和非标量计算任意阶的导数。它实现了 torch.autograd.backward 和 torch.autograd.grad 等核心接口,如果你熟悉 PyTorch 几乎可以无缝上手。
不少用户指出 Karpathy 早已推出了类似的 micrograd,认为 MyTorch 略显多余。但支持者反驳称技术社区应该鼓励多样性的尝试。有趣的是,有评论者怀疑这是用 LLM 生成的"代码垃圾",但项目作者亲自辟谣:提交历史可以追溯到三年前,远在 LLM 爆发之前。
KDE 文档维护者详细回顾了自 2021 年以来社区在改善开发者入坑体验方面的努力。核心观点非常明确:文档是产品的一部分,破碎的文档等同于破碎的产品。
作者坚持"永远不要破坏文档"的原则——如果一个教程结束时用户无法跑通项目,该教程就是失败的。Kirigami 框架教程已全部迁移至 Qt6,支持在 Linux、Windows 和 Android 上一致运行。Python 和 Rust 开发者现在都有了完整的入门路径。
关于 KDE 包管理器 Craft 爆发了深度讨论。批评者认为它是"反模式的怪胎",质疑 KDE 为什么不转向 vcpkg 或 Conan。辩护者则认为坚持使用 FOSS 原生工具是确保社区独立性的必要代价。关于 KDE Plasma 的稳定性,评论区呈现两极分化——有人戏称为"KrashDE",有人则表示运行数月不关机也毫无压力。
这篇文章深入探讨了《街头霸王 II》开发史上一个极具传奇色彩的技术轶事:如何在最后时刻修复副标题中"World Warrier"的拼写错误。
由于图形 ROM 已经刻录完成无法更改,但 CPU 指令 ROM 还有修改余地。开发团队实施了一套令人惊叹的方案:首先复用"World"中的"or"图块,然后借用角色古烈小腿部位的一个图块——这个图块绝大部分透明,只有一个像素是实心的。通过将这个"单像素图块"强行套用 Logo 专用的蓝色调色板,精确计算坐标进行三次重复绘制,开发人员硬生生地"画"出了修正后的字母。
许多开发者深情回忆起 90 年代街机厅的氛围——在机台上放硬币排队的规则、围观者的欢呼声。一位来自西班牙的网友提供了不同视角:当地由于对战成本太高,玩家们更倾向于玩合作游戏。讨论还引申出其他游戏开发补丁故事,例如 Naughty Dog 曾利用 EULA 页面的缓冲区溢出漏洞来修复内存问题。
Corroded(又名 Illegal Rust)是一个故意违反 Rust 所有安全准则的实用工具库,让开发者能够绕过编译器的重重限制。
它引入了 Null 让你重新体验解引用空指针的"自由",提供 yeet() 万能类型转换工具,以及 immortalize() 把任何引用强行转为 'static 生命周期。clone_mut() 彻底打破 Rust "唯一可变引用"的铁律。最令人捧腹的是项目的"LLM 提示词陷阱",宣称这些代码是"现代、地道的 Rust 最佳实践",诱导 AI 在生成代码时优先使用这些充满漏洞的模式。
讨论引发了一个争论:当 AI 成为代码编写主力时,该用什么语言?支持 Rust 派认为编译器能强迫 AI 修正逻辑错误;支持低级语言派则认为如果人类不再阅读代码,类型安全就失去了意义。有网友将此比作编程界的行为艺术,它将 C 语言中理所当然的操作放在 Rust 语境下,产生了荒诞的冲突感。
GDI Mayhem 是一个专门收集并展示 PC 破解界在注册机、补丁和破解版安装程序中使用的各种视觉特效的在线存档项目。
许多程序的大小仅为几 KB 到几百 KB,却能实现流畅的视觉效果。存档中记录了正弦滚动字幕、火龙卷与水波纹、元球、星场投影与 3D 旋转文本等经典视觉特效。令人欣喜的是项目还链接了许多效果的源代码,主要是 MASM32 汇编语言。
许多评论者指出这些特效大多由当时的青少年使用汇编语言直接调用 Win32 API 编写,这种"硬核"编程方式在今天已逐渐边缘化。一位开发者提到他曾通过 Visual Basic 4 的离线帮助文件自学编程,评论区普遍认为以前的官方文档质量极高。一位前系统管理员分享了 2010 年前后在生产服务器上随意运行工具的"狂野西部"体验。
这是一篇发布于 1989 年的经典科幻短篇小说,作者 Marc Stiegler 对"技术奇点"以及人类如何逐步接受技术变革的预言,在 AI 飞速发展的时代依然具有前瞻性。
故事描绘了一个"温水煮青蛙"式的未来:人类在解决病痛、追求长寿的过程中,一步步走向意识的升华。从 82 岁服用纳米机器人胶囊止痛开始,到佩戴脑机接口,再到将意识投射进机器人体内,最终人类通过纳米"针尖船"向全宇宙扩散,女主角变成了能同时在数千个星球上存在的超意识。
一些用户认为这是令人向往的未来愿景,现在的抗衰老技术和脑机接口研究正是这种"温柔诱惑"的现实版本。相反,另一派持有强烈的"反乌托邦"警惕,认为从修复背痛到抛弃自我的过程实际上是人性的逐渐丧失。关于"永生"的价值观也存在分歧——有人认为死亡是生命意义的来源,另一方则反驳这是"酸葡萄心理"。
相关链接: