每日HackerNews RSS

## FracturedJson:可读性JSON格式化 FracturedJson是一系列工具,旨在格式化JSON数据,以提高人类可读性,同时保持相对紧凑。与传统的压缩或深度缩进JSON不同,FracturedJson智能地使用四种主要格式来构建输出:内联、紧凑多行数组、表格对齐和扩展多行结构。 它优先考虑在可行的情况下使用单行表示对象和数组,并对齐相似的结构(如表格)以便于比较。长数组被分解为每行多个条目。 众多设置允许自定义,但默认设置通常会自动产生出色的结果。 FracturedJson可作为浏览器格式化工具、.NET库、JavaScript/TypeScript包和Visual Studio Code扩展使用,Python选项也可提供。它甚至处理注释(非标准JSON),并尝试将其与相关元素关联。 目标是以一种自然且高效的方式呈现JSON,方便人类阅读。

## FracturedJson:一个新的 JSON 库 一个名为 FracturedJson 的 GitHub 库允许 JSON 文件包含注释和其他非标准元素。该工具在 Hacker News 上分享,引发了关于其潜在用途的讨论。 一些用户认为 TOML 和 YAML 等标准格式更适合人类可读的配置文件(因为可能存在 Git diff 问题),而另一些人则认为 FracturedJson 在调试方面具有价值——尤其是在 API 响应中嵌入注释或游戏开发 JSON 数据等场景中。 一位用户强调了支持注释的好处,批评了最初将注释排除在 JSON 标准之外的理由没有根据。 另一位用户提到希望具有管道输入功能,类似于 `jq` 命令行工具的流行功能。 总的来说,该库被认为是一个“很酷”且可能对特定用例有帮助的工具。

一位开发者试图绕过C++编译器选项`/EHa`带来的性能开销——该选项启用捕获C++异常和结构化(系统级)异常——同时仍然处理结构化异常。他们的计划是安装一个未处理异常过滤器,将结构化异常重新抛出为C++异常。 然而,这种“巧妙”的方法被证明不可靠。它*仅*在编译器预期`try`块内存在潜在的C++异常时(例如,由于函数未标记为`noexcept`),才能维持异常处理结构。移除编译器认为不会发生C++异常的代码会导致`try/catch`块被优化掉,结构化异常将无法被处理。 根本原因并非编译器恶意,而是`/EHa`对优化的根本影响。启用它迫使编译器确保变量的稳定性,因为在*任何*点都可能发生异步异常,从而阻碍了延迟初始化和乱序执行等优化。 尝试的解决方法本质上复制了`/EHa`的功能,同时误导了编译器,如果结构化异常发生在意外的地方,可能会导致未定义行为——例如打印未初始化的变量。最终的解决方案是使用`/EHa`并接受其性能影响,或者完全避免依赖结构化异常处理。

这个Hacker News讨论围绕C++异常处理的复杂性及其与微软结构化异常处理(SEH)的交互。虽然推荐使用ISO标准的C++异常处理以提高可移植性和灵活性,但SEH对于遗留代码和特定场景(如通用语言运行时)仍然相关。 核心争论在于C++异常是否可以从SEH块内部抛出,答案是微妙的“是,否,显而易见”,具体取决于对平台实现的理解。一个关键问题是性能:启用SEH (/EHa) 可能会阻碍编译器优化,因为它要求所有变量保持稳定,以应对潜在的异步异常。 用户讨论了可能的妥协方案,例如隔离容易出现SEH问题的代码段进行保守编译,以及性能关键型应用程序通常将运行时集中在小代码段中的现实——但这一点受到了激烈的辩论,并提供了来自操作系统和数据库的反例。最终,共识倾向于优先使用标准的C++异常处理,除非有特定要求另行规定。

