每日HackerNews RSS

## 黑客新闻头条:一场颠覆性的旋风(2024年5月16-17日) 本周科技界充斥着引人注目的消息!**ACM开放其出版物访问权限**是一项重大转变,被誉为开放获取的胜利。人工智能主导了讨论,人们对**GPT-5.2可能影响编程工作**以及**中国在人工智能芯片方面取得的进展可能超越西方**感到担忧。对人工智能的担忧延伸到抓取问题,有用户声称使用……非常规方法成功地扰乱了抓取。 除了人工智能,头条新闻也聚焦隐私:**苹果因在iPhone上投放广告而面临批评**,**三星、LG和TCL因在德克萨斯州收集电视数据而面临法律挑战**,以及警告称**“你的电视正在监视你。”** 其他热门话题包括一个新的**Linux内核Rust实验**,**“历史LLM”**的兴起(这些LLM基于古老数据进行训练),以及通过**RDMA上的SMB Direct**可能实现的网络速度提升。 最后,出现了一系列“……的死亡”的宣告——**Bash、拖放界面,甚至你现有的编码技能是否足够**。

## 黑客新闻标题党实验总结 一位用户创建了一个模拟黑客新闻首页(dosaygo-studio.github.io),将每条标题都改写成夸张、耸人听闻的标题党风格。该项目引发了大量讨论,许多用户觉得有趣,并且是网络炒作标题的惊人准确的模仿。 评论从对幽默的赞赏和对YouTube和Twitter等平台类似策略的认识,到建议开发一个AI工具来*消除*标题党。一些人注意到它与The Register和Upworthy等网站相似。 该帖子还引发了关于HN上此类“实验”频率的争论,一些人认为它很快就会变得重复。一个相关的后续帖子也被链接,强调了这类提交的周期性。最终,该项目是对现代在线媒体中标题党盛行的有趣评论。

## CommerceTXT:赋能精准AI电商 CommerceTXT 是一项新标准,旨在为AI代理(如LLM)提供可靠的、可用于交易的电商数据。与侧重内容发现的llms.txt不同,CommerceTXT 直接向AI提供实时定价、库存和运输政策等关键信息。 主要特性包括指令,如 `@INVENTORY`(减少“缺货”幻觉)、`@SUBSCRIPTION`(用于定期支付)和 `@REVIEWS`(大幅减少评论数据的使用量,高达99.7%)。它专为准确性、法律合规性(映射到Schema.org)以及全球电商(支持多语言和货币)而设计。 CommerceTXT 具有显著优势:改善AI购物回复、减少错误、在AI电商领域获得先发优势,并通过最大限度地减少数据传输来降低AI的碳足迹。它优先采用只读模型作为v1.0版本,在引入交易能力之前,侧重于数据完整性和用户安全。 该协议是一个开放标准,由开放商家上下文工作组维护,旨在确保AI准确反映商家的产品和政策。

## CommerceTXT:AI购物的开放标准 CommerceTXT是一种新的开源协议(CC0公共领域),旨在简化AI代理访问在线商店产品信息的方式。它的创建者构建它是为了解决抓取HTML的不效率——这个过程会消耗大量的AI令牌,并且容易出错,例如错误报告价格或库存水平。 该协议利用“分形架构”,包含根文件、类别文件和产品文件,允许代理仅获取必要的数据,从而大大减少令牌使用量(380个令牌与HTML的8,500个相比)。它优先考虑确定性数据,并使用诸如`@INVENTORY`和`@REVIEWS`之类的指令来对抗AI“幻觉”。 一个关键的争论点在于文件放置:作者优先考虑简单性和可访问性,因此将文件放置在根目录中,尽管有人认为使用标准化的`/.well-known/`命名空间可以更好地维护网络卫生。作者强调非技术用户(如Shopify和Wix商家)的采用至关重要,并且愿意在未来版本中支持`/.well-known/`。治理是社区驱动的,作者发起开发,但旨在达成基于共识的决策。该协议还包括信任和验证机制,以防止数据操纵。

