2025-07-29 Hacker News Top Stories #
EU age verification app to ban any Android system not licensed by Google #
https://www.reddit.com/r/degoogle/s/YxmPgFes8a
欧盟正在开发一款开源的年龄验证 App,各成员国可在此基础上定制并上线,用于线上服务的年龄认证。根据官方 README,下一版计划引入 Google Play Integrity API 进行远程设备和应用完整性校验。这意味着: 系统必须获得 Google 官方许可,原生 Android 才能通过验证; 应用必须从 Google Play 商店下载,用户必须拥有 Google 账号; 设备必须通过 Google 的安全检查。 因此,像 GrapheneOS 这类安全性更高但未获 Google 授权的系统将无法使用;即使自行编译该 App,也会因未从 Play 商店下载而被拒绝。社区已在 GitHub 发起议题呼吁放弃对 Play Integrity 的依赖,但目前官方尚未回应。
HN 热度 972 points | 评论 625 comments | 作者:cft | 1 day ago #
https://news.ycombinator.com/item?id=44705240
- 欧盟年龄验证应用要求依赖谷歌服务,加深了欧盟对美国科技巨头的依赖,增加了美国对互联网的控制。
- 强制使用谷歌服务可能违反欧盟成员国的隐私和完整性法律。
- 欧盟推动年龄验证可能是要求所有社交媒体帖子强制使用 ID 的前奏,可能会限制言论自由。
- 欧盟委员会减少对 FAANG 服务的依赖与将谷歌 Play 作为事实上的标准之间存在矛盾。
- 欧盟政府机构在技术立法方面缺乏协调,不同分支之间缺乏沟通。
- 欧盟委员会由单一任命的主席领导,对任何人都不负责,议会只能对其通过的法律进行橡皮图章式的批准。
- 欧盟委员会的不连贯性是由于高层领导的不连贯思维造成的。
- 欧盟/欧洲人民党比许多公民所能接受的更为保守/右翼。
- 欧盟推动更多审查是左翼的论点,但左翼政党在欧洲议会中投票反对审查,而保守派/新右翼政党投票支持审查。
Performance and telemetry analysis of Trae IDE, ByteDance’s VSCode fork #
https://github.com/segmentationf4u1t/trae_telemetry_research
本分析报告旨在审视 Trae IDE(字节跳动基于 Visual Studio Code 的分支版本)中发现的、令人担忧的性能与隐私问题。主要发现包括:过度的资源消耗(其进程数高达 33 个,而 VSCode 仅为 9 个)、即使用户在设置中禁用了遥测功能,数据依然会持续传输,以及存疑的社区管理行为。
在为个人项目评估开发环境时,我对三款流行的 IDE 进行了对比分析:Visual Studio Code、Cursor 和 Trae(字节跳动的 VSCode 分支)。分析结果显示,它们在资源使用和网络行为上存在显著差异,值得进行更深入的调查。
测试环境:
- 操作系统:Microsoft Windows 11 专业版 (Pro)
- CPU:Intel Core™ i7-14700KF
- 内存 (RAM):64GB
- 测试项目:每个 IDE 加载完全相同的代码库
- 监控工具:System Informer, Fiddler Everywhere
- 资源消耗分析
进程数量与内存占用
初步测试揭示了资源消耗上的巨大差异:
更新后指标 (v2.0.2):
- 进程数从 33 个减少到约 13 个
- 内存占用降至约 2.5 GB
*不含 node_modules 和 target 目录
图 1:Trae 产生的进程数是 VSCode 的 3.7 倍,消耗的内存是其 6.3 倍
数据主权担忧
- 持续收集:无视用户偏好,持续收集遥测数据。
- 精细追踪:传输详细的系统和使用信息。
- 境外数据处理:信息被路由到字节跳动(一家中国公司)的基础设施。
- 唯一身份识别:通过多个持久性标识符实现长期追踪。
信任与透明度问题
- 误导性设置:遥测开关似乎只是摆设,并不起作用。
- 未文档化的行为:没有明确披露数据收集的做法。
- 压制社区声音:对技术性批评采取审查而非沟通的方式。
核心要点:
- 资源占用是 VSCode 基准的 6 倍(在 2.0.2 版本中与 Cursor 相当)。
- 遥测设置似乎只是表面功夫,而非实际功能。
- 社区反馈机制因内容审查而受到损害。
- 数据收集实践缺乏透明度和用户控制。
HN 热度 931 points | 评论 335 comments | 作者:segfault22 | 1 day ago #
https://news.ycombinator.com/item?id=44703164
- 禁用遥测功能需要重启编辑器,但测试中忽略了重启警告,这可能使测试结果无效。
- 禁用遥测功能不起作用是核心问题,如果需要重启而测试忽略了这一点,那么测试结果可能不准确。
- 即使禁用了遥测功能,遥测数据包仍然会发送,这是有用的观察结果。
- Theia IDE 是 VS Code 的一个替代品,它是基于 Eclipse 的,有 LSP 支持和 Monaco 编辑器后端。
- Theia IDE 在线试用需要登录,但关闭标签页即可。
- Theia IDE 的探索页面提供了如何使用和它的外观的很好见解。
- VS Code 的 Markdown 支持特别是拖放插入文件和图片链接的功能是其他编辑器没有的。
- Obsidian 支持从剪贴板粘贴图片,可能也支持拖放。
- Dendron 是 VS Code 中的 Obsidian,是免费且开源的。
- Dendron 项目目前处于僵尸状态,不建议投入时间使用。
- 尽管 Dendron 网站状况不佳,但扩展非常有用且几乎没有恼人的 bug。
- Google Cloud Shell 也使用了 Theia。
- Eclipse 在企业中相当流行,但由于其复杂性和学习曲线,人们往往避开它。
- Eclipse 生态中的 VSCode 主要架构师之一是 Eclipse 架构师,也是 GoF 著名书籍的合著者 Erich Gamma。
- 尽管尊重 Erich 对 Eclipse 的贡献,但由于对微软的不信任,不会跟随他使用 VSCode。
- 现代技术中很难完全避免微软的产品。
- Theia 与 Eclipse IDE 不同,它使用 JavaScript 编写,不共享 Eclipse 的代码库。
- Eclipse 仍然活跃。
- 安装 VSCode 的 Java 扩展包会运行无头版本的 Eclipse JDT,这不是轻量级的。
- Java 通常不是轻量级的,大多数 Java 工程都涉及添加越来越多的库、框架、检查和测试。
- 如果重新实现整个项目,代码大小会相同,JDT 语言服务器不是需要 UI 的无头软件。
- 可以设置启动模式为轻量级,只启动语法语言服务器。
- 相对于 fork VS Code,Theia 因为其模块化和可维护性是更好的选择。
Enough AI copilots, we need AI HUDs #
https://www.geoffreylitt.com/2025/07/27/enough-ai-copilots-we-need-ai-huds
这篇文章由 Geoffrey Litt 在 2025 年 7 月撰写,主题是关于现代人工智能设计的批判和思考。文章首先引用了 1992 年研究员 Mark Weiser 对“副驾驶”作为人工智能隐喻的批评。Weiser 在 MIT Media Lab 的一次活动中表达了他对个人助理自动化任务和了解用户全面背景的想法的反对。他用飞机驾驶的例子来说明,与其让计算机作为一个“副驾驶”来帮助你飞行,不如设计一个让飞行员自然意识到周围环境的驾驶舱。
文章接着介绍了 Weiser 的目标,即实现“隐形计算机”——不是那种吸引你注意力的助手,而是融入背景、成为你身体延伸的计算机。Weiser 用 1992 年的飞机界面幻灯片来说明他的观点。文章提到现代飞机中的一个工具——平视显示器(HUD),它将飞行信息如地平线和高度直接叠加在飞行员视野中的透明显示屏上,这正是 Weiser 哲学的体现。
文章进一步讨论了现代软件设计中的 HUD。例如,拼写检查就是一个熟悉的 HUD 实例,它不是作为一个“虚拟合作者”与你讨论拼写,而是在你拼写错误时立即添加红色下划线,让你拥有以前没有的新感觉。另一个个人例子是 AI 编码中的自定义调试器,它可视化程序的行为,让你拥有 HUD,扩展你的感知能力。
文章指出,HUD 和“副驾驶”都有其适用场景,但作者认为任何认真考虑 AI 设计的人都应该考虑非“副驾驶”形式的因素,这些因素更直接地扩展了人类思维。作者提出,对于日常可预测的工作,可能适合委托给虚拟副驾驶/助手,但当你追求非凡的结果时,最好的选择可能是为人类专家配备新的能力。
文章最后推荐了一些进一步阅读材料,包括 Michael Nielsen 和 Shan Carter 的《使用人工智能增强人类智能》以及关于 HUD 哲学与按需软件创建相交的讨论。
总结来说,这篇文章探讨了人工智能设计中“副驾驶”隐喻的问题,并提出了 HUD 作为更直接扩展人类思维的替代方案。作者通过飞机驾驶舱和拼写检查等例子,说明了 HUD 在现代软件设计中的应用,并讨论了 HUD 和“副驾驶”在不同场景下的适用性。
HN 热度 788 points | 评论 231 comments | 作者:walterbell | 1 day ago #
https://news.ycombinator.com/item?id=44705445
- 1991 年的日本动漫《Future GPX Cyber Formula》中探讨了类似 AI Copilot 与 HUD 的对比
- 《Anime Yukikaze》展示了人类直觉与人工智能结合的重要性
- 现实中的 AI 发展让人联想到日本科幻作品中的情节
- 赛车领域已经存在“线控驾驶”的讨论,未来可能发展为“副驾驶控制”
- 拉力赛中的领航员/导航员角色类似于 HUD,提供增强感知
- 目前 HUD 技术无法处理拉力赛所需的数据带宽和速度
- 当 AI 技术足够可靠时,使用记录笔记和加速度计支持的 GPS 位置可能比依赖 AI 更安全
- 人们曾讨论过计算机初期的人类增强问题
- 《Future GPX Cyber Formula》可以在 YouTube 上找到
- 有关于源文件的令模型惊讶的每个标记的热图显示的需求
- AI 代码分析技术相对落后,与代码生成技术的火热形成对比
- 需要一个能够理解“令人惊讶”标记的工具,这可能意味着错误或独特功能
- 这样的工具可能不会成为好的营销卖点,因为它们需要用户具备编程能力
- 需要迭代来实现将模型的对数概率映射到热图上,直接映射会产生很多噪声
- 通过 UI 发现传统助手界面隐藏的实现选择和设计决策
- 令人惊讶的代码部分可能需要更好的文档说明,但解释算法的工作会使代码本身变得不那么令人惊讶
- 代码质量可以通过“每分钟的 WTFs”来衡量,现在 LLM 可以表达这一点
Tom Lehrer has died #
https://www.nytimes.com/2025/07/27/arts/music/tom-lehrer-dead.html
汤姆・莱尔(Tom Lehrer)是一位以其独特的音乐讽刺风格而闻名的数学家和歌手,2025 年 7 月 27 日在美国马萨诸塞州剑桥去世,享年 97 岁。他在 1950 年代和 1960 年代的大学校园以及格林威治村赢得了广泛的追随者,以机智且常带有黑暗幽默的歌词而受到欢迎。莱尔的音乐风格往往是欢快的,而歌词却内容尖锐、讽刺,令人难忘。他的代表作品包括《教廷狂欢曲》(The Vatican Rag)和《公园里的毒鸽子》(Poisoning Pigeons in the Park)。
莱尔于 1928 年 4 月 9 日出生在曼哈顿,早年就展现出卓越的音乐才华。他在哈佛大学主修数学,并获得学士和硕士学位。在校期间,他开始为自己和同学创作歌曲,迅速获得关注。1945 年,他创作的讽刺足球歌曲《Fight Fiercely, Harvard》便开始受到喜爱。1953 年,他推出了首张专辑《Songs by Tom Lehrer》,意外地取得了成功,销量达到数十万张。
尽管他的音乐生涯取得了成功,莱尔始终将学术事业放在首位。他在哈佛大学、麻省理工学院和加利福尼亚大学等地任教,并在原子能委员会工作。1960 年,他停止了现场演出,虽然后来短暂复出,但 1967 年后再未公开演出。
莱尔的歌词常常涉及政治和社会问题,特别是在 1960 年代,他为 NBC 的讽刺节目《That Was the Week That Was》创作了几首歌曲,包括《为第三次世界大战写的歌》(A Song for World War III)和《冯・布劳恩博士》(Wernher von Braun)。他的歌曲《教廷狂欢曲》曾因其挑衅的内容受到宗教人士的谴责。
莱尔的创作逐渐减少,1971 年他为 PBS 儿童节目《电气公司》创作了一些教育歌曲。尽管他在 1980 年和 1981 年经历了复出,并在伦敦和纽约上演音乐剧《Tomfoolery》,但他表示自己停笔的原因在于对社会政治的严肃性感到失望。
在他去世前不久,莱尔宣布放弃所有歌曲的版权,允许任何人随意使用他的歌词,显示出他对艺术的开放态度。他的生活较为低调,未婚且没有子女,生前在剑桥和加利福尼亚的圣克鲁斯之间往返生活。莱尔的离世标志着一个时代的结束,他的作品依然对许多人产生着深远的影响。
HN 热度 622 points | 评论 109 comments | 作者:detaro | 1 day ago #
https://news.ycombinator.com/item?id=44702782
- Tom Lehrer 放弃了所有歌曲的版权,将其置于公共领域,允许人们自由使用和演绎
- 有人已经将 Tom Lehrer 的所有作品进行了备份,并鼓励其他人也这样做
- 有人担忧数字作品的保存问题,建议同时制作物理副本
- 有人指出 USB 标准的持久性,认为它将永远持续下去
- 有人讽刺地表示 USB 标准将持续到下一次更新
- 有人赞扬 Tom Lehrer 的行为,并希望更多人效仿
- 有人对 Tom Lehrer 是否真的拥有所有歌曲的版权表示疑问
- 有人解释说歌曲和录音是不同的,歌曲的版权可能由出版社控制
- 有人指出,通常只有纯管理交易中歌曲才不归标签所有,而大多数情况下,歌曲的部分所有权会交给出版商
- 有人确认 Tom Lehrer 的作品是自出版的
- 有人提到 Tom Lehrer 的幽默感和他在教学中的贡献
- 有人回忆起 Tom Lehrer 在大学教授的数学课程,并对他的教学风格表示赞赏
VPN use surges in UK as new online safety rules kick in #
https://www.ft.com/content/356674b0-9f1d-4f95-b1d5-f27570379a9b
英国近期实施的新在线安全法导致人们对虚拟私人网络(VPN)的使用激增,尤其是在成人内容和社交媒体应用的年龄验证系统生效后。这些新规则旨在防止未满 18 岁的儿童访问色情和其他有害内容。媒体监管机构 Ofcom 表示,将开始执行这些年龄检查。
据报道,自新规则实施以来,使用 VPN 的用户激增。Proton VPN 的每日注册量在英国增长超过 1800%,而 Nord Security 的 VPN 订阅购买量也增加了 1000%。这表明,许多成年人对普遍的年龄验证法律将对其隐私造成的影响感到担忧。
除了增加对 VPN 的搜索和使用外,许多技术专家对立法者缺乏技术知识提出了批评,认为这些法律会导致人们更容易找到绕过限制的方法。英国是第一个在民主国家中实施如此严格内容控制的国家,这使其成为全球关注的试点案例。违反新规定的平台可能面临高达 1800 万英镑的罚款。
尽管 Ofcom 承认年龄检查并非 “万无一失”,但他们表示,此措施将帮助保护儿童免受有害内容的影响。反对新规的声音日益增加,一项要求废除在线安全法的请愿在短短一周内吸引了超过 28 万的签名,促使议会考虑该问题。
英国政府坚持这些规则不会谈判,并希望与美国建立新的数字贸易伙伴关系。科技部长 Peter Kyle 强调,平台必须积极防止儿童规避安全措施,包括阻止宣传 VPN 或其他变通方法的内容。
HN 热度 598 points | 评论 900 comments | 作者:mmarian | 21 hours ago #
https://news.ycombinator.com/item?id=44706653
- 英国的新法律、新闻或媒体描绘了一个被打击、愤世嫉俗且害怕的社会,这个社会对政府增加监控和控制持默许或支持态度。
- 英国正变得越来越威权,对大多数人口产生敌意,无论政治党派如何。
- 英国的税收在增加(同时税收收入在下降),犯罪未得到控制,移民问题引发争议,但 GDP 人均停滞甚至下降,对服务造成压力。
- 英国离开的人越来越多,尤其是那些有能力离开的人,导致愿意忍受现状的人比例增加。
- 英国一直是一个衰落的帝国,但直到社交媒体兴起,问题才变得严重。
- 英国的衰落可以追溯到一战前后,二战胜利后英国国力开始明显衰退。
- 英国并非神权国家,如果指的是上议院,那么对英国政府的理解有误。
- 英国人民可能还没有完全意识到国家的衰落,尤其是在脱欧过程中的言行。
- 脱欧可能是情绪化的反应,但并没有帮助解决问题。
- 人们投票支持民粹主义者,因为他们是精英未能为所有人建立一个有效社会的症候。
- 人们并非偶然投票给民粹主义者,投票给民粹主义者是精英失败的症状。
Copyparty – Turn almost any device into a file server #
https://github.com/9001/copyparty
这个网页是关于一个名为“copyparty”的开源项目,它是一个便携式文件服务器,具有加速的可恢复上传、去重、WebDAV、FTP、TFTP、零配置网络、媒体索引器、缩略图等功能,全部集成在一个文件中,无需依赖其他软件。该项目采用 MIT 许可证,并在 GitHub 上拥有 6.6k 的星标和 201 个分支。
项目特点:
- 支持通过任何网络浏览器进行可恢复的上传/下载。
- 服务器仅需 Python(2 或 3),所有依赖项均为可选。
- 支持多种协议:HTTP、WebDAV、FTP、TFTP、SMB/CIFS。
- 提供 Android 应用和 iPhone 快捷方式。
- 项目提供了一个只读演示服务器,用户可以访问以了解其功能。
- 项目页面还提供了截图和视频,展示浏览器上传、上传竞赛、功能展示等特点。
快速开始:
- 用户只需运行
copyparty-sfx.py
即可快速开始使用。 - 项目还提供了在家中通过互联网访问和在服务器上使用的指南。
功能:
- 项目详细介绍了其特性,并与其他类似软件进行了比较。
- 用户反馈、项目目标/哲学、一般笔记、已知问题、非项目问题、重大变更和常见问题解答等部分也有所涉及。
账户和卷:
- 项目支持按文件夹、按用户设置权限。
阴影和隐藏文件:
- 项目支持隐藏特定子文件夹和 Unix 风格的隐藏文件/文件夹。
浏览器访问:
- 用户可以通过 Web 浏览器访问 copyparty 服务器,并使用 UI 中的主要标签和快捷键。
缩略图和上传:
- 用户可以按“g”或“田”键切换网格视图和文件列表。
- 支持将文件夹或文件选择作为 zip 或 tar 文件下载。
- 用户可以通过拖放文件/文件夹到 Web 浏览器进行上传。
- 项目还提供了文件搜索、撤销/删除意外上传、上传文件的生命周期管理等功能。
文件管理器和共享:
- 用户可以剪切/粘贴、重命名和删除文件/文件夹(如果有权限)。
- 支持通过创建临时链接共享文件或文件夹。
RSS 订阅和媒体播放:
- 用户可以使用 RSS 阅读器监控文件夹。
- 项目提供了一个几乎支持所有音频格式的媒体播放器,并支持创建和播放 m3u8 播放列表。
文本文件查看器和 Markdown 查看器:
- 项目提供了实时流式传输日志文件等功能的文本文件查看器,以及两个 Markdown 编辑器。
搜索和服务器配置:
- 用户可以通过大小、日期、路径/名称、MP3 标签等多种方式进行搜索。
- 项目支持使用参数或配置文件,或两者混合进行服务器配置。
零配置网络和文件去重:
- 项目支持在局域网上宣布启用的服务,并支持基于符号链接的上传去重。
文件索引和排除模式:
- 项目支持启用音乐搜索、上传撤销和更好的去重功能,并允许设置排除模式以节省时间。
文件系统保护和定期重新扫描:
- 项目提供了避免遍历其他文件系统的保护措施,并支持文件系统监控。
上传规则和压缩上传:
- 用户可以设置上传规则,并在上传时自动压缩文件。
这个网页提供了关于“copyparty”项目的详细信息,包括其功能、使用指南、配置选项和社区反馈等。
HN 热度 491 points | 评论 87 comments | 作者:saint11 | 9 hours ago #
https://news.ycombinator.com/item?id=44711519
- 该工具的演示视频令人印象深刻,尤其是文件上传下载的无缝恢复功能
- 让人回忆起过去使用拨号上网时下载失败的经历
- 过去需要特殊应用来排队和安排下载,与现在相比显得非常不便
- 有人提到了 DAP(Download Accelerator Plus),认为那是他们童年的一部分
- glFTPd 服务器允许 FXP(服务器间文件传输),对于带宽不足的用户来说非常有用
- FTP 协议本身就支持断点续传,不需要服务器特别支持
- 特殊工具也需要下载,有时候不得不牺牲下载时间或者再次尝试
- 过去大多数文件通过 FTP 提供,支持断点续传
- 但也有人认为并非大多数文件都通过 FTP 提供,很多 HTTP 服务器并不支持
- FTP 无法重启 PPP 或 SLIP 连接
- 有人表示他们不需要这个软件,但视频制作得很好,让他们想要尝试
- 如果服务器在上传过程中重启,将会更加令人印象深刻
- 有人提到 BitTorrent,认为它与这个工具类似
- 有人提到应该更好地遵循 HTTP RFCs,以提高开发者体验
- 有人提到“Race the beam”功能,表示之前从未见过这样的工作方式
- NNCP 被提及,它被设计用来支持受限或中断的网络
- 有人表示这是每个高级用户的终极梦想,功能丰富
- 开发者表示,项目主要是他个人在 VSCode 中编写的,偶尔会使用 AI/LLM 来翻译中文字符串
- 有人提出希望该工具能运行在 CGNAT 后面,并与 Google Drive、Mega Dropbox、GitHub 等集成
- 有人提到这个工具是一个惊人的工具,观看演示视频后会有更深的体会
- 有人询问是否可能基于 Syncthing 协议构建类似的应用
- 有人表示 Copyparty 是一个惊人的软件,并推荐观看 YouTube 视频
- 有人表示这个软件让他们想要为它找到一个使用场景
- 有人想要创建一个太阳能供电的“图书馆”,用于分享数字内容
- 有人担心在学校 Wi-Fi 范围内创建共享内容可能会有人上传有害内容,因此没有实施
- 有人曾经创建了一个 PirateBox,用于分享公共领域内容,但没有继续下去
LLM Embeddings Explained: A Visual and Intuitive Guide #
https://huggingface.co/spaces/hesamation/primer-llm-embedding
该网页是一个由 Hugging Face 提供的空间,标题为《LLM Embeddings Explained: A Visual and Intuitive Guide》(LLM 嵌入的解释:一个视觉和直观的指南),由用户 hesamation 创建。该应用旨在解释语言模型如何将文本转换为有意义的表示,即嵌入(embeddings)。
内容概述如下:
- ** 嵌入的概念 **:网页详细介绍了嵌入的基本概念,解释了它们如何将文本转化为数值表示,以便计算机能够理解和处理语言。
- ** 传统与现代语言模型 **:内容涉及了传统语言模型与现代深度学习模型(如 BERT、GPT 等)在生成嵌入方面的不同之处,展示了技术的演变和进步。
- ** 可视化示例 **:为了帮助用户更好地理解,网页提供了多个可视化示例,展示了嵌入的工作原理。这些视觉辅助工具帮助用户直观地看到不同文本如何被转换为相应的嵌入向量。
- ** 应用场景 **:网页还探讨了嵌入在实际应用中的重要性,比如在自然语言处理(NLP)任务中的应用,包括文本分类、情感分析和问答系统等。
- ** 交互性 **:用户可以通过该应用进行交互,输入文本并观察生成的嵌入,以进一步加深理解。
总的来说,这个网页是一个关于语言模型嵌入的教育性资源,旨在通过可视化和直观的方式,帮助用户理解这一复杂的技术主题。
HN 热度 401 points | 评论 77 comments | 作者:eric-burel | 17 hours ago #
https://news.ycombinator.com/item?id=44708028
- 嵌入层在模型中包含在正常的反向传播中,但不是通过独热编码,因为这样做效率很低。
- 索引和乘以独热嵌入是等价的,但使用索引更高效。
- 嵌入层对模型推断语义连接的能力有巨大影响,但讨论并不多。
- 嵌入层对模型本身来说是难以解释的,学习过程将其压缩到只有模型的解码器头知道如何处理。
- 添加 LLM 特有的旋转位置嵌入使概念更加复杂,难以向技术人士解释。
- “无位置嵌入”可能更适合长期上下文,因此可能不是必须解释的概念。
- 嵌入层包含的信息比人类可解释或统计学上的对应物更抽象,即使信息更多,对人类来说也更难以获取。
- 使用多类谱聚类查询嵌入空间可以获得不错的结果。
- 学习到的解码器头是一个有趣的术语,可能是专业术语或个人类比。
- 所有深度学习层都是相对新的,但关于它们有多疯狂并没有太多讨论,尤其是考虑到它们是 LLM 中真正的明星。
- 可以在字典中搜索最匹配的单词或表达式,很容易理解嵌入指向哪里。
- 在层中间可以进行这样的操作,但这样做对最终输出的单词意义可能不大。
- 可以对嵌入进行解码以用于调试,但这是一个有损的(因为它丢失了上下文)且不可逆的过程。
- 高维空间中的大多数值彼此正交且相距很远,但仍然可以使用降维技术对概念进行聚类。
- 嵌入空间中的点不是均匀分布的,模型的整个作用是将这些结果投影到对问题“有意义”的子集上。
- 余弦相似性是你的好朋友。
- 余弦相似性是将向量归一化到单位球面上后的点积,归一化不会改变正交性,也不会改变大多数高维向量(几乎)正交的事实。
Debian switches to 64-bit time for everything #
https://www.theregister.com/2025/07/25/y2k38_bug_debian/
这篇文章讨论了 Debian Linux 发行版如何应对即将到来的 Unix Epochalypse(也称为 Y2K38 问题)。Debian 计划通过在即将发布的 Debian 13 “Trixie"版本中切换到 64 位时间来解决这个问题,这将影响到所有支持的硬件,除了最古老的硬件。
Unix Epochalypse 问题源于 Unix 系统时间的计算方式,即自 1970 年 1 月 1 日以来经过的秒数。到了 2038 年 1 月 19 日 03:14:07 UTC,经过的秒数将超过一个有符号的 32 位整数所能表示的范围。这是因为多年前决定使用 32 位整数来存储秒数。与 Y2K 问题类似,软件开发商已经开始着手解决这个问题。对于 64 位硬件上运行的软件来说,这个问题已经得到了解决,但 Debian 作为 32 位处理器上旧的和资源受限的嵌入式设备的操作系统选择,需要采取行动。
Debian 开发者指出,仍然有很多成本敏感的 32 位计算设备在使用中,包括汽车、物联网设备、电视、路由器、工厂控制、建筑监控/控制以及便宜的 Android 手机等。这些新硬件中的大多数将运行像 OpenEmbedded、Alpine、Android 或 Gentoo 这样的从源代码构建的操作系统,但基于 Debian 的市场份额可能会持续一段时间,一些使用它的设备可能会使用足够长的时间,以至于在 2038 年 1 月之前仍然在使用。
为了解决这个问题,Debian 决定将 32 位硬件上的 time_t 变量改为 64 位整数。这是一个重大的改变,因为 Debian 的维护者发现 time_t 变量在 6,429 个软件包中“无处不在”。由于这一改变需要同时对所有受影响的库进行应用二进制接口(ABI)的破坏性更改,因此工作量相当大。尽管如此,Debian 相信这项工作已经完成并且经过了足够的测试,可以在 Debian 13 “Trixie"发布后进行更改,至少对于大多数硬件来说是这样。
文章最后提到,i386 端口将保留现有的 32 位 time_t,作为现有 x86 二进制文件的兼容性架构。如果有足够的热情将 32 位 x86 带入其现在非常有限的未来,可能会创建一个新的使用 64 位时间的’i686' x86 ABI/架构,并可能使用更新的 ISA 特性。hurd-i386 端口不会切换,因为它的内核缺乏支持,而是正在努力切换到 hurd-amd64。更多关于如何测试 64 位时间切换是否破坏了软件的信息可以在 Debian wiki 上找到。
HN 热度 367 points | 评论 240 comments | 作者:pseudolus | 13 hours ago #
https://news.ycombinator.com/item?id=44709408
- Steve Langasek 在生前最后几年致力于解决 64 位时间问题,对进步有重大贡献,他将被怀念。
- 一些系统或用途中,节省的 2 字节在某些时期非常昂贵。
- 软件更新换代快,70 年代/80 年代/90 年代的软件预期不会用到 2000 年。
- 至今仍在使用两位数年份,例如信用卡到期日。
- Y2K 问题不仅仅是因为节省字节,还包括 UI 问题,如文本字段只有 2 个字符和硬编码 +1900。
- 有论坛从 1999 年跳转到 19100 年,显示错误但非严重问题。
- 表示日期时,使用简单的整数值从 1900 年开始可以节省更多字节。
- 1899 年出生的人在 1970 年还活着,所以不能用系统存储他们的出生日期。
- 调整范围,使用 3 字节和 2 的补码可以表示从公元前 20000 年到公元 22000 年。
- 系统使用字符(ASCII 十进制数字)或 BCD 编码数字,而不是整数编码系统,因此有 1999 年的截止日期。
- 许多旧系统不使用 C 语言中的字节/整数存储数字,而是使用 BCD 或文本格式。
- COBOL 语言作者可以在 COBOL 中添加日期数据类型。
- COBOL 支持四位数。
- COBOL 使用固定宽度字符格式,需要在所有部分硬编码字段大小。
- 有人在 Y2K 前购买大量看跌期权,认为银行股票会崩溃,但实际影响不大。
- 为了防止问题发生,已经做了很多工作。
- 银行从 1991 年开始处理 Y2K 问题,耗费了大量时间和预算。
- 人们预测飞机会在 2000 年 1 月 1 日 00:00 坠毁,但实际上并没有发生。
- 人们注意到当事情没有像预测的那样发生时,就会认为“什么都没发生”。
- Linux 和 Unix 系统使用 32 位时间计数器,没有 Y2K 问题,但一些应用程序可能有这个问题。
Tao on “blue team” vs. “red team” LLMs #
https://mathstodon.xyz/@tao/114915604830689046
这个网页是关于网络安全中的“蓝队”和“红队”概念的讨论,以及这些概念如何扩展到其他领域,如软件工程和数学。
在网络安全领域,区分了“蓝队”和“红队”的任务。蓝队负责构建安全系统,而红队则负责发现这些系统中的漏洞。蓝队对于创建期望的产品更为明显必要;但由于部署不安全系统可能造成的损害,红队同样重要。这些团队的性质是相互镜像的,数学家可能会称它们为“对偶”。
蓝队的输出仅与其最弱环节一样强:一个由强组件和弱组件组成的安全系统(例如,一个有安全锁门但开着窗户的房子)将是不安全的(实际上更糟,因为强组件可能传达出错误的安全感)。对偶地,红队的贡献往往是累加的:一个包含严重漏洞和更琐碎问题的红队报告比只包含严重问题的报告更有用,因为让蓝队处理这两个漏洞是有价值的。(但过多的低质量报告可能会分散对关键问题的注意力。)因此,不可靠的贡献者在项目中的“红队”方面可能比“蓝队”方面更有用,只要蓝队能够容纳这样的贡献者,前提是红队足够有能力捕捉并纠正蓝队成员可能犯的几乎所有错误。
不可靠的红队贡献只有在它们增强了更可靠团队成员的输出,而不是取代该输出,并且它们的输出可以被更有经验红队成员有效过滤或分类时,才具有价值。
网页还提到,这种蓝队/红队的区别不仅限于网络安全,还扩展到许多其他领域。例如,在软件工程中,“蓝队”可能对应于生成新的计算机代码,而“红队”则包括对这些代码的质量保证和测试。在数学中,“蓝队”可能涉及提出解决数学问题的推测性想法,而“红队”检查论证中的形式错误,并提出对蓝队方法可行性的启发式异议。
作者还提到,他喜欢将数学中的这两个团队称为“乐观主义者”和“悲观主义者”;在他的经验中,当合作中有大致相等的乐观主义者和悲观主义者时,会产生最强大的合作。
许多提议的 AI 工具用例试图将这些工具归类为“蓝队”,例如以半自动化或自动化的方式创建代码、文本、图像或数学论证,这些工具旨在用于某些外部应用。然而,鉴于这些工具的不可靠性和不透明性,可能更好地将它们用于“红队”,批评蓝队人类专家的输出,而不是直接取代该输出;只有在“红队”能够捕捉并纠正任何由“蓝队”AI 生成的错误时,才应允许“蓝队”AI 的使用。
这种方法不仅发挥了当前 AI 的优势,如广泛的曝光和快速反馈,还减轻了在高风险环境中部署未经验证的 AI 输出的风险。作者在个人实验中发现,AI 对于提供对他生成的一些提议文本、论证、代码或幻灯片的额外反馈很有用(包括当前文本)。他可能只同意 AI 工具生成的建议中的一小部分;但他发现仍然有一些有用的评论是他同意的,并将其纳入自己的输出中。
这是 AI 的一个明显不那么华丽或直观的用例,与更常见的“蓝队”直接自动化自己的输出相比,但作者发现它增加了更可靠的价值。
HN 热度 363 points | 评论 129 comments | 作者:qsort | 9 hours ago #
https://news.ycombinator.com/item?id=44711306
- AI 在“红队”和“蓝队”中都很有用,蓝队主要是头脑风暴。
- AlphaEvolve 是一个明确的“红/蓝队”方法的例子,尽管他们不使用这些术语。
- 这让人想起游戏语义中的“验证者/证伪者”分工。
- 安全系统不仅取决于其最弱环节,还取决于是否有安全层次或元素是否并行。
- 测试通常成本低廉,如果出错可以轻松移除或修改,如果正确则增加价值。
- 让 LLM 修复错误或添加功能更复杂,因为它们可能会作弊或编写不稳健的代码。
- 在遗留代码库中,测试是真理的来源,比代码更重要,错误的测试比错误的代码更有害。
- 大型综合且脆弱的测试套件会严重降低开发者速度。
- 这些测试对于确保遵守如 OAuth2 流程等规范非常有价值。
- 长期存在的 bug 可能成为客户依赖的 API 的一部分。
- AI 生成的测试可能增加了生产力的假象。
- AI 帮助快速完成无用的官僚任务,但官僚任务的生成速度可能超过 AI 的自动化速度。
- 对新工具持怀疑态度是合适的,应该指出失败模式。
- 如果 AI 生成的测试只涉及不实际执行逻辑的假数据和存根,需要专业知识来识别和纠正。
I hacked my washing machine #
https://nexy.blog/2025/07/27/how-i-hacked-my-washing-machine/
这篇文章是 Nex 在他的博客上发表的,讲述了他如何“黑客”自己的洗衣机。以下是文章的中文摘要:
背景介绍: Nex 最近搬到了一个新房子,房子里配备了一台带有 Wi-Fi 连接和移动应用控制的“智能”洗衣机。由于房子里住着一些网络安全学生,他们最初对将洗衣机连接到网络持怀疑态度,但最终还是这样做了。洗衣机有一个功能,即在洗衣周期结束时向移动应用发送通知,这对于经常忘记购买衣物的 Nex 来说非常有用。
门铃的故事: 文章还提到了房子的门铃问题。由于房子是一栋古老的维多利亚式建筑,墙壁、地板和门都非常厚,导致门铃声音难以听见。幸运的是,门铃有一个可以插在其他地方的接收器,当门铃被按下时,它会向接收器发送信号。Nex 的朋友买了一个便宜的接收器,当接收到信号时,它会在他们的 Discord 服务器上发送通知。这个项目成功后,他们想到了是否可以对洗衣机做同样的事情。
计划: Nex 有一些逆向工程和手机应用黑客的经验,他计划通过查看洗衣机应用连接到的服务器,并从那里了解 API。他使用了一个 OpenWRT 兼容的路由器,设置了临时的 SSID,并让洗衣机连接到它。然后,他开始使用 tcpdump 捕获流量。
洗衣机的通信: 在追踪流量后,Nex 发现了四件事情:
- 洗衣机似乎很喜欢与自己通信,可能是由于网络工程师不了解回环接口。
- 洗衣机每隔一秒向 255.255.255.255 发送流量。
- 洗衣机偶尔会联系一个名为 simplyfimgmt.candy-hoover.com 的服务器,这个服务器是一个 CNAME 到 Heroku DNS 域名。
- 洗衣机直接与移动应用通信,应用向端口 80 发送 HTTP 请求。
在这些发现中,只有最后一点特别有趣,因此 Nex 开始深入研究。
文章到这里就结束了,没有提供更多的细节,比如他们是否成功地逆向工程了洗衣机的 API,或者他们是否能够实现在 Discord 上接收洗衣机通知的目标。这篇文章更多地是关于 Nex 和他的朋友们如何开始这个项目,以及他们在初步探索中发现了什么。
HN 热度 348 points | 评论 153 comments | 作者:JadedBlueEyes | 1 day ago #
https://news.ycombinator.com/item?id=44704270
- 使用 apk-mitm 可以去除 Android 应用中的证书锁定问题,并重写清单文件以信任用户安装的证书,无需 root 设备。
- jadx 工具可以将 APK 转换成近似 Java 的代码,有助于找到解密密钥。
- 如果应用将加密数据提供给应用并显示解密数据,则应用要么包含解密密钥,要么从某处下载密钥。
- 即使没有其他人做过类似的工作,也应该尝试理解设备上代码的工作原理,即使最终不成功也能学到很多。
- 有用户通过禁用自动更新和回退版本解决了应用更新后变差的问题,并通过证书锁定绕过继续使用应用。
- 另一位用户使用 Bosch API 和 Home Assistant 创建脚本来提醒洗衣机完成洗衣周期并检查门是否打开。
- 有人提到使用智能插座将“傻瓜”洗衣机的状态集成到 Home Assistant 中,通过检测功率消耗模式来确定洗衣周期的状态。
- 有人建议使用 ESP32 和振动传感器来检测干衣机是否在运行,因为大多数干衣机没有周期,所以很容易检测其运行状态。
- 有人提到使用 LoRa 发射器将“傻瓜”洗衣机的状态信息传输到家庭网络,尽管洗衣机位于公寓的地下室,距离较远。
- 有人提出可能通过在干衣机的电源线上绕线圈来检测电流流动,并将其连接到 Arduino 或 Raspberry Pi 上。
Hacker News 精彩评论及翻译 #
Graphene OS: a security-enhanced Android build #
https://news.ycombinator.com/item?id=44679218
I just installed Graphene on a new pixel. I’ve only used it for two days, but I got that same feeling of “finding buried treasure in your backyard” I got when I first installed Linux in 1999. I can’t believe this amazing software is free in all senses of the word. It is a TON of work and they got so much right. The security and usability settings give all the grainular control I’ve known was possible and wanted for a long time.
I see some core team on this thread, so just wanted to say THANK YOU! Awesome job! Keep fighting for the users!
I’m totally the wrong person to offer recommendations on mobile, but so far it works very well for me, but then, I use almost no third party apps, and none of them are Play store only. My only complaint is the hardware (outside of their control).
jrexilius
我刚刚在一个新设备上安装了Graphene。虽然才使用了两天,但我有了那种“在家门口发现宝藏”的感觉,这就像我第一次在1999年安装Linux时一样的激动。但我无法相信这款令人惊叹的软件从所有意义上来说都是免费的。这需要投入巨大的工作量,而且他们在许多方面都做得非常棒。这套系统提供的安全性和可用性选项给我带来了我以前就知道可能存在但一直渴望已久的细腻控制能力。
在这一帖子下看到核心团队的成员,只想对他们说声谢谢!了不起的工作,继续为用户而战吧!
我肯定不是在移动设备方面提供建议的合适人选,但就我目前的体验来看,这套系统运行得非常好。毕竟,我几乎没有使用任何第三方应用,而我所使用的第三方应用也不会封闭在Play商店中。我唯一的抱怨是硬件(不过这不是他们的控制范围)。
Cops say criminals use a Google Pixel with Graphen… #
https://news.ycombinator.com/item?id=44659534
GrapheneOS says
“European authoritarians and their enablers in the media are misrepresenting GrapheneOS and even Pixel phones as if they’re something for criminals. GrapheneOS is opposed to the mass surveillance police state these people want to impose on everyone”
https://grapheneos.social/@GrapheneOS/114784469162979608
State employees in their official capacity making inaccurate claims to media about GrapheneOS to smear it as being for criminals and as the users as largely being criminals is a state sponsored attack on the GrapheneOS project.
https://grapheneos.social/@GrapheneOS/114813613250805804
patchtopic
GrapheneOS表示:
“欧洲一些当权者及其在媒体中的支持者正在歪曲发布有关GrapheneOS和Pixel手机的言论,将它们描述成仿佛是为犯罪分子量身定制的。GrapheneOS明确反对这些人试图强加给大众的那种以全面监控为特征的警察国家体系。”
https://grapheneos.social/@GrapheneOS/114784469162979608
政府工作人员在履行公务职责时向媒体发表不实言论,恶意抹黑GrapheneOS,将其描述为专门服务于犯罪分子的系统,同时将用户群体污名化为"主要由犯罪分子组成”,本质上构成了对GrapheneOS项目的国家支持型捏造指控。
https://grapheneos.social/@GrapheneOS/114813613250805804
VPN use surges in UK as new online safety rules ki… #
https://news.ycombinator.com/item?id=44707618
Basically every new law, piece of news or media I see coming from the UK paints a picture of a beat-down, cynical & scared society that’s complacent to or in support of increasing surveillance and control by the government. Like maybe Adolescence or basically any mention of the NHS. The crimes they cite like child grooming or terrorism/hate being incited sound pretty terrible too, but I wonder why the UK specifically is taking action - is the issue bigger there, or are they just more aware of and willing to act on it.
zaptheimpaler
基本上,我每看到一个来自英国的新法律、新闻或媒体内容,其描绘出的社会图景总令人感觉压抑——这个社会充满了愤世嫉俗和焦虑,并且对政府日益增强的监控与管控要么漠然接受,要么默许支持。就像提到青少年或者是英国公共卫生服务(NHS)的事情时都是如此。他们所列举的诸如儿童性侵或通过煽动恐怖活动/仇恨犯罪等案例听起来确实令人不寒而栗,但我也一直在疑惑:为什么恰恰是英国率先采取措施?是因为相关问题在他们国家特别严重,还是仅仅因为他们对此更警觉并更愿意采取行动?
Show HN: Tinder but it’s only pictures of my wife … #
https://news.ycombinator.com/item?id=44669426
Downloaded the app and paid for premium. Still no wife. Devs pls fix.
impish9208
下载了这款应用并购买了高级订阅,结果还是没找到老婆。开发者麻烦快点修好。
4k NASA employees opt to leave agency through defe… #
https://news.ycombinator.com/item?id=44701607
I understand wanting to make the organization more efficient, but i don’t think this is what’s happening here. I think this is the classic republican strat of gutting federal agencies, pointing to the inefficiencies caused by the loss of institutional knowledge, and using that as an excuse to privatize to their friends.
The fact that Elon’s DOGE suggested these cuts lines up
samrus
我可以理解想要提高组织效率的愿望,但我认为在这里并没有实现这一点。我认为这是共和党惯用的策略:首先是削弱联邦机构,然后指出因专业知识流失造成的低效,再以此作为借口将其私有化给亲朋好友。
杨on 的DOGE(政府效率部)建议的这些裁员与这一事实相符。
Itch.io: Update on NSFW Content #
https://news.ycombinator.com/item?id=44668093
This is a deeply concerning development, though not an entirely surprising one. While I sympathize with itch.io’s position - being caught between their creators and their payment processors - the broader implications here are alarming.
Payment processors have effectively become unelected censorship boards with the power to strangle entire categories of legal content by threatening to cut off the economic infrastructure that platforms depend on. The fact that a single advocacy campaign can pressure Visa/Mastercard/PayPal into forcing platforms to remove legal adult content should concern anyone who values free expression online.
The fundamental issue isn’t whether you personally approve of adult games or specific content - it’s that a handful of payment companies now wield veto power over what legal content can exist in the digital economy. This represents a massive concentration of censorial authority in the hands of unaccountable corporate entities that face no meaningful democratic oversight.
We’ve seen this pattern repeatedly: PayPal blocking VPN providers over “piracy concerns,” Visa suspending payments to adult sites, and now this coordinated pressure campaign. Each time, legal content gets effectively banned not through legislation or courts, but through corporate policy decisions made behind closed doors.
By inserting themselves as moral arbiters for the digital economy and free expression on the internet, these processors are creating a very strong case for being designated as common carriers or being subjected to much stricter public utility regulation. When payment infrastructure becomes as essential as electricity or telephone service for participating in the digital economy, treating these companies as neutral utilities rather than editorial boards becomes not just reasonable but necessary.
sReinwald
这项发展令人深感担忧,尽管并不完全令人意外。虽然我理解并同情itch.io的处境——他们夹在创作者和支付处理器之间——但其中更广泛的含义还是令人警觉。
目前支付处理公司实际上已变成了未经选举的审查机构,通过威胁切断平台赖以生存的经济基础设施,从而可以随意扼杀整个类别的合法内容。一个简单的倡议活动就能逼得Visa、Mastercard和PayPal等公司将合法的成人内容在平台上强行移除,这将会对任何重视网络言论自由的人造成严重担忧。
关键问题并非您是否个人赞成成人游戏或特定内容,而是屈指可数的几家支付公司现在开始掌控着订定哪些合法内容能存在于数字经济中的话语权。这代表一股强大的审查权力集中在没有问责机制、没有实际有效的民主监管的商业实体手中。
每个案例都呈现出类似的模式:首先PayPal以“盗版问题”为由阻止多家VPN服务商交易;随后Visa暂停了成人类网站支付的处理;这一系列协调统一的施压行为,如今已经形成一个清晰的案例。在此过程,未曾通过法律或立法机关进行决策,仅凭支付公司背后会议室中制定的政策营营作为了典型的裁断合法内容存在的办法。
支付处理公司正在以互联网道德裁判者的身份介入数位经济及表达自由的领域。这在事实上形成强烈的争辩空间,亟需这些公司被判定为基础通信服务提供商,或受到更为严格的公共事业监管。当支付基建变得如同电力、电话服务对参与数字经济来说变得不可或缺时,将它们作为中立公用事业,而非内容审查编撰委员会的角色来对待,不仅合情合理,更是必不可少之举措。
Why MIT switched from Scheme to Python (2009) #
https://news.ycombinator.com/item?id=44687148
This story has been reposted many times, and I think GJS’s remarks (as recorded by Andy Wingo) are super-interesting as always, but this is really not a great account of “why MIT switched from Scheme to Python.”
Source: I worked with GJS (I also know Alexey and have met Andy Wingo), and I took 6.001, my current research still has us referring to SICP on a regular basis, and in 2006 Kaijen Hsiao and I were the TAs for what was basically the first offering of the class that quasi-replaced it (6.01) taught by Leslie Kaelbling, Hal Abelson, and Jacob White.
I would defer to lots of people who know the story better than me, but here’s my understanding of the history. When the MIT EECS intro curriculum was redesigned in the 1980s, there was a theory that an EECS education should start with four “deep dives” into the four “languages of engineering.” There were four 15-unit courses, each about one of these “languages”:
-
6.001: Structure and Interpretation of Computer Programs (the “procedural” language, led by Abelson and Sussman)
-
6.002: Circuits and Electronics (“structural” language)
-
6.003: Signals and Systems (“functional” language)
-
6.004: Computation Structures (“architectural” language)
These were intellectually deep classes, although there was pain in them, and they weren’t universally beloved. 6.001 wasn’t really about Scheme; I think a lot of the point of using Scheme (as I understood it) is that the language is so minimalist and so beautiful that even this first intro course can be about fundamental concepts of computer science without getting distracted by the language. This intro sequence lasted until the mid-2000s, when enrollment in EECS (“Course 6”) declined after the dot-com crash, and (as would be expected, and I think particularly worrisome) the enrollment drop was greater among demographic groups that EECS was eager to retain. My understanding circa 2005 is that there was a view that EECS had broadened in its applications, and that beginning the curriculum with four “deep dives” was offputting to students who might not be as sure that they wanted to pursue EECS and might not be aware of all the cool places they could go with that education (e.g. to robotics, graphics, biomedical applications, genomics, computer vision, NLP, systems, databases, visualization, networking, HCI, …).
I wasn’t in the room where these decisions were made, and I bet there were multiple motivations for these changes, but I understood that was part of the thinking. As a result, the EECS curriculum was redesigned circa 2005-7 to de-emphasize the four 15-unit “deep dives” and replace them with two 12-unit survey courses, each one a survey of a bunch of cool places that EECS could go. The “6.01” course (led by Kaelbling, Abelson, and White) was about robots, control, sensing, statistics, probabilistic inference, etc., and students did projects where the robot drove around a maze (starting from an unknown position) and sensed the walls with little sonar sensors and did Bayesian inference to figure out its structure and where it was. The “6.02” course was about communication, information, compression, networking, etc., and eventually the students were supposed to each get a software radio and build a Wi-Fi-like system (the software radios proved difficult and, much later, I helped make this an acoustic modem project).
The goal of these classes (as I understood) was to expose students to a broad range of all the cool stuff that EECS could do and to let them get there sooner (e.g. two classes instead of four) – keep in mind this was in the wake of the dot-com crash when a lot of people were telling students that if they majored in computer science, they were going to end up programming for an insurance company at a cubicle farm before their job was inevitably outsourced to a low-cost-of-living country.
6.01 used Python, but in a very different way than 6.001 “used” Scheme – my recollection is that the programming work in 6.01 (at least circa 2006) was minimal and was only to, e.g., implement short programs that drove the robot and averaged readings from its sonar sensors and made steering decisions or inferred the robot location. It was nothing like the big programming projects in 6.001 (the OOP virtual world, the metacircular evaluator, etc.).
So I don’t think it really captures it to say that MIT “switched from Scheme to Python” – I think the MIT EECS intro sequence switched from four deep-dive classes to two survey ones, and while the first “deep dive” course (6.001) had included a lot of programming, the first of the new survey courses only had students write pretty small programs (e.g. “drive the robot and maintain equal distance between the two walls”) where the simplest thing was to use a scripting language where the small amount of necessary information can be taught by example. But it’s not like the students learned Python in that class.
My (less present) understanding is that >a decade after this 2006-era curricular change, the department has largely deprecated the idea of an EECS core curriculum, and MIT CS undergrads now go through something closer to a conventional CS0/CS1 sequence, similar to other CS departments around the country ( https://www.eecs.mit.edu/changes-to-6-100a-b-l/ ). But all of that is long after the change that Sussman and Wingo are talking about here.
keithwinstein
这个故事已经被多次重发,我认为GJS的评论(由Andy Wingo记录)一如既往非常有趣,但这并不是讲述“MIT为何从Scheme改为Python”的很好的来源。
来源:我曾经与GJS合作过(我也认识Alexey,且见过Andy Wingo),我上过课程6.001,目前我的研究工作仍然经常参考《计算机程序的构造和解释》(SICP),而2006年时我和Kaijen Hsiao一起撰起了6.01这门课程,它基本上可以说是对原来的课程6.001的替代性试讲。(课程6.01)由Leslie Kaelbling、Hal Abelson和Jacob White共同教授。
我会推荐许多比我更了解这段历史的人去做评论,但根据我的理解,二十世纪八十年代MIT的EECS入门课程被重新设计时,曾经有一种理论,认为EECS教育应该以四个“深入探索”形式开始,探究“工程的四种语言”。当时设置了四门每门15学分的课程,分别聚焦于以下“语言”:
- 6.001:计算机程序的结构与解释(“过程机制”语言,由Abelson和Sussman主讲)。
- 6.002:电路与电子器件(“结构语言”)。
- 6.003:信号与系统(“功能机制”语言)。
- 6.004:计算结构(“架构语言”)。
这些课程讲述了深刻的知识内容,尽管内容有一定难度,且并非所有学生都喜欢,其中6.001并不是一门仅仅关于Scheme的课程。我认为采用Scheme的初衷(如我所理解的那样)是为了利用这种语言极简主义却又优美的特性,使即便是第一个入门课程也能够专注于计算机科学的基本概念,而不至于分散注意力去学习语言结构上。
这种课程安排持续到2000年代中期,在dot-com泡沫破裂后,EECS(课程6)的报名人数减少了,而更为严重的这种下降发生在MIT希望继续吸引的几个不同学生群体中。据2005年左右的传闻,MIT开始整体调研EECS专业,认为该专业顺应了多方位发展的格局,而以四个“深入探索”作为入门的准备,反而会让那些对是否要攻读EECS尚存疑虑的学生或者对此专业能带来的广泛领域不够了解的学生望而却步(比如机器人、图形、生物医学应用、基因组学、计算机视觉、自然语言处理、系统工程、数据库、可视化、网络、人机交互等等)。
我没有参与这些具体决策的会议,我也确信很多动力推动了课程改革,但我理解的背景就是如此。因此,在2005-2007年间,MIT重新设计了EECS的课程结构,从原本的四门深度课程改成了两个涵盖更广泛内容的课程,每门12个学分。课程6.01(由Kaelbling、Abelson和White主导)涵盖了机器人、控制、传感器、统计学、概率推断等领域,课程内容是让学生设计一个例如机器人穿越未知位置的迷宫,利用小的声纳传感器识别墙壁并运用贝叶斯推理来识别迷宫结构和机器人自身位置等项目。而课程6.02则重点放在了通信、信息处理、压缩编码、网络等主题,最终,学生计划在此课程中获得软件无线电设备并构建一个Wi-Fi式系统(而后来使用的软件无线电设备在课程难度上被证明是很复杂的,并在很长时间后,我参与将这一模块调整为声学调制解调器的项目)。
我的理解是,引入6.01这门课程的目标是让学生们尽早接触到EECS领域关乎众多的酷炫方面(比如两个课程代替原来的四个课程)。当然,需要注意到这种调整发生在dot-com泡沫破裂后,当时的很多学生被告知,如果他们主修计算机科学,很可能会在收割了高成本低效率生活的员工福利后,被安排到某个养老指数保险公司,在办公室格子间里编程,而这份工作无疑会被切换至一个生活成本低的国家了。
6.01课程使用了Python,但这与6.001课程曾“使用”过的Scheme是一种完全不同的方式。我闭目回想6.01在2006年左右的编程工作,当时学生的工作量相对比较少,他们是编写如“驱动机器人并在刚能保持两个墙面间等距移动”等小型程序,而由于这样较为简单的编程需求,教学上通过示例可以便捷地教到学生足够的信息量,因此Python通常更适合作为脚本语言。然而,学生并没有机会在此课程中系统地学习Python本身。
据我后来逐步听说的,比发生在2006年的这轮课程改革更多的是(课程改革背后更大的调整),差不多十年之后,这门课削减了很多EECS的核心课程理念,如今MIT的计算机科学专业学生所上的课程已趋近于标准的CS0/CS1课程序列,和其他美国国内的计算机科学系差不多(https://www.eecs.mit.edu/changes-to-6-100a-b-l/)。但这一切都发生在Sussman与Wingo所提及的课程调整很久之后了。
Visa and Mastercard: The global payment duopoly (2… #
https://news.ycombinator.com/item?id=44677016
Brazil central bank introduced Pix a few years ago. It took over the country as the public basic infrastructure for money transfer. Totally free and instantaneous transactions between people and companies, available to all banks.
Then, just last week, the US presidency launched an investigation considering Pix an unfair trade practice against the US.
Actions like that may show the current direction of the US government is aligned on preserving status quo. But still, I wonder how impactful a public digital infrastructure for the dollar would be.
mzitelli
几年前,巴西中央银行推出了Pix。它迅速在全巴西普及,成为银行间钱款划转的重要公共基础设 施。所有银行间的个人和企业交易,都是完全免费的,且即时完成。
就在上周,美国总统府还发起了一项调查,将Pix视为针对美国的不公正贸易行为。类似的行为显示,美国政府当前的立场似乎是维持现有秩序。然而,我还是很好奇,如果美国有为全国民众和企业服务且数字化的公共基础金融设施,这种基础设施对美元的影响将会有多深远?
Do not download the app, use the website #
https://news.ycombinator.com/item?id=44691882
At AutoTempest we resisted making an app for years, because anything that a hypothetical app could do, we could do with the website. And in my opinion, when searching for cars, it’s more convenient to be in your browser where you can easily open new tabs, bookmark results, etc.
And for years, it was our most requested feature, by far. We had instructions for how to pin the site to your home screen, and would explain to users how the website does everything an app can do. Still, constant requests for an app. Finally we relented and released one, and very quickly around half our mobile traffic moved to the app without us really trying to nudge people at all.
People just really like apps! I think it suits our mental model of different tools for different uses. We’ve also found that app users are much more engaged than website users, but of course much of that will be selection bias. Still, I can see how having your app on someone’s home screen could provide a significant boost to retention, compared to a website they’re liable to forget. For us now, that’s the main benefit we see. Certainly don’t use any additional data, though I won’t argue that other companies don’t.
tempestn
在AutoTempest,我们好几年都拒绝开发应用程序,因为我们认为网站已经能够完成所有假设的应用功能。而且在我看来,寻找车辆时,使用浏览器更方便,可以轻松地打开新标签页,收藏搜索结果等。
然而,多年以来,用户对应用的强烈需求始终是我们收到的呼声最高的功能,远超其他需求。我们曾指导用户如何将网站设置为主屏幕快捷方式,并向他们解释网站可以实现与应用程序相同的所有功能。即便如此,用户不断要求开发应用。最终我们让步并发布了应用,而且在几乎没有任何引导的情况下,很快大约有一半的移动流量转向了我们的应用。
人们真的很喜欢应用程序!我认为这符合我们出于不同用途而使用不同工具的心理模型。我们还发现,相对于网站用户,应用用户的参与度要高得多,但这显然也存在选择偏差。即便如此,我依然理解对我们而言,大多数人主屏幕中拥有我们的应用图标相比容易被忽视的网站,对提升用户留存率可能带来显著的好处。目前看来,这正是我们所获取的最大好处。当然,我们并没有向用户推广使用额外的数据追踪,尽管我不会否认其他公司这么做了。
Google’s shortened goo.gl links will stop working … #
https://news.ycombinator.com/item?id=44683928
About 60k academic citations about to die - https://scholar.google.com/scholar?start=90&q=%22https://goo.gl/%22&hl=en&as_sdt=0,5
Countless books with irrevocably broken references - https://www.google.com/search?q=%22://goo.gl%22&sca_upv=1&sca_upv=1&tbs=cdr:1,cd_min:2010,cd_max:2024,bkt:b&tbm=bks
And for what? The cost of keeping a few TB online and a little bit of CPU power?
An absolute act of cultural vandalism.
edent
大约60000条学术引用即将失效 —— https://scholar.google.com/scholar?start=90&q=%22https://goo.gl/%22&hl=en&as_sdt=0,5
无数书籍中被永久损坏的参考文献 —— https://www.google.com/search?q=%22://goo.gl%22&sca_upv=1&sca_upv=1&tbs=cdr:1,cd_min:2010,cd_max:2024,bkt:b&tbm=bks 这些都是为了什么呢?将几个TB的内容保持在线和一点点CPU资源,需要付出这么大的代价吗?
这简直就是一种文化上的破坏行为。
Show HN: Tinder but it’s only pictures of my wife … #
https://news.ycombinator.com/item?id=44667831
This is great.
I set it up and was conspicuously swiping in bed. My wife is all hey, what are you doing? I’m all nothing.. put the phone down on the dresser.
No, let me see your phone etc. I relent, she opens the app with sulphur smoldering in her nostrils lol, then she starts poking around, and we have been having a really great night since.
K0balt
这真的很棒。
我刚刚装好这个应用,就很明显在自己床上滑来滑去,老婆立刻问:“嘿,你在干嘛?”我回答说:“没事的。”然后把手机放到梳妆台上。
“不行,我要看看你的手机什么”。我只好让步,她打开手机时气得鼻子里仿佛闻着了硫磺味(哈哈),然后开始到处乱点,从此后的夜晚我们相处得特别好。
The future is not self-hosted #
https://news.ycombinator.com/item?id=44687266
Self-hosting isn’t just about tech choices — it’s about who controls access to knowledge.
During the Enlightenment, owning a physical copy of a book meant intellectual freedom. You didn’t rent ideas; you had them. Today, most digital knowledge is hosted, locked, or streamed — leased from platforms, not owned. We’re in fact drifting into digital feudalism, where access to culture, tools, and even history depends on gatekeepers.
In a perfect world this should go beyond market logic. It’s not just a question of what’s sustainable or profitable. It’s about civic autonomy. If the infrastructure of knowledge is centralized, then so is control over thought.
Self-hosting may not be for everyone, but distributed, open systems are essential to preserving a democratic and durable digital commons.
voxleone
自托管不仅仅是关于技术选择,而是关于谁掌握着知识的访问权。
在启蒙时代,拥有纸质书籍的实体副本意味着思想的自由。你不会租用想法,而是拥有它们。如今,大多数数字知识被托管、锁定或以流媒体形式存在——即从平台租赁,而非真正拥有。事实上,我们正在逐渐步入一种数字封建主义,在其中,通往文化、工具甚至历史的渠道都依赖于若干守门人。
在理想的世界中,这种情况应该超越市场逻辑。这并非只是可持续性或盈利性的问题,而是公民自主权的问题。如果知识的基础设施是集中的,那么对思想的控制也同样是集中的。
虽然自托管可能并非适合每个人,但分布式的开放系统对于维护数字公共空间的民主性与持久性却是至关重要的。
EU age verification app to ban any Android system … #
https://news.ycombinator.com/item?id=44705507
In the case of Android, genuine means:
The operating system was licensed by Google The app was downloaded from the Play Store (thus requiring a Google account) Device security checks have passed While there is value to verify device security, this strongly ties the app to many Google properties and services, because those checks won’t pass on an aftermarket Android OS
The issue is being raised here: https://github.com/eu-digital-identity-wallet/av-app-android-wallet-ui/issues/10
I would like to strongly urge to abandon this plan. Requiring a dependency on American tech giants for age verification further deepens the EU’s dependency on America and the USA’s control over the internet. Especially in the current political climate I hope I do not have to explain how undesirable and dangerous that is. As a resident of the aforementioned political climate, I find their concerns to be reasonable.
There are a number of comments in that same thread that indicate a mandate to utilize Google services may run afoul of EU member nations' integrity and privacy laws.
WarOnPrivacy
对于Android系统而言,“官方”意味着以下三点:
- 操作系统获得Google授权;
- 应用程序必须从Google Play商店下载(因此需要Google账户);
- 设备已通过安全检查。
虽然验证设备安全性本身具有一定价值,但这种做法会将应用深度绑定到谷歌的多个服务和生态系统上,因为在使用非官方Android系统的情况下,这些检查往往无法通过。
相关议题可以通过以下链接访问:https://github.com/eu-digital-identity-wallet/av-app-android-wallet-ui/issues/10
我强烈敦促应放弃这一计划。要求在年龄验证系统中依赖美国科技巨头,将会进一步加深欧盟对美国的依赖,并强化美国对互联网的控制。在当前的政治局势下,我无需多言就能说明这种做法是多么令人不齿且危险。作为上述政治局势下的一名居民,我认为他们的担忧是完全有道理的。
在同一个话题下,已有不少评论指出强制使用谷歌服务或许会违反欧盟成员国的主权与隐私保护法律。
It’s time for modern CSS to kill the SPA #
https://news.ycombinator.com/item?id=44688842
SPAs make sense when your users have long sessions in your app. When it is worth the pain to load a large bundle in exchange for having really small network requests after the load.
Smooth transitions are a nice side effect, but not the reason for an SPA. The core argument of the article, that client-side routing is a solution for page transitions, is a complete misunderstanding of what problems SPAs solve. So absolutely, if you shared that misunderstanding of SPAs and used them to solve the wrong problem, this article is 100% correct.
But SPAs came about in the days of jQuery, not React. You’d have a complex app, and load up a giant pile of jQuery spaghetti, which would then treat each div of your app is its own little mini-app, with lots of small network requests keeping everything in sync. It solved a real problem, of not wanting to reload all that code every time a user on an old browser, with a slow connection, changed some data. jQuery made it feasible to do SPAs instead.
Later, React and other frameworks made it less spaghetti-like. And it really took off. Often, for sketchy reasons. But the strongest argument for SPAs remains using them as a solution to provide a single-load of a large code bundle, that can be cached, to provide minimal network traffic subsequent to the load when the expected session time of a user is long enough to be worth the trouble of the complexity of an SPA.
codingdave
当用户在您的应用程序中进行长时间会话(长时间使用)时,单页应用(SPA)才有意义。在加载完大体积代码包之后,通过 SPA 可以实现后续网络请求非常小这个交换价值也值得承受。
流畅的页面转换虽然是个不错的副作用,但不是 SPA 存在的原因。文章的核心观点(即客户端路由是解决页面切换问题的方案),完全误解了单页应用要解决的问题。因此,如果读者你恰好也是这样误解了 SPA 的价值并试图解决错误问题,那么这篇文章的说法确实完全正确。
但最初出现单页应用是在 jQuery 时代,而不是 React 时期。那时你可能会需要构建一个复杂的应用,把大量臃肿混乱的 jQuery 代码桥接在一起,每一块 div 就像一个微小的独立应用,然后通过很多小的网络请求来维持内容同步。这样的设计解决了真实的问题:在老旧浏览器和连接缓慢环境下,用户每次修改数据时不想频繁加载整个应用的代码。jQuery 让实现这样的 SPA 变得可行起来。
随后,React 和其他框架的出现让 SPA 的开发不再像过去那样混乱。而且 SPA 逐渐真正流行开来,有时候还基于各种表象理由。但至今为止,最初的 SPA 被采用的核心论点仍然是:通过初始加载一个较大体积的代码包,它可以被缓存,从而让鲜少的后续请求在网络流量上变得更轻,前提是用户的预期会话时间足够长,足以经受住构建这个复杂应用所付出的代价。
What went wrong for Yahoo #
https://news.ycombinator.com/item?id=44696197
In 1998, Yahoo turned down the opportunity to acquire Google for $1 million. Yahoo made six acquisitions that year, spending $107.3 million.
In 2002, Google offered to sell again for $1 billion. Yahoo hesitated and Google raised its price to $3 billion. Yahoo declined at the higher price. Google went on to become a trillion dollar company.
Yahoo attempted to acquire Facebook for $1 billion in 2006, but Mark Zuckerberg turned down the offer. Had Yahoo increased its offer by just $100 million, Facebook’s board would have forced Zuckerberg to take it. Facebook also became a trillion dollar company.
In inclined to believe that neither would have become trillion dollar companies if they had been acquired by Yahoo.
thunderbong
1998年,雅虎错过了以100万美元收购谷歌的机会;那一年雅虎共完成了六次收购,花费了1.073亿美元。
2002年,谷歌再度表示愿意以10亿美元出售,但雅虎犹豫不决。随后谷歌将价位上调至30亿美元。最终雅虎拒绝了更高的报价,而谷歌最终发展为一家万亿美元规模的企业。
2006年,雅虎曾试图以10亿美元价格收购脸书,却被马克·扎克伯格拒绝。如果当时雅虎能将报价再提高1亿美元,脸书的董事会会迫使其董事会成员马克·扎克伯格接受这笔交易;然而,脸书后来也成长为了一家万亿美元企业。
我倾向于认为,如果这些公司在当时被雅虎收购,它们中的任何一家都不会发展成为万亿美元的企业。
Windsurf employee #2: I was given a payout of only… #
https://news.ycombinator.com/item?id=44687627
Engineers: always negotiate for higher base salaries. In the vast majority of cases—especially during acquihires—your equity will be worth little or nothing. Founders and VCs still get paid; employees rarely do.
Don’t just accept promises. Ask for the 409A valuation, liquidation preferences, and pay bands. If a company won’t provide transparency, that’s your signal.
Equity is a lottery ticket. Salary is money in the bank.
stan_kirdey
工程师们:在大多数情况下,尤其是在人才收购时,请始终为更高的基本工资而谈判。你的股权通常几乎一文不值。创始人和风投基金仍然能获得报酬,而员工通常却无法获得补偿。
不要只接受口头承诺。要询问公司409A估值、清算优先权和薪资范围。如果公司不愿意提供透明信息,那就是你的警示信号。
股权就像是彩票,薪资才是存入银行的钱。
Debian switches to 64-bit time for everything #
https://news.ycombinator.com/item?id=44709887
Celebrate 100 years since complete ipv6 adoption.
zaik
庆祝IPv6全面采用100周年。
AI overviews cause massive drop in search clicks #
https://news.ycombinator.com/item?id=44667666
Here is the experience when clicking a link on mobile:
-
Page loads, immediately when I start scrolling and reading a popup trying to get tracking consent
-
If I am lucky, there is a “necessary only”. When unlucky I need to click “manage options” and first see how to reject all tracking
-
There is a sticky banner on top/bottom taking 20-30% of my screen upselling me a subscription or asking me to install their app. Upon pressing the tiny X in the corner it takes 1-2 seconds to close or multiple presses as I am either missing the x or because there is a network roundtrip
-
I scroll down a screen and get a popup overlay asking me to signup for their service or newsleter, again messing with the x to close
-
video or other flashy adds in the content keep bugging me
This is btw. usually all before I even established if the content is what I was looking for, or is at any way useful to me (often it is not).
If you use AI or Kagi summarizr, you get ad-free, well-formatted content without any annoyance.
littlecranky67
这是移动设备上点击链接的体验:
-
页面加载后,我刚一开始滚动阅读,就会跳出一个弹窗试图获取我的追踪授权。
-
有时总会有一个"仅必要选项”(If I am lucky, there is a “necessary only”),但更常见的是需要点击"管理选项"按钮,优先找到如何拒绝所有追踪的选项。
-
顶栏或底栏有个占屏幕20%-30%的浮动延伸横幅,正热情地向我推荐订阅服务或提示安装他们的APP。当我碰到通过点击角落的小X来关闭这个横幅时,往往要等待1-2秒才能消除,或者必须多次点击:要么是误触,要么是服务器网络延迟问题。
-
当我在页面上滚动看下去时,又一个弹窗会霸占屏幕——这次是逼我注册他们的服务或新闻通讯,围绕关闭的X又打翻五味杂陈。
-
更甭提内容当中时不时穿插的视频或其他各种跳眼的广告,总在刁钻地干扰我。
几乎在我确认网站内容究竟是否确实有用(很通常是没用的)之前,就被上述种种打扰了。但如果你使用人工智能(AI)或Kagi Summarizer的话,终将获得精心剔除广告后排版优良的内容体验。