每日HackerNews RSS

最近 urllib3 v2.6.0 版本发布以及随后的快速修复,凸显了一个令人沮丧的问题:Python 的 `DeprecationWarning` 系统似乎无法有效提示库更新。尽管早在 2022 年就已弃用存在问题的 API,并已发出警告超过三年——甚至在一个广泛使用的软件包中——删除仍然破坏了 Kubernetes、Fastly 和 Airflow 等依赖库。 作者认为,仅依赖 `DeprecationWarning` 并不足够,因为它很容易被忽略。讨论的潜在解决方案包括创建自定义警告类以避免被过滤掉,或者干脆放弃提前通知,转而采用频繁的主要版本发布(如 Cryptography 库)。 核心问题在于,当前警告机制无法触达足够的开发者以主动解决 API 变更,使维护者陷入两难境地:破坏性变更与支持过时代码之间。

一个 Hacker News 的讨论集中在 Python 的弃用警告不可靠性上,特别是关于 `urllib` 库。相关博客文章的作者发现,即使是积极参与开发的开发者也忽略了关于 API 变更的警告,导致程序出错并匆忙修复。 评论者指出,这并非 `urllib` 所独有;由于在 CI/CD 管道中缺乏可见性(除非明确将其视为错误,例如使用 `-Werror` 标志),以及开发者测试实践不足,警告经常被忽略。 多位用户提倡使用一致的语义化版本控制 (SemVer) 以避免次要版本中的破坏性变更,并认为 `urllib` 正在主动避免使用它。一个关键问题是,API 变更带来的好处是否超过了对现有用户造成的干扰,尤其是在可以回滚这些变更的情况下。

## 优化一个简单的编程语言解析器 本文详细介绍了对一个简单编程语言(“simp”)的递归下降解析器的优化过程。最初的实现使用了直接的抽象语法树(AST),节点被装箱,并使用向量,虽然灵活但内存密集。基准测试重点关注吞吐量(每秒解析的代码行数)和最大内存使用量,文件大小从kB到100MB不等。 初步结果显示性能尚可,但促使我们探索减少内存使用的技术。**字符串驻留**——用共享字符串缓冲区中的索引替换拥有的字符串——通过减少分配并实现O(1)字符串比较,显著提高了性能。通过**指针压缩**(“扁平AST”),利用内存池和32位索引代替64位指针,进一步获得了收益。 最终的优化,一个**“超扁平”AST**,将节点数据(标签、长度、子节点索引,甚至内联值)打包到最小空间中,尽可能消除子节点的单独指针。这涉及一个自定义声明式宏系统来管理节点定义和访问。 超扁平AST展示了最显著的改进,与最初的树表示形式相比,内存使用量减少了3倍以上,并提高了所有文件大小的解析速度。作者得出结论,经过相当大的努力,生成的AST对于这种用例来说几乎是最佳的。完整的代码,包括基准测试,可在GitHub上找到。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 超扁平的抽象语法树 (jhwlr.io) 12 分,mmphosis 1小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

🛡️ 安全验证 验证您是否为机器人 ⏳ 正在验证您的浏览器… 验证并继续 ✓ 验证完成 此页面将在稍后自动跳转…

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 RoboCrop:教机器人如何采摘西红柿 (phys.org) 12 分,作者 smurda 1小时前 | 隐藏 | 过去的 | 收藏 | 1 条评论 asymmetric 12 分钟前 [–] 相关话题:https://farm.bot/reply 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

启用 JavaScript 和 Cookie 以继续。

## Golang 与内存池 - Hacker News 摘要 一篇近期文章 (avittig.medium.com) 在 Hacker News 上引发了关于 Golang 缺乏内置内存池支持的讨论——这是一种性能优化技术。用户指出,当处理大规模的短生命周期对象分配/释放时,内存池可以显著提高速度,有时甚至优于标准的 `malloc`。 一些评论者分享了在 C 中实现简单的内存池分配器解决重大性能瓶颈的经验,使释放内存几乎是瞬间完成。讨论涉及垃圾回收 (GC) 和手动内存管理之间的权衡,一些人指出 GC 的性能限制。 有人提出了在性能关键型语言中使用多个分配器的便利性,并与其他语言(如 Java、C# 和 JavaScript)进行了比较。将手动和自动内存管理集成到单个系统中的挑战也被讨论,建议范围从编译时限制(如 D 语言)到分段 GC 方法。最后,提到了 Odin 和 Forth 等语言,它们可能提供替代的内存管理解决方案。

## 圆珠笔打字机:被遗忘的技术 在20世纪80年代中期,出现了一种独特的设备类别——打字机绘图仪。这些并非标准打字机,而是使用微型圆珠笔在纸上*绘制*字符和图形,提供迷人的视觉体验。 例如,松下Penwriter系列(RK-P400C、RK-P440、RK-P200C)引领了潮流,一些型号通过串行或并行端口提供计算机连接。其他制造商,如Silver Reed、Smith Corona和Brother也生产了类似的机器。甚至Sears和Yamaha也尝试过笔式绘图打字机和键盘! 这些设备可以处理基本文本、商业图形(如图表),甚至在连接到计算机时可以进行自定义设计。许多是便携式的、电池供电的,并使用四种笔色(黑色、红色、绿色、蓝色)。有趣的是,类似的绘图机制也出现在意想不到的地方,例如计算器(Sharp EL-7050)和早期的便携式计算机。 虽然具有创新性,但这些笔式打字机随着喷墨和激光打印技术的进步而逐渐消失。如今,它们代表着计算机历史中一个迷人的小众领域,原始笔变得越来越稀有。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 打字机绘图仪 (2022) (biosrhythm.com) 12 分,来自 LaSombra 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

