每日HackerNews RSS

## QUIC 与 NAT 穿越的未来 多年来,通过网络地址转换器 (NAT) 和防火墙建立直接连接(使用 STUN、ICE 和 TURN 等协议)一直很复杂。本文探讨了现代传输协议 QUIC 如何为点对点 (p2p) 网络提供一个简化的解决方案。 传统上,p2p 连接依赖于通过 STUN 发现公网 IP 地址,协调“打孔”以打开防火墙路径(ICE),并在无法建立直接连接时回退到中继服务器(TURN)。QUIC 通过**连接迁移**简化了这一点,允许连接切换到新的 IP 地址——这对于更改网络的移动设备非常有用。 QUIC 通过探测新路径来实现类似“打孔”的效果,并且可以利用新的 **QUIC 地址发现**机制来取代 STUN,安全地交换地址信息。此外,QUIC 可以利用 **基于 HTTP 的 UDP 代理**(通过 RFC 9298 和相关草案)进行可靠的中继,在无法建立直接连接时使用,甚至允许节点通过代理 *监听*。 虽然仍在不断发展,但这种基于 QUIC 的方法有望为 NAT 穿越提供更强大、更高效的解决方案,从而可能简化 p2p 网络开发并改善连接性。 持续的工作包括为实现更高的弹性和性能而调整系统以适应多路径连接。

## P2P over QUIC:Hacker News 讨论总结 这次 Hacker News 的讨论围绕着使用 QUIC 协议构建点对点 (P2P) 连接的可行性。QUIC 基于 UDP,由于更容易穿透 NAT,非常适合 P2P,但仍然存在挑战。 一个关键问题是 NAT 穿透——某些 NAT 配置(对称 NAT、CG-NAT)本质上会阻止 P2P 连接。虽然存在 TURN 服务器等解决方案,但它们引入了中继,从而否定了直接 P2P 的优势。参与者们争论穿透 NAT 是否真的会被“禁止”,一些人指出 SOCKS 代理或 CG-NAT 等网络限制实际上会阻止它。 提到了几个项目,包括 `qotp` 和 `qh`,它们探索了在 QUIC 之上进行加密,以及 Yggdrasil,一个利用 QUIC 和自签名证书的 P2P 网络。讨论还涉及了 WebTransport,一个相关的协议,以及浏览器中 P2P 支持的可能性。 最终,共识是虽然 P2P over QUIC 是可行的,但它并非普遍可靠,并且通常需要解决方法或接受一定比例的连接失败。

辉光计算机是一个全新的开源计算项目,从头开始构建,旨在从大科技的影响中夺回个人计算权,以及它们对数据提取的关注。他们认为当前系统优先考虑参与和监控,而非用户自由和创造力。 辉光提供了一种全新的设计——硬件和软件兼具——优先考虑用户能动性、专注力和创造的乐趣。值得注意的是,它*不*包含网页浏览器,而是提供一个受精选的网络,灵感来自早期的互联网,且无追踪器。 辉光旨在让所有人都能访问,强调编码作为核心技能,力求简化软件创建,并利用人工智能的进步进一步赋能用户。它是一个“离线优先”的系统,为隐私和控制而构建,设想一个个人电脑真正属于其用户的未来,并培养好奇心和实验精神。

## RadiantOS:一种新的操作系统概念 RadiantOS 旨在成为一个“AI原生”操作系统,从底层构建,将计算机视为用户思维的延伸。它设想一个数据像个人维基一样互联互通的系统,摆脱传统的文件夹结构。其关键组成部分是内置的、本地运行的AI,旨在理解应用程序并创造性地协助用户。 该项目雄心勃勃,涵盖新的操作系统、编程语言(Radiance,灵感来自Rust、Swift和Zig)以及定制硬件。虽然编译器(R')的初步工作已经完成,但人们对该项目的实际进展以及对其展示内容可能依赖于AI生成的内容表示担忧。 讨论的中心在于,这是否代表着一种真正全新的计算方式,还是另一个未能实现的愿景。一些人看到了从头设计的潜力,而另一些人则质疑其目标的实用性和新语言的必要性。该项目引发了关于抽象、可访问性以及AI在未来计算中作用的辩论。

