每日HackerNews RSS

## 结构化正则表达式:一种新的文本处理方法 本文探讨了**结构化正则表达式**,这是Rob Pike提出的一种概念,旨在克服传统正则表达式在处理复杂文本结构时的局限性。与标准正则表达式不同,结构化表达式允许将较小、易于管理的表达式组合成管道,以将文本分解为有意义的块——避免了笨拙的单个表达式解决方案。 核心思想是串联运算符(`x`、`y`、`g`、`v`)用于匹配和过滤,然后是动作(`p`、`a`、`i`、`c`、`d`)来操作匹配的文本。这使得诸如分割文本、提取特定数据,甚至直接在表达式中编辑内容之类的逻辑成为可能。 作者展示了一个名为**structex**的Rust crate,它提供了一个通用的引擎来构建自定义文本处理工具。示例演示了structex如何优雅地从结构化文本(如姓名和语言)中提取数据并执行编辑(如交换“Emacs”和“Vim”)。 虽然提供了灵活性,但作者承认性能改进以及潜在的应用(如基于structex的`awk`)是未来的挑战。最终,结构化正则表达式提供了一种强大但非常规的文本操作方法,为我们与文本数据交互和处理的方式提供了不同的视角。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 工作 | 提交 登录 Rust 的结构化正则表达式引擎 (sminez.dev) 24 分,vinhnx 发表于 23 小时前 | 隐藏 | 过去 | 收藏 | 3 条评论 librasteve 发表于 12 小时前 | 下一个 [–] 如果你只有锤子,一切都看起来像钉子。我更倾向于用 Raku 来实现这个… 也许是一组正则表达式,但很容易扩展到完整的语法。回复 kalterdev 发表于 7 小时前 | 上一个 | 下一个 [–] 很高兴看到 Sam 还活着。回复 smitty1e 发表于 15 小时前 | 上一个 [–] Jamie Z[1] 和 Jay Z[2] 走进一家酒吧… [1] https://regex.info/blog/2006-09-15/247 [2] https://youtu.be/60XTSx29OnM?si=BuLRkzoMahaHQIvB 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

我们正在打造Reservoir,以守护我们所珍视的一切:我们的家人、家园、健康和地球。我们也热爱长而热的淋浴。我们相信,你可以同时拥有快乐和效率。这就是让所有人参与其中的方式。我们从热水开始,因为它是在美国最大的能源和金钱消耗者,却鲜有人谈及。而且热水是快速影响能源、财务和舒适度的最有效途径,适用于字面意义上的任何美国家庭。我们很自豪能在波士顿市启动Reservoir,这里拥有数个世纪的水技术创新历史。

## 储水式:智能电热水器 - 摘要 储水式是一款新型智能电热水器,旨在通过创新技术提高效率和容量。它通过将水加热到高温并在需要时与冷水混合,从47加仑的储水箱实现“虚拟”150加仑的容量。然而,评论员指出,热泵式热水器的联邦税收抵免即将到期。 讨论围绕其实用性和价值主张展开。人们对潜在的烫伤危险、高温混合带来的效率损失以及可能出现的电路过载表示担忧。许多人质疑6500美元的价格标签,将其与更便宜的热泵选项和安装成本进行比较。 一个关键的争论点集中在数据隐私上,人们对需要联网设备收集使用数据表示怀疑。其他人则讨论了无储水式系统和热泵的优势,强调了潜在的节省以及与循环和电费相关的缺点。最终,用户质疑“智能”功能是否能证明高昂的成本和潜在的长期支持问题。

欧姆编辑器算术 { 表达式 = 加法表达式 加法表达式 = 加法表达式 "+" 乘法表达式 -- 加 | 加法表达式 "-" 乘法表达式 -- 减 | 乘法表达式 乘法表达式 = 乘法表达式 "*" 指数表达式 -- 乘 | 乘法表达式 "/" 指数表达式 -- 除 | 指数表达式 指数表达式 = 主表达式 "^" 指数表达式 -- 幂 | 主表达式 主表达式 = "(" 表达式 ")" -- 括号 | "+" 主表达式 -- 正 | "-" 主表达式 -- 负 | 标识符 | 数字 标识符 (标识符) = 字母 字母数字* 数字 (数字) = 数字* "." 数字+ -- 小数 | 数字+ -- 整数 } 2 * (42 - 1) / 9 1+2*3 噢,不 ( 123 ) (2+4)*7

