每日HackerNews RSS

## 尼西亚的持久遗产 今年是第一次尼西亚大公会议(公元325年)的1700周年,这是基督教历史上一个关键事件,但世俗世界却 largely 忽视了它。罗马皇帝君士坦丁一世召开了这次会议,以解决关于基督本质的争论,会议最终产生了尼西亚信经——一份正统基督教信仰的基础性声明,肯定了基督的神性和与天父同永。 争论的中心在于亚流等人提出的对立观点,亚流认为基督是由上帝创造的,而主流观点则认为基督 *是* 上帝。会议最终谴责了亚流主义,确立了一种至今仍在定义主流基督教的教义,从天主教到新教和东正教传统。 像梅加莱俄陨石修道院的一幅圣像一样,复杂的神学辩论以视觉方式呈现。这幅圣像突出了理性和信仰之间的紧张关系,将正统立场描绘成拥抱悖论——一种对纯粹逻辑解释神性的 deliberate 拒绝。尽管在几个世纪中出现了对基督教的不同解释,但尼西亚信经仍然是信仰的基石,是一首“奇怪的诗歌”,体现了其核心的持久之谜。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 尼西亚的遗产 (hedgehogreview.com) 8 分,由 diodorus 1小时前发布 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 氛围编程:将控制权让渡给人工智能 作者探讨了“氛围编程”,这是一种利用大型语言模型(LLM)的软件开发方法。他区分了两种方法:使用LLM进行小任务*并*进行完全人工监督,以及一种更激进的方法,即AI代理在很大程度上自主地构建复杂系统。他尝试了后者,极大地改进了一个简单的曼德勃罗特集分形网页。 最初的780行代码虽然功能正常但速度慢。在LLM的协助下,页面膨胀到13,600行,集成了诸如GPU加速、扰动算法,甚至多语言翻译等高级技术——所有这些作者都没有完全理解细节。这展示了人工智能在代码复杂性和优化方面超越人类能力的可能性。 然而,作者指出了成功“氛围编程”的两条关键规则:**自动化测试**(允许AI自我纠正)和**测试测试**(确保测试质量)。这些规则对于保持控制并防止AI优化到错误的结果至关重要。 最终,作者将氛围编程定义为从*执行*智力工作转变为*管理*AI“机器”,需要一种新型的“元认知基础设施”。他警告说,虽然这种方法功能强大,但存在失去人类理解和控制的风险,敦促人们仔细考虑增加的复杂性是否真正服务于人类需求。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 两种氛围编码 (davidbau.com) 14 分,由 jxmorris12 47 分钟前发布 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 重新思考环形缓冲区 作者发现了一种常见的、令人惊讶的低效实践,即在实现单元素环形缓冲区时,由于缓冲区状态的管理方式而浪费了容量。传统上,环形缓冲区使用一个数组和两个索引(读/写)以及掩码来保持在边界内,不可避免地会损失一个槽位来区分空和满状态。 另一种方法使用单个索引和一个长度字段,从而最大化容量,但会在并发读写场景中产生竞争问题。作者提出了一种更优的解决方案:使用两个未掩码的索引,它们会简单地溢出,依靠无符号整数的自然环绕来管理缓冲区的循环特性。 这种方法找回了丢失的槽位,简化了代码,并避免了对额外状态变量的需求。然而,它要求容量是 2 的幂,并且依赖于语言支持无符号整数溢出。尽管具有优势,但这种优雅的解决方案似乎并不常见,这导致作者质疑为什么更复杂、效率较低的方法仍然盛行——可能由于传统或不愿将整数溢出视为一种特性。