泛型允许编写在编译时适应不同类型函数,避免运行时类型检查。使用`when T is [type]`子句,单个函数体可以包含特定于类型的逻辑。例如,`some_function[T]`可以使浮点数加倍并递增整数。 更复杂的场景涉及多个类型参数,例如`list_contains[T, T2]`函数,它使用不同的比较方法搜索整数和字符串列表。安全的类型转换在`when`子句*内部*使用,确保类型正确性。 泛型也适用于返回值;`maybe_double[T]`返回类型为`T`的值,根据`T`执行浮点数或整数乘法。 重要的是,泛型函数可以调用其他泛型函数,类型会自动推断,从而实现分层抽象。该系统提供了一种表达性强、类型安全的代码,其中特化仍然是显式且可预测的,行为就像为每种类型量身定制一样。

一位开发者宣布其编程语言Axe(axe-docs.pages.dev)实现了泛型。然而,这一实现引发了Hacker News社区关于“泛型”真正含义的争论。 许多评论指出,Axe的方法更类似于使用`instanceof`开关进行类型检查,而非真正的参数多态性,后者是指函数在所有类型上行为一致。这与C++等语言不同,C++的泛型涉及为每种类型进行编译时代码生成,或者像Java一样,使用类型擦除。人们对不支持类型缺乏编译时错误提示表示担忧。 这场讨论突出了*临时多态性*(Axe的实现)和*参数多态性*(传统泛型)之间的区别。一些人认为“泛型”这个名称用词不当,提倡使用“类型无关函数”等术语。另一些人则注意到与现有语言如Haxe和TI-84编程语言的潜在命名冲突。尽管存在批评,但该项目被认为雄心勃勃,一位评论员询问了该语言的潜在用例,特别是关于并行性方面。

这是一个为认真创业者打造的企业级SaaS样板项目,利用Next.js 16、React 19、Go 1.25和TypeScript构建了一个强大且类型安全的基础。它提供了一个完整的起点,包括身份验证(Stytch)、计费(Polar.sh)和AI集成(OpenAI & Mistral AI),并配备RAG管道。 主要特性包括多租户与数据隔离、细粒度的基于角色的访问控制以及全面的审计日志。UI使用Tailwind CSS和shadcn/ui构建,以实现快速、响应式开发。数据管理使用PostgreSQL与pgvector,并通过SQLC实现类型安全的SQL。 该样板项目设计用于使用Docker & Docker Compose进行轻松的本地开发,并提供Webhook UI和高级分析等功能。还提供咨询服务,用于托管配置、自定义功能开发和代码审计。它采用MIT许可。

## 开源 B2B SaaS 启动器:摘要 Mohammed (@moh_quz) 开源了他 B2B 产品 apflow.co 的全栈引擎,旨在解决 SaaS 启动器中常见的供应商锁定问题。该启动器具有 Go 后端和 Next.js 前端,两者均已 Docker 化,可灵活部署——甚至可以在 6 美元的 VPS 上部署——避免对 Vercel 或 Supabase 等平台的依赖。 Go 后端优先考虑小占用空间(约 50MB 内存)、并发性、类型安全(使用 SQLC)和可预测的性能。它采用“模块化单体”架构,提供清晰的关注点分离,而无需微服务复杂性,从而提高 AI 编码工具的有效性。 预构建的功能包括身份验证 (Stytch)、计费 (Polar.sh)、AI 管道 (OpenAI RAG 与 pgvector)、OCR (Mistral) 和文件存储 (Cloudflare R2)。这*不是*一个模板,而是实际运行 apflow.co 的代码。 作者欢迎反馈,特别是来自 Go 开发人员关于模块边界和 Docker 设置的反馈。该项目旨在提供一个生产就绪的基础,让开发者专注于核心产品逻辑,而不是样板基础设施。 [https://github.com/moasq/production-saas-starter](https://github.com/moasq/production-saas-starter)