启用 JavaScript 和 Cookie 以继续。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 Beddel 协议:顺序流水线执行器 (YAML) (npmjs.com) 9 分,由 mesenga 16 小时前发布 | 隐藏 | 过去的 | 收藏 | 1 条评论 hagbard_c 12 小时前 [–] 当我看到一个 README 文件中使用表情符号列表时,我有一种强烈的 CTRL-w 手动关闭的反射动作,我可能需要学会抑制它,以免我的 CTRL-w 键和手指磨损。如果我要使用生成模型来创建一些东西,我会手动编辑掉那些讨厌的表情符号,或者直接告诉这个机器不要在那里放置它们。至少这个还没有讨厌的火箭表情符号 - 还没有。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

启用 JavaScript 和 Cookie 以继续。

## 从混乱到掌控:使用Beancount构建个人财务系统 作者因管理多个账户和货币的财务复杂性而感到沮丧,因此使用纯文本会计原则和Python库Beancount构建了一个定制的个人财务系统。该系统经过一段时间的开发,最初尝试依赖自定义数据库但失败了,优先考虑准确性、控制性和可审计性。 该系统的核心是**复式记账法**,确保每笔交易平衡并提供完整的财务流量图。数据存储在纯文本文件中,实现版本控制并消除供应商锁定。自动化是通过导入银行对账单(通常作为PDF格式,出人意料地可靠)和使用半自动化的Web UI对交易进行分类来实现的。 该系统超越了基本跟踪,处理投资,利用插件管理成本基础、股息和市场价格。创建了多个“视图”——简化的每日视图、详细的税务视图和组合的家庭视图——所有视图都来自相同核心数据,提供灵活性和定制报告。 维护该系统每周大约需要20分钟,重点是导入对账单和分类交易。虽然需要初始努力和一些技术技能,但结果是一个值得信赖的、不断增长的净资产数字和完全的财务透明度。这种方法最适合那些寻求对财务拥有毫不妥协的控制权的人,而不是简单的预算解决方案。

## 黑客新闻讨论:多币种家庭的纯文本记账 这个黑客新闻帖子讨论了Lalit Maganti的博客文章,关于使用纯文本文件(如Beancount)而不是传统软件来构建个人记账系统。作者认为这种方法提供了更大的控制权和可见性,尤其是在涉及多种货币和投资的复杂财务中。 一些评论者同意净资产可以简单地计算为资产减去负债,但许多人强调了复式记账对于*跟踪*资金流动和识别差异的价值。 几位用户分享了使用YNAB(You Need a Budget)、GnuCash和Actual Budget等工具的经验,并指出找到能够充分处理多币种设置和投资跟踪的软件的挑战。 一个关键的收获是详细跟踪对于理解消费习惯和实现财务目标的好处,即使这需要时间投入。 另一些人强调了系统需要适应个人需求的重要性——对于一些人来说,简单性是关键,而另一些人则受益于粒度细节。 讨论还涉及了“净资产”作为指标的局限性,以及理解你的钱*在哪里*,而不仅仅是*有多少*的价值。

## 与Beancount共度十年:个人财务总结 过去十年,作者一直使用Beancount(一种纯文本会计系统)细致地跟踪个人财务。这包括每月花费30-45分钟下载银行对账单(CSV格式)并将其导入Beancount账本的过程。 十年间,这产生了包含超过45,000行数据、分布在16个纯文本文件中的账本,总计约10,000笔交易和20,000条分录,涉及1086个虚拟账户。大约500份支持文件(如收据)也链接到交易。分录数量稳步增加,并在2023年达到峰值。 工作流程包括将CSV数据转换为Beancount可读格式,将其附加到账本,并手动平衡条目以确保准确性。每年,交易都会被归档到单独的文件中,以提高可读性。 为了简化他人的入门流程,作者还撰写了一本关于使用Beancount的书籍,该书收到了积极的反馈和Beancount社区的认可。最终,作者重视将财务数据作为纯文本、本地存储,并且不依赖于任何特定服务或应用程序所带来的控制权和持久性。