请启用 JavaScript 并禁用任何广告拦截器。

## 澳大利亚实施青少年社交媒体禁令 - 摘要 澳大利亚已开始执行一项开创性的法律,禁止16岁以下个人访问社交媒体,引发了在线讨论和争论。该法律旨在保护青少年心理健康,类似于美国(目前已被阻止)的类似尝试。 讨论的中心在于该法律的有效性,人们对规避和潜在的增加监控表示担忧。一些人认为问题不在于社交媒体本身,而是驱动成瘾参与的广告驱动的商业模式。另一些人则指出,这项法律可能会使依赖这些平台进行社交联系的青少年(尤其是残疾青少年)感到失落。 许多评论员质疑该法律的执行,注意到它对年龄验证技术的依赖以及可能出现的误报。 还有人对该法律的更广泛影响表示怀疑,一些人认为这朝着更大的政府控制迈出了一步,并且转移了人们对解决青少年焦虑根源问题的注意力。 尽管存在担忧,但一些人希望这项禁令能够鼓励更健康的行为,并激励其他国家采取类似行动。

## Factor 编程语言 0.101 版本发布 Factor 0.101 版本现已发布,包含来自大量贡献者的近 700 次提交。此版本专注于用户界面改进、性能增强和库更新。 主要变化包括切换到渲染按钮和滚动条以方便主题设置,以及修复了 Linux 和 Windows 上的 HiDPI 缩放问题。语言核心已更新至 Unicode 17.0.0,并增加了 Neovim 插件支持。 许多库得到了改进,显著更新了 Base32/64 编码、校验和、并发、数学函数和 I/O 流等领域。一些库被重新组织或替换为较新的仓库。 性能优化贯穿始终,包括 SHA 校验和和并发等领域的加速改进。此版本还包括错误修复和文档更新。Factor 仍然是一种完全编译的、可移植的、可扩展的编程语言,采用 BSD 许可。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Factor 0.101 版本现已发布 (factorcode.org) 19 分,birdculture 发表于 1 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 erichocean 发表于 22 分钟前 [–] Factor 现在支持 ARM64 了?不错。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

你需要启用 JavaScript 才能运行此应用。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 9 Mothers (YC X26) 正在招聘 (dover.com) 31分钟前 | 隐藏 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

正在提议一种新的浏览器API,“Sanitizer API”,用于原生处理HTML清理,可能取代对DOMPurify等外部库的需求。目前该API正在WICG孵化中,目标是将此功能直接集成到网络浏览器中。 该API本质上作为一个`setHTML()`方法运作,提供了一种内置的安全方式来插入用户生成的HTML内容。这种方法将重点从重复解析和序列化HTML(一种常见的安全实践)转移到更精简的解析过程。 Hacker News上的讨论强调了标准化、浏览器级别的HTML清理解决方案的潜在好处,从而提高安全性和开发者体验。有关规范的更多信息,请参见GitHub:[https://github.com/WICG/sanitizer-api/](https://github.com/WICG/sanitizer-api/)。

据The Information报道,中国人工智能初创公司DeepSeek据称通过规避美国出口禁令,利用英伟达的Blackwell芯片开发其竞争性人工智能模型。这些被禁芯片通过在允许销售的国家的数据中心走私入境,经过检查后拆解并运送。 美国限制向中国出售先进半导体,迫使DeepSeek等开发者通过替代、通常是非法手段获取硬件。此前已有涉及中国和美国公民的芯片走私案件。 英伟达表示,目前没有证据表明存在此项具体行动,但会对收到的所有线索进行调查。DeepSeek最初利用禁令前收购的大量英伟达GPU,近期表示将转向与中国芯片制造商合作,这受到北京推动国内人工智能发展的推动。尽管英伟达最近被允许运送较旧的芯片,但Blackwell的禁令仍然有效。

## DeepSeek 与被禁 Nvidia 芯片:摘要 一份最新报告称,中国人工智能公司 DeepSeek 正在使用美国政府禁止出口到中国的 Nvidia 芯片。这一消息引发了 Hacker News 的讨论,凸显了在存在重大经济激励的情况下,制裁的无效性。 用户指出,这些芯片的黑市供应充足,GamersNexus 的纪录片以及卖家收到来自中国账户的出价都对此进行了说明。对话强调,制裁仅仅*增加*了成本,而不能消除获取途径,尤其是在存在众多国家和贸易渠道的情况下。 一些评论员认为,Nvidia 本身可能在微妙地宣传中国持续依赖的说法,以巩固其市场地位,并面临来自 Google、Amazon、Apple 以及华为等中国制造商的日益激烈的竞争。更广泛的观点是,试图压制另一个国家的技术进步是适得其反的,可能会*激励*中国进行创新并克服知识产权限制。最终,讨论质疑了以这种方式控制全球贸易的可行性和智慧。

更多

联系我们 contact @ memedata.com