每日HackerNews RSS

最近一项关键的欧盟隐私豁免到期,威胁到削弱对在线儿童性虐待材料(CSAM)的保护。多年来,谷歌、Meta、微软和Snap等科技公司自愿使用工具——包括哈希匹配——来检测和删除这种有害内容,并与执法部门合作。 然而,自4月3日起,这种法律确定性的丧失危及了这些努力,尽管近250个儿童权利组织对此表示广泛担忧。欧盟期望公司优先考虑儿童安全,但缺乏对替代框架的协议造成了不确定性。 相关公司重申了继续自愿行动的承诺,但紧急呼吁欧盟机构最终确定新的监管框架,以确保持续保护儿童在线安全。一场解释该技术的网络研讨会定于4月10日举行。

以下是 Hacker News 讨论的摘要,字数在 200 字以内: 讨论围绕谷歌一篇题为“重申对儿童安全的承诺”的博客文章展开,这是对欧洲议会否决一项要求公司扫描用户内容以查找儿童性虐待材料(CSAM)的立法(Chat Control)的回应。许多评论者对谷歌的动机深表怀疑,认为这篇文章具有操纵性,并为大规模监控辩护。 一个主要争议点是,公司是否真正关心儿童安全,还是主要寻求“监管确定性”,以避免对其平台上非法内容的责任。一些人认为,端到端加密提供了一个更好的解决方案,既能保护隐私,又能允许举报非法活动。 另一些人批评拟议的扫描系统无效、容易出现误报,并威胁到基本权利。 许多人认为,这些科技巨头优先考虑控制和数据收集,而不是真正的儿童保护,并且他们的游说活动是在法规对其不利时的一种“恶意合规”。这场辩论凸显了对大型科技公司及其对政策的影响的广泛不信任。

自三月以来,以色列的袭击已导致超过一百万黎巴嫩人流离失所,造成大规模人道主义危机。 传统援助渠道紧张之际,大量援助正通过Whish Money等数字金融科技平台直接流向受影响者,绕过传统银行系统。 黎巴嫩严重依赖汇款——每年约60-70亿美元——而这些资金正日益转向紧急援助,以即时和点对点的方式提供。 这约占危机期间流入资金的70%,通常补充了旅客带来的现金。 Whish Money等平台最初设计用于数字礼品卡,如今已变得至关重要,因为黎巴嫩银行限制了对存款的访问。 它们为无银行账户和银行服务不足的人们提供了获取资金的关键途径,使家庭在面临长期流离失所和成本上升时能够立即购买必需品。 草根运动正在利用这些平台,通过社交媒体和直接数字转账筹集大量资金。

对不起。

启用 JavaScript 和 Cookie 以继续。

## Hacker News 上关于计算物理书籍的讨论 Hacker News 上正在讨论“计算物理”教材的第二版(umich.edu)。该教材通常被认为是面向编程经验有限的物理学本科生的优秀入门教材,但一些评论者提出了替代方案。 有人推荐 Richard Fitzpatrick 的课程 ([https://farside.ph.utexas.edu/teaching/329/329.pdf](https://farside.ph.utexas.edu/teaching/329/329.pdf)),认为其内容选择更优。一个反复出现的问题是该书使用 C 语言,许多人提倡使用 Python 等现代语言。然而,也有人认为 C、C++、Fortran 和 Rust 在高性能科学计算中仍然占主导地位。 其他推荐资源包括 Sussman & Wisdom 的“计算机程序的结构与解释”,它提供了一种严谨的方法;以及 *Numerical Recipes*,它是一本算法集(但并非专注于物理学)。该书涵盖了从 Python 编程和数据可视化到求解微分方程和蒙特卡洛方法等主题。 许多评论者分享了使用第一版的积极经验,强调了它在培养基础技能方面的价值。