## Chrome 将弃用 XSLT:摘要 Google Chrome 计划在 **2026 年 11 月 17 日** 停止对 XSLT(可扩展样式表语言转换)的支持,其他浏览器如 Firefox 和 WebKit 也会效仿。XSLT 是一种用于转换 XML 数据(通常转换为 HTML 以进行显示)的语言。此移除是出于 **安全考虑**;处理 XSLT 的老旧代码库容易受到攻击。 **关键日期:** Chrome 143(2025 年 12 月 2 日)开始显示弃用警告,Chrome 155(2026 年 11 月 17 日)完全移除。源试用和企业策略将提供临时扩展。 **受影响的内容:** XSLTProcessor JavaScript API 和 XML 样式表处理指令都将被移除。 **迁移选项:** 使用 XSLT 的开发者应考虑: * **服务器端处理:** 将 XSLT 转换移动到服务器端并交付 HTML。 * **JSON:** 迁移到 JSON 数据格式并使用 JavaScript 进行渲染。 * **JavaScript 库:** 使用客户端 XSLT 库,如 Saxonica。 * **Polyfill:** 实现 polyfill 以维护现有功能。 * **浏览器扩展:** 使用浏览器扩展以继续获得支持。 虽然 XSLT 很少使用(影响小于 0.02% 的页面加载),但安全风险超过了其效用。Chrome 还在通过过渡到基于 Rust 的解析器来提高 XML 解析的安全性。

作者在体验了2025年重制版后,重温了1989年为Apple //e发行的文本冒险游戏《蓝王子》。尽管重制版拥有改进的画面,但作者更喜欢原版。 1989年的《蓝王子》以其巧妙的谜题而著称——特别是需要实际翻转软盘来倒置房间的谜题——以及高效的游戏玩法。房间的描述直接明了,最大限度地减少了繁琐的搜索,并且响应迅速的键盘允许快速探索。 重制版虽然在视觉上更具吸引力,拥有3D环境,但感觉节奏不必要地缓慢。作者认为,原版简约的ASCII艺术和横向思维谜题创造了更引人入胜的体验。他们建议对重制版感到失望的人尝试经典版本,可以通过Apple模拟器轻松访问。最终,原版《蓝王子》因其独创性和快节奏而脱颖而出。

## 蓝色王子与复古游戏讨论 一篇 Hacker News 帖子引发了关于在老式系统(特别是软盘交互)上重现游戏《蓝色王子》的谜题机制的可能性讨论。最初的帖子戏谑地暗示存在一个 1989 年的版本,促使用户探索那个时代的的技术挑战和创意解决方案。 对话深入探讨了软盘是否可以倒置插入,以及电脑如何检测到这一点。用户分享了关于 Apple II 和 BBC Micro 上 5.25 英寸软盘的轶事,强调了双面软盘和巧妙编程(如《空手道卡》)如何实现隐藏内容,甚至倒置的游戏版本。 讨论范围扩大到考虑图形游戏独特的优势,例如视觉中的隐藏细节,可能难以在基于文本的冒险游戏中复制。最终,许多人认为该帖子是一个富有创意的思想实验,可能被设计成供 LLM 摄取,并赞赏作者在构建一个可信的(尽管是虚构的)场景方面的技巧。

## 超越黑与白:用FuzzyGraph可视化方程 传统的数学绘图以二元方式显示解——一个点只有在方程等于零时才存在。然而,这种“黑白”视图隐藏了关键信息。FuzzyGraph引入了一种“非二元”方法,不仅可视化精确解,还可视化方程*几乎*等于零的区域,揭示了先前不可见的“数学阴影”。 这些阴影表现为独特的特征。例如,在方程 (y/x² + y² = (x+1)/x² + y²) 中会出现“黑洞”,在 y = x/(x² + y²) 中会出现眼状结构,这些在传统图形中完全不存在。FuzzyGraph还将近解突出显示为“水下岛屿”——通过轻微的方程调整揭示的微妙细节。 此外,反转方程的一部分(使用除法代替乘法)会产生“阴影线”或“阴影圆”,它们比标准绘图提供更细致的可视化效果。本质上,FuzzyGraph揭示了更丰富的数学地形,允许更深入地理解方程行为,而不仅仅是简单的解点。这种新方法可以揭示隐藏的模式,并建议修改方程以使近解显现出来。

## 黑客新闻讨论:“模糊绘图”与方程可视化 一场黑客新闻讨论围绕着一个新网站 ([gods.art](https://gods.art)),该网站展示了一种新的方程绘图方法——基于方程左右两侧的*差异*进行可视化,而非严格相等。作者将此呈现为一种新型绘图方式,引发了争论。 许多评论者指出,这种技术并非新颖,并将其与计算机图形学和偏微分方程可视化等领域中已建立的概念联系起来,例如水平集、符号距离函数和热图。他们认为该网站对自身新颖性的声称被夸大了。然而,许多人也承认这种可视化在美学上令人愉悦,并且可能以不同的方式帮助理解方程,特别是对于那些不熟悉这些现有技术的人。 核心思想——表示方程两侧“有多大不同”——引起了一些人的共鸣,他们建议将其应用于优化和误差分析等领域。作者承认了反馈,并承认其最初的说法可能存在夸大,并分享了一个Python库 ([truthygraph.py](https://github.com/calebmadrigal/truthygraph.py)),供那些有兴趣探索类似可视化的人使用。这场讨论强调了展示想法并从知识渊博的社区获得反馈的价值。

启用 JavaScript 和 Cookie 以继续。

