每日HackerNews RSS

## Rust 编译器在 PHP 中:摘要 该项目使用 PHP 完全实现了一个 Rust 编译器,能够直接生成 x86-64 Linux ELF 二进制文件,*无需* 依赖 LLVM、汇编器或链接器。它专为工具受限的环境(如旧共享主机)设计,支持 Rust 的核心特性,包括所有权和借用检查、类型检查、移动语义、泛型、特征、闭包和迭代器。 该编译器处理基本数据类型(整数、布尔值、字符串)、结构体、枚举、控制流、函数和具有 `pub` 可见性的模块。它包含 `Option` 和 `Result` 的实现,用于错误处理。提供了一个带有预期输出的测试套件,用于验证。 目前,该编译器缺少一些特性,例如复合赋值、元组、`Vec`、浮点数、`?` 运算符、复杂的闭包、生命周期和额外的整数类型。然而,它为在仅 PHP 环境中运行 Rust 代码提供了一个功能基础,尤其是在 Windows 上通过 WSL 实现。

## Rust 编译器在 PHP 中:Hacker News 摘要 一位开发者 mrconter1 使用 PHP 编写了一个 Rust 编译器,能够生成 x86-64 可执行文件,这在 Hacker News 上引发了讨论。该项目在很大程度上被认为是一个引人入胜的概念验证,特别适用于资源极其有限的环境,例如较旧的共享主机服务器。 评论者们争论了编译器创建的难度,许多人认为虽然*过程*很简单,但掌握必要的技能需要多年的专注学习。 几个人指出 LLM 越来越能够自动化流程的某些部分,引发了对项目来源的质疑,以及是否使用了 AI 辅助——注意到快速的提交频率。 对于该项目的实际价值存在怀疑,但也赞赏其独创性和 Claude 等新工具所带来的实验潜力。 一些人对 AI 使用和许可方面的透明度表示担忧,提倡明确披露以维护开源生态系统的完整性。 这位开发者也有过雄心勃勃的个人项目的历史,包括从头开始构建的 3D 引擎。

## pg_jitter:PostgreSQL 的更快 JIT 编译提供者 pg_jitter 是 PostgreSQL 14-18 版本的轻量级即时编译 (JIT) 提供者,比默认基于 LLVM 的 JIT 具有显著更快的编译时间。它引入了三个替代后端——sljit、AsmJit 和 MIR,以加速查询执行,尤其是在表达式密集型工作负载和宽表的情况下。 Postgres 中的传统 JIT 编译可能很慢(数十到数百毫秒),这会阻碍它在典型的在线事务处理 (OLTP) 查询中的实用性。pg_jitter 实现微秒级编译,使 JIT 对于更广泛的查询来说是可行的。**sljit** 提供一致的性能(比解释器快 5-25%),并推荐用于大多数场景。**AsmJit** 在处理宽行方面表现出色,而 **MIR** 提供可靠的增益和可移植性。 主要功能包括运行时后端切换、两级函数优化以及可选的预编译函数 blob,以实现零成本内联。虽然更快,但 JIT 可能会由于缓存未命中和内存压力而引入开销,因此最好避免将其用于非常快的查询。该项目目前处于 Beta 阶段,通过了所有标准 Postgres 测试并展示了性能改进,并计划进行持续开发和测试。

## Postgres JIT 改进:摘要 一个新项目旨在通过解决基于 LLVM 的标准 JIT 编译速度慢的问题来改进 Postgres 的即时 (JIT) 编译。当前的 LLVM JIT 编译可能需要数十分之一到数百毫秒,使其仅适用于非常重的查询。 讨论的重点在于,考虑到 Postgres 即使在参数相同的情况下也经常重新规划查询,提前编译或缓存 JIT 结果哪种方式更有效。一些用户报告在使用默认 JIT 设置时性能*下降*,并认为 Postgres 的性能在某些情况下与 Python 相当。 关键挑战包括在进程之间共享编译后的代码(Postgres 使用每连接一个进程的模型)以及在不停止服务的情况下处理 `ALTER TABLE` 查询。 也有人提出了为特定模式预编译等替代方案。 该讨论强调,虽然其他数据库缓存查询计划,但 Postgres 的架构使得在没有客户端管理的情况下很难实现这一点。 最终,该项目旨在将编译时间缩短到 JIT 变得普遍有益的程度,可能与 ClickHouse 等专用数据库的性能相媲美。