## 密拉尼西亚人:独特的太平洋人口 密拉尼西亚人是斐济到巴布亚新几内亚岛屿上的土著居民,皮肤黝黑。他们的祖先可以追溯到数千年前,最初的定居者可能是现代巴布亚人的祖先。值得注意的是,一些密拉尼西亚人,尤其是在所罗门群岛,天生具有金发 – 这是一种独立于欧洲金发而进化出的遗传特征,与独特的TYRP1等位基因有关,并且在儿童中更常见。 基因研究表明,密拉尼西亚内部具有高度多样性,受到岛屿地理、语言(巴布亚语 vs. 南岛语)和最近的波利尼西亚迁徙的影响。证据表明,祖先的密拉尼西亚领土延伸到东南亚,并与直立人种群有关联。 历史上,密拉尼西亚人的习俗差异很大,包括食人和砍头等现象,但由于欧洲接触,基督教现在已盛行。虽然西方化和基督教化对他们的文化产生了重大影响,但对“kastom”(传统习俗和生活方式)的强烈重视已成为文化认同和复兴的关键要素。

对不起。

## xgotop:使用 eBPF 追踪 Go Goroutine 本文介绍 xgotop,一种使用 eBPF 构建的新的 Go 运行时追踪工具,能够近乎实时地观察 goroutine 状态变化和内存分配。该项目是 eBPF Summit '25 黑客马拉松的优胜者,旨在提供对 goroutine 生命周期(创建、状态转换(运行、等待、syscalls 等)和内存使用情况)的详细洞察。 传统的日志记录往往会错过 goroutine 内部快速发生的事件序列。xgotop 利用 eBPF 钩入关键的 Go 运行时函数,如 `casgstatus`、`newobject`、`makeslice` 和 `makemap`,从而可以观察这些事件的发生。通过分析函数参数,该工具可以追踪 goroutine ID、状态和内存分配。 作者使用 `bpftrace` 演示了一个概念验证,以验证该方法,并将其钩入一个简单的 HTTP 服务器。这使得能够观察到由请求触发的 goroutine 创建,以及随后的用于请求/响应处理的切片的分配。本系列文章的下一部分将重点是将这个 `bpftrace` PoC 转换为一个独立项目,利用 eBPF ringbuffer、hashmap 和用 C 和 Go 以及 `cilium/ebpf-go` 库实现的配置采样。

这个Hacker News讨论围绕着一个新工具,它使用eBPF(扩展伯克利数据包过滤器)来追踪Go中的Goroutine,正如sazak.io的文章中所述。该工具能够实时观察Goroutine活动,可能有助于识别和调试泄漏——这是像Kubernetes和Docker这样大型Go代码库中已知的问题。 几位评论者强调了使用DTrace的类似方法,并指出eBPF和DTrace在这类工具化方面都有其优势。一个关键点是,尽管Goroutine泄漏可能产生影响,但Go开发者对此的了解并不广泛。 兼容不同Go版本是一个令人担忧的问题,因为该工具依赖于特定内存布局和寄存器映射,这些在不同版本之间可能会发生变化。最后,用户询问了类似的异步Rust工具,并建议使用“tokio-console”。

启用 JavaScript 和 Cookie 以继续。

启用 JavaScript 和 Cookie 以继续。

## 无手机区域兴起及社交科技辩论 越来越多的美国酒吧和餐厅选择禁止使用手机,引发了关于我们与科技和社交互动关系的讨论。虽然有些人欢迎这一想法——尤其是在技术俱乐部等已经限制相机使用的场所——但另一些人质疑其可行性,特别是对于与朋友协调或仅仅想要放松而言。 这场讨论迅速扩大到关于现代沟通习惯与过去规范的辩论,一些人认为我们已经*过度*依赖持续的连接。另一些人则为手机的便利性辩护,同时也承认可能会失去对当下时刻的感知。人们对执行此类政策以及与顾客发生冲突的可能性表示担忧。 讨论还涉及更广泛的主题:对正念体验的渴望、智能手机对社交动态的影响以及监控技术日益普及。一些人甚至将其与禁烟令相提并论,而另一些人则强调了为残疾人(如导盲犬)提供便利的重要性。最终,这一讨论揭示了我们对科技在社交生活中的作用的复杂且不断发展的观点。