## GotaTun:一种新的WireGuard实现 Mullvad VPN开发了GotaTun,一种基于Rust的WireGuard®协议实现,旨在提高性能和可靠性。GotaTun源自Cloudflare的BoringTun,并加入了DAITA和多跳等隐私功能,同时优先考虑安全的线程处理和零拷贝内存策略。 GotaTun创建的主要驱动力是之前WireGuard实现`wireguard-go`的高崩溃率。超过85%的Android应用程序崩溃源于`wireguard-go`,并且跨Rust/Go语言边界调试问题非常困难。 于2025年末向Android用户推出的初始版本非常成功,**消除了之前归因于`wireguard-go`的崩溃,并将用户感知的崩溃率从0.40%降低到0.01%**。用户还报告了速度和电池寿命的改善。 Mullvad计划在2026年用GotaTun取代所有平台(桌面、iOS)上的`wireguard-go`,同时进行第三方安全审计并持续进行性能增强。

加载中×抱歉打扰,CSS错误,请刷新。

这项研究调查了检测和表征iPhone的TrueDepth摄像头系统发射的940nm红外激光雷达信号的方法。iPhone激光雷达以60Hz的频率运行,使用点阵格点图案。检测该信号需要将其与其他红外光源区分开来,因此需要一种能够高速感知多个离散红外信号的设备。 关键测量因素包括信号频率、脉冲重复率、信号稳定性以及跨传感器检测。测试表明,940nm峰值光电二极管,可能带有带通滤波器,能够提供最清晰的信号检测,这对于避免来自常见显示刷新率(30、60、120Hz)的误报至关重要。 信号处理需要快速的组件——10MHz运算放大器或施密特触发器足以进行捕获——同时兼顾能源效率。作者使用了SAMD21微控制器(48MHz)进行原型设计,迭代了多个硬件设计以实现最佳性能。目标是创建一个能够可靠地识别和分析iPhone激光雷达信号的设备。

