8天前
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20250810
哈喽大家好!今天这份日报信息量超大,绝对让你大呼过瘾!从AI安全漏洞到快速克隆网站的工具,再到经典硬件的CT扫描,内容涵盖了软件、硬件和安全等多个领域。想知道如何用免费AI工具高效Debug?OpenAI模型训练数据里藏着什么秘密?还有成人网站如何偷偷在Facebook刷赞?赶紧点进来,一起探索科技圈的最新动态,绝对让你脑洞大开,收获满满!

---
## "Try and": 北美英语中的语法多样性现象
本文探讨了“try and”结构在英语语法中的特殊地位,尤其是在北美英语中的使用情况。虽然在传统语法规则中被认为是错误的,但“try and”结构在口语和书面语中都非常常见,并且具有一些独特的句法属性,使其与真正的并列结构区分开来。
文章首先指出,“try”通常可以与名词短语、带“to”的动词不定式或带“-ing”的动词短语连用。然而,“try and”结构,即“try”后接连词“and”和一个不带词形变化的动词,也十分常见,例如“I’ll try and eat the salad”。尽管意思与“try to”非常相似,但这种用法常被认为是“不规范”的。
文章随后深入分析了“try and”的句法特性,并将其与真正的并列结构进行对比。例如,在“try and”结构中,疑问词可以被提取出来,而真正的并列结构则不允许;“try and”结构中的两个动词不能互换位置;“both”不能用于修饰“try and”结构。此外,“try and”结构通常要求“try”和后面的动词都采用原形,但某些方言中,这一规则有所松动。文章还提到,“try”和“and”之间不能插入副词或否定词,且“try and”结构不能省略后面的动词短语。
除了“try and”,文章还列举了其他类似的伪并列结构,例如“be sure and”、“mind and”、“start and”、“remember and”,以及与移动动词如“come”和“go”的连用。文章最后指出,移动动词的伪并列结构与“try and”结构在句法和语义上存在差异。例如,移动动词的伪并列结构不受原形动词的限制,并且带有事件已完成的含义。总的来说,这篇文章深入探讨了“try and”这一有趣的语法现象,揭示了语言的多样性和复杂性。
- 原文: [Try and](https://ygdp.yale.edu/phenomena/try-and)
- Hacker News: [https://news.ycombinator.com/item?id=44855079](https://news.ycombinator.com/item?id=44855079)
- 作者: treetalker
- 评分: 57
- 评论数: 24
- 发布时间: 2025-08-10 21:32:13
---
## 深入解析 OS/2 操作系统:多任务处理与系统服务
本文深入探讨了 Microsoft 在 1987 年推出的操作系统 OS/2,分析了其在 Intel 80286/80386 微型计算机上的潜在应用,以及它如何通过多任务处理能力、全面的应用程序编程接口 (API) 和可扩展性来适应未来的硬件发展。文章重点介绍了 OS/2 的系统服务,旨在帮助开发者了解 OS/2 的优势,并探索其提供的机会。
文章详细介绍了 OS/2 的软件开发工具包 (SDK),它包含 OS/2 内核和系统服务、Windows Presentation Manager (WPM) 以及 OS/2 LAN Manager 三个主要层次。文章侧重于 OS/2 内核,并基于 OS/2 SDK 的第一个 beta 测试版本进行分析。OS/2 基于抢占式调度器,允许用户同时运行多个应用程序和实用程序,而无需特殊的接口。开发者可以通过 OS/2 API 使用 C 等编程语言,充分利用 OS/2 的多任务处理能力。
文章还阐述了 OS/2 的动态链接 (dyn-link) 库的优势,包括节省磁盘空间、共享代码、以及在不修改应用程序的情况下支持未来硬件的能力。OS/2 可以在保护模式和实模式下运行,分别用于多任务处理和运行 MS-DOS 应用程序。为了方便用户迁移到新的多任务系统,OS/2 允许用户同时运行 MS-DOS 应用程序和 OS/2 多任务应用程序。文章还介绍了屏幕组的概念,它是一种逻辑划分,方便用户利用多任务处理,并管理和组织不同的应用程序。屏幕组由会话管理器控制,允许用户调用新的保护模式命令处理器和单个 MS-DOS 会话。
- 原文: [Inside OS/2 (1987)](https://gitpi.us/article-archive/inside-os2/)
- Hacker News: [https://news.ycombinator.com/item?id=44854989](https://news.ycombinator.com/item?id=44854989)
- 作者: rbanffy
- 评分: 44
- 评论数: 15
- 发布时间: 2025-08-10 21:15:33
---
## 在 Ampere One 192 核处理器上启动 5000 个 Erlang 实例
这篇文章主要介绍了如何在一台配备 Ampere One 192 核处理器和 1TB 内存的服务器上,利用 KVM 虚拟化技术,成功运行 5000 个 Erlang 虚拟机实例。目标是尽可能多地运行基于 Nerves 框架的虚拟 Linux IoT 设备。
文章详细介绍了实现这一目标的关键技术和步骤。首先,作者介绍了 Nerves 框架,它将 BEAM 虚拟机视为操作系统,并利用 Linux 作为内核和驱动程序。其次,重点介绍了 Frank Hunleth 开发的 `little_loader` 引导加载程序,它简化了 ARM64 qemu 设备的启动过程,并支持 Nerves 的 A/B 升级功能。`little_loader` 的代码简洁易懂,对于学习 ARM64 启动过程和 qemu 原理非常有价值。
此外,文章还分享了使用 KVM 加速虚拟机的经验,包括避免进入 EL2 模式,以及解决编译问题。通过使用 KVM,虚拟机启动速度大幅提升,内存占用也显著降低。文章还展示了用于运行虚拟机的 qemu 命令,并解释了每个参数的含义,例如指定机器类型、加速器、CPU 类型、内存大小、网络设备和磁盘镜像等。最后,文章介绍了如何使用 `fwup` 工具生成包含完整 Nerves 系统的磁盘镜像文件,包括 uboot 环境、Linux 内核和根文件系统等。
文章还提到了一个 hacky 项目 [amproj](https://github.com/lawik/amproj),其中包含用于运行这些虚拟机的代码。这个项目可以作为参考,帮助读者了解如何在实际环境中部署和管理大量的 Erlang 虚拟机实例。
- 原文: [Booting 5000 Erlangs on Ampere One 192-core](https://underjord.io/booting-5000-erlangs-on-ampere-one.html)
- Hacker News: [https://news.ycombinator.com/item?id=44854525](https://news.ycombinator.com/item?id=44854525)
- 作者: ingve
- 评分: 61
- 评论数: 1
- 发布时间: 2025-08-10 19:41:34
---
## 为 Bash 和 Zsh 编写简单的 Tab 自动补全
本文介绍了如何为你的命令行工具编写 Tab 自动补全功能,使其同时兼容 Bash 和 Zsh,并提供友好的 completion descriptions。文章以 Mill 构建工具为例,展示了如何在两种 shell 环境下实现一致且功能丰富的自动补全体验。
文章首先介绍了 Bash 和 Zsh 中 Tab 自动补全的基本原理,即注册一个处理函数,该函数在用户按下 `<TAB>` 键时被调用。这个函数接收当前输入的单词和光标位置,然后生成一个可能的补全列表并返回给 shell。文章提供了一个简单的示例,展示了如何创建一个名为 `_generate_foo_completions` 的函数来生成补全列表,以及如何分别使用 `_complete_foo_bash` 和 `_complete_foo_zsh` 函数将这些补全列表与 Bash 和 Zsh 的补全 API 关联起来。
随后,文章介绍了如何为 Zsh 实现 completion descriptions 功能。为了实现这一点,`_generate_foo_completions` 函数需要生成一个包含补全和描述的字符串数组。Bash 默认不支持 completion descriptions,因此在 Bash 中需要将描述信息去除。而在 Zsh 中,可以将包含补全和描述的原始字符串数组以及去除描述后的补全字符串数组同时传递给 `compadd -d raw -- $trimmed` 函数,从而实现带有描述信息的自动补全。
文章还提到了 Mill 构建工具提供了一个 `./mill mill.tabcomplete/install` 内置命令,可以自动更新 `.bashrc`、`.zshrc` 等文件,并提示用户重启 shell 或 `source` 相关脚本以启用自动补全功能。
总而言之,这篇文章提供了一个清晰易懂的指南,帮助开发者为自己的命令行工具添加跨平台、带有描述信息的 Tab 自动补全功能。通过学习本文,开发者可以为用户提供更加便捷和友好的命令行体验。
- 原文: [Writing simple tab-completions for Bash and Zsh](https://mill-build.org/blog/14-bash-zsh-completion.html)
- Hacker News: [https://news.ycombinator.com/item?id=44854035](https://news.ycombinator.com/item?id=44854035)
- 作者: lihaoyi
- 评分: 135
- 评论数: 44
- 发布时间: 2025-08-10 17:50:25
---
## MCP:一个意外的通用插件系统
这篇文章探讨了 Model Context Protocol (MCP) 的潜在用途,指出它不仅仅是为 AI 提供上下文,更可能成为一个通用的插件系统。作者认为,MCP 的设计使其能够连接各种数据源和工具,即使没有 AI 的参与。
文章的核心观点是,MCP 就像 USB-C 一样,提供了一个可能性空间,允许不同的功能和服务互相连接,而无需事先规划。作者用生动的例子,比如 USB-C 连接烤面包机和显示器,以及 NFT 将数据直接嵌入指针,来类比 MCP 的灵活性和创造性应用。文章还提到,随着更多人为 AI 构建 MCP 服务器,所有应用程序都可以从中受益,无需编写特定的代码,这就像一个功能性的“百乐餐”,每个人都可以贡献自己的“菜肴”。作者还介绍了他们正在开发的 APM (Actions Per Minute) 应用,它利用 MCP 作为插件系统,可以根据连接的 MCP 服务器实现各种功能,例如拼写检查或自动订购咖啡。最后,作者强调了伟大协议的演变,例如 HTTP、蓝牙和 USB,它们最初的用途与现在的应用大相径庭,并认为 MCP 也可能超越其最初的 AI 上下文目标,成为连接各种事物的通用协议。
评论区中,一位用户 @shredprez 询问是否有人使用过 Basement 的 typed xmcp 框架,并分享了自己实现 MCP 服务器的经验,希望避免迁移到不再维护的项目。另一位用户 @eitland 提出了一个问题,即公司何时会开始关闭这个“漏洞”,暗示了对 MCP 潜在滥用或被限制的担忧。
- 原文: [MCP: An (Accidentally) Universal Plugin System](https://worksonmymachine.ai/p/mcp-an-accidentally-universal-plugin)
- Hacker News: [https://news.ycombinator.com/item?id=44854860](https://news.ycombinator.com/item?id=44854860)
- 作者: azhenley
- 评分: 27
- 评论数: 5
- 发布时间: 2025-08-10 20:53:27
---
## 使用 Open Lovable 快速克隆网站为 React 应用
Open Lovable 是一个 GitHub 上的开源项目,它能让你在几秒钟内将任何网站克隆并转换为现代 React 应用程序。这个工具对于开发者来说非常实用,可以快速地将现有网站转换为 React 项目,方便进行二次开发和定制。
这个项目的核心功能在于其能够自动化地抓取目标网站的 HTML、CSS 和 JavaScript 代码,并将其转换为 React 组件。这意味着开发者无需手动编写大量的代码,就可以快速地创建一个功能完善的 React 应用。此外,Open Lovable 还支持自定义配置,允许开发者根据自己的需求调整转换过程,例如选择需要转换的元素、修改样式和添加新的功能。它使用 MIT 许可证,可以免费使用和修改。目前该项目在 GitHub 上已经获得了 1.8k 的 star 和 460 个 fork,说明其受欢迎程度。
这个工具简化了网站迁移和重构的过程,让开发者可以更专注于业务逻辑和用户体验的优化。如果你需要将一个现有的网站转换为 React 应用,或者想要快速地创建一个基于现有网站的 React 项目,那么 Open Lovable 绝对值得尝试。
- 原文: [Open Lovable](https://github.com/mendableai/open-lovable)
- Hacker News: [https://news.ycombinator.com/item?id=44854120](https://news.ycombinator.com/item?id=44854120)
- 作者: iamflimflam1
- 评分: 63
- 评论数: 15
- 发布时间: 2025-08-10 18:10:54
---
## 使用 Abogen 将文本转换为有声读物并同步字幕
Abogen 是一款可以将 EPUB、PDF 或文本文件转换为高质量音频并同步字幕的工具,它利用 Kokoro-82M 模型,能生成自然流畅的语音。无论是制作有声读物,还是为 Instagram、YouTube 或 TikTok 视频配音,Abogen 都能快速完成任务。
Abogen 的安装非常简单,支持 Windows、Mac 和 Linux 系统。在 Windows 上,可以选择使用脚本自动安装所有依赖项,或者使用 pip 手动安装。Mac 和 Linux 系统则需要先安装 espeak-ng,再通过 pip 安装 Abogen。对于 NVIDIA 显卡,可以直接安装;对于 AMD 显卡,Linux 系统支持 ROCm,但 Windows 暂不支持。安装完成后,只需运行 `abogen` 命令即可启动。
使用 Abogen 非常直观,只需将 EPUB、PDF 或文本文件拖放到界面中,然后配置语音速度、选择声音(或使用声音混合器创建自定义声音)、选择字幕生成样式和输出格式,最后点击“开始”即可。Abogen 支持多种输出格式,包括 WAV、FLAC、MP3、OPUS 和 M4B,字幕格式则支持 SRT 和 ASS。此外,Abogen 还提供了一些高级选项,例如批量处理文件、选择特定章节和将每个章节保存为单独的音频文件。
Abogen 的速度非常快,在配备 RTX 2060 Mobile 笔记本电脑 GPU 的情况下,只需 11 秒即可将 3000 个字符的文本转换为 3 分 28 秒的音频。总的来说,Abogen 是一款功能强大、易于使用的文本转语音工具,可以帮助用户快速创建高质量的有声读物和视频配音。
- 原文: [Abogen – Generate audiobooks from EPUBs, PDFs and text](https://github.com/denizsafak/abogen)
- Hacker News: [https://news.ycombinator.com/item?id=44853064](https://news.ycombinator.com/item?id=44853064)
- 作者: mzehrer
- 评分: 203
- 评论数: 46
- 发布时间: 2025-08-10 13:56:14
---
## 使用免费 AI 工具进行代码调试和准备
本文介绍了如何利用免费的 AI 工具,结合 AI Code Prep 工具,高效地进行代码调试和准备工作,尤其适合预算有限的开发者。文章强调了在浏览器中同时打开多个免费 AI 模型的标签页,例如 z.ai 的 GLM 4.5、Kimi K2、Qwen3 Coder、OpenAI Playground、Google Gemini AI Studio 等,以便从不同角度获取解决方案。
文章指出,直接使用 AI 模型的网页聊天界面通常比通过 IDE 或代理框架(如 Cline、Copilot)解决问题更有效。这是因为代理框架会向 AI 发送大量关于如何使用工具、如何激活 MCP 服务器等不必要的上下文信息,反而降低了 AI 的理解能力。因此,作者推荐使用 AI Code Prep GUI 工具来生成针对特定问题的精确上下文,然后将其粘贴到多个 AI 网页聊天界面中进行提问或代码审查。
AI Code Prep GUI 可以递归扫描项目文件夹,提取代码并进行格式化,以便 AI 更好地理解。该工具还允许用户手动选择需要包含的文件,从而避免了发送过多或过少的上下文信息,解决了许多代码代理工具的常见问题。作者还提到,虽然存在其他上下文生成工具,但许多是命令行界面或需要公共 GitHub 仓库链接,而 AI Code Prep GUI 提供了本地 GUI 界面,更适合处理私有代码。
总之,文章提供了一种经济高效的 AI 辅助编程工作流,通过结合免费 AI 模型和 AI Code Prep 工具,开发者可以更好地控制上下文信息,提高代码调试和准备的效率。
评论区有用户指出文章包含多个页面,需要通过底部的箭头进行访问。作者也回复表示抱歉字体可能存在问题。
- 原文: [How I code with AI on a budget/free](https://wuu73.org/blog/aiguide1.html)
- Hacker News: [https://news.ycombinator.com/item?id=44850913](https://news.ycombinator.com/item?id=44850913)
- 作者: indigodaddy
- 评分: 424
- 评论数: 151
- 发布时间: 2025-08-10 06:27:37
---
## OpenAI GPT-OSS 模型训练数据分析引发关注
Jack Morris 对 OpenAI 新发布的 GPT-OSS 模型训练数据进行了分析,通过生成 1000 万个样本并进行分析,得出了“非常奇怪”的结果,引发了关于模型训练方式和数据来源的讨论。
Morris 的分析主要集中在 GPT-OSS-20B 模型上,他通过大量生成文本,然后使用编程语言检测器分析生成文本中各种编程语言的频率。结果显示,模型似乎接受了大量 Perl 语言的训练。他还指出,模型生成的文本链通常以英文开头,但逐渐演变成“Neuralese”。这指的是模型在没有可读性训练或约束的情况下,自然地进行奖励利用,最终产生难以理解的文本。
这种现象也与 R1 Zero 类似,后者在经过少量 SFT(监督微调)以保持可读性后,被重新训练并命名为 R1。此外,如果格式被破坏或提示为空,模型还可能产生幻觉训练示例。有人认为,这表明模型主要通过强化学习(RL)进行训练,以针对特定的推理基准进行思考和解决任务,而没有进行其他方面的训练。
评论区对 Morris 的分析提出了多种观点。有人指出,Perl 语言的灵活性可能导致检测结果出现偏差,因为许多随机的“墨迹”都可以被视为有效的 Perl 脚本。也有人对“Neuralese”这个概念表示困惑,希望了解其具体含义。还有人希望了解 Morris 分析的具体过程。
此外,评论中还提到了模型在接收空提示时可能出现的问题,以及如何获取未被“围墙”保护的内容版本。有人认为,OpenAI 已经掌握了强化学习,但模型因此不再“说英语”。总体而言,这次分析引发了关于大型语言模型训练数据、训练方法以及模型行为的深入思考。
- 原文: [Curious about the training data of OpenAI's new GPT-OSS models? I was too](https://twitter.com/jxmnop/status/1953899426075816164)
- Hacker News: [https://news.ycombinator.com/item?id=44850260](https://news.ycombinator.com/item?id=44850260)
- 作者: flabber
- 评分: 172
- 评论数: 38
- 发布时间: 2025-08-10 05:10:16
---
## 利用 Entra OAuth 漏洞访问微软内部应用
本文讲述了作者如何利用 Entra OAuth 的配置漏洞,成功访问了 22 个微软内部服务,并分析了可能存在的安全风险。
作者在一次偶然的机会下,发现微软的 URL 缩短服务 aka.ms 存在潜在的安全问题。通过尝试使用个人 Microsoft 账户登录 eng.ms 域名下的服务,作者意外地获得了访问 Microsoft Engineering Hub 的权限。这个 Hub 是微软工程师的内部门户,包含大量敏感信息,例如内部流程和产品组的密码相关信息。
为了调查该问题的影响范围,作者对微软拥有的多个域名进行了子域名枚举,并筛选出使用 Entra ID 进行身份验证的应用程序。通过分析这些应用程序的配置,作者发现有 176 个应用程序被配置为多租户。
多租户应用程序本应使用 `/common` 或 `/organizations` 端点进行身份验证,但实际上许多应用程序却错误地配置为使用 `/<tenantid>` 端点。虽然微软之前已经修复了通过将 `/common` 替换为 `/<tenantid>` 来获取资源租户颁发的访问令牌的漏洞,但作者反其道而行之,通过将 `/<tenantid>` 替换为 `/common`,强制针对自己的租户进行身份验证。
此外,作者还分享了绕过用户分配和解决授权错误的方法,进一步扩大了攻击面。通过这种方式,作者成功访问了 22 个微软内部服务,证明了 Entra OAuth 配置不当可能带来的严重安全风险。
(由于原文中没有评论内容,因此略过评论分析部分。)
- 原文: [Abusing Entra OAuth for fun and access to internal Microsoft applications](https://research.eye.security/consent-and-compromise/)
- Hacker News: [https://news.ycombinator.com/item?id=44850681](https://news.ycombinator.com/item?id=44850681)
- 作者: the1bernard
- 评分: 277
- 评论数: 77
- 发布时间: 2025-08-10 05:59:43
---
## 使用 CSS 渐变模拟当前天空:Horizon at 37.38930, -122.07830
这个项目通过 CSS 渐变,在网页上模拟出用户所在位置的当前天空景象。它利用地理位置信息和时间,结合大气散射模型,生成逼真的天空颜色。
这个项目背后的实现原理是,它会根据用户的经纬度以及当前时间,计算出太阳的位置,然后使用 Preetham 的天空渲染模型来模拟天空的颜色。最终,通过 CSS 渐变将模拟的天空颜色渲染到网页上。作者使用了 Astro 和 Cloudflare Wrangler 等技术来获取用户的地理位置信息,并实现高效的渲染。这个项目不仅展示了 CSS 渐变的强大功能,也体现了作者对天空渲染算法的深入理解。项目地址为 sky.dlazaro.ca。
评论区里,大家对这个项目赞不绝口。有人分享了自己早期职业生涯中类似的项目经历,虽然最终未能被采用,但与此项目有异曲同工之妙。有人提到,最初打开页面时一片漆黑,后来才意识到是因为当地时间是午夜。还有人直接用手机对着窗外,发现网页上显示的天空颜色与真实天空完全一致,惊叹不已。有人分享了一个 iOS 快捷指令,可以将手机壁纸设置为当前天空的颜色。
此外,也有一些评论提出了改进建议。有人指出,目前的模型没有考虑云、雾霾和烟雾等因素,导致渲染的天空与实际天空可能存在差异。一家名为 innerscene.com 的公司正在开发一种传感器,可以测量天空颜色并将其复制到室内照明设备上,他们认为可以通过半实时的卫星图像来部分纠正这个问题,但难以做到非常准确。
总的来说,评论区对这个项目的评价非常高,认为它既有趣又实用,并且具有一定的技术深度。同时也提出了一些改进建议,例如加入对云、雾霾等因素的考虑,以使渲染的天空更加逼真。
- 原文: [Show HN: The current sky at your approximate location, as a CSS gradient](https://sky.dlazaro.ca)
- Hacker News: [https://news.ycombinator.com/item?id=44846281](https://news.ycombinator.com/item?id=44846281)
- 作者: dlazaro
- 评分: 709
- 评论数: 139
- 发布时间: 2025-08-09 21:25:16
---
## 成人网站利用恶意 SVG 文件在 Facebook 上刷赞
这篇 Ars Technica 的文章揭露了一个安全问题:一些成人网站正在使用包含恶意代码的 SVG 图片文件,在用户不知情的情况下,让用户的浏览器自动在 Facebook 上点赞这些网站。
文章指出,SVG(可缩放矢量图形)是一种基于 XML 的开放标准,它允许图像无损地缩放。但是,SVG 文件可以嵌入 HTML 和 JavaScript 代码,这使得它们容易受到跨站脚本 (XSS)、HTML 注入和拒绝服务 (DoS) 等攻击。Malwarebytes 的报告指出,这些恶意 SVG 文件被用于在用户不知情的情况下点击 Facebook 的“赞”按钮,从而为这些成人网站增加曝光率。这种行为被称为“静默点击”。文章还提到,这并不是 SVG 第一次被用于恶意目的,之前就有过利用 SVG 文件进行攻击的案例。由于 SVG 文件的灵活性和可嵌入脚本的特性,安全专家建议用户要谨慎对待来自不可信来源的 SVG 文件。
- 原文: [Adult sites are stashing exploit code inside svg files](https://arstechnica.com/security/2025/08/adult-sites-use-malicious-svg-files-to-rack-up-likes-on-facebook/)
- Hacker News: [https://news.ycombinator.com/item?id=44854545](https://news.ycombinator.com/item?id=44854545)
- 作者: The-Old-Hacker
- 评分: 51
- 评论数: 26
- 发布时间: 2025-08-10 19:45:41
---
## Simon Willison 探讨 AI 安全:Prompt 注入及致命三要素
本文是 Simon Willison 在 Bay Area AI Security Meetup 上的演讲总结,主要探讨了 Prompt 注入攻击以及保障使用大型语言模型(LLM)的系统安全所面临的挑战。文章首先回顾了 Prompt 注入的概念,将其类比为 Prompt 领域的 SQL 注入,根本原因在于通过字符串拼接将可信指令和不可信输入混合在一起。
作者早在 2022 年就提出了 Prompt 注入这个概念,并解释说他定义这个术语的目的是为了给当时讨论的一种新型攻击命名。文章通过一个翻译应用的例子,展示了 Prompt 注入的简单形式:用户输入恶意指令,导致模型忽略原始指令并执行恶意操作。更进一步,文章深入探讨了 Markdown 数据泄露这种常见的 Prompt 注入形式,攻击者通过构造包含恶意 URL 的 Markdown 图片引用,窃取聊天记录等敏感数据。
文章列举了 ChatGPT、Google Bard、Amazon Q 等多个知名系统都曾遭受过此类攻击的案例,并指出了一种可能的解决方案:限制图片渲染的域名,或者直接禁用图片渲染。然而,作者也提醒说,域名白名单策略需要谨慎,因为攻击者可能会利用开放重定向等漏洞绕过限制。
此外,作者还分享了创造新术语的经验,指出人们常常会根据自己的理解来解释新术语,这可能导致术语的含义与最初的定义产生偏差。例如,Prompt 注入最初指的是类似于 SQL 注入的字符串拼接问题,但很多人却将其理解为“向聊天机器人注入恶意 Prompt”,实际上这指的是 Jailbreaking。
总而言之,这篇文章深入浅出地讲解了 Prompt 注入的原理、危害和防范方法,并分享了作者在 AI 安全领域的一些思考和经验。
- 原文: [My Lethal Trifecta talk at the Bay Area AI Security Meetup](https://simonwillison.net/2025/Aug/9/bay-area-ai/)
- Hacker News: [https://news.ycombinator.com/item?id=44846922](https://news.ycombinator.com/item?id=44846922)
- 作者: vismit2000
- 评分: 391
- 评论数: 103
- 发布时间: 2025-08-09 22:47:38
---
## 马铃薯起源之谜:一项新研究揭示了马铃薯的进化历程
一项新的研究表明,我们今天所吃的马铃薯,其起源可以追溯到九百万年前发生在安第斯山脉山麓的一次古老的杂交事件。这项研究揭示了马铃薯是如何通过番茄植物祖先与另一种名为 Etuberosum 的植物杂交而形成的。
这项研究发现,大约九百万年前,番茄植物的祖先与 Etuberosum 杂交,产生了最早的马铃薯祖先。这次杂交使得早期马铃薯能够形成地下块茎,从而迅速多样化,最终形成了我们今天所知的 100 多个不同的物种。更令人惊讶的是,研究人员发现,如果没有来自两个亲本物种的特定遗传信息,马铃薯就不可能产生块茎。
中国农业科学院的研究员黄三文解释说,他们的研究结果表明,物种间的杂交事件可以激发新性状的进化,从而使更多物种涌现。研究人员通过深入研究马铃薯的遗传基因,发现马铃薯的基因组实际上是来自番茄和 Etuberosum 基因组的不同元素的组合。例如,控制块茎生长的关键基因 SP6A 来自番茄,而控制地下茎生长的基因 IT1 来自 Etuberosum。没有这些基因,就不会有我们食用的马铃薯块茎。
研究还表明,大约在杂交事件发生的同一时期,安第斯山脉正在隆起,为新进化的马铃薯植物创造了理想的新环境。这种环境变化与杂交事件共同促进了马铃薯物种的快速多样化。
## 评论区观点
评论区中,一位用户 @stevekemp 分享了种植马铃薯的经验,认为马铃薯非常容易种植,即使在贫瘠的土壤或简易的容器中也能生长良好,是一种非常有价值的作物。他认为,种植马铃薯比在窗台上种植辣椒、番茄或香草更有成就感。
- 原文: [How Potatoes Evolved](https://www.nhm.ac.uk/discover/news/2025/july/we-finally-solved-the-mystery-of-how-potatoes-evolved.html)
- Hacker News: [https://news.ycombinator.com/item?id=44812613](https://news.ycombinator.com/item?id=44812613)
- 作者: gmays
- 评分: 84
- 评论数: 26
- 发布时间: 2025-08-06 22:36:08
---
## OpenFreeMap 如何应对每秒 10 万次请求的突发流量
本文讲述了 OpenFreeMap 如何在突发流量下幸存,并分析了流量来源以及应对措施,同时也感谢了 Cloudflare 的赞助和支持。
OpenFreeMap 近 10 个月运行良好,架构稳定,Cloudflare 赞助带宽,Hetzner 服务器稳定,Btrfs 文件系统表现出色。然而,突然出现瓦片加载失败的报告,通过 Nginx 日志发现“Too many open files”错误,流量异常巨大。Cloudflare 的数据显示,24 小时内收到 30 亿次请求,产生 215TB 流量,相当于每秒 10 万次请求。作者发现流量来自一个名为 Wplace.live 的协作绘图网站,该网站限制用户每 30 秒绘制一个像素,导致用户使用脚本和 IP 地址轮换来绕过限制。尽管流量巨大,但 OpenFreeMap 仍然成功处理了大部分请求,96% 的请求返回 200 OK。作者联系了 Wplace.live 的开发者,并提供了帮助他们搭建自托管 OpenFreeMap 实例的方案。为了防止类似事件再次发生,作者计划实施基于 referer 的带宽限制,并改进服务器配置以解决瓦片缺失问题。最后,作者感谢 Cloudflare 的带宽赞助和技术支持,并呼吁大家在 GitHub 上赞助 OpenFreeMap 项目。
作者提到,即使在如此高的负载下,OpenFreeMap 仍然保持了 99.4% 的 CDN 缓存命中率,服务器也成功处理了剩余的每秒 1000 个请求。这也说明了 OpenFreeMap 的架构设计是非常成功的。
评论中,有用户认为作者低估了 Wplace.live 的流行程度,并表示很多人都在使用它。这表明 Wplace.live 的流量并非完全来自脚本,也有一部分来自真实用户。
- 原文: [OpenFreeMap survived 100k requests per second](https://blog.hyperknot.com/p/openfreemap-survived-100000-requests)
- Hacker News: [https://news.ycombinator.com/item?id=44846318](https://news.ycombinator.com/item?id=44846318)
- 作者: hyperknot
- 评分: 527
- 评论数: 113
- 发布时间: 2025-08-09 21:31:30
---
## T.S. Eliot 的《空心人》百年纪念:音乐性与诗歌结构
本文探讨了 T.S. Eliot 的诗歌《空心人》的音乐性及其结构,该诗首次完整发表于 1925 年的《诗集:1909-1925》。文章指出,《空心人》的创作和发表过程分散在多个时间和地点,这暗示了其松散的叙事结构,更像是一首由主题连接的歌曲。
文章强调了音乐在理解 Eliot 作品中的重要性。Eliot 热爱音乐,尤其是拉格泰姆和杂耍。他的作品,如《普鲁弗洛克》和《荒原》,都与音乐有着密切的联系。《荒原》的结构甚至被早期评论家比作爵士乐。文章还引用了关于 Eliot 的《四个四重奏》与贝多芬的晚期弦乐四重奏之间联系的文章,突出了音乐对 Eliot 创作的深刻影响。
文章进一步分析了《空心人》的结构,指出它类似于音乐组曲,由合唱和朗诵组成。诗歌的结尾部分,空心人的“代言人”和合唱队试图背诵《主祷文》,引发了评论家的思考。文章引用了 Everett Gillis 的观点,认为《荒原》和《空心人》都遵循音乐组织原则。诗歌的最后一部分,合唱队唱着“我们绕着多刺的梨树走”,而“代言人”则继续沉思,这种交替的形式体现了诗歌的音乐性。
总而言之,这篇文章深入探讨了《空心人》的音乐性和结构,揭示了 Eliot 如何将音乐元素融入诗歌创作中,从而赋予作品更深层次的意义和情感。
- 原文: [“The Hollow Men” at 100](https://prufrock.substack.com/p/the-the-hollow-men-at-100)
- Hacker News: [https://news.ycombinator.com/item?id=44850063](https://news.ycombinator.com/item?id=44850063)
- 作者: flanged
- 评分: 33
- 评论数: 5
- 发布时间: 2025-08-10 04:48:00
---
## GitHub开源Prompt编排语言:microsoft/poml
微软在GitHub上开源了Prompt Orchestration Markup Language (POML),这是一个用于编排prompt的语言。该项目使用MIT许可证,目前已获得112个star和10个fork。
POML旨在简化prompt的设计、管理和优化流程,让开发者能够更高效地利用大型语言模型(LLMs)。它提供了一种结构化的方式来定义prompt,包括变量、条件语句和循环等,从而实现更复杂的prompt逻辑。通过POML,开发者可以轻松地创建可重用、可维护的prompt模板,并根据不同的应用场景进行调整。此外,POML还支持prompt的版本控制,方便开发者追踪和回滚prompt的修改历史。该项目包含代码、issue、pull request、actions、安全性和insights等模块,方便开发者参与和了解项目进展。POML有望成为prompt工程领域的重要工具,助力开发者构建更智能、更强大的AI应用。
- 原文: [POML: Prompt Orchestration Markup Language](https://github.com/microsoft/poml)
- Hacker News: [https://news.ycombinator.com/item?id=44853184](https://news.ycombinator.com/item?id=44853184)
- 作者: avestura
- 评分: 52
- 评论数: 17
- 发布时间: 2025-08-10 14:26:42
---
## p-fast trie:更小巧的 Trie 树优化方案
本文介绍了一种名为 "p-fast trie" 的数据结构,它是 x-fast trie 的变体,旨在优化查找字符串的最长匹配前缀、最近前驱或后继的速度。核心思想是在哈希表中存储每个唯一前缀,并利用位图来指示后续字符的存在,从而在 O(log k) 时间内完成查找,其中 k 是键的长度。
文章详细解释了 p-fast trie 的布局、搜索和前驱查找算法。布局方面,每个唯一前缀都存储在哈希表中,包含指向最接近的较大名称的引用、前缀长度以及一个位图,位图指示了此后可能出现的字符。搜索算法使用二分查找来确定最长匹配前缀。前驱查找则更为复杂,需要在二分查找过程中比较完整查询字符串和哈希表条目指向的名称,并在位图中搜索小于查询字符串的下一个字符的最大字符。
作者还比较了 p-fast trie 与 qp-trie 的性能,认为 p-fast trie 在查找步骤上可能更少,但哈希表探测可能比追踪 qp-trie 指针更耗时。对于前驱查找,作者认为链表可能比在 p-fast trie 中进行多次探测更有效。
评论区中,@DannyBee 指出文章对时间复杂度的分析存在问题,认为哈希函数的计算时间通常不是 O(1),而是 O(k),其中 k 是键的长度。他认为,将基于元素数量的哈希表查找时间与基于键长度的 trie 树查找时间进行比较是不恰当的。此外,他还对搜索算法的 O(k) 复杂度提出了质疑,并指出在哈希函数计算时间受限的情况下,哈希表的均匀分布可能无法保证。总而言之,评论认为文章缺乏伪代码,难以评估 p-fast trie 的实际性能。
- 原文: [P-fast trie, but smaller](https://dotat.at/@/2025-08-06-p-fast-trie.html)
- Hacker News: [https://news.ycombinator.com/item?id=44817979](https://news.ycombinator.com/item?id=44817979)
- 作者: ingve
- 评分: 23
- 评论数: 4
- 发布时间: 2025-08-07 05:18:52
---
## Framework Desktop:一款强大的迷你电脑
本文主要介绍了 Framework Desktop 这款迷你电脑,作者认为它是一款性能卓越、安静且极具个性化的设备,尤其适合开发者使用。文章详细对比了 Framework Desktop 与其他迷你电脑以及 Mac Studio 在性能和价格上的差异,突显了其在多核性能和性价比方面的优势。
Framework Desktop 搭载 AMD Ryzen AI Max 395+ 处理器,拥有 16 个 Zen5 核心,运行频率高达 5.1GHz。在多核性能方面,它甚至可以与 M4 Max 相媲美,并且在 Docker 环境下表现更佳,这对于依赖 Docker 进行开发的开发者来说是一个巨大的优势。文章通过 Geekbench 6 和实际的 HEY 测试套件运行结果,展示了 Framework Desktop 在多核工作负载下的强大性能。
虽然在单核性能上,苹果的 M4 系列芯片更胜一筹,但作者认为,在日常使用中,这种差异并不明显。真正能感受到性能瓶颈的往往是多核工作负载,而这正是 Framework Desktop 的强项。此外,Framework Desktop 在价格上也具有优势。配置相近的情况下,Framework Desktop 的价格几乎是 Mac Studio 的一半。
文章还提到了 Framework Desktop 的可定制性,用户可以根据自己的喜好更换前面板的磁贴,打造个性化的外观。此外,它还具备强大的游戏性能,可以媲美 RTX 4060 显卡。当然,作者也指出,如果预算有限,Beelink SER9 也是一个不错的选择,虽然性能稍逊,但在单核性能上与 Framework Desktop 相差无几。总而言之,Framework Desktop 是一款集性能、价格和个性化于一体的迷你电脑,非常适合对性能有较高要求的开发者。
- 原文: [The Framework Desktop is a beast](https://world.hey.com/dhh/the-framework-desktop-is-a-beast-636fb4ff)
- Hacker News: [https://news.ycombinator.com/item?id=44841262](https://news.ycombinator.com/item?id=44841262)
- 作者: lemonberry
- 评分: 239
- 评论数: 216
- 发布时间: 2025-08-09 04:19:10
---
## 英特尔386处理器陶瓷封装的CT扫描揭秘
本文通过CT扫描深入剖析了Intel 386处理器的陶瓷封装内部结构,揭示了其复杂的内部构造和精密的制造工艺。386处理器作为x86系列中的首款32位芯片,其封装内部远比我们想象的要复杂得多。
文章利用Lumafield的3D CT扫描技术,展示了386芯片内部隐藏的六层复杂布线。令人惊讶的是,芯片的侧面还连接着几乎不可见的金属线,这些线用于连接到封装的引脚。扫描还显示,386芯片拥有独立的电源和地线网络,分别用于I/O和CPU逻辑。
为了满足高引脚数、良好散热和低噪声电源的需求,Intel选择了132引脚的陶瓷封装。这种定制封装内部实际上是一个由陶瓷制成的六层印刷电路板。芯片内部通过两层焊盘连接到芯片上的金线,这些金线的直径仅为35微米,比人类头发还细。一些焊盘甚至连接了多达五根金线,以支持更大的电流。
陶瓷封装的制造过程非常复杂,包括使用陶瓷粉末混合粘合剂制成的“生片”,在薄片上创建通孔,然后将钨膏丝网印刷到薄片上形成布线。之后,将这些薄片堆叠、层压并在高温下烧结,形成坚硬的陶瓷。引脚被钎焊到芯片底部,然后对引脚和内部触点进行镀金。最后,安装芯片,连接金线,并用金属盖焊接封装。
CT扫描图像还展示了信号层和电源层的结构。信号层通过金属迹线将引脚连接到封装的焊盘,而电源层则是一个带有孔的导电平面。通过JavaScript工具,可以逐层查看封装的结构,了解引脚在各层之间的连接方式。
最令人惊讶的发现是封装侧面的金属线,这些线在制造过程中用于引脚的镀金。每个引脚都连接到一根单独的导线,以便在电镀过程中充当阴极。
总而言之,这篇文章通过详细的CT扫描图像和深入的分析,揭示了Intel 386处理器陶瓷封装内部的复杂结构和精密的制造工艺,让我们对这款经典芯片有了更深入的了解。
- 原文: [A CT scanner reveals surprises inside the 386 processor's ceramic package](https://www.righto.com/2025/08/intel-386-package-ct-scan.html)
- Hacker News: [https://news.ycombinator.com/item?id=44848293](https://news.ycombinator.com/item?id=44848293)
- 作者: robin_reala
- 评分: 262
- 评论数: 84
- 发布时间: 2025-08-10 01:17:07
---
🫵 来啊,说点有用的废话!