一个黑客新闻的讨论围绕着环形缓冲区的有效实现,特别是关注看似简单的单个元素环形缓冲区。 初始帖子链接到一篇文章,质疑常见的做法,认为对于单个元素使用完整的环形缓冲区实现效率低下——就像使用通用数组来存储布尔值。 评论者争论在可以使用单个布尔值的情况下,跟踪满/空状态是否有必要使用两个索引。 一个关键点是追求*真正*无锁环形缓冲区,一位评论员认为,许多依赖原子操作的实现仍然会在缓存行级别产生竞争。 他们提出了一种利用缓存一致性协议来避免这种情况的替代方案。 该讨论还链接到2016年关于相同主题的旧黑客新闻帖子。

为什么?我发现拖放体验很容易变成一场噩梦,尤其是在移动设备上。同时尝试点击、按住、拖动和滚动,既笨拙又缓慢且容易出错。我一直想用一种更简单的两步方法:先选择一个项目,然后放置它。所以我实现了这个基本版本来展示我的想法。它是如何工作的?当选择一个项目时,原始列表的副本会创建在上面。这个副本是交互式的,并且会根据滚动位置进行更新。最后,用户可以确认或取消更改。这是一个库吗?不完全是。这仅仅是一个概念验证,为了传达我的想法。但是,你可以查看源代码以获取灵感。

## Picknplace.js:一种拖放替代方案 Picknplace.js 是一个新的 JavaScript 库,它提供了一种“先选取再放置”的两步方式来重新排序项目,作为传统拖放的替代方案,尤其是在移动设备上,拖放操作可能比较繁琐。用户首先“选取”一个元素,然后滚动到目标位置进行放置,而不是连续的拖动。 虽然旨在解决拖放的可用性问题,但初步反馈表明存在一些用户体验方面的担忧。许多用户觉得界面不直观,需要说明文档才能理解操作流程。常见的批评包括整个页面滚动而不是仅滚动列表,导致放置困难,以及滚动轮的意外行为。 改进建议包括突出显示潜在的放置位置,限制滚动到列表本身,并可能将选取和放置与标准的拖放结合起来,以提供更灵活的体验。尽管评价褒贬不一,但该项目被定位为一个实验,并且创建者乐于接受反馈。

## Delty:医疗保健领域的人工智能 – 摘要 Delty 正在开发用于医疗保健的人工智能操作系统,专注于语音和计算机辅助,以简化临床工作流程并减轻医护人员的行政负担。Delty 由前谷歌工程领导人创立,旨在通过可靠、感知上下文的人工智能提高效率和医护人员体验。 他们正在寻找经验丰富的机器学习工程师来构建和负责端到端的生产机器学习系统——从数据管道和模型训练到部署和监控。该职位要求 3 年以上结构化数据机器学习经验、强大的后端工程技能,以及专注于构建可扩展、可维护的解决方案。 Delty 提供一个高影响力的环境,有机会向经验丰富的工程师学习,为产品方向做出重大贡献,并迅速加速职业发展。他们优先考虑所有权、快速迭代以及解决具有挑战性的问题,为医疗保健行业提供强大、企业级的人工智能解决方案。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Delty (YC X25) 正在招聘机器学习工程师 (ycombinator.com) 28分钟前 | 隐藏 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## go-boot: 一个TamaGo UEFI 唯一内核 go-boot 是一个适用于AMD64平台的TamaGo唯一内核,提供UEFI Shell和操作系统加载器。它允许直接与UEFI API交互,并支持启动各种操作系统,包括EFI应用程序、Linux内核(通过UAPI引导加载条目配置)以及通过其UEFI引导管理器启动Windows。未来的开发计划包括引导透明度支持。 该系统提供一个命令行界面,包含文件管理、系统信息、网络(可选SNP/go-net支持)和内存访问等实用工具。它可以通过环境变量进行配置,例如`IMAGE_BASE`、`DEFAULT_LINUX_ENTRY`和`CONSOLE`。 go-boot可以使用TamaGo编译器构建,并通过UEFI Shell、systemd-boot等引导管理器或`efibootmgr`部署。它也可以在QEMU中进行测试,并通过GDB提供调试选项。该项目提供硬件兼容性列表(HCL),其中包含各种平台的推荐`IMAGE_BASE`值。