西蒙·威利森的博客 订阅 赞助:Augment Code — 代理编排。实时规范。你最喜欢的代理。用意图构建。 代理工程模式 从像 Claude Code 和 OpenAI Codex 这样的编码代理中获得最佳结果的模式。请参阅我的介绍,了解有关此项目的更多信息。 原则 现在编写代码很便宜 储备你擅长的事情 测试和质量保证 红/绿 TDD 先运行测试 理解代码 线性逐步分析 交互式解释 带注释的提示 使用 WebAssembly 和 Gifsicle 的 GIF 优化工具 附录 我使用的提示 声明 题记 © 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026

``` %PDF-1.1 1 0 obj > endobj 3 0 obj >> >> endobj 4 0 obj > stream 546 0 0 699 0 0 cm /Im005 Do endstream endobj 5 0 obj > /Width 2272 /Height 2912 /BitsPerComponent 1 /ColorSpace /DeviceGray /Length 6 0 R >> stream 9OAi ZˎkzMOWH?IOAC/ Na*G-qu-DP q)Bќ[ʤf%h0 !9 >B2(A"0tj:#@R)ʡyLq8aVCB PA6awiԃA@`aдVّNvFSll!R(AA8a0OU"9t d`! j4:a ݇! !ma6C`l0!F"?i q +a``` ```

## NeuralCPU:基于GPU的CPU实现 NeuralCPU是一种新颖的CPU架构,完全作为在GPU上运行的程序实现,利用PyTorch张量作为寄存器、内存、标志和程序计数器。 关键在于,*所有* ALU操作——加法、乘法、位运算和移位——都由专门的预训练神经网络执行。 该系统通过诸如加法中的Kogge-Stone进位先行和乘法中的字节对查找表等技术实现令人印象深刻的性能,所有这些都使用神经网络实现。 它支持64位ARM64指令集,并在347个自动化测试中验证了整数算术的100%准确性。 提供两种模式:“神经网络模式”,其中所有算术运算都使用训练好的模型;以及“快速模式”,利用原生GPU张量运算实现显著更高的吞吐量(高达1.35M IPS)。 通过原生Metal GPU实现可以进一步优化,以实现零CPU-GPU同步。 该项目包括诸如DOOM光线投射的演示,展示了复杂应用程序完全在此神经网络CPU架构上运行的可行性。

PHP 基金会已任命伊丽莎白·巴隆为新任执行董事,接替创始董事罗曼·普朗斯基。巴隆经过全面搜索后被选中,她拥有丰富的 PHP 社区和开源治理经验。 她的背景包括联合创办一个支持 PHP 中女性和非二元性别个体的非营利组织,领导 GitHub 的开发者外展工作(包括 Patchwork 倡议),并通过 CHAOSS 为开源社区健康指标做出贡献。她在社区建设、筹款和战略方面的多样化技能使她能够很好地领导基金会的未来。 普朗斯基将过渡到专注于他在 JetBrains 的角色,同时继续担任董事会成员,以确保平稳过渡。巴隆表达了她对在基金会的成就基础上继续努力,并确保 PHP 在未来几年内持续成功的兴奋之情。

## PHP 基金会与新执行董事 - 摘要 Hacker News 讨论了伊丽莎白·巴伦被任命为 PHP 基金会新执行董事一事。 讨论迅速转向对基金会透明度和影响力的审查。 用户指出,尽管存在一些透明度报告,但很难找到关于其活动和财务的详细信息。 质疑基金会是否指导开发者对 PHP 核心进行工作,或者允许独立贡献。 讨论的很大一部分转移到对巴伦作为跨性别女性的身份的评论,一些人庆祝包容性的提高,另一些人则表达了对“DEI 领袖”的担忧,并强调成就而非身份。 几位用户指出,在技术社区(尤其是在 Rust 和函数式编程等领域)中,跨性别女性似乎代表的比例过高。 辩论突出了人们对身份在专业环境中的作用以及基于功绩评估个人的重要性等不同观点。

数字研究公司搜索信息→按回车键搜索

## 数字研究与有趣的搜索趋势 一个网站[numberresearch.xyz](https://numberresearch.xyz) 追踪数字被搜索的频率,揭示了一些令人惊讶的流行选择。目前,**69** 是搜索最多的数字(超过3.3万次搜索,受到Hacker News的关注),其次是 **67**(约1.3万次)。 该网站引发了关于*为什么*某些数字会受到关注的讨论。理论从共享的数学问题——一个独特的数字可能预示着一个共同的研究领域(例如整数序列的OEIS)——到键盘模式影响随机数生成。有些人怀疑对于排名很高的大数字存在“刷票”行为。 用户们正在积极“发现”数字,甚至有人尝试进行高达13.1万的连续搜索。该网站允许搜索高达10^10000 - 1的数字,但偶尔会出现数据库错误,并且搜索时间可能会很慢。这是一个对集体数字行为的古怪探索,引发了人们对喜剧游戏节目“Numberwang”的比较。

## MACE:通过网络进行易于访问的分子计算 MACE是一个基于网络的平台,旨在普及对先进机器学习原子间势(如MACE,NeurIPS 2022)的使用,其精度可与DFT相媲美,但无需编码或复杂的设置。用户可以上传结构文件(.xyz、.cif等),使用内置的绘图工具绘制分子(由RDKit.js & JSME提供支持),或从目录中选择,然后在任何浏览器中执行计算(能量、力、分子动力学)。 主要功能包括3D查看器、轨迹动画、交互式能量图以及用于比较性能的多模型基准测试套件。一个独特的“MACE Link”功能会生成指向计算结果的永久共享链接——包括3D可视化和数据,从而促进开放科学。 MACE优先考虑可访问性,具有键盘导航、ARIA标签和色盲安全调色板。它基于Next.js、React构建,并利用Supabase进行安全数据存储。该项目旨在消除研究人员、学生和有可访问性需求科学家的障碍,从而促进更广泛的计算化学参与。

## 工程复杂性的隐藏成本 艾兹格·戴克斯特拉观察到,简单虽然是美德,但实现和欣赏它却出乎意料地困难——尤其是在复杂性往往*更*受重视的情况下。本文强调了工程团队中一个微妙但普遍存在的问题:倾向于奖励过度工程,而忽视有影响力的简单性。 提供最简单的可行解决方案的工程师往往得不到认可,而构建复杂系统的工程师则可以创造引人注目的晋升叙述。这并非出于恶意,而是源于有缺陷的评估指标——关注*构建了什么*,而不是*避免了什么*。面试和设计评审强化了这一点,通常优先考虑可扩展性和“面向未来”的功能,而不是务实的解决方案。 核心问题是“未获得授权的复杂性”——在没有明确需求的情况下添加功能或抽象。真正的资深在于知道*何时不*使用工具和模式。 为了应对这种情况,工程师应该积极地阐述简单解决方案背后的*理由*,并记录所考虑的替代方案。领导者必须通过重视有影响力的克制来改变激励机制,询问“最简单的版本是什么?”,并认可那些优先考虑清晰和效率的人。最终,庆祝简单性对于培养一种奖励良好判断力而非仅仅技术能力的企业文化至关重要。

## 奖励复杂性的问题 这次Hacker News的讨论集中在为什么软件工程中的简单性常常得不到重视,以及为什么复杂方案反而更容易在晋升时获得认可。核心观点是,组织通常难以评估“*没有发生*的事情”——即由简洁的实现方式避免的问题。 许多评论者指出,影响力通常通过可见的努力和复杂性来衡量。一个庞大、 “面向未来”的系统,配有图表和演示文稿,看起来比一个简单地*有效*的解决方案更有价值。这造成了一种扭曲的激励,促使过度设计。 提出的解决方案包括明确记录设计权衡(为什么拒绝更简单的方案,以及重新考虑它们的条件),并将绩效评估标准调整为关注使系统未来*更容易改变*。 还有人建议采用“你负责你构建的系统值班”的政策,以鼓励开发人员优先考虑可维护性。 最终,讨论指向了一个系统性问题:缺乏机制来认可和奖励那些预防问题的工程师,以及一种将复杂性等同于价值的倾向,尤其是在大型组织中,影响难以追溯。 许多评论者也指出,即使工作很简单,有效地*展示*你的工作也很重要,以确保它得到认可。

更多

联系我们 contact @ memedata.com