## Ohm 编辑器与解析工具包 Ohm 编辑器,一个用户友好的 JavaScript/TypeScript 解析工具包,最近由其主要作者 pdubroy 在 Hacker News 上分享。Ohm 允许开发者轻松创建语言解析器。 该项目的网站是 [https://ohmjs.org/](https://ohmjs.org/),一篇详细介绍编辑器视觉解析方法的博文(“可视化 Packrat 解析”)可在 [https://dubroy.com/blog/visualizing-packrat-parsing/](https://dubroy.com/blog/visualizing-packrat-parsing/) 找到。 用户还强调了一份学习 WebAssembly 的资源——“从基础开始的 WebAssembly” ([https://wasmgroundup.com](https://wasmgroundup.com)),它利用 Ohm 在 JavaScript 中构建编译器。 讨论包括了改进网站登陆页的建议,用户指出主页是一个更好的入口点。对话还涉及未来更声明式解析方法的可能性。

GitHub是一个全球使用的综合开发平台,供个人和团队构建、发布和维护软件。它提供广泛的功能,包括通过仓库进行代码存储和管理,协作工具(如问题、拉取请求和讨论),以及项目管理能力。 最近,GitHub扩展到AI驱动的开发,推出了Copilot(AI结对程序员)、Spark(用于构建智能应用)和Models(用于提示管理)等工具。它还通过Advanced Security功能优先考虑安全性。 GitHub满足多样化的需求,为各种规模的公司、不同的用例(DevOps、CI/CD等)和特定行业提供解决方案。除了平台本身,GitHub还通过GitHub Sponsors和ReadME Project等计划,以及文档、学习路径和活动等资源,促进强大的开源社区。

这个Hacker News讨论重新提及了quchen于2013年发表的一篇文章,探讨了Haskell中的“Löb和Möb”——循环和不动点。核心概念建立在Dan Piponi于2006年关于将Löb定理与电子表格求值关联起来的工作之上。 用户指出“Möb”推广了“Löb”不动点,并且在使用“ComonadApply”时,会涌现出更强大的版本,从而可以在各种数据结构中实现类似电子表格的计算。 许多评论者分享了相关的项目和文章,包括“快速理解Comonad”和2018年关于“奇妙的Möb”的帖子。 对话涉及实际应用,例如构建玩具汇编器,其中Löb有助于将标签解析为地址。有些人表示难以理解理论基础,而另一些人则遗憾地说,缺乏对超越基础概念的应用的进一步探索。 还有一些有趣的评论提到Hacker News上最近Haskell相关帖子的激增,用户们为该语言在过去3.5十年中对编程语言设计产生的持久影响辩护。

## 编程语言设计:概要 设计一种编程语言是一个迭代过程,涉及四个阶段:定义语境(受众、目的)、绘制示例、形式化语法与语义,以及原型设计。成功需要掌握编程范式(命令式、函数式等)、语言概念(类型、作用域、并发),并熟悉现有语言(Python、Lisp、Java等)。 关键设计决策包括选择语法(花括号、缩进等)、定义运算符及其优先级,以及建立静态(编译时)与动态(运行时)规则。一种语言的结构由其*抽象语法*定义,并通过*具体语法*实现——程序员实际编写的代码。像Ohm Editor这样的工具对于原型设计和测试语法至关重要。 形式化定义将语法(结构)与语义(含义)分离,通常用散文处理复杂的规则,而不是在语法本身中。学习现有的语言定义并考虑可学习性原则,对这个过程有益。 本课程通过构建五个示例语言——Astro、Bella、Carlos、Dax和Ekko——来探索语言设计,这些语言的复杂性逐渐增加,最终使用Ohm等工具实现实际编译器。最终,成功的语言设计需要在表达力、易用性和对底层原理的清晰理解之间取得平衡。

威斯康星州和密歇根州的立法者正在考虑一项法案,实际上禁止使用VPN,起因是人们担心使用VPN来规避新的、具有侵入性的年龄验证法。威斯康星州的法案(A.B. 105/S.B. 130)要求网站验证用户年龄*并*阻止VPN访问——这是一项在技术上不可能完成的任务,可能迫使网站在全球范围内阻止所有VPN用户。 这一举动与更广泛的努力相吻合,即重新定义“对未成年人有害”的范围,涵盖更广泛的内容,包括教育材料和解剖学讨论,可能导致审查。 除了不切实际之外,这些法律还威胁着广泛的隐私。VPN对于企业保护数据、学生获取资源、记者保护消息来源以及弱势群体寻求安全至关重要。阻止它们并不能消除规避行为——用户会找到替代方案——但会损害合法用户,并为政府控制创造一个危险的先例。专家认为这些法律无效、侵犯隐私,并且抓住了错误的问题;重点应该放在教育和支持上,而不是大规模监控。

