每日HackerNews RSS

该仓库托管了书籍“Linux系统编程:实践入门”(No Starch Press,亚马逊购买链接:[https://www.amazon.com/System-Programming-Linux-Stewart-Weiss/dp/1718503563](https://www.amazon.com/System-Programming-Linux-Stewart-Weiss/dp/1718503563))的源代码。 请注意,代码可能与书籍的初版印刷有所不同(可通过`firstprinting`分支获取)。自最新印刷版以来的更改在`CHANGES`文件中详细说明。代码采用GNU GPLv3(程序)和GNU LGPLv3(库 – `common/`和`include/`目录)许可。 仓库按章节组织(例如`ChapterNN`),另有包含头文件、库和makefile的目录。要构建程序,首先`cd`进入`common`目录并运行`make`,然后运行`make install`。这将设置必要的头文件和库。然后,导航到所需的章节目录并运行`make`。每个章节可能都有一个特定的`README`文件,其中包含进一步的说明。欢迎报告错误或改进建议。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Linux系统编程:实践介绍 “Demo”程序 (github.com/stewartweiss) 11点 由 teleforce 2小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## Servo 项目增长:2025 年回顾 Servo 浏览器项目自 2023 年 Igalia 承担项目维护以来,取得了显著增长。数据表明,社区活动大幅增加——合并请求(PR)数量在 2023 年至 2025 年间几乎翻了四倍(达到 3,183 个),贡献者数量也增长了三倍以上,2025 年达到 146 人。值得注意的是,贡献者参与度不断提高,每年提交超过 10 个 PR 的人数也在增加。 技术进展也很明显,Web Platform Tests (WPT) 通过率在 2025 年从 48.2% 提高到 61.6%。该项目也获得了越来越多的关注,在 GitHub 上的星标数量接近 35,000 个。 除了代码贡献外,社区还扩展到包括 5 名管理员、17 名 TSC 成员、25 名维护者和 18 名贡献者。Servo 发布了三个版本,并建立了赞助等级,获得了 4 名铜牌赞助商,资金用于支持关键贡献者和改进 CI 时间。该项目还在全球技术活动中保持了强劲的 presence,并发表了 10 次演讲。 总而言之,2025 年展示了一个充满活力且不断壮大的 Servo 社区,为持续进步做好准备。

最近的 Hacker News 讨论强调了 Servo 浏览器引擎项目令人印象深刻的增长,贡献者数量在 2023/2024 年跃升至 146 人。 这种复兴主要归功于 Igalia 的赞助开发,始于 2023 年,并得到 Linux 基金会的支持,此前项目曾有一段时间处于不活跃状态。 评论员推测促成这种重新兴趣的驱动因素,指出 Ladybird 等项目具有启发性,并质疑 Manifest V3 是否正在促使更广泛地远离基于 Chromium 的浏览器。 还有关于 Servo 作为嵌入式设备的 WebKit 内存安全替代品的潜力。 最后,用户对 Servo 和其他引擎在可靠的 HTML 到 PDF 转换方面的可行性感到好奇,目前该领域由主要的无头浏览器主导。 Igalia 对 *所有* 主要浏览器引擎的广泛贡献也得到了注意。

## GitHub Actions:开发者的沮丧 作者表达了对 GitHub Actions 的强烈沮丧,甚至超过了对之前厌恶的技术(如旧版本的 PHP)。核心问题在于他们的项目 `tmplr`(一个模板/脚手架工具)的 CI 构建失败,原因是难以在不同目标平台(Linux ARM、macOS ARM、Linux x86_64、macOS x86_64)上安装 CUE 二进制文件。 尽管 CUE 在大多数平台上都能成功安装和运行,但 Linux ARM 构建始终以“命令未找到”错误告终——这是由于 GitHub Actions 的隔离跨构建环境将 x86_64 二进制文件隐藏在 ARM 运行器之外所致。这引发了一个重复的、耗时的 CI 配置更改和重复构建尝试的调试循环(每次更改需要 2-3 分钟)。 最终,作者通过从 `build.rs` 中移除构建逻辑并将其移动到 GNU Makefile,然后由 GitHub Actions 直接调用来解决了这个问题。他们提倡将构建逻辑保留在 GitHub Actions 的 YAML 配置之外,以避免类似的麻烦,并得出结论,虽然 Actions 提供了易于构建 macOS 的好处,但它通常会带来大量的调试时间和开发者精神损失。

一个 Hacker News 的讨论显示出对 GitHub Actions 的强烈不满。发起者表达了强烈的厌恶之情,引发了评论者们的共鸣,他们认为 Actions 最适合用于简单的代码检出和执行本地测试过的脚本,而不是用于复杂的流程逻辑。 许多人认为理想的 Action 应该只是运行一个用户定义的单个命令。 几位用户指出 “act” (https://github.com/nektos/act) 作为一种潜在的解决方案,它提供了一个本地运行器来复制 Actions 环境,以进行更可靠的测试。 一个关键的结论是,人们渴望获得更大的控制权和可预测性,开发者们提倡将核心逻辑*置于* GitHub Actions 流程定义之外。 一些人指出,并非所有开发者都能直观地理解这种最佳实践。

## Seapie:以人为本的 Python 调试器 Seapie 是一款新的 Python 调试器,旨在易于使用和发现。它优先考虑自然的调试体验,力求“像你想象的那样工作”。与传统的调试器不同,Seapie 专注于 REPL 优先的方法,允许使用标准的 Python 语法(例如 `print(myvar)`,`myvar = None`)直接检查和修改变量。 主要功能包括有用的错误消息、可通过 `!help` 从任何地方访问的内置帮助,以及使用 Python 表达式定义调试条件的能力——例如,当函数返回 `None` 或特定函数在调用堆栈中时停止。 Seapie 可以与你的代码无缝集成;断点使用 `seapie.breakpoint()` 设置,调试直接在 Python shell 中进行。命令如 `!step`、`!traceback` 和 `!location` 提供控制,而调试器不会将你锁定在单独的模式中,允许灵活的探索并在任何时候恢复执行。

## Seapie:一个注重REPL的Python调试器 Markushirsimaki推出了Seapie,一个作为`pdb`替代方案的Python调试器。Seapie的核心功能不是基于命令的界面,而是在断点处通过`seapie.breakpoint()`进入一个完全功能的Python REPL。在REPL中进行的更改会持久保存,调试控制通过小型的`!commands`访问。 评论者指出`pdb`和`ipdb`已经提供了类似REPL的功能,但Seapie旨在实现更无缝的集成。然而,经验丰富的开发者指出,IDE已经提供了丰富的调试体验——显示变量和调用堆栈,而无需REPL命令,这是Seapie目前所缺乏的。 作者欢迎反馈,特别是来自重度调试器用户,建议潜在的改进,例如在断点命中时自动显示行/源代码以及变量预览。Seapie似乎对那些在CLI环境中工作且没有全功能IDE优势的人最有用。

Coverage Cat 正在寻找一位注重细节的团队成员,寻求在高增长的初创公司担任兼职职位。您将支持团队处理各种行政、后台和自动化运营工作,助力我们打造全球首个 AI 原生保险经纪人。欢迎应届毕业生以及寻求兼职职位的经验丰富的后台和运营支持专业人士申请。请仅通过上方 YCombinator Work-at-a-Startup 申请按钮提交申请。通过电子邮件发送的申请将被忽略。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Coverage Cat (YC S22) 正在招聘兼职运营专家 (coveragecat.com) 29分钟前 | 隐藏 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

最近的拍卖显示,英国海上风电行业的成本正在上升,这受到全球供应链问题、材料成本增加以及与乌克兰战争相关的利率上升的影响。虽然价格比早期的拍卖有所下降,但与上一轮相比,价格已上涨至近91英镑/兆瓦时。 政府为这些成本辩护,认为海上风电仍然比新的燃气发电厂便宜(包括碳定价为147英镑/兆瓦时),并且对长期能源安全至关重要。然而,反对党批评政府未能兑现承诺的账单减免,并引用了不断上涨的合同价格和电网升级成本。 尽管存在政治辩论,但拍卖结果总体上受到能源部门和气候倡导者的欢迎,但人们仍然担心潜在的环境影响,特别是对海鸟种群的影响。对扩大可再生能源的支持很广泛,一些地区政党倡导对苏格兰和威尔士的能源资源拥有更大的控制权。

## 英国获得创纪录的离岸风电供应 - 黑客新闻摘要 英国获得了创纪录的离岸风电项目供应,引发了关于其对能源价格和安全影响的讨论。许多评论员认为这是积极进展,指出英国已经有超过70%的能源来自非化石燃料(尽管对年度数据和生物质燃料的纳入存在争议)。 讨论集中在风电与其他能源(如天然气和核能)的成本效益上。风电场在“差价合约”(CfDs)下运营,旨在稳定消费者的成本。一个关键点是,风电的间歇性需要备用基础设施(如天然气),增加了整体系统成本,但北海通常经历稳定的风力。 其他人指出,现有的天然气基础设施大部分已经到位,使其成为相对更便宜的备用解决方案。可再生能源的兴起也可能改变电力动态,让消费者有更多选择,并挑战传统的电网垄断。最终,人们对这些项目是会降低还是提高能源成本的看法不一,反映了两极分化的观点。

MBCompass 是一款免费且开源的 Android 指南针和导航应用程序,优先考虑隐私和简洁性。它不同于笨重的地图应用程序,在 OpenStreetMap 上提供清晰的方向(磁北和真北)和实时 GPS 位置,且无广告、无跟踪、无应用内购买。 MBCompass 使用 Jetpack Compose 构建,具有磁场强度显示、传感器融合以提高精度以及浅色/深色主题等功能。它支持横向模式,并在使用过程中保持屏幕活动状态。 该项目正在积极开发中,即将推出用户界面改进,包括 GPS 测速仪和 AMOLED 深色模式。它由社区驱动,欢迎通过 Weblate 和 GitHub 提供翻译和贡献。鼓励通过捐赠来支持 MBCompass,以确保其在 GPLv3 许可下持续可持续地开发。

一个名为MBCompass的新型、微型(小于1.5MB)的开源指南针和导航应用程序在Hacker News上分享。该应用程序由nativeforks开发,目前在基于OpenStreetMap的地图上显示用户实时位置,重点在于方向,而非完整的路线计算。 评论者赞扬了这个项目,并建议加入磁补偿以提高准确性,并考虑对应用程序收取少量费用以鼓励支持,而不仅仅依赖捐赠。开发者计划在Google Play上发布该应用程序,以触达不熟悉编译开源软件的用户。 未来的开发包括航点跟踪、离线地图和GPS测速仪,但核心目标仍然是轻量级、离线功能的导航工具——避免复杂的路线功能以保持简单和体积小。

## 分数证明:系统性地发现罕见错误 传统测试常常遗漏罕见的边缘情况,导致生产问题。该系统引入“分数证明”——一种结合了基于属性的测试(PBT)和形式化证明的优势,以高效地发现这些错误的方法。标准的PBT速度快但缺乏详尽的覆盖,而完整的证明在计算上不切实际。 分数证明通过将程序属性编码为PBT,然后*递归地分解*它们为更小、更易于管理的子测试来工作。这种分解,由对代码的推理引导,创建有针对性的单元测试,从而平衡速度、准确性和计算效率。 最近,这种方法自动发现了一个Anthropic近似Top-K采样实现中的错误——这个错误需要一个复杂的复现器才能手动找到。该系统生成了一个单元测试,*无需*依赖该复现器。 通过策略性地将复杂的定理分解为更小、可测试的组件,分数证明的计算复杂度随错误稀有度呈对数增长,从而能够系统地检测错误并提高程序正确性。该技术不仅适用于Top-K采样,还可以扩展到复杂的代码库和分布式系统。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 系统性地生成能够捕获 Anthropic 顶级K个错误的测试 (theorem.dev) 9点 由 jasongross 2小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

每年冬天,作者都会主动管理他们在圣克鲁斯山上的房产径流,在暴雨来临前用铲子清理溪流中的杂物。这并非为了*阻止*水流——水总是会找到出路——而是为了将水*引离*道路,以防止侵蚀和潜在的路面损坏。 关键在于识别并清除“树枝”——一块单一的基础性杂物,它会引发更大的堵塞。移除这一个物品通常能立即恢复自然水流。这段经历引发了更广泛的见解:有效的改变,就像疏通溪流一样,需要识别核心问题——阻碍进展的单一“树枝”。 作者将这个“树枝理论”应用于新年决心,认为持久的习惯需要识别驱动期望改变的根本问题,而不仅仅是表面的目标。令人满意的反馈循环——移除树枝并观察水流的即时成就感——对于保持动力并将决心转化为持续的习惯至关重要。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 溪流中的棍子 (randsinrepose.com) 5 分,作者 zdw 2 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 svilen_dobrev 6 分钟前 [–] 非常好的隐喻,整体感觉也很好。谢谢回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## Rails 8 放弃 Redis:转向数据库支持的队列 Rails 8 通过移除对 Redis 的依赖,显著简化了应用程序堆栈,Redis 传统上用于作业队列、缓存和实时消息传递。新的特性——SolidQueue、SolidCache 和 SolidCable——利用应用程序现有的关系数据库(PostgreSQL、MySQL 或 SQLite)来实现这些功能。 虽然 Redis 功能强大,但它通过设置、维护、网络配置和备份策略增加了复杂性。SolidQueue 利用 PostgreSQL 的 `FOR UPDATE SKIP LOCKED` 特性来高效管理作业队列,而无需锁竞争,从而实现可扩展的性能。定期作业由原生处理,无需额外的 gem。 SolidQueue 还提供免费的并发限制,并与 Mission Control Jobs 无缝集成,用于监控。从 Sidekiq 迁移很简单,只需更改配置和更新 gem。 虽然 Redis 仍然对特定的高吞吐量或实时应用程序有价值,但 SolidQueue 为绝大多数 Rails 项目提供了一个更简单、更易于管理的解决方案,降低了运营开销,并让开发者专注于构建功能。关键点:对于大多数 Rails 应用程序,简化堆栈的好处超过了 Redis 的性能提升。

一位开发者在Hacker News上宣布,他们正在将Rails应用中的后台任务从Redis切换到SolidQueue,主要原因是操作更简单。虽然Redis经过了充分的测试,但维护它会增加开销。 讨论强调了一种日益增长的趋势,即通过“SKIP LOCKED”等技术(如SolidQueue所实现)直接使用Postgres进行队列管理。 许多评论者指出了一些替代方案,例如Elixir的Oban,它拥有令人印象深刻的可扩展性(单个节点每分钟100万个任务),以及Node.js的Graphile Worker。 一个主要担忧是高吞吐量下Postgres潜在的性能瓶颈,一位用户报告在每分钟2-5k个任务时出现问题,并成功切换到Redis+BullMQ。 然而,许多应用程序可能不会达到如此高的量级。 原始作者和评论者都认为简化基础设施是有价值的,特别是如果将来需要扩展时,存在一条直接返回Redis的路径。

更多

联系我们 contact @ memedata.com