## Go-boot:基于Go的UEFI引导管理器 一个名为“Go-boot”的新项目(github.com/usbarmory)在Hacker News上引起关注,它创建了一个基于Go语言的裸机UEFI引导管理器。本质上,它展示了Go编程语言在低级系统编程中的可行性——传统上由C和Rust主导的领域。 该项目的创建者以USB Armory和TamaGo项目而闻名,他们构建Go-boot部分是为了*证明* Go可以处理此类任务,从而反驳了人们对其在裸机编程中适用性的怀疑。除了证明这一点之外,它还旨在提供一个比标准、通常笨拙的UEFI shell更易于使用的替代方案。 该项目突出了Go在可靠性和安全性至关重要的场景中的潜力,为系统级开发提供了一种不同的方法。

## 平行代理:克服AI编码中的方差 代理编码存在固有的方差——LLM的随机性意味着相同的提示可能产生不同的结果。仅仅改进提示工程(上下文工程)可以降低*平均*质量,但不能保证找到*最佳*解决方案。本文提出**并行收敛**:同时运行多个代理实例,以探索更广泛的解决方案空间。 核心思想是将代理运行视为样本,分散风险并利用“集体智慧”。从干净的上下文开始的并行代理可以逃避单个代理可能陷入的次优局部最小值。当多个代理独立地提出相同的方法时,即为收敛——这验证了一个强大的解决方案。 此工作流程用于两个阶段:生成多个问题解决方案,以及收集关于问题的各种信息(使用专门的代理进行git历史记录、文档、网络研究等)。Claude Code的编排模式促进了这一点,综合代理输出并偏向于更简单、经过验证的解决方案。 虽然需要消耗大量token,但并行收敛提供了基于多个独立来源的高置信度结果。它对于复杂的调试或规划最有价值,对于简单的任务则价值较低。最终,上下文工程塑造了良好解决方案的*可能性*,而并行收敛*找到*了最佳解决方案。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 一个代理不足以 (benr.build) 8 分,由 bisonbear 1小时前发布 | 隐藏 | 过去的 | 收藏 | 2 条评论 yawnxyz 20分钟前 [–] 如果尝试让多个代理产生一致的结果,是不是最好让他们最终构建一个可重复的工作流程?回复 bisonbear 13分钟前 | 父评论 [–] 好问题 - 然而我认为这些不一定是互斥的。 我拥有可重复的工作流程,可以利用多个代理的优势。可重复的工作流程可以为单个代理带来一致的结果。使用多个代理可以让你充分探索问题空间。 一个和谐使用这些概念的例子是创建一个自定义斜杠命令,该命令会生成具有自定义提示的子代理,从而使它们进行更多探索。命令 + 代理提示使流程可重复 + 可改进。 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

拉凡艺术 艺术再构想 前往画廊 “艺术不是你所见,而是你让别人所见。”

Ravaan.art 是一个新项目,生成著名绘画的动画版本。该网站在 Hacker News 上分享后,引发了用户,尤其是艺术家们关于 GenAI 图像创作影响的讨论。 一些艺术家对人工智能生成的艺术表示不安,但许多人觉得 Ravaan.art 很有趣,尽管对*哪些*风格最成功存在分歧。一位用户更喜欢动画抽象作品,觉得传统绘画“令人不安”,而另一位用户则被抽象艺术的不完美所吸引。 有人对一个能够对静态图像进行微妙动画的版本感兴趣——设想一下《夜游者》画作中带有细微动态元素的场景。一位评论员还将它与《星球大战》传说中的角色瑞文联系起来。总的来说,该项目被认为“非常酷”,让人联想到《哈利·波特》中的动态画像。