## VPN禁令担忧与潜在结果 立法者正在考虑禁止VPN,引发了关于隐私和安全影响的争论。批评者认为该立法理解不足,并反映了过去控制在线活动的失败尝试,例如禁止加密的努力。 核心问题是保护儿童在线安全,但评论员建议更有效的解决方案,例如在设备层面使用家长控制。许多人担心这些法律会导致监控增加和隐私侵蚀,可能需要用户提交个人身份信息才能访问网站——从而造成大规模数据泄露风险。 虽然禁止商业VPN可能会促使用户转向自托管解决方案(使用AWS等服务,甚至树莓派),从而使执法变得困难,但也引发了对技术水平较低的个人可访问性的担忧。一些人认为,关注VPN会分散对真正问题的注意力:追究促成非法活动的公司的责任,而不是针对个人用户。 最终,这场讨论凸显了一种反复出现的模式:政府试图加强对互联网的控制,往往会产生意想不到的后果,并且无视技术现实。

## ucs-detect: Unicode 终端兼容性测试 `ucs-detect` 是一个 Python 工具,旨在自动评估终端模拟器的 Unicode 支持,特别是针对宽字符、表情符号序列(ZWJ & VS-16)以及零宽度/组合字符在各种语言中的表现。它通过查询终端的光标位置,并将结果与 `wcwidth` 库规范进行比较来实现。 安装很简单,使用 `pip install -U ucs-detect` 即可。用户可以使用类似 `ucs-detect --save-yaml=data/my-terminal.yaml` 的命令运行详细测试并将结果保存为 YAML 文件。超过 20 个终端的广泛测试结果已公开可用 ([https://ucs-detect.readthedocs.io/results.html](https://ucs-detect.readthedocs.io/results.html) & [https://www.jeffquast.com/post/state-of-terminal-emulation-2025/](https://www.jeffquast.com/post/state-of-terminal-emulation-2025/))。 该工具解决了终端和库之间 Unicode 实现不一致的问题,并利用《世界人权宣言》(UDHR)数据集进行多语言测试。用户可以通过 pull request 贡献更新,并可以使用 `--stop-at-error` 标志进行交互式调试。 `ucs-detect` 有助于识别 Unicode 渲染中的差异,确保更好的兼容性和在不同语言中准确显示文本。

## ucs-Detect:Unicode 终端支持 一款名为 **ucs-detect** (ucs-detect.readthedocs.io) 的新工具在 Hacker News 上受到关注,它能够分析终端模拟器中的 Unicode 支持情况。它测试 Unicode 版本和支持级别,特别关注在显示字符时的光标定位是否正确——*并非*检查字形本身是否存在(字形支持依赖于系统字体)。 用户们希望能够拥有类似 “caniuse.com” 风格的界面来查看这些数据,但项目文档中已经提供了一个结果表格。讨论还围绕着向终端开发者报告兼容性问题,以及确保一致的 Unicode 渲染所面临的挑战。 一位评论者分享了一篇关于 Unicode 在纯文本环境中的复杂性的相关文章,引发了关于问题根源在于 Unicode 本身还是终端实现方式的争论。总而言之,ucs-detect 提供了一种有价值的方法来评估和理解不同终端模拟器中的 Unicode 能力。

## HipKittens:释放AMD GPU的AI潜力 William Hu 等人团队推出了 HipKittens,这是一系列编程原语,旨在最大限度地提高 AMD GPU 在 AI 工作负载中的性能。虽然 AMD 的 MI355X GPU 提供了具有竞争力的硬件,但其潜力受到缺乏成熟的软件优化所阻碍。 HipKittens 通过关注三个关键领域来解决这个问题:**内存访问**、**处理器内调度**和**处理器间(芯片let)调度**。它利用优化的寄存器平铺、8 波和 4 波内核模式(避免 NVIDIA 的波特化方法)以及跨 AMD 芯片let 架构的缓存感知调度。 解决了 AMD 和 NVIDIA 硬件之间的关键差异——AMD 拥有更大的寄存器文件,但缺乏异步矩阵乘法和寄存器重新分配等功能。HipKittens 通过提供显式的寄存器控制和新颖的调度模式来弥补。该框架使用平铺作为基本数据结构,并提供类似于 PyTorch 的函数来操作这些平铺,直接封装汇编代码以提高效率。 基准测试表明,HipKittens 在 GEMM 和注意力机制上实现了最先进的性能,通常可以匹配或超过 NVIDIA 的性能,展示了优化 AMD GPU 利用率在 AI 方面的潜力。代码和研究论文已公开提供,旨在促进更加多样化和开放的 AI 硬件格局。