Perfmon 是一款快速的跨平台系统监控工具,旨在简化性能分析。它不同于传统的监控工具,将 `top`、`vmstat` 和 `netstat` 等工具的输出整合到一个简洁的选项卡界面中。 主要功能包括 CPU、内存、网络和负载的实时火花图,用于快速健康检查,以及通过 TOML 文件进行高度可定制的配置——允许用户定义自己的命令和刷新间隔。Perfmon 使用 Go 构建,开销最小,并提供浅色和深色主题。 安装方法很简单,可以使用 `go install` 或克隆 GitHub 仓库并使用 `make` 构建。用户可以使用键盘快捷键进行导航,并通过调整 `perfmon.toml` 配置文件来个性化监控。欢迎贡献,并提供详细的贡献指南。它采用 MIT 许可。

对不起。

👍 1人点赞 👎 1人踩 😄 1人笑 🎉 1人欢呼 😕 1人困惑 ❤️ 1人爱心 🚀 1人火箭 👀 1人眼睛。您现在无法执行此操作。

## Nanocode:一个DIY Claude Code克隆 一个名为Nanocode的项目旨在利用JAX在TPU上复制Claude Code的功能,并在GitHub上可用。该创建者花费200美元训练了一个模型,并非用于实际应用,而是作为探索分布式训练和偏好优化的教育工具。 Hacker News上的讨论集中在用于创建训练数据的LLM生成的代码质量上——一个例子未能满足提示中关于就地列表修改的要求。对话也明确了Nanocode并非在*训练* Claude Code本身,而是复制了工具使用所需的后训练过程,类似于Anthropic可能开发的方式。 许多评论者强调Nanocode作为实验和学习的基础价值,并指出了类似的项目,如modded-nanogpt,以及详细介绍对类似模型改进的资源。该项目提供了一种相对廉价的方式来深入研究大型语言模型训练和工具集成的复杂性。

## Uxn 模拟器的尾调用解释器 本文详细介绍了使用 Rust 的新 “become” 关键字进行尾调用优化的高性能 Uxn CPU 模拟器实现。Uxn 是一个简单的栈式机器,应用于 Hundred Rabbits 生态系统。作者之前探索过 LLM 和基于汇编的模拟,旨在提高速度。 核心思想是模仿线程代码——汇编语言中常见的一种方式,其中 VM 状态驻留在寄存器中,并在每条指令的末尾进行分派。通过将状态存储在函数参数中并利用尾调用来避免栈增长,实现了这一点。 结果 Rust 实现*优于*之前的 Rust 版本,甚至优于手工编写的 ARM64 汇编代码。 然而,x86-64 的性能落后于汇编,这可能是由于次优的代码生成(寄存器溢出)造成的。 WebAssembly 的性能也明显低于原生 VM。 尽管存在这些缺点,尾调用解释器现在是 0.3.0 版本的 ARM64 上的默认后端,也是 x86-64 上的次要选项,作者正在寻求进一步的优化建议。 该项目展示了复杂模拟技术在安全 Rust 中的成功实现,利用了前沿的语言特性。

## 尾调用解释器与 Rust 中的性能 一个新的 Rust 尾调用解释器实现展现出令人惊讶的高性能,甚至优于手写 ARM64 汇编和之前的 Rust 版本。这与添加 VM/解释器层会引入性能开销的直觉相悖。关键在于改进的指令缓存效率和分支预测。 多个项目,包括 Go protobuf 解析器和序列化库,都发现了使用专用 VM/解释器带来的类似好处——实现了速度和代码紧凑性。这种方法平衡了单态化和动态分发,提供了灵活性。 Rust 最近添加的 `become` 关键字保证了尾调用优化,要么成功,要么导致编译错误,避免了静默的栈溢出。这与尾调用优化并非总是可靠的语言形成对比。该关键字表明了*调用者*的意图,允许编译器优化或拒绝并非真正尾调用可用的代码,利用 Rust 的借用检查器来防止错误。 最终,讨论强调了字节码解释器可以出乎意料地有效,以及 `become` 提供了一种安全且明确的方式来利用 Rust 中的尾调用优化。

更多

联系我们 contact @ memedata.com