一种常见的UI模式为帖子显示相对时间戳,例如“4小时前”,通常会通过链接或工具提示增强,以显示精确日期。虽然HTML `<time>` 元素*似乎*是语义化日期表示的理想选择——允许浏览器和屏幕阅读器解释和显示完整时间戳——但其实际影响却出乎意料地有限。 尽管在很大一部分网页上被使用,大多数浏览器除了渲染它之外,都会忽略 `<time>` 元素。屏幕阅读器 NVDA 和 Narrator *会*读取时间戳,但可能并非按预期方式读取。搜索引擎似乎优先考虑 Schema.org 标记(datePublished/dateModified)而不是 `<time>`,用于搜索结果中的日期摘要。 本质上,`<time>` 仍然是语义化 HTML 未实现的承诺,最初设想用于日历集成和本地化等功能,但目前利用率不高。尽管如此,许多开发者仍然继续使用它,仅仅是因为它代表了可访问性和语义化代码的良好意图。

一个 Hacker News 的讨论集中在 HTML `<time>` 元素的使用率不高的问题上。用户表达了沮丧,因为它本身并没有提供有用的功能,例如自动生成相对时间戳(例如“4 天前”)或工具提示。 一些评论者提出了改进建议:无需 JavaScript 自动生成本地化的日期/时间格式,支持倒计时计时器,以及提供对时间显示的更精细控制。一位用户更喜欢绝对日期戳而不是相对日期戳,而另一位则提倡使用 `<time>` 结合通过 `Intl.DateTimeFormat` 进行适当的本地化和 ISO 格式化,并指出这有利于测试和潜在的浏览器插件集成。总体情绪是 `<time>` 元素*应该*做更多的事情来增强开发人员和用户双方的可访问性和可用性。

## JustHTML:利用人工智能辅助构建HTML5解析器 JustHTML是一个全新的、无依赖的Python HTML5解析器,在严格的html5lib测试套件上实现了100%的通过率,并包含CSS选择器查询API。该项目展示了编码代理的强大功能,使用VS Code和Github Copilot构建,并强调了解析现实世界中经常存在错误的HTML的挑战。 开发过程涉及迭代改进,从一个基本的解析器开始,并逐步提高测试覆盖率。一个关键的障碍是实现复杂的“收养机构算法”来处理格式错误的HTML——即使是原始Firefox HTML5解析器作者也认为这项任务具有挑战性。最初的性能较慢,导致了Rust分词器的重写(收益有限),最终将来自快速Rust解析器html5ever的逻辑移植回Python。 尽管最终速度比html5lib慢,但广泛的性能分析、受测试覆盖率指导的代码删除以及模糊测试显著提高了性能。作者强调代理*编写*了代码,而他们专注于高级设计、错误纠正和引导流程。该项目强调了在人工智能辅助开发中,明确的目标、代码审查以及允许代理从失败中学习的价值。

## JustHTML:一个使用编码代理构建的Python HTML5解析器 Emil Stenström 最近创建了 JustHTML,一个 Python 库,用大约 3,000 行代码实现了一个完全符合 HTML5 标准的解析器——通过了所有 9,200 个 HTML5 兼容性测试。该项目历时几个月,使用了各种编码代理工具开发,展示了它们通过迭代测试来解决复杂任务的潜力。 最初,JustHTML 是从头开始构建的,实现了完全的测试覆盖。为了加速开发,Stenström 随后利用编码代理重写了解析器,其代码结构基于 Rust 库 `html5ever`,但由于 Rust 的优化,这并非直接移植。据报道,生成的版本比 `html5lib` 快 60%。 该项目突出了编码代理在存在明确“正确/错误”答案的情况下的有效性,例如解析。该库采用 MIT 许可,允许进一步开发和调整,包括潜在的应用案例,例如在 PostgreSQL 数据库中清理 RSS 订阅源。作者还根据反馈更新了关于该项目的博客文章,提高了可读性。

更多

联系我们 contact @ memedata.com