一个黑客新闻的讨论围绕着使用纯文本文件和开源软件(如Beancount)来管理个人财务。最初的帖子链接到一个资源,详细介绍了以这种方式进行10年的财务跟踪。 几位评论者分享了他们的经验。许多人欣赏基于文本系统的灵活性和控制力,利用Vim、grep和Git等工具进行编辑、搜索和版本控制。Beancount被强调为一个特别通用的选择,不仅可以跟踪财务,还可以跟踪股票、休假和其他资产。 然而,这种方法并非适合所有人。一位评论员指出,它最适合开发人员或熟悉文本界面的人,而另一位则质疑作者与Beancount核心项目的关系,尽管他写了一本相关书籍。尽管需要投入时间(可能10年里需要60-90小时),用户认为这是值得的,可以换取数据的所有权和定制化。

该实验测试了几个大型语言模型(LLM),包括Opus、Gemini 3 Pro、GPT-5.2和Gemini 3 Flash,解决一个复杂的几何问题:计算一个正方形的面积,并减去它与另一个可能重叠、非轴对齐正方形的交集区域。目标是最小化使用的三角形数量。 没有LLM完全成功生成正确的代码。然而,顶尖模型表现出令人惊讶的调试能力,能够利用视觉反馈(执行过程中生成的和“检查”的截图)。这突出了为智能体提供自我检查机制的价值。 虽然像Gemini 3 Flash这样的模型生成了看似可用的代码,但它并非最优,增加了不必要的复杂性。性能差异很大,没有明显的赢家——即使是最好的模型有时也会崩溃。完整的代码和结果可在Github上找到。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Square Minus Square – 一个编码代理基准测试 (aedm.net) 22 分,Topfi 发表于 17 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 wariatus 发表于 14 小时前 [–] 你尝试过给这些代理配备访问接地视觉模型来分析图像吗?根据我的经验,大多数模型无法正确理解这种输入。我现在正在试验 Molmo2,看起来很有希望。 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## “氛围编程”与AI驱动开发的兴起 软件开发正在经历一场根本性的转变,从传统的编码方式转向“氛围编程”——协调AI代理来构建软件。这种新范式,由代理编码等概念率先提出,彻底改变了游戏规则:开发者定义*要*构建什么,而AI负责*如何*构建,自主进行规划、编码、测试和部署。 这并非要取代开发者,而是要增强他们的能力。专家可以实现“超人”级别的生产力,即使是初级开发者也能在AI的帮助下完成更多工作。然而,要实现潜在的10倍产出提升,需要进行大量投资——大约一年时间——来建立“信任”并掌握这些工具。 成功的关键在于“代码库的准备情况”:清晰、文档完善且经过充分测试的代码对于AI有效运作至关重要。像RocketEdge这样的公司正在拥抱这种转变,利用GitHub Copilot等工具大幅缩短开发时间和成本——AI生成的代码成本仅为几美分,而人工开发每行代码的成本高达数美元。 最终,未来将青睐能够协调AI、设计系统和指导代理的工程师,而不是专注于重复性的编码任务。适应这个新时代不再是可选的,而是保持竞争力的必需品。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 工作 | 提交 登录 为 CTO 编写代码:100 行代码的真实成本 (rocketedge.com) 6 分,由 jiripik 发表于 3 小时前 | 隐藏 | 过去 | 收藏 | 3 条评论 reconnecting 发表于 12 分钟前 | 下一个 [–] 这篇文章的价值可疑,由 AI 本身编写。100 行代码的真正成本在于 AI 偶尔会泄露机密,或者带来新的漏洞,在代码编写的规模下,任何工程师都无法察觉。回复 Traubenfuchs 发表于 11 分钟前 | 上一个 | 下一个 [–] 我真的很想知道 rocketedge 的工程师们对此有什么看法。他们一定很尴尬。回复 JackSlateur 发表于 30 分钟前 | 上一个 [–] 使用行数作为 KPI 所以,有些人仍然陷在那里。 这很悲哀。 “完美不是指没有更多可以添加的东西,而是指没有更多可以删除的东西”回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## Nix-Darwin:摆脱macOS上的“命令式腐烂” 传统上,管理macOS开发环境涉及一系列容易因软件包更新和依赖冲突而随时间崩溃的命令(例如`brew install`),作者将此问题称为“命令式腐烂”。为了解决这个问题,他们转向使用Nix和Nix-Darwin的声明式系统。 Nix将系统配置视为代码,通过为存储在`/nix/store`中的每个软件包使用唯一的哈希值来确保可重复性。这允许轻松回滚到以前的工作状态,并使用`flake.lock`固定配置,以实现跨机器的一致环境。 虽然功能强大,但Nix的学习曲线陡峭,需要理解一种新的特定领域语言。作者采用混合方法,使用Nix-Darwin来管理核心系统组件和开发工具,同时利用Homebrew(在Nix配置*内部*管理)来管理需要传统安装方法的macOS特定GUI应用程序。 最终,Nix提供了一种“获取并忘记”的工作流程,以及用于测试的临时shell,以及由代码定义系统而非遗忘的命令所带来的安心感。像Determinate Nix Installer和文档化的配置(例如作者的[dotfiles](https://github.com/k0pernicus/dotfiles/nix-darwin-config))可以帮助新手克服最初的复杂性。

