22小时前
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20251017
今天的日报内容超丰富!不仅有大厂省钱秘籍,教你如何用更少的钱提升3倍性能,还有硬核技术大佬手把手教你破解Kindle DRM!想了解AI最新动态?Gemini 3.0 A/B测试结果抢先看,还有Claude Skills、Cloudflare Sandbox SDK等新工具等你探索。更有纳米比亚沙漠水坑直播、中国街猫喂食器等奇趣内容,让你大开眼界!快来一起看看,绝对有你感兴趣的!

---
## 通过迁移到 Hetzner,性能提升 3 倍,成本降至 AWS 的 1/4
本文讲述了 Digital Society 如何通过从 AWS 和 DigitalOcean 迁移到 Hetzner,在云账单上节省了 76% 的成本,同时将容量提高了 3 倍。他们之前在 AWS 上运行 tap SaaS 产品,并使用 DigitalOcean Kubernetes 托管轻量级服务。
迁移的原因是 AWS 的成本过高,即使使用了 Fargate 的 serverless 容器运行时,运行数据密集型 SaaS 的成本仍然很高。他们开始寻找替代云提供商,并最终选择了 Hetzner,尽管它需要更多的自管理,但其定价非常有吸引力。
他们使用 Kubernetes 进行容器编排,并使用 Talos Linux 简化集群设置和维护。他们还使用 CloudNativePG 作为托管 PostgreSQL 数据库的解决方案,提供详细的监控、自动故障转移、无缝升级和计划备份。
最终,他们使用的技术栈包括 Hetzner 的 ARM 共享 vCPU 云服务器、Talos Linux 操作系统、CloudNativePG 数据库、Ingress NGINX Controller、ExternalDNS 和 cert-manager。所有基础设施都使用 Terraform 和 Helm 进行编码,并通过 GitHub Actions 自动部署。
通过迁移到 Hetzner,他们的月度账单从 AWS 和 DigitalOcean 的 559.36 美元降至 Hetzner 的 132.96 美元,节省了 76% 的成本。此外,他们的容量也大大提高,从 12 个 vCPU 增加到 36 个 vCPU。
- 原文: [3x performance for 1/4 of the price by migrating from AWS to Hetzner](https://digitalsociety.coop/posts/migrating-to-hetzner-cloud/)
- Hacker News: [https://news.ycombinator.com/item?id=45614922](https://news.ycombinator.com/item?id=45614922)
- 作者: pingoo101010
- 评分: 676
- 评论数: 382
- 发布时间: 2025-10-17 18:00:21
---
## 纳米比亚沙漠水坑直播:一个引人入胜的自然观察窗口
这篇文章介绍了作者发现的一个位于纳米比亚沙漠水坑旁的直播摄像头,并分享了其带来的乐趣。这个直播源成了作者每天早上的第一站,因为纳米比亚与美国东部时区有6小时时差,所以当作者观看时,那里通常非常炎热,许多动物都会聚集在水坑边饮水。
作者列举了常见的动物,包括斑马、鸵鸟、羚羊、疣猪、角马、豺狼、蝙蝠耳廓狐、斑鬣狗、兔、红狷羚、长颈鹿、跳羚甚至大象。作者还提到,如果他是一名小学老师,他会在教室里放一台大屏幕电视,并定期播放这个摄像头的画面,让学生们观察野生动物。总而言之,作者认为这是一个非常棒的自然观察窗口,可以让人足不出户就能欣赏到非洲沙漠的生机勃勃。
评论区也充满了对这个直播的喜爱和补充信息。
* 有网友分享了自己制作的沉浸式观看工具,可以全屏观看并实时聊天。
* 有网友认为这是互联网最有意义的用途之一,可以缓解在办公室的压抑感,并推荐了另一个关于海洋生物救援的直播频道。
* 还有网友提到了纳米比亚特有的植物——百岁兰,以及YouTube直播的回放功能。
* 有人建议可以做一个类似谷歌地图“Popular times”的功能,显示水坑边动物的密度。
* 还有人分享了在Safari Lodge设置水塘吸引动物的经验,以及在谷歌街景上找到这个水坑的坐标。
* 有评论提到纳米比亚沙漠的雾气收集甲虫,并表达了对自然的喜爱,甚至考虑转行到与自然相关的领域。
* 最后,有人开玩笑说,观看直播时脑海中会响起Toto乐队的歌曲“Africa”。
- 原文: [Live Stream from the Namib Desert](https://bookofjoe2.blogspot.com/2025/10/live-stream-from-namib-desert.html)
- Hacker News: [https://news.ycombinator.com/item?id=45615931](https://news.ycombinator.com/item?id=45615931)
- 作者: surprisetalk
- 评分: 103
- 评论数: 28
- 发布时间: 2025-10-17 20:23:01
---
## 逆向工程亚马逊 Kindle Web DRM:一次破解之旅
本文讲述了作者因亚马逊 Kindle 应用体验不佳,转而逆向工程其 Web DRM 的过程,详细揭示了亚马逊为保护电子书内容所采取的重重加密与混淆手段,以及作者最终如何通过字体匹配技术成功破解的全过程。
作者原本想支持正版,购买了亚马逊的电子书,结果 Kindle 安卓 App 各种崩溃,体验极差。想下载到本地用其他阅读器,发现亚马逊已经不允许了。一怒之下,决定逆向工程 Kindle Cloud Reader 的 DRM。首先,作者发现需要 session cookies、rendering token 和 ADP session token 才能下载内容。下载得到的 TAR 包里包含了 `page_data_0_4.json`(实际不是文本)、`glyphs.json`(SVG 字符定义)、`toc.json`、`metadata.json` 和 `location_map.json`。
亚马逊对电子书内容进行了多层混淆。最核心的是,他们使用 glyph IDs 代替字符,而且每 5 页就随机更换一次字符集,这意味着需要破解 184 个不同的随机字符集,应对 361 个独特的 glyph,解码超过一百万个 glyph。更阴险的是,SVG 路径中还包含假的字体提示,干扰解析。此外,还有四种字体变体(normal, italic, bold, bolditalic)和一些特殊连字(ff, fi, fl, ffi, ffl)增加了破解难度。作者尝试 OCR 识别,但效果不佳,识别率只有 51%。
最终,作者发现虽然 glyph IDs 会变,但 SVG 形状不变。因此,他没有直接比较 SVG 坐标,而是将每个 SVG 渲染成图像,生成 perceptual hashes。相同的形状具有相同的 hash,然后将所有随机字符集映射到基于 hash 的 IDs,构建标准化的 glyph 空间。接着,下载 Bookerly TTF 字体,渲染所有字符,使用 SSIM(Structural Similarity Index)进行匹配。SSIM 能够处理轻微的渲染差异、抗锯齿变化和缩放问题。对于连字、特殊字符和字体变体,作者也分别进行了处理。最终,所有字符都成功解码,平均 SSIM 得分高达 0.9527。作者还利用 JSON 中的定位信息,完美重建了 EPUB 格式,保留了段落、对齐方式等信息。
这篇文章详细记录了作者与亚马逊 DRM 斗智斗勇的过程,展示了高超的技术能力和不屈的探索精神。
- 原文: [How I bypassed Amazon's Kindle web DRM](https://blog.pixelmelt.dev/kindle-web-drm/)
- Hacker News: [https://news.ycombinator.com/item?id=45610226](https://news.ycombinator.com/item?id=45610226)
- 作者: pixelmelt
- 评分: 1332
- 评论数: 413
- 发布时间: 2025-10-17 04:22:48
---
## RubyGems 和 Bundler 的所有权移交至 Ruby 核心团队
RubyGems 和 Bundler 作为 Ruby 生态系统中至关重要的工具,其代码仓库的所有权将从 Ruby Central 移交给 Ruby 核心团队,以确保长期稳定性和更好地融入 Ruby 生态系统。
长期以来,尽管 RubyGems 和 Bundler 在 Ruby 生态系统中扮演着关键角色,但它们主要在 GitHub 上的 Ruby 组织之外进行开发。为了确保社区的长期稳定性和连续性,由 Matz 领导的 Ruby 核心团队决定接管这些项目的管理权,并与 Ruby Central 和更广泛的社区密切合作,共同推进其发展。
此次所有权变更旨在确保 RubyGems 和 Bundler 与更广泛的 Ruby 生态系统保持一致,并保证其长期稳定性。Ruby Central 将继续参与管理,与 Ruby 核心团队共同负责。
RubyGems 和 Bundler 将继续以其现有许可协议保持开源状态,许可条款不会发生任何变化。所有现有贡献者的代码贡献的完整版权和作者身份将得到保留,此次过渡不会影响任何贡献者的知识产权。
社区驱动的协作开发模式将保持不变,欢迎所有社区成员的贡献。此次过渡体现了 Ruby 核心团队对 Ruby 生态系统的持续健康、稳定和发展的承诺。他们对 Ruby Central 多年来的尽职管理表示感谢,并期待与所有 Ruby 社区成员共同努力,为 Ruby 创造更加美好的未来。
评论区普遍对此次所有权变更表示支持,认为这是确保 Ruby 生态系统长期稳定的正确举措。一些开发者表达了对 RubyGems 未来发展方向的担忧,并希望确保供应链安全,防止潜在的攻击。也有人指出,从长远来看,拥有多个像 gem.coop 这样的源可能是一个更安全、更可靠的解决方案。部分用户对事件的来龙去脉感到好奇,希望了解更多背景信息。同时,也有声音认为去中心化的包托管才是未来的发展方向。
- 原文: [Ruby Core Takes Ownership of Rubygems and Bundler](https://www.ruby-lang.org/en/news/2025/10/17/rubygems-repository-transition/)
- Hacker News: [https://news.ycombinator.com/item?id=45615863](https://news.ycombinator.com/item?id=45615863)
- 作者: sebiw
- 评分: 242
- 评论数: 119
- 发布时间: 2025-10-17 20:15:53
---
## 探索中国街猫喂食器:meow.camera 另类视角
meow.camera 是一个非官方的 Hello Street Cat (街猫) 应用的替代查看器,展示了中国各地的街猫喂食器,让用户可以通过网络摄像头观看和了解这些猫咪的生活。该项目旨在为爱猫人士提供一个有趣的互动平台,同时也帮助控制流浪猫的数量。
该网站展示了许多特色喂食器,每个喂食器都有独特的名字,例如 "Happy Canteen Lucky 7-Eleven II"、"Mr. Fresh" 等,用户可以通过这些喂食器观察猫咪的进食情况。meow.camera 并非 Hello Street Cat 应用的官方合作方,而是一个由爱好者开发的趣味项目。该网站还提供了问题反馈和建议的渠道,以及联系方式。用户可以自定义主题、截图行为、音效等设置,并选择 Purrrr 或 JieMao 作为首选移动应用。
评论区对 meow.camera 及其背后的项目展开了热烈的讨论。有人指出,这些喂食器是中国流浪猫控制项目的一部分,旨在喂养和绝育流浪猫。然而,也出现了一些令人不快的事件,一些网络社群组织起来试图伤害甚至杀死通过该项目出名的猫。由于中国缺乏动物保护法,这种行为并不构成犯罪,因此有人呼吁对参与虐待动物的网络社群成员进行法律制裁。
也有评论提到,Purrrr 应用的使用体验非常棒,虽然界面设计风格类似 Temu 或 AliExpress,但其目的是为了公益。一位用户分享了自己在土耳其经营咖啡馆时,通过设立自动喂食器、进行绝育和疫苗接种等方式控制当地流浪猫数量的经历,并指出这种行为在情感和经济上都带来了很大的负担。此外,还有人分享了在喂食器观察到的有趣现象,例如蚂蚁团队合作搬运猫粮,以及其他野生动物(如刺猬和黄鼠狼)光顾喂食器。甚至有人开玩笑说,需要一个远程抚摸手臂,以便远程撸猫。总的来说,评论区展现了对该项目的浓厚兴趣和对流浪动物保护的关注。
- 原文: [Meow.camera](https://meow.camera/)
- Hacker News: [https://news.ycombinator.com/item?id=45613047](https://news.ycombinator.com/item?id=45613047)
- 作者: southwindcg
- 评分: 418
- 评论数: 150
- 发布时间: 2025-10-17 11:27:24
---
## 树莓派 5 启用 Resizeable BAR 支持提升 GPU 性能
本文介绍了如何在树莓派 5 上启用 Resizeable BAR (Base Address Register) 支持,以提升 Intel Xe 显卡的性能,Resizeable BAR 允许 GPU 通过 PCIe 总线以大于 256MB 的块进行数据传输,从而提高效率。
文章详细描述了启用 Resizeable BAR 的步骤,包括黑名单 Xe 驱动、修改 `/boot/firmware/cmdline.txt` 添加 `xe.vram_bar_size=8192` 参数、手动调整 BAR 大小,以及加载 Xe 驱动。作者还提供了一个 systemd 单元文件,用于自动化 BAR 大小的调整,避免每次启动都需要手动输入命令,并强调了在更换显卡或不使用 Intel 显卡时,需要撤销相关更改并禁用该服务。
文章还提到,AMD eGPU 在树莓派上的支持已经比较稳定,并且有一个更简单的补丁有望合并到 Pi OS 的 Linux 内核中,进一步简化了 AMD eGPU 的使用。通过启用 Resizeable BAR,树莓派 5 正在逐步完善对 Intel eGPU 的支持,为用户提供更好的图形性能。文中给出了不同 BAR size 对应的 bit 值,方便用户根据自己的显卡需求进行配置。
最后,作者分享了自己最新的 eGPU 测试结果,展示了启用 Resizeable BAR 后的性能提升。
- 原文: [Resizeable Bar Support on the Raspberry Pi](https://www.jeffgeerling.com/blog/2025/resizeable-bar-support-on-raspberry-pi)
- Hacker News: [https://news.ycombinator.com/item?id=45528813](https://news.ycombinator.com/item?id=45528813)
- 作者: speckx
- 评分: 46
- 评论数: 12
- 发布时间: 2025-10-09 23:12:26
---
## 社交媒体时代的事实核查困境与反思
这篇文章探讨了在信息爆炸的社交媒体时代,新闻媒体在事实核查方面的缺失,以及个人在辨别虚假信息中应承担的责任。作者认为,即使不是专业记者,通过简单的网络搜索和常识判断,也能识别出许多明显的错误信息。
文章首先指出,现在有很多工具可以帮助我们进行事实核查,例如反向图片搜索、Google Books 以及社交媒体搜索等。作者随后以近期演员 Patricia Routledge 去世后,一些报纸转载一篇包含明显错误的“ वायरल ”文章为例,展示了如何通过简单的步骤来验证信息的真伪。例如,通过维基百科和日历应用就能轻松验证文章中关于 Routledge 生日和年龄的错误信息。作者批评一些知名媒体在没有进行基本事实核查的情况下就发布这些不实信息,并将此归咎于媒体为了追求点击率而牺牲了准确性。文章还提到了 BBC 在一档节目中播出容易被证伪的谎言,进一步佐证了媒体在事实核查方面的失败。最后,作者呼吁每个人都应该承担起核查信息的责任,在分享任何信息之前都应该花时间去验证其真实性。
总的来说,文章强调了在信息时代,事实核查的重要性,并鼓励每个人都成为信息的把关人,共同抵制虚假信息的传播。
- 原文: [You did no fact checking, and I must scream](https://shkspr.mobi/blog/2025/10/i-have-no-facts-and-i-must-scream/)
- Hacker News: [https://news.ycombinator.com/item?id=45617088](https://news.ycombinator.com/item?id=45617088)
- 作者: blenderob
- 评分: 61
- 评论数: 11
- 发布时间: 2025-10-17 22:19:22
---
## Rust 宏初探:编写 `query!` 宏
本文旨在介绍 Rust 中宏的基本概念,并通过一个简单的 `query!` 宏的实现,展示如何使用 `macro_rules!` 进行声明式宏编程,即使它不是最实用或有用的宏。
文章首先回顾了 Rust 宏的背景,强调了 Rust 宏与 Lisp 等语言的相似之处,以及 Rust 为了保证类型安全和正确性所做的额外努力。Rust 的宏直接在抽象语法树(AST)上工作,这与 Go、C 和汇编语言的预处理器宏不同。`macro_rules!` 宏是 Rust 中定义宏的关键工具,它允许开发者通过模式匹配和代码转换来扩展语言的功能。
文章详细介绍了宏的设计过程,包括:评估是否真的需要宏、设计最简单的调用方式、逐步实现匹配分支、以及尽可能地使用子宏。作者强调,在编写宏之前,应该仔细考虑其复杂性和潜在的滥用,因为宏会增加编译步骤,并可能降低 Rust 帮助开发者编写正确代码的能力。
文章通过一个 `query!` 宏的例子,演示了如何从设计调用方式开始,逐步实现宏的功能。`query!(from db select title)` 允许从一个数据结构 `db` 中选择 `title` 字段。文章展示了如何定义宏的匹配模式,以及如何使用 `ident` fragment-specifier 来捕获标识符。最终,`query!` 宏被实现为使用 `into_iter` 遍历数据结构,并使用 `map` 提取指定字段的值,最后使用 `collect` 将结果收集到一个 `Vec` 中。
```rust
#[macro_export]
macro_rules! query {
( from $db:ident select $field:ident ) => {
$db.into_iter().map(|i| i.$field).collect()
};
}
```
这个实现展示了 `ident` fragment specifier 的灵活性,它可以用于变量和结构体字段名。作者也指出,宏的一个缺点是,它无法向用户提供关于输入类型的明确提示,用户需要阅读文档或自行猜测。
- 原文: [Let's Write a Macro in Rust](https://hackeryarn.com/post/rust-macros-1/)
- Hacker News: [https://news.ycombinator.com/item?id=45540398](https://news.ycombinator.com/item?id=45540398)
- 作者: hackeryarn
- 评分: 44
- 评论数: 18
- 发布时间: 2025-10-10 23:57:14
---
## 使用 Arconia 为 Spring Boot 引入开发服务
本文介绍了 Arconia Dev Services,一个旨在简化 Spring Boot 应用本地开发体验的开源框架,通过自动配置容器化的外部服务,免去开发者手动配置的烦恼。
Arconia 作为一个 Spring Boot 的插件,目标是提升开发者体验,减少样板代码,并无缝采用云原生模式。它提供了一系列功能,包括开发服务、生成式 AI 集成、Kubernetes 简化部署、多租户支持和统一的可观察性。Arconia Dev Services 的核心优势在于,它能够根据项目依赖自动启动和配置所需的外部服务,例如 PostgreSQL 数据库,无需手动编写配置或修改代码。
Arconia Dev Services 的灵感来源于 Quarkus Dev Services,并基于 Testcontainers 构建,但进行了简化,开发者只需添加一个依赖项,Arconia 就能自动管理容器的生命周期并确定连接细节。这得益于 Spring Boot 3.1 引入的开发时服务对 Testcontainers 的支持。文章通过一个使用 Spring Data JDBC 和 Flyway 的 PostgreSQL 示例,展示了如何使用 Arconia Dev Services 快速搭建开发环境。
(由于文章中没有评论内容,因此跳过评论分析环节。)
- 原文: [Dev Services for Spring Boot Using Arconia](https://www.thomasvitale.com/arconia-dev-services-spring-boot/)
- Hacker News: [https://news.ycombinator.com/item?id=45550328](https://news.ycombinator.com/item?id=45550328)
- 作者: thomasvitale
- 评分: 6
- 评论数: 1
- 发布时间: 2025-10-12 00:19:10
---
## Zendesk 平台漏洞:邮件炸弹攻击利用宽松身份验证
本文讨论了网络犯罪分子如何利用 Zendesk 客户服务平台中普遍存在的身份验证漏洞,对目标邮箱发起邮件炸弹攻击,这些邮件来自数百家 Zendesk 企业客户。
Zendesk 是一种自动化帮助台服务,旨在简化人们联系公司以解决客户支持问题的流程。攻击者利用 Zendesk 客户允许匿名用户提交支持请求的设置,通过伪造的工单创建通知,向目标邮箱发送大量垃圾邮件。这些邮件的主题内容由攻击者随意设定,可能包含威胁信息或人身攻击。
更重要的是,这些自动化消息都来自客户的域名,而非 Zendesk 本身。这意味着回复这些垃圾邮件时,回复地址会是客户的邮箱地址,例如 help@washpost.com。Zendesk 承认其平台被滥用,并表示这是因为部分客户允许匿名用户提交工单。尽管 Zendesk 建议客户仅允许经过验证的用户提交工单,但一些客户出于业务原因选择允许匿名创建工单。
Zendesk 声称使用速率限制来防止短时间内创建大量请求,但这些限制未能阻止攻击者在短时间内向目标邮箱发送数千条消息。Zendesk 正在调查额外的预防措施,并建议客户配置经过身份验证的工单创建工作流程。如果 Zendesk 客户在发送回复之前验证支持请求的电子邮件地址,则可以避免此类攻击。
评论区有用户表示,这也解释了为什么他们上周同时收到了大量奇怪的电子邮件。这表明该漏洞影响范围较广,值得警惕。
- 原文: [Email Bombs Exploit Lax Authentication in Zendesk](https://krebsonsecurity.com/2025/10/email-bombs-exploit-lax-authentication-in-zendesk/)
- Hacker News: [https://news.ycombinator.com/item?id=45615449](https://news.ycombinator.com/item?id=45615449)
- 作者: todsacerdoti
- 评分: 18
- 评论数: 4
- 发布时间: 2025-10-17 19:27:54
---
## Claude Skills:为你的工作流程定制 AI
Anthropic 推出了 Claude Skills,它允许用户通过自定义指令、脚本和资源来优化 Claude 在特定任务中的表现。你可以把 Skills 理解为 Claude 的“外挂”,让它在特定领域更专业。
Skills 的核心在于其组合性、可移植性和高效性。Claude 会自动识别并协调所需的 Skills,并且 Skills 可以在 Claude 应用、Claude Code 和 API 中通用。最重要的是,Claude 只会加载执行任务所需的最小信息,从而保证速度。Skills 甚至可以包含可执行代码,这对于需要可靠编程的任务来说非常有用。你可以通过 Claude 应用中的 "skill-creator" 功能,以交互方式创建 Skills,无需手动编辑文件。对于开发者,可以通过 Messages API 请求和 `/v1/skills` endpoint 来管理 Skills。Claude Code 则可以通过插件市场安装和分享 Skills。
评论区里,大家对 Claude Skills 的看法褒贬不一。有人担心,随着各种 AI 工具的涌现,概念的混乱会越来越严重。例如,"tools"、"functions"、"skills"、"agents" 等等,让人眼花缭乱。也有人指出,Skills 的有效性取决于开发者编写清晰且及时的文档,但这一点往往难以保证。另一些人则认为,Skills 可能会带来巨大的变革,甚至超过之前的 MCP。还有人觉得,与其让 LLM 粗暴地处理数据,不如把这些任务交给初级程序员,让他们在实践中学习。总的来说,大家对 Claude Skills 的潜力表示认可,但同时也对其可能存在的问题表示担忧。
- 原文: [Claude Skills](https://www.anthropic.com/news/skills)
- Hacker News: [https://news.ycombinator.com/item?id=45607117](https://news.ycombinator.com/item?id=45607117)
- 作者: meetpateltech
- 评分: 716
- 评论数: 381
- 发布时间: 2025-10-17 00:05:47
---
## Zorin OS 18 发布:Windows 用户的理想替代方案
Zorin OS 18 带来了重大更新,旨在提供更强大、更易用和更愉悦的电脑使用体验,尤其适合寻求 Windows 替代方案的用户。本次更新在设计、功能和兼容性方面都进行了全面升级。
Zorin OS 18 针对 Windows 10 即将停止支持的现状,为那些不满足 Windows 11 硬件要求的用户提供了一个理想的解决方案。它被设计成 Windows 的完美替代品,易用性强,功能强大,广受好评。新版本在以下几个方面进行了重点改进:
* **全新的外观设计:** 桌面经过重新设计,更加圆润,色彩更柔和,界面更舒适。文件管理器、设置、日历等常用应用也进行了界面优化。
* **高级窗口平铺功能:** 通过简单的拖拽操作,即可实现窗口的快速排列,提高多任务处理效率。用户还可以自定义平铺布局和行为。
* **无缝集成 Web 应用:** 通过内置的 Web Apps 工具,可以将任何网站转换为桌面应用,像原生应用一样使用。方便用户使用 Microsoft Office/365、Teams、Google Docs、Adobe Photoshop 等在线应用。
* **OneDrive 文件集成:** 用户可以直接在文件管理器中浏览和管理 OneDrive 文件,方便从 Windows 迁移过来的用户。
* **Windows 应用替代建议:** 扩展了内置数据库,可以检测超过 170 个 Windows 应用的安装文件,并推荐更合适的替代方案,例如 Web 应用或原生 Linux 版本。
* **新增主题颜色:** 增加了黄色和棕色两种主题颜色,提供更多的个性化选择。
Zorin OS Pro 版本还新增了 3 种桌面布局,进一步提升用户体验。
总而言之,Zorin OS 18 致力于让 Windows 用户能够平滑过渡到 Linux 系统,并充分发挥现有电脑的潜力。它不仅界面美观,功能强大,而且易于使用,是 Windows 用户的理想选择。
- 原文: [Zorin OS 18](https://blog.zorin.com/2025/10/14/zorin-os-18-has-arrived/)
- Hacker News: [https://news.ycombinator.com/item?id=45616949](https://news.ycombinator.com/item?id=45616949)
- 作者: pentagrama
- 评分: 21
- 评论数: 16
- 发布时间: 2025-10-17 22:04:24
---
## Amazon Ring 与 Flock 合作:AI 监控引发隐私担忧
亚马逊旗下的 Ring 将与 Flock 合作,Flock 是一家为执法部门提供 AI 摄像头网络的供应商。 这项合作引发了关于隐私、数据安全以及 AI 技术在执法中潜在偏见的担忧。
Ring 用户现在可能被执法机构要求分享他们的摄像头录像,以协助“证据收集和调查工作”。Flock 的摄像头通过扫描车牌和其他车辆信息工作,并允许执法部门进行自然语言搜索。然而,AI 技术的偏见问题,尤其是在面部识别方面,可能会加剧种族歧视。
此外,有报告指出 ICE、特勤局和海军已经可以访问 Flock 的摄像头网络。Ring 与 Flock 的合作可能会使执法部门访问到更多摄像头的数据,进一步扩大监控范围。Ring 过去在保护用户视频安全方面记录不佳,这也加剧了人们对隐私泄露的担忧。FTC 曾因 Ring 在数据安全方面的疏忽对其处以罚款。这次合作无疑将再次引发关于科技公司与执法部门合作的伦理问题。
- 原文: [Ring to partner with Flock, a network of cameras used by ICE, feds, and police](https://techcrunch.com/2025/10/16/amazons-ring-to-partner-with-flock-a-network-of-ai-cameras-used-by-ice-feds-and-police/)
- Hacker News: [https://news.ycombinator.com/item?id=45614713](https://news.ycombinator.com/item?id=45614713)
- 作者: gman83
- 评分: 322
- 评论数: 234
- 发布时间: 2025-10-17 17:15:25
---
## 大型 XY 扫描高光谱相机:Waverider 项目解析
本文介绍了一个使用现有组件构建的大型 XY 扫描高光谱相机项目。该项目利用光纤、光谱仪和电机控制,实现了对物体光谱数据的逐像素捕捉,最终生成高光谱图像。
作者使用 Sinar 4x5相机、Schneider-Kreuznach 镜头、Broadcom 光谱仪以及电机控制平台等组件,搭建了一套 XY 扫描系统。核心思路是利用光纤连接光谱仪,并通过控制光纤在 X 和 Y 轴上的移动,逐点采集图像的光谱信息。为了控制 XY 轴的移动,作者还自制了基于 Raspberry Pi Pico 和 TMC2130 驱动的 PCB 板,通过 Micropython 程序控制步进电机的精确运动。
文章详细描述了硬件选型、3D 打印部件设计、控制系统实现以及图像处理流程。作者分享了在图像生成过程中遇到的问题,例如 USB 连接错误、线性畸变、噪声等,并尝试通过调整曝光时间、步进延迟、数据归一化方法以及使用 Imagemagick 进行后期处理等手段来优化图像质量。最终,作者展示了一系列实验结果,包括不同光照条件下的高光谱图像、特定波长的图像以及光谱数据图。其中,猫的玫瑰色眼镜在紫外光下呈现黑色的现象,引发了作者的思考,推测其可能具有阻挡紫外线的功能。此外,作者还分享了使用不同波长光照的视频,展示了该高光谱相机在不同光谱下的成像效果。该项目为高光谱成像提供了一种 DIY 的解决方案,具有一定的参考价值。
- 原文: [Show HN: A large format XY scanning hyperspectral camera](https://www.anfractuosity.com/projects/waverider/)
- Hacker News: [https://news.ycombinator.com/item?id=45547346](https://news.ycombinator.com/item?id=45547346)
- 作者: anfractuosity
- 评分: 12
- 评论数: 3
- 发布时间: 2025-10-11 15:30:05
---
## Metropolis 1998:像素风城市建造游戏,灵感来自经典
《Metropolis 1998》是一款让你能够设计像素风格城市的建造游戏,其灵感来源于《过山车大亨》、《矮人要塞》和《模拟城市》等经典作品。这款游戏让你以上帝视角,细致地规划城市中的每一栋建筑,甚至包括室内设计,比如为居民的客厅挑选合适的书架。
这款游戏采用等距视角和像素艺术风格,带你回到1998年的感觉。目前提供了一个“pre-alpha”的demo版本,让玩家可以提前体验游戏的核心机制。开发团队YesBox希望通过这款游戏,让玩家体验到建造和管理城市的乐趣,同时也能感受到像素艺术带来的独特魅力。在游戏中,你需要关注居民的需求,解决他们遇到的问题,并努力提升他们的生活质量。游戏的目标是打造一个繁荣且充满活力的都市,而你的每一个决策都将影响城市的未来。
游戏的核心玩法围绕着城市规划和建筑设计展开。你可以自由地建造各种类型的建筑,包括住宅、商业区、工业区等等。同时,你还可以对建筑进行个性化的定制,比如改变外观、调整布局等等。此外,游戏还提供了一些特殊的建筑,比如地标建筑和公共设施,它们可以为城市带来额外的收益和效果。
总的来说,《Metropolis 1998》是一款充满创意和乐趣的城市建造游戏。如果你喜欢像素艺术和经典游戏,那么这款游戏一定不容错过。
- 原文: [Metropolis 1998 lets you design every building in an isometric, pixel-art city (2024)](https://arstechnica.com/gaming/2024/08/metropolis-1998-lets-you-design-every-building-in-an-isometric-pixel-art-city/)
- Hacker News: [https://news.ycombinator.com/item?id=45616944](https://news.ycombinator.com/item?id=45616944)
- 作者: YesBox
- 评分: 25
- 评论数: 5
- 发布时间: 2025-10-17 22:04:13
---
## SpaceX 星链卫星神秘信号引关注
SpaceX 的一个机密卫星网络正在发射一种神秘信号,可能违反国际标准,引起了业余卫星追踪者的关注。
文章指出,与 Starshield 卫星网络相关的卫星似乎正在地球表面传输信号,使用的频率通常用于从地球向太空卫星发送指令。这种使用方式违反了国际电信联盟(ITU)设定的标准,该机构旨在协调全球无线电频谱的使用。加拿大业余卫星追踪者 Scott Tilley 最先发现了这些信号,他警告说 Starshield 的异常传输可能会干扰其他科学和商业卫星。科罗拉多大学博尔德分校的计算机科学教授 Kevin Gifford 也认为存在无线电干扰的可能性,但干扰是否真正具有破坏性仍有待确定。SpaceX 和美国国家侦察局(NRO)均未对此事发表评论。Tilley 在进行另一个项目时偶然触发了对无线电频率的扫描,从而发现了该信号。
- 原文: [A classified network of SpaceX satellites is emitting a mysterious signal](https://www.npr.org/2025/10/17/nx-s1-5575254/spacex-starshield-starlink-signal)
- Hacker News: [https://news.ycombinator.com/item?id=45615481](https://news.ycombinator.com/item?id=45615481)
- 作者: 8ig8
- 评分: 84
- 评论数: 32
- 发布时间: 2025-10-17 19:32:16
---
## OnlyJPG:客户端 PNG/HEIC/AVIF/PDF 等格式转 JPG 工具
OnlyJPG 是一款在客户端将多种图片格式(包括 PNG、HEIC、AVIF、PDF 等)转换为 JPG 格式的工具,强调用户隐私和环保。它旨在解决“世界给你 PNG,HEIC 和巨大的 PDF,但网络仍然说 JPG”的问题,让图片在各种环境下都能顺利打开。
OnlyJPG 使用 Google 的 Jpegli 编码器,结合感知 XYB 模型,在保证图片质量的前提下尽可能减小文件大小,并生成 100% 标准的 JPEG 文件。该工具强调速度和操作简便性,无需复杂的设置,只需拖拽文件,调整质量(如果需要),即可完成转换。它还具有渐进式扫描功能,优化加载体验,并采用自适应量化技术,将更多比特分配给视觉敏感区域。OnlyJPG 的核心优势在于其私密性,所有压缩都在本地浏览器中进行,不会上传或存储文件。此外,通过减小文件大小,OnlyJPG 还有助于降低数据传输的能源消耗,从而减少碳排放。
文章还解释了为什么不选择其他格式,例如 AVIF、JPEG XL、WebP、HEIC/HEIF、PNG、GIF、TIFF、PDF、RAW、BMP、ICO、TGA 和 SVG。每种格式都有其优缺点,但 JPG 在通用性方面仍然具有优势。例如,AVIF 压缩率高,但编码速度慢且工具支持不完善;JPEG XL 质量好,但缺乏主流支持;WebP 在浏览器中普及,但 Jpegli 在照片方面缩小了差距。对于需要透明度的 UI 元素,PNG 是更好的选择;而对于动画,则可以选择 WebP 或视频。
关于 XYB 是否会破坏图像,文章指出 XYB 仅在压缩过程中使用,输出文件是标准的 JPG,任何解码器都可以读取。颜色偏移问题通常是元数据错误,OnlyJPG 的默认设置是安全的,并提供了一个旧版切换选项。即使图像已经是 JPEG,重新编码仍然有意义,因为 Jpegli 使用了更好的心理视觉模型和更智能的量化,可以在相同视觉质量下减小文件大小。
评论区里,用户 @BrannonKing 提醒不要将截图和数字艺术转换为 JPG,因为 JPG 的压缩算法更适合自然光照的图像,而截图等更适合使用游程编码。用户 @adzm 警告说,Jpegli 中的 XYB 可能会出现意外情况,如果解码器不支持,可能会出现问题。用户 @catapart 对文章中关于透明度的讨论不满意,认为没有提供将带有透明度的 PNG 转换为 JPG 的有效建议。
- 原文: [Show HN: OnlyJPG – Client-Side PNG/HEIC/AVIF/PDF/etc to JPG](https://onlyjpg.com)
- Hacker News: [https://news.ycombinator.com/item?id=45615454](https://news.ycombinator.com/item?id=45615454)
- 作者: johnnyApplePRNG
- 评分: 20
- 评论数: 11
- 发布时间: 2025-10-17 19:29:01
---
## GNU 工具链中 BPF 支持的下一步
本文讨论了在 GNU 工具链中添加 BPF 支持的进展,重点介绍了 BTF/CTF 格式的集成、GCC BPF 后端的状态以及 BPF 验证器带来的挑战。目标是使 GCC 成为 BPF 代码的主要编译器。
文章首先介绍了 BPF 类型格式 (BTF) 和紧凑 C 类型格式 (CTF),以及 Nick Alcock 统一这两种格式的工作。libctf 库现在可以生成和使用 BTF,并且正在与内核构建集成,以便直接创建 BTF。为了使 BTF 完全取代 CTF,还需要一些增强功能,例如字符串头字段和浮点数据表示。Alexei Starovoitov 质疑了这些功能的需求,认为 BTF 是内核特定的格式,不必支持用户空间。José Marchesi 则认为,更广泛的可用性和使用对于确保高质量的工具链支持至关重要。
接下来,José Marchesi 介绍了 GCC BPF 后端的状态,目标是使 GCC 成为 BPF 代码的主要编译器。Starovoitov 强调了添加对 btf_decl_tag 和 btf_type_tag 属性的支持,认为这是 GCC 编译 BPF 的最大障碍。David Faust 在第二天发布了一个补丁系列,添加了对此支持。Marchesi 还提到,GCC 中现在有一个广泛的测试套件来验证 BPF 编译,BPF 端口基本可以工作,但编译器中仍然存在一些需要解决的错误。
文章还讨论了 GCC 生成可以通过 BPF 验证器的代码所面临的挑战。Eduard Zingerman 解释说,编译器进行的各种优化可能会转换代码,从而难以验证。BPF 验证器是一个路径跟踪机器,无法跟踪标量和指针之间的关系。LLVM BPF 端口通过注入对特殊内部函数的调用来抑制这种优化。
总的来说,文章强调了在 GNU 工具链中添加 BPF 支持的复杂性,以及克服验证器带来的挑战所需的工作。
由于没有评论内容,这里跳过评论相关的总结和分析。
- 原文: [Next steps for BPF support in the GNU toolchain](https://lwn.net/Articles/1039827/)
- Hacker News: [https://news.ycombinator.com/item?id=45612987](https://news.ycombinator.com/item?id=45612987)
- 作者: signa11
- 评分: 86
- 评论数: 11
- 发布时间: 2025-10-17 11:13:00
---
## QBasic 打造的 4K 房间文字冒险游戏
《时间边缘的迷宫》(The Labyrinth Of Time's Edge) 是一款由 The Ventureweaver 使用 QBasic/QB64 引擎开发的文字冒险游戏,它带领玩家进入一个拥有 3999 个手工打造房间的广阔世界。这个迷宫充满了恐怖、谜团和被遗忘的灵魂的回声,每个角落都隐藏着等待被发现的故事。游戏难度颇高,即使是经验丰富的冒险者也可能迷失其中,并在探索中不断成长。
游戏里,玩家将会遇到狼人、不死生物、蜘蛛和幽灵般的女士等各种怪物,这些都标志着游戏的一个转折点,提醒着玩家地图永远不可能完整,胜利也并非最终的。游戏规则已经改变,玩家对掌握、探索和勇气的理解将受到新的考验。这不仅仅是一场文字冒险,更是一次深入创作本身的旅程,一个在想象、恐惧和信仰中锻造的无垠领域。
该游戏对系统要求非常低,只需 Windows 7 或更高版本(或者使用 DOSBox 等模拟器在 Linux/macOS 上运行)、1 GHz 处理器、512 MB 内存和 10 MB 存储空间即可运行。
**更新安装:**
要玩最新版本的《时间边缘的迷宫》,只需将原始的 `ROOMS.txt` 和 `INTERACTIONS.txt` 文件替换为更新中包含的最新版本即可。这将无缝扩展现有的游戏世界,带来最新的故事内容、互动和房间数据,将完整的 3999 房间冒险带入生活。
**评论区反馈:**
评论区里,有玩家指出了 `rooms.txt` 文件中第 15429 行和第 16409 行存在一些拼写错误。作者也及时回复并感谢了玩家的反馈,并表示已经进行了修正。这表明作者积极听取玩家的意见,并致力于改进游戏体验。
- 原文: [A 4k-Room Text Adventure Written by One Human in QBasic No AI](https://the-ventureweaver.itch.io/tlote4111)
- Hacker News: [https://news.ycombinator.com/item?id=45555709](https://news.ycombinator.com/item?id=45555709)
- 作者: ATiredGoat
- 评分: 125
- 评论数: 88
- 发布时间: 2025-10-12 14:13:32
---
## Cloudflare Sandbox SDK:安全容器中的代码执行与服务暴露
Cloudflare Sandbox SDK 提供了一种在安全沙箱容器中执行命令、管理文件、运行服务并通过公共 URL 暴露它们的方法,为开发者提供了一个安全隔离的环境。
该 SDK 允许开发者在 Cloudflare Worker 中创建和管理沙箱,可以克隆 Git 仓库、运行测试、执行 shell 命令以及进行文件系统操作。它支持长时间运行的进程,并能实时监听标准输出和错误流。此外,它还提供预览 URL 功能,可以将容器端口暴露为公共 URL,并支持代码解释器,可以直接运行 Python/JavaScript 代码,并自动解析图表、表格和图像等富输出。
Cloudflare Sandbox 提供了多种特性,包括细粒度的文件系统控制、命令执行能力和网络隔离。开发者可以通过简单的 API 调用创建目录、写入和读取文件。SDK 提供的 `getSandbox` 函数可以方便地获取沙箱实例,开发者可以使用 `gitCheckout` 方法克隆代码仓库,使用 `exec` 方法执行命令,并通过 `readFile` 和 `writeFile` 方法进行文件操作。
该 SDK 适用于多种场景,例如交互式开发环境、暴露服务、运行 Node.js 应用和代码解释器。一些用户评价提到,该 SDK 简化了代理和分配过程,使得编排和管理不安全的用户应用程序变得更加容易。
评论区主要讨论了两个方面:网络连接控制和定价。
关于网络连接控制,用户希望能够更精细地控制沙箱容器的出站互联网连接,例如允许访问特定的 API 或仅限于从 npm 和 PyPI 获取数据,以防止恶意代码利用容器攻击其他站点。目前,该 SDK 仅提供启用或禁用整个互联网访问的选项,缺乏细粒度的控制能力。
关于定价,用户认为持续使用 1vCPU 和 1GiB RAM 的成本较高,每月超过 58 美元。这可能会成为一些开发者使用该服务的阻碍。
- 原文: [Cloudflare Sandbox SDK](https://sandbox.cloudflare.com/)
- Hacker News: [https://news.ycombinator.com/item?id=45610523](https://news.ycombinator.com/item?id=45610523)
- 作者: bentaber
- 评分: 233
- 评论数: 79
- 发布时间: 2025-10-17 04:51:27
---
## Gemini 3.0 通过 A/B 测试现身:代码能力备受期待
文章讨论了 Gemini 3.0 模型通过 Google AI Studio 的 A/B 测试对外展示,尤其引人关注的是其在代码生成方面的潜在提升。作者通过提示模型生成 Xbox 360 手柄的 SVG 图像,发现 Gemini 3.0 的表现明显优于 Gemini 2.5 Pro。
文章提到,SVG 生成任务似乎是评估模型质量的有效代理,并引用了 Simon Willison 的 "pelican riding a bicycle" 测试。作者分享了用于测试的提示,并提供了 Gemini 3.0 的模型 ID `ecpt50a2y6mpgkcn`。
尽管 Gemini 3.0 的 TTFT(首次有效字节时间)更高,输出长度也更长,但这并不一定意味着它使用了大量的测试时间计算。总体而言,这次 A/B 测试的结果表明 Gemini 3.0 在图像生成方面具有显著的进步。
评论区对 Gemini 3.0 的看法不一。
有人认为 Gemini 在 Web 开发等领域优于 ChatGPT,因为 Google 拥有更全面的互联网数据。另一些人则对仅凭单次提示的 A/B 测试来评估模型性能持谨慎态度,认为这种方法不够专业,无法全面反映模型的实际能力,特别是处理多文件和工具调用的能力。
还有评论指出,Gemini 2.5 Pro 在处理包含大量上下文的单轮对话时表现出色,但在多轮对话中会迅速退化。一些用户对 Gemini 模型中存在的循环问题表示担忧,并希望 Google 能够解决这个问题。
尽管如此,也有人对 Gemini 3.0 在创意设计方面的潜力感到兴奋,认为它能够生成新颖且美观的代码输出。总的来说,评论区对 Gemini 3.0 的期望很高,但也存在一些担忧和质疑。
- 原文: [Gemini 3.0 spotted in the wild through A/B testing](https://ricklamers.io/posts/gemini-3-spotted-in-the-wild/)
- Hacker News: [https://news.ycombinator.com/item?id=45607758](https://news.ycombinator.com/item?id=45607758)
- 作者: ricklamers
- 评分: 392
- 评论数: 252
- 发布时间: 2025-10-17 00:54:26
---
## Zed 集成 OpenAI Codex,提升 IDE 编码体验
Zed 编辑器现在通过 Agent Client Protocol (ACP) 支持 OpenAI 的 Codex,允许开发者直接在 Zed 中使用 Codex 的代码生成能力,改善编码流程。Zed 不会收取外部 Agent 的使用费,所有计费和条款都直接在用户和 OpenAI 之间进行。
文章详细介绍了 Zed 如何通过 ACP 协议集成 Codex,强调了 ACP 的灵活性,可以适应不同 Agent 的能力。文章还提到了 Codex 运行终端命令的方式与其他 Agent 的不同,以及由此带来的 PTY 模式选择问题。通过集成不同 Agent,Zed 团队可以比较不同模式的体验,为未来的 ACP 集成提供参考。除了 Codex,Zed 还支持 Claude Code 和 Gemini CLI 等 Agent。Zed 团队未来将专注于与社区合作,共同推动 ACP 协议的发展。
评论区对 Zed 集成 Codex 的反应褒贬不一。一些用户认为 Zed 在打开项目和搜索文件方面非常迅速,但自动完成等基本功能仍然很糟糕。也有用户觉得 Codex 在 Zed 中的体验很粗糙,速度慢,输出内容不明确。另一些用户则对 Zed 团队的开发速度表示赞赏。还有用户询问 Zed 的定价模式,以及如何管理 Codex 和 Claude Code 的 API 密钥。部分用户希望 Zed 能够支持 git worktree diff highlighting,或者改进 inline suggestions 功能。总的来说,评论区反映了用户对 Zed 功能和体验的不同需求和期望。
- 原文: [Codex Is Live in Zed](https://zed.dev/blog/codex-is-live-in-zed)
- Hacker News: [https://news.ycombinator.com/item?id=45606698](https://news.ycombinator.com/item?id=45606698)
- 作者: meetpateltech
- 评分: 251
- 评论数: 51
- 发布时间: 2025-10-16 23:36:39
---
## Elixir v1.19 发布:增强类型检查、更广泛的类型推断以及大型项目高达 4 倍的编译速度提升
Elixir v1.19 带来了类型系统和编译时间的进一步改进,可以更快地发现更多错误。本次更新主要集中在类型推断、匿名函数和协议的类型检查上,这些看似简单的改进实际上依赖于对现有理论的扩展和新技术的开发。
### 类型系统改进
Elixir v1.19 改进了类型系统,主要集中在类型推断和匿名函数及协议的类型检查上。类型推断指的是类型系统自动推导表达式类型的能力。Elixir 1.19 实现了对所有构造(除了 guards)的类型推断,同时考虑了同一模块内函数调用以及 Elixir 标准库中函数调用的签名。这意味着即使没有 guards,Elixir 也能正确推断出函数的类型。
Elixir 现在可以对协议分发和实现进行类型检查。例如,如果传递一个未实现 `String.Chars` 协议的值给字符串插值,Elixir 会发出警告。同样,如果将一个未实现 `Enumerable` 协议的数据类型作为 for 推导式的生成器,也会发出警告。
Elixir v1.19 还支持对匿名函数进行类型推断和类型检查。如果匿名函数期望一个 map,但实际传递了一个字符串,Elixir 会发出警告。函数捕获(例如 `&String.to_integer/1`)也会传播类型,从而让 Elixir 的类型系统能够捕获程序中的更多错误。
### 大型项目编译速度提升
Elixir v1.19 包含两项编译器改进,可以使大型代码库的构建速度提高 4 倍。虽然 Elixir 一直以来都能够并行编译项目或依赖项中的文件,但编译器有时无法有效地利用所有机器资源。此版本解决了两个常见的限制,从而提高了性能。
- 原文: [Elixir 1.19](https://elixir-lang.org/blog/2025/10/16/elixir-v1-19-0-released/)
- Hacker News: [https://news.ycombinator.com/item?id=45602428](https://news.ycombinator.com/item?id=45602428)
- 作者: theanirudh
- 评分: 346
- 评论数: 111
- 发布时间: 2025-10-16 15:31:25
---
## 天赋论:数量、努力与内在能力
这篇文章探讨了“天赋”这个话题,作者通过引用多位高产作家和数学家的例子,引出了对个人能力差异的思考。文章核心在于讨论,成功是源于持续的努力,还是与生俱来的天赋?
作者首先列举了 Matt Levine 等高产 Newsletter 作者,以及 Philip Kerr 和 Paul Erdös 等人的例子,他们通过大量的工作和近乎痴迷的投入,取得了卓越的成就。这引发了人们对自身能力的反思,以及对他们如何做到如此高产的好奇。
随后,作者引入了 Scott Alexander 的文章《The Parable of the Talents》,试图调和天赋存在和人人平等的观点。Alexander 强调了天赋的真实性,并用 Srinivasa Ramanujan 的例子说明,即使在资源匮乏的环境下,天赋异禀的人也能脱颖而出。
作者还分享了自己学习英语和数学的经历,以及他弟弟在音乐方面的天赋,以此说明天赋在不同领域的重要性。他在英语学习中毫不费力就能取得好成绩,但在数学上却需要付出巨大的努力才能勉强及格。而他的弟弟在音乐方面则展现出惊人的天赋,年纪轻轻就取得了卓越的成就。这些经历让他深刻体会到,天赋是真实存在的,并且在某些领域起着至关重要的作用。
文章试图说明,成功并非完全取决于努力,天赋在其中扮演着重要的角色。承认天赋的存在,并非否定努力的价值,而是更客观地认识自己,找到适合自己的发展方向。
- 原文: [Talent](https://www.felixstocker.com/blog/talent)
- Hacker News: [https://news.ycombinator.com/item?id=45608456](https://news.ycombinator.com/item?id=45608456)
- 作者: BinaryIgor
- 评分: 204
- 评论数: 87
- 发布时间: 2025-10-17 01:47:19
---
## RISC-V 系统中用于实时应用的虚拟内存方案
本文介绍了一种针对实时 RISC-V 系统的虚拟内存实现方案,该方案利用 hPMP (hardware Page Management Proxy) 扩展,旨在满足汽车安全和安全需求。 传统的汽车微控制器要么使用基于物理地址的内存保护单元 (MPU),要么使用内存管理单元 (MMU) 来实现内存保护和虚拟地址到物理地址的映射。
虚拟内存允许软件开发人员使用更大的虚拟地址空间,而无需关心底层的物理地址空间,这简化了软件开发和集成,尤其是在虚拟化环境中。 该方案通过扩展现有的 RISC-V SPMP 提议,为选定的地址区域启用地址重定向,同时保持内存保护单元的完全确定性行为。 这对于需要实时性能和安全性的应用至关重要,例如汽车电子。
该方案的关键在于 hPMP 扩展,它允许在保持确定性行为的同时,实现虚拟地址到物理地址的转换。 这对于实时系统至关重要,因为任何不确定性都可能导致系统故障。 通过利用 hPMP,该方案能够在不牺牲实时性能的前提下,提供虚拟内存的优势,例如更大的地址空间和更好的内存保护。 这种方法特别适用于汽车行业,因为汽车系统对安全性和实时性都有很高的要求。
- 原文: [Virtual Memory for Real-time RISC-V systems using hPMP](https://arxiv.org/abs/2504.04498)
- Hacker News: [https://news.ycombinator.com/item?id=45537698](https://news.ycombinator.com/item?id=45537698)
- 作者: fork-bomber
- 评分: 13
- 评论数: 3
- 发布时间: 2025-10-10 19:34:30
---
## Hyperflask:基于 Flask 和 HTMX 的全栈 Python Web 框架
Hyperflask 是一个基于 Flask 的全栈框架,旨在简化 Web 应用的开发,尤其适用于构建后端驱动的交互式应用。它通过集成 HTMX 和组件系统,让开发者能够更轻松地创建动态 Web 界面,并提供诸如文件路由、邮件发送、后台任务、服务器推送事件(SSE)、翻译、认证、内容流和图像优化等开箱即用的功能。Hyperflask 甚至可以用于生成静态网站,或者以混合模式运行,仅在需要动态请求时才访问服务器。该框架还标准化了开发和生产环境,并与 VS Code 紧密集成,方便部署到 VPS 和各种云服务。Hyperflask 提倡一个蓬勃发展的生态系统,其扩展和相关项目都独立于框架本身进行开发,允许开发者自由选择和使用他们喜欢的部分。
Hyperflask 的核心在于其组件驱动的架构,允许开发者无缝创建前端和后端组件,并在 Jinja 模板中使用它们。文件路由功能则通过一种新的文件格式,将 Python 代码和 Jinja 模板结合在一起。Hyperflask 致力于提供构建产品所需的一切,减少环境配置的麻烦,并确保开发体验的流畅性。
评论区对 Hyperflask 提出了各种观点。有人对 HTMX 的适用性表示怀疑,认为其将前端状态置于 URL 中不够灵活,难以应对复杂的 UI 需求。也有人质疑 Hyperflask 的组件设计,认为其本质上只是宏,并对选择 Flask 而非 FastAPI 提出疑问,认为 Flask 在异步支持方面存在局限。另一些人则认为,Hyperflask 的设计与 Flask 和 HTMX 的理念相悖,存在过度抽象的问题。
不过,也有用户对 Hyperflask 的某些概念表示赞赏,例如组件和将视图与控制器捆绑在同一文件中。还有人分享了自己使用其他框架(如 Go + Templ + HTMX)的经验,以及对 Litestar 框架的推荐,认为它提供了更好的替代方案,并内置了 HTMX 支持。最后,有人指出了 Hyperflask 网站的细节,并表达了对项目本身的喜爱。
- 原文: [Hyperflask – Full stack Flask and Htmx framework](https://hyperflask.dev/)
- Hacker News: [https://news.ycombinator.com/item?id=45604673](https://news.ycombinator.com/item?id=45604673)
- 作者: emixam
- 评分: 348
- 评论数: 131
- 发布时间: 2025-10-16 20:46:28
---
## 器官移植:一场从开始到结束的肝脏移植之旅
本文讲述了一次从器官获取到移植的全过程,展现了医学、伦理和社会多方面的复杂性。文章详细描述了器官获取团队如何前往医院,从一位脑死亡但身体健康的捐献者身上获取肝脏,并将其运回等待移植的患者身边。
文章首先介绍了器官获取团队的组成和任务,他们需要前往外地医院获取肝脏。在医院里,团队成员更换手术服,准备手术。捐献者John因中风被宣布脑死亡,但他的身体状况良好,适合器官捐献。由于John生前没有签署器官捐献协议,医院联系了他的亲属,但无人认领。最终,验尸官授权了器官捐献。
文章详细描述了器官获取的过程。手术室里,医生使用电刀进行切口,烧焦的气味弥漫在空气中。切开皮肤后,露出白色的脂肪组织。医生小心翼翼地分离和取出肝脏,整个过程需要高度的专注和技巧。
美国器官捐献采取“捐献”模式,需要捐献者自愿捐献。而欧洲则采用“推定同意”模式,除非明确反对,否则默认同意捐献器官。
文章也提到了器官移植过程中的情感因素。有些家庭会在器官获取前宣读信件或播放逝者生前最喜欢的歌曲,以表达对逝者的哀思。但John的案例中,没有这些仪式,只有简单的信息确认和默哀。
由于没有评论内容,这里就不做评论分析了。
- 原文: [A liver transplant from start to finish](https://press.asimov.com/articles/liver)
- Hacker News: [https://news.ycombinator.com/item?id=45559040](https://news.ycombinator.com/item?id=45559040)
- 作者: mailyk
- 评分: 82
- 评论数: 22
- 发布时间: 2025-10-12 23:44:15
---
🫵 来啊,说点有用的废话!
▲