一个黑客新闻的讨论围绕一个项目,该项目详细介绍了被动LiDAR探测器的设计([atredis.com](https://atredis.com))。虽然被赞为“一个不错的实验”,但评论员指出该设备主要检测iPhone中使用的特定LiDAR——940nm波长、60Hz频率——并且不适用于所有使用不同波长和频率的LiDAR系统。 有人提出了更简单的检测方法,例如使用二向色滤光片和555定时器的脉冲探测器。 同时也警告链接视频中的闪烁灯光可能引发敏感问题。 讨论简要涉及了LiDAR对眼睛的安全性,引发了与日常光源(如太阳)进行比较的回应。 最终,该项目被视为一个专注的演示,而不是一个通用的LiDAR探测器。

## pingfs:一种独特的云文件系统 pingfs 是 Erik Ekman 创建的一个实验性 Linux 文件系统,它将数据*完全*存储在通过互联网发送的 ICMP 回显请求包(ping)中。它利用原始套接字和 FUSE,需要 root 权限才能运行。 用户提供目标主机名/IP 地址的文件列表,pingfs 在挂载前会测试连接性。然后,它将文件数据编码到这些 ping 请求和响应中进行存储。虽然支持基本的文件操作,如创建、删除、读取、写入和重命名,但不支持目录、链接和时间戳。 **重要注意事项:** 性能极其缓慢——不适合局域网——并且数据丢失的可能性很高。它旨在作为概念验证,而不是实用的存储方式。 pingfs 采用宽松的许可协议免费提供,但附带明确的免责声明和责任限制。停止使用时,请使用 Ctrl+C 或 `fusermount -u`。

## Pingfs:在ICMP数据包中存储数据 - Hacker News 摘要 最近 Hacker News 的讨论集中在“Pingfs”项目([github.com/yarrick](https://github.com/yarrick))上,该项目在 ICMP ping 数据包中存储数据。这次讨论引发了人们对早期计算限制的回忆——例如 ZX Spectrum 等机器的小内存可以放入单个 IP 数据包中——以及过去缓慢的数据加载时间。 用户将其与历史数据存储方法(如水银延迟线存储器)相提并论,并指出该概念以非常规形式复兴。人们对早期互联网系统的“Ping of Death”漏洞以及如果 ping 失败可能导致数据损坏表示担忧。 讨论还强调了互联网名人 Tom7 的工作,他以在不寻常的介质中存储数据而闻名,以及 Michal Zalewski 的著作 *Silence on the Wire*,其中涵盖了类似的概念。 许多评论员指出,这将给网络路由器带来资源压力,并且依赖 ICMP 进行可靠存储是不切实际的。 将网络节点状态用作分布式内存系统也被简要探讨。

## 飞船:一种现代系统自动化语言 飞船是一种新的系统自动化语言,旨在取代传统的 shell 脚本,优先考虑性能、安全性和可靠性。它具有严格的、受 Go 启发的语法和固定宽度的类型系统——需要显式类型声明(例如,`i64` 用于整数,`u8[]` 用于字符串)。 主要特性包括一个基于 LLVM 的新型 JIT(即时编译)编译模型,将 POSIX 命令转换为本机代码,以显著提高速度。安全性通过直接的操作系统系统调用接口得到增强,从而消除了 shell 注入漏洞。错误处理是显式的,利用 POSIX 退出代码通过 `!i32` 合同系统和 `check {} except {}` 块来实现。 飞船采用延迟执行流水线模型,使用 `.then()` 和 `.run()`,并提供 `@jit` 指令来编译现有的 shell 脚本以提高性能。其标准库专注于 JIT 编译的 POSIX 层和一个 `Syscalls` 运行时,用于高效的系统操作。目标是在常见的任务(如日志文件分析)中实现高达 14 倍于 Bash 的性能提升。

## Orbit:一种用于 Shell 脚本的新系统语言 Orbit 是一种新的系统级编程语言,旨在弥合快速 shell 脚本和健壮系统代码之间的差距。它将 `.sh` 文件编译为 LLVM,以实现本机机器代码执行,从而在性能上可能优于传统的 shell 解释器。 主要特性包括 JIT 编译器、"通过省略实现安全" 模型(除非明确允许,否则限制功能)、对任意位宽的支持以及受 Go 启发的错误处理系统。该语言利用 Boost 作为其标准库,确保 POSIX 兼容性。 然而,最初对该项目的反应褒贬不一。人们对所呈现的基准测试的有效性(被描述为“假设的”)、实现复杂性(部分代码似乎不完整)以及取代 Bash 等广泛使用的工具的实用性表示担忧。 Deno 和 Bun 等替代方案提供类似的处理流程功能,并具有改进的语法,而 FreedomLang 则采用不同的方法,侧重于直接二进制输出和基于文件系统的并发性,以增强安全性和可审计性。关于 Orbit 如何处理 Bash 的错误模型和语义怪癖,仍然存在疑问。

## 开源授权库:总结 授权库对于管理用户权限和保护软件应用程序至关重要。 随着对预构建访问控制需求的增长,涌现出大量开源解决方案,为开发人员提供工具来简化用户管理并增强安全性。 本文探讨了六个流行的选项:**Casbin**(Go,支持多种模型和存储)、**CanCanCan**(Ruby on Rails,简化RBAC)、**accesscontrol**(Node.js,服务器和客户端身份验证)、**CASL**(JavaScript,同构权限)、**GoRBAC**(Go,轻量级RBAC)和 **Flask-RBAC**(Python/Flask,无缝集成)。 选择库的关键因素包括清晰的**文档和社区支持**、与现有技术栈的**易集成性**、强大的**安全和合规性**功能以及适应未来需求的**可扩展性**。 虽然很有价值,但开源库可能会带来挑战。 本文最后介绍了**Permify**,一种授权即服务(AaaS)解决方案,作为构建强大的授权系统的替代方案,尤其是在出现复杂需求时。 最终,选择正确的方法——开源或AaaS——对于安全且可扩展的软件开发至关重要。

最近的 Hacker News 讨论集中在开源授权库上(链接来自 permify.co)。文章重点介绍了顶级库,引发了关于它们实用性的争论。 一位评论员表示担忧,快速的开发周期可能会在使用这些库时导致安全疏忽,并将此与 Django 内置的、更宽松的授权功能进行对比。Django 的方法允许在代码中直接进行简洁的权限检查,并便于进行单元测试。 其他评论指出文章介绍中存在一个拼写错误,并戏谑地争论这个错误是否表明文章是由人类撰写的(考虑到 ChatGPT 日益强大的能力)。 几位用户还推荐了特定的库:开放策略代理 (OPA) 以及 Casdoor 与 Casbin 的组合,两者都获得了积极的反馈。 这次对话强调了专用授权库和框架集成解决方案之间的权衡。

更多

联系我们 contact @ memedata.com