欢迎来到 Agili 的 Hacker Podcast。今天我们将探讨开发者如何在受限环境中突破边界——从用 BASIC 手写编辑器到测试大模型构建软件的极限,以及火人节的生存规则与 RSS 流量的复兴。
SQLite 成为美国国会图书馆推荐存储格式
档案保存标准
美国国会图书馆(LoC)将 SQLite 列为数据集推荐存储格式。与同为推荐格式的 CSV 相比,档案工作者青睐 SQLite 原生保留数据关联关系的能力。公开且稳定的规范使其能够应对未来 300 至 500 年的长期存储挑战。
生产环境表现
SQLite 在实际应用中展现出高可靠性。在面临断电损坏风险的 exFAT 文件系统上,开发者利用其 ACID 特性确保了数据安全。在现代 NVMe 硬盘上开启 WAL 模式,SQLite 每秒可完成数千次写入,批量写入模式下甚至能达到每秒 18 万次。
企业与 Web 应用的阻力
部分企业数据库管理员禁止使用 SQLite,理由是其单文件形式在涉及敏感信息时容易被轻易复制,存在合规风险。开发者反驳称,同样的逻辑适用于被广泛滥用且更易损坏的 Excel。在 Web 领域,标准 SQLite WASM 库体积高达 1.2MB,追求加载速度的渐进式 Web 应用开发者开始转向解码器仅 38KB 的 PeakSlab 等轻量化格式。
大模型能否从零重建整个软件?
基准测试设计
研究者推出 ProgramBench,衡量 AI 智能体从零开发软件的能力。智能体仅获取原始程序与文档,需通过模糊测试生成的端到端行为测试,还原二进制文件的执行逻辑。测试包含 200 个任务,覆盖简单的命令行工具到 FFmpeg 和 SQLite 等复杂软件。
模型表现与结构偏好
目前没有任何语言模型能完整解决单项任务。表现最好的模型仅在 3% 的任务中通过了 95% 的测试。模型倾向于输出单体式的大文件代码。开发者指出,当前的编程助手在处理超过 800 行的文件时会出现理解力下降。
社区质疑
开发者对该基准测试的严苛程度提出质疑。仅凭使用文档和黑盒执行来实现 FFmpeg 属于逆向工程,人类专家也需要数年时间。测试任务多为开源代码,模型可能在检索记忆而非进行真正的逻辑推理,存在基准污染问题。
个人博客的 RSS 流量超越谷歌搜索
零点击时代的流量结构
本地统计显示,过去 28 天内 Atom 与 RSS 为某个人博客带来的访问量达到 2.4 万次,超过谷歌搜索的 1 万次。谷歌的 AI 摘要直接提供答案,导致部分信息类网站点击率下降 70%。RSS 流量代表了长期积累的高意图阅读需求。
应对信息过载
用户订阅海量频道产生“僵尸流量”。开发者开始利用大语言模型和向量嵌入技术自动化筛选 Feed,对文章进行分类和聚类,将内容过滤权从平台算法转移到用户手中。
订阅者的深度连接
大型商业平台排斥 RSS 以维持广告闭环。许多个人博主关闭了充斥垃圾信息的传统评论区,改用 WebMentions 协议或仅保留邮箱地址。RSS 带来的深层阅读连接比搜索引擎的瞬时流量更具黏性。
维持火人节生存的“垃圾清理地图”
严苛的清理红线
火人节结束后,150 人的团队会留守数周,排查 3800 英亩荒漠中的错位物品(MOOP)。清理团队使用绿幕像素计数,确保每英亩残留碎片低于 0.09 平方米。未能通过美国土地管理局的检测将导致活动停办。
极端环境挑战
拉力螺栓是最大的污染源,极易埋入风尘。近两年的暴雨使干涸湖床形成厚达 6 英寸的沉重泥垫。参与者采用袜子-塑料袋-袜子的三层穿法或潜水靴来防止淤泥附着。
共担责任机制
表现糟糕的营地会面临社交媒体曝光,并失去未来的营位。活动通过明确的问责制将参与者定位为创造者。能耗数据分析显示,火人节营地人均日用电量(1.4 升柴油当量)低于普通美国空调家庭(3 升柴油当量)。
永续计算:应对生态挑战的数字实践
抵制计划性报废
芯片生产高度消耗资源。永续计算提倡延长硬件寿命,避免资本主义的永恒消费模型。生成式 AI 数据中心建设以效率为名,实际加剧了能源榨取,印证了 Jevons 悖论。
暴露系统缝隙
永续计算反对软件厂商营造的无缝感,要求系统保持可理解与可修复。社区推崇 UXN 这种仅有 32 条指令的虚拟机规格,将其视为防止自由软件被锁死在硬件厂商限制下的必要工具。
系统性变革的探讨
建立稳固标准的目的是减少设备淘汰率。部分开发者主张通过投票建立国家支持的维修点,推动维修权立法,而非将环保责任全盘转嫁给改变个人数字习惯。
2004 年的 TI-83 计算器编程启蒙
简陋环境下的创造力
Boris Cherny 编写的 TI-83 Plus BASIC 教程是许多软件工程师的启蒙起点。学生们利用简单的 Output 定位指令和 Lbl/Goto 跳转结构,在代数课上编写文字冒险游戏和二次方程求解器。
技术的传承演进
开发者在遭遇 BASIC 性能瓶颈时,会转向汇编语言开发复杂游戏,并改装打印机电缆传输代码。这篇教程的作者 Boris Cherny 现已成为 Anthropic 旗下 AI 命令行工具 Claude Code 的核心开发者。
用 BASIC 语言重新实现 Vi 编辑器
极简功能实现
开发者使用 Yabasic 编写了 500 行代码的文本编辑器 yvi。该程序实现了模式切换、光标移动及单词跳转等基础 Vi 指令。界面舍弃了自动换行功能,每行限制显示 80 个字符。
手写代码的价值
自然语言生成代码(Vibecoding)能轻易实现类似功能,但手写“笨拙”语言的过程提供了无法替代的思维锻炼。早期的 BASIC 强制手动编号曾给部分开发者留下痛苦回忆,现代方言已通过结构化控制流解决了这些遗留问题。
使用 iSCSI 与 ZFS 实现 Linux 无盘启动
规避引导项破坏
Windows 系统更新经常篡改本地磁盘引导项。开发者通过 PXE 协议和 iSCSI 网络存储,在远程驱动器上引导 Debian 和 GRUB,提供了一个不受干扰的大语言模型测试环境。
存储与网络配置
存储端使用 ZFS 创建逻辑卷并导出为 iSCSI 目标,利用其校验和机制提供自愈能力。服务器端配置 ipxe 脚本,在检测不到操作系统时自动引导进入安装程序。
性能表现
千兆网络下的 iSCSI 加载速度不及本地 NVMe 硬盘。操作系统加载至内存后,运行 AI 模型的性能损耗极小。部署 NVMe-oF 或 RDMA 网卡可进一步消除网络存储的性能瓶颈。
Xteink X4 电子纸的开源第三方固件
突破原厂限制
CrossPoint Reader 是专为 ESP32-C3 微控制器优化的开源固件。它摒弃了官方固件低效的位图渲染,原生解析 EPUB 文件,支持自定义字体、边距调整,并集成了 KOReader 跨设备同步功能。
内存优化策略
硬件可用 RAM 仅约 380KB。固件采用激进的缓存机制,首次加载时将章节数据写入 SD 卡专用目录,后续直接从本地读取,以此解决低内存设备的运行瓶颈。
硬件获取提示
制造商开始在淘宝等中国市场渠道锁定设备固件的安装权限。开发者建议有意向刷机的用户直接通过官方网站订购未锁定的硬件设备。
播客全文
女:Hello 大家好,欢迎收听 Agili 的 Hacker Podcast,我是小雅。
男:大家好,我是老冯。
女:今天咱们这期节目,我想先从一个很有意思的数据聊起。最近有个技术博主看了一眼自己网站后台的流量,你猜怎么着?RSS 和 Atom 订阅带来的访问量,居然跑赢了 Google 搜索。
男:这个在以前简直不敢想,毕竟大家都觉得 RSS 是个上古时代的产物了。不过仔细想想也在情理之中,现在 Google 的 AI 摘要直接把答案怼在搜索结果页上,也就是大家说的“零点击搜索”时代,很多信息类网站的点击率直接腰斩。
女:对,这太让内容创作者焦虑了。而且你看,搜索带来的往往是那种看完就走的“拔木塞”式流量。但 RSS 不一样,能把你的博客加进阅读器的人,绝对是真爱粉。这就好比大街上发传单和别人主动订阅你们家杂志的区别。
男:不过这块数据其实有点玄机。很多像 Reeder 这样的阅读器会在后台自动下载文章的本地副本,这也会触发流量统计。有些开发者就建议,其实可以在 RSS 链接里悄悄加个 UTM 参数,这样追踪起来会准很多。
女:但这也带来个新问题,有些人的阅读器里攒了几千个源,从来不点开,我都管这叫“健身房办卡式”订阅,纯粹的僵尸流量。面对这种信息轰炸,我看到现在有种新玩法,就是用本地的大语言模型去给 RSS 信息流做自动分类和摘要。
男:这思路挺聪明的,把算法的控制权从大厂手里抢回自己这儿。而且有意思的是,说到长期的数字资产积累,最近美国国会图书馆做了一个硬核决定,他们把 SQLite 列为了官方推荐的数据集存储格式。
女:国会图书馆?他们考虑的应该是那种几百年都不会坏的保存级别吧。我平常用 SQLite 也就是写个小 App 本地存点缓存,它真能挑起这么大的梁吗?
男:这就是它厉害的地方了。国会图书馆看中的就是它的稳定和公开。你想,要保存 300 到 500 年的数据,格式必须绝对透明。相比于 CSV,SQLite 能原生地保留数据表之间的复杂关联。有个老哥分享过,他在微软那种没啥日志保护的 exFAT 文件系统上跑数据,老是断电坏文件,最后换上 SQLite,靠着它的事务机制,数据稳如泰山。
女:听起来安全感拉满。但我接触过一些企业客户的运维团队,他们对 SQLite 简直深恶痛绝。理由是这东西就是一个后缀名是 .db 的普通文件,谁要是拿个 U 盘把它拷走,里面的用户隐私数据就全漏了。
男:这纯属甩锅。同样的逻辑,Excel 文件不也一样能拷走吗?很多公司拿 Excel 当数据库用,三天两头崩溃。SQLite 在现代固态硬盘上,一秒钟能扛住几千上万次的写入,甚至有人跑出过一秒 18 万次,比那些笨重的中心化数据库好伺候多了。
女:那倒是。不过说到让 AI 去写代码或者处理这些数据库,最近有个叫 ProgramBench 的基准测试挺火的。研究人员直接把说明文档扔给大模型,让它从零开始重写 SQLite 或者是 FFmpeg 这种软件。
男:结果非常惨烈,目前最强的模型在 95% 的测试里都全军覆没。大模型写代码有个毛病,它特别喜欢把所有逻辑全塞进一个巨大的文件里,根本不懂怎么做多文件的模块化架构。
女:这画面感太强了,就像我以前见过的实习生,一个 Word 文档写到底,几万字连个分页都没有。但话说回来,让 AI 去凭空手搓 FFmpeg 是不是有点强人所难了?这就不是写代码,这是逆向工程啊。
男:没错,就算让人类顶尖专家来干,看着文档逆推整个 FFmpeg 也得花上好几年。而且开源代码在网上一搜一大把,你很难分清大模型到底是真的在做逻辑推理,还是在靠死记硬背默写代码。
女:所以现在大模型当个编程助手还行,真让它当主程还早得很。对了,现在很多人为了跑这些开源大模型,也是把硬件折腾出了花。我看到有个硬核玩家,为了在 Windows 电脑上测试 Qwen 和 Gemma 模型,搞了个无盘启动 Linux。
男:这个操作是为了避开 Windows 经常偷偷覆盖引导程序的坑。他用 Debian 服务器建了个 iSCSI 目标,通过网络直接把远端的存储池映射过来启动。
女:等等,无盘启动这个概念能给通俗解释一下吗?
男:你可以这么理解,平时你的操作系统装在机箱里的硬盘上。无盘启动就是,你的机箱里根本没有硬盘,开机的时候,电脑顺着网线,去隔壁房间的服务器上“流媒体播放”一个操作系统出来。
女:哦!就像云游戏一样,只不过云的是个底层系统。但隔着网线跑系统,不卡吗?尤其还要跑 AI 模型。
男:只要网络配置得当,比如划分了专门的 VLAN 保证不丢包,其实体验很丝滑。因为现在内存都很大,系统一旦加载进内存,运行模型的那点性能损耗几乎感觉不到。而且他服务器端用的是 ZFS 文件系统,自带数据自愈功能,相当于给系统加了一层防弹衣。
女:感觉现在的工程师分成了两派。一派是在研究怎么用最先进的网络协议跑大模型,另一派却在疯狂复古。比如有个叫 Lee Tusman 的开发者,居然用快被淘汰的 BASIC 语言,手敲了一个类似 Vim 的文本编辑器,整整 500 行代码。
男:这个项目叫 yvi。老实说,看到 BASIC 我是有 PTSD 的。当年学编程,写 BASIC 每一行都得手动敲个行号,10、20、30,就怕中间想插一行代码没位置。不过现代的 BASIC 方言已经改进很多了。
女:但这确实勾起了很多人的回忆。我记得 2004 年那会儿,很多人的编程启蒙就是在代数课上,偷偷用 TI-83 计算器写代码。那会儿连个像样的显示屏都没有,按键还贼难按,硬是用简单的循环和标签跳转,做出了文字冒险游戏。
男:对,那个写 TI-83 教程的 Boris Cherny,现在居然是研发 Claude Code 的核心大佬。从最简陋的计算器代码,一路走到今天最前沿的 AI 编程,这条线拉得太长太迷人了。有人说手敲这种老掉牙的语言毫无意义,直接用自然语言让 AI 生成就行了。但其实,亲自用笨拙的语言去构建一个工具,那种思维层面的肌肉记忆,AI 永远替代不了。
女:我特别赞同。这种“手工感”在现在的消费电子里太稀缺了。就像很多人吐槽现在的电子墨水屏阅读器,原厂系统极其难用,连个字体加粗都不给。结果就有开源社区的人站出来,给一款叫 Xteink X4 的阅读器重写了固件。
男:那个叫 CrossPoint 的开源固件。这帮人真挺厉害的,那块主控芯片只有区区 380KB 的运行内存。就这点内存,他们还实现了真正的电子书排版解析。为了不把内存撑爆,他们搞了套极其激进的缓存策略,把章节切碎了放在内存卡里按需读取。
女:只有 380KB 的内存,还能做得这么流畅,这简直是对现在那些动不动就吃掉几个 G 内存的流氓软件的降维打击。这种榨干每一滴硬件性能的做法,让我想起最近很火的一个词叫“永续计算”。
男:永续计算的核心就是爱护所有硬件,尤其是现在的微芯片制造太耗费资源了。它提倡一种“观察先行”的态度,也就是在写代码前先想想,我们真的需要用技术来解决这个问题吗?很多时候,拒绝做冗余的开发,反而是最好的技术决策。
女:这也是一种警惕吧。现在一说搞 AI,到处都在建耗电惊人的数据中心,打着提升效率的旗号,其实在疯狂压榨能源。这不就是那个著名的杰文斯悖论吗?效率提高了,总消耗反而更大了。我们需要一种机制让大家对环境负责。
男:说起对环境负责,其实可以看看现实世界里的极端例子。每年在内华达州沙漠里办的火人节,7 万人在荒漠里建起一座城市,几天后又全部撤走。他们搞了个极为严苛的 MOOP 地图,就是专门记录垃圾的。
女:我也看到了!简直是法医学级别的清扫。他们甚至把找出来的垃圾放在绿幕前拍照,用像素来计算面积。只要每英亩的残留物超过一平方英尺,明年的活动就会被强行取消。
男:这其实就是把参与者从“消费者”变成了“创造者”。你留下的每一个螺丝钉、每一个亮片,都会被记录在案。地图上表现糟糕的营地,明年就别想拿到好位置了。有趣的是,有极客分析了他们营地的用电日志,发现火人节人均消耗的能源,其实比普通美国家庭开着空调的能耗还要低。
女:所以啊,不管是沙漠里的一张垃圾分布图,还是只有 380KB 内存的阅读器系统,又或者是能保存 500 年的 SQLite 文件,其实背后都在传达一种态度:克制,并且对我们创造的东西负责。
男:是的,技术发展跑得再快,偶尔也需要踩一脚刹车,看看我们到底留下了什么痕迹。
女:说得太好了。那我们今天的聊天就先到这里。如果大家喜欢这种不受算法控制的内容,别忘了用你最喜欢的泛用型播客客户端,通过 RSS 订阅我们的节目。我们下期再见!
男:下期见!
参考链接
- The map that keeps Burning Man honest
- Permacomputing Principles
- SQLite Is a Library of Congress Recommended Storage Format
- Diskless Linux boot using ZFS, iSCSI and PXE
- Grand Theft Oil Futures: Insider traders keep making a killing at our expense
- Boris Cherny: TI-83 Plus Basic Programming Tutorial (2004)
- ProgramBench: Can language models rebuild programs from scratch?
- RSS feeds send me more traffic than Google
- Community firmware for the Xteink X4 e-paper reader
- Building my own Vi text editor in BASIC