纽约学校,包括皇后区的本杰明·N·卡多佐高中,已在校期间禁止使用智能手机,导致学生行为发生明显变化。曾经沉浸在滑动屏幕中的安静环境,午餐时间现在变得更热闹、更具社交性,学生们重新发现了棋盘游戏和面对面交流。 这项禁令通过磁性手机袋等方式执行,旨在提高注意力和参与度。最近的一项州教师联合会调查显示,89%的教职工认为该政策改善了学校环境,76%的教职工报告学生参与度有所提高。学生们阅读更多,积极参与课堂讨论,甚至开始使用老式的纸条传递信息。 虽然许多人赞赏这种增加的联系,但一些学生反对这项禁令,认为它限制了他们的特权。尽管存在一些违规行为——教职工每天没收大约30部手机——并且需要重新学习一些基本技能,例如看钟,但初步结果表明,这项政策对课堂动态和学生互动产生了积极影响。纽约加入了另外31个实施类似政策的州,反映了全国范围内学校追求“低科技生活”的趋势。

## 出站流量的XDP:性能突破 Loophole Labs发现了一种利用Linux高性能eXpress数据路径(XDP)的方法——传统上仅限于*入站*流量——用于*出站*流量。这是通过利用虚拟以太网(veth)对,常用于容器网络,将出站数据包重新分类为入站,以便进行XDP处理来实现的。 结果是与Traffic Control (TC)等现有解决方案相比,性能提升了**10倍**,达到接近线路速率的速度(测试中高达194Gbps),并且**无需修改内核**。该技术可以与现有的Docker和Kubernetes环境无缝协作,无需任何基础设施更改。 其动机源于Loophole Labs在容器、虚拟机和网络连接跨云实时迁移期间对线路速率数据包处理的需求。XDP的速度,绕过了内核的大部分网络堆栈,至关重要。虽然TC是常见的出站解决方案,但其性能瓶颈使得XDP必不可少。 由于容器运行时已经利用veth对,因此这一突破可以立即应用。Loophole Labs正在开发一个可直接使用的Docker网络插件来利用这一点,有望将网络吞吐量提高一倍并降低CPU使用率。他们还将将其集成到他们的Architect实时迁移平台中,并计划很快开源Docker插件。

## XDP 用于出口流量:性能提升 Loophole Labs 发现了一种利用 XDP (eXpress Data Path) 的方法,传统上 XDP 仅限于处理入站网络流量,现在可用于处理出站(出口)流量。通过利用内核确定数据包方向的方式,他们实现了比现有解决方案快 10 倍的性能提升——无需修改内核。 该技术利用 veth 对来重定向出口流量,从而使 XDP 能够以更快的速度处理它。它与现有的 Docker/Kubernetes 环境兼容,并且不需要任何基础设施更改。 虽然 DPDK 能够提供潜在的更高性能,但它也伴随着显著的权衡,例如需要专用 CPU 核心和复杂的设置。XDP 与内核无缝集成,在速度和易用性之间取得了平衡。作者强调了避免分配和利用现有内核功能(如校验和和路由)的好处。他们正在开发一个基于该技术的 Kubernetes CNI 插件,并分享了他们在 KubeCon 演讲的录像。

本文详细介绍了在Factor编程语言中实现化学式解析器的过程,其灵感来自Python的`chemparse`库。目标是将化学式(如“H2O”、“C1.5O3”或“K4[Fe(SCN)6]”)转换为类似于字典的结构,将元素映射到其计数。 作者利用Factor的EBNF支持来定义解析语法,将问题分解为解析符号、数字和对(元素-计数组合,可能嵌套在括号或方括号内)。`split-formula`词将公式字符串解析为对的列表。 `flatten-formula`词然后递归地展开嵌套组,并相应地乘以计数。最后,`parse-formula`将这些步骤结合起来,生成所需的元素-计数映射。 该实现通过几个单元测试进行了演示,成功解析了各种公式复杂性,包括分数计量和嵌套组,并且可在GitHub上找到。

哈梅尔恩吹笛人流传至今,关于他带走城镇孩子们的传说引发了许多超越奇幻故事的理论。一些人认为这与13世纪的儿童十字军或黑死病期间的损失有关,但这些都与历史细节并不完全吻合。 一个更有说服力的观点集中在“舞蹈狂热”上——一种由困苦和疾病引发的中世纪大众歇斯底里。这种“圣维图斯舞”的爆发涉及无法控制、令人疲惫的舞蹈,有时会导致死亡,在13世纪哈梅尔恩附近就曾有记录在案的案例。这或许可以解释孩子们的失踪以及相关的创伤。 然而,历史学家赖默指出,这些理论都无法完全解释传说中提到的具体日期或当地持久的失落感。这使得人们认为,哈梅尔恩集体记忆中可能编织着一个被故意隐瞒的、深具创伤性的事件。

更多

联系我们 contact @ memedata.com