尼古拉·约基奇的故事,这位现在被认为是篮球界最具统治力的球员,凸显了准确预测潜力是多么困难。尽管被贴上“运动能力低于平均水平”的标签,约基奇仍然超越了几乎所有球探的期望,赢得了三次MVP奖项和一次总冠军。 这种现象并非个例;汤姆·布雷迪也是一位在NFL选秀中后期被选中,最终成为传奇人物。这两个案例表明,传统的球探和数据分析常常会*错过*伟大的人才,而早期的成功并不能保证长期的表现。 作者将此与招聘领域进行了类比。虽然公司明白优秀员工的价值——认识到他们可以推动数十年的成功——但他们通常以出乎意料的缺乏严谨性来对待招聘。与体育队伍大力投资于人才识别不同,大多数公司依赖于最小的努力,导致团队和产品平庸。关键要点?公司需要大幅改进招聘流程,以避免错过他们自己的“约基奇”——一位改变游戏规则的人才。

这个Hacker News讨论围绕着识别和招聘非常规、高影响力员工的难度——“小丑”,借用NBA球员尼古拉·约基奇的名字。 初始帖子链接到一篇关于这个主题的文章,但评论者大多批评它的实用性。 一个核心主题是,传统的招聘流程往往无法识别那些不符合预定义“标准”的人才。 有经验的人抱怨自己尽管具备很强的资格却被忽视,强调“符合模式”比实际技能更重要。 几位用户指出,需要这些独特人才的公司(大型企业)往往在招聘实践中过于僵化,而小型公司则*不需要*他们。 其他讨论点包括给予候选人机会的重要性,认识到契合度至关重要,以及停滞的工资和不断上涨的教育成本对人才库的影响。 人们对面试的价值表示怀疑,并建议充满激情的人会展现主动性和注重细节的工作。 最终,对话表明,找到这些“小丑”比标准的招聘工作需要付出更多的努力。

## 急性肾损伤:新的治疗靶点 急性肾损伤(AKI)是一种严重且可能危及生命的疾病,影响超过一半的重症监护患者,目前尚无获批的治疗方法。犹他大学健康科学中心的研究人员发现,名为**神经酰胺**的脂肪分子是AKI的关键启动因素,会损害肾细胞内的能量产生线粒体。 他们的研究发表在《细胞代谢》杂志上,表明阻断神经酰胺的产生——无论是通过基因手段还是候选药物——**完全逆转了小鼠的肾损伤**,保护了线粒体功能和正常的肾脏活动。重要的是,**在小鼠和人类尿液样本中均检测到肾损伤后神经酰胺水平升高**,表明它们可以作为高危患者的早期预警生物标志物,例如接受心脏手术的患者。 虽然测试中的化合物仍处于临床前阶段,但这些发现为AKI治疗提供了一条有希望的新途径,重点是**恢复线粒体健康**。鉴于线粒体在许多疾病中的作用,这种方法可能对心力衰竭和糖尿病等疾病具有更广泛的意义。还需要进一步研究以证实其在人类中的安全性和有效性。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 科学家在小鼠身上逆转肾脏损伤,希望接下来能用于人类 (sciencedaily.com) 28 分,ashishgupta2209 23小时前 | 隐藏 | 过去的 | 收藏 | 2 条评论 匿名用户 9小时前 | 下一个 [–] 有趣的文章,但标题具有误导性。他们并没有“逆转”任何肾脏损伤。他们说他们“逆转了病理”。他们所做的是阻止肾脏因神经酰胺造成的损伤。 我患有CKD(3A)大约七年了。我没有任何风险因素,所以不知道是什么原因造成的。我的水平一直保持不变,所以可能是我没有意识到的AKI造成的。回复 Crisscross 21小时前 | 上一个 [–] 这不正是先在宠物身上测试的绝佳候选对象吗?回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

更多

联系我们 contact @ memedata.com