## 使用 macOS 和 Nix-Darwin 实现不可变性 一篇 Hacker News 讨论集中在使用 Nix-Darwin 实现 macOS 的不可变设置。用户分享了转向完全可复现环境的经验,旨在简化入职流程,并在不同机器上镜像生产环境。 核心思想是使用 Nix 声明式地管理整个系统——包括应用程序、配置和开发环境。一位用户成功安装 macOS,然后仅使用两个命令应用他们的 Nix 配置。 挑战依然存在,尤其是在开发环境方面。虽然项目特定的 Nix flakes 有助于管理依赖项(例如 Scala 项目的 JVM 版本),但一些用户仍然希望获得更强大、容器化的工作流程,例如 VS Code 的 Dev Containers。 其他人强调了类似系统(如 Guix 或基于镜像的 Linux 发行版(Fedora Silverblue))在实现完全系统可复现性方面的优势。 正如多位评论者所表达的,最终目标是单个、可移植的文件,定义完整的系统配置,以便轻松设置和保持一致性。

## 公有领域日2026:文化复兴 每年1月1日是公有领域日,庆祝版权到期并进入公有领域的作品——所有人都可以自由使用、分享和在此基础上创作。最初的设想是通过有限的版权期限来促进“科学进步和实用艺术”的发展,但历史上,受企业利益驱动的版权延长,几乎将文化锁定了近一个世纪。 然而,2019年标志着一个转折点,开启了创意作品重新流入公有领域的新潮流。2026年,1930年出版的书籍将被发布,其中包括威廉·福克纳、弗兰茨·卡夫卡、阿加莎·克里斯蒂、兰斯顿·休斯以及达希尔·哈梅特的《马耳他之鹰》等经典作品。 Standard Ebooks已经准备了20部这些新可用的作品作为免费电子书,以及来自Public Domain Review的资源。这种涌入是对可访问文化的重大推动,允许所有人进行混音、改编和享受。通过赞助等方式支持Standard Ebooks等组织,有助于确保持续访问这些宝贵的资源。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Standard Ebooks:文学作品公共领域日2026 (standardebooks.org) 14 分,由 WithinReason 49 分钟前发布 | 隐藏 | 过去 | 收藏 | 1 条评论 robin_reala 2 分钟前 [–] 我是一名贡献者 – 我完成了卡夫卡的《城堡》,阿加莎·克里斯蒂的《巨人面包》,以及斯特拉·本森的《遥远的妻子》的制作,很乐意回答关于Standard Ebooks的任何问题。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

更多

联系我们 contact @ memedata.com