每日HackerNews RSS

我们检测到您的浏览器已禁用 JavaScript。请启用 JavaScript 或切换到受支持的浏览器以继续使用 x.com。您可以在我们的帮助中心查看受支持的浏览器列表。帮助中心 服务条款 隐私政策 Cookie 政策 版权信息 广告信息 © 2026 X Corp.

## 中断 JavaScript 异步函数 JavaScript 缺乏内置的 promise 取消机制,尽管过去曾有相关提案。简单地抛出错误来中断操作可能会失败,因为 `try...catch` 块可能会捕获该信号。生成器通过 `yield` 提供控制,但需要不同的语法并且难以处理并发。 一个出乎意料的有效解决方案是返回一个*永不*解决的 promise。虽然看似会造成挂起,但当没有活动的句柄(如定时器或 I/O)存在时,Node.js 会干净地退出,从而触发对暂停函数的 promise 和函数的垃圾回收。 Inngest SDK 使用这种技术来中断长时间运行的无服务器工作流,允许从保存的状态恢复。核心思想涉及重复执行一个函数,记忆化结果以避免重新计算,并通过不解决的 promise 进行中断。 至关重要的是,这依赖于切断对挂起 promise 的所有引用,以允许垃圾回收。虽然不确定,但现代 JavaScript 引擎可以可靠地回收这些孤立的 promise。这种方法的好处是可以使用标准的 `async/await` 语法,同时实现可靠的中断,在控制和开发体验之间做出了权衡。

## JavaScript Promise 取消:总结 这次Hacker News讨论的核心是取消JavaScript Promise的困难。虽然Promise本身没有内置的取消机制,但文章和评论者探讨了各种解决方法,并与其他语言的方法进行了比较。 核心问题在于Promise缺乏标准化的取消机制。像创建“永不解决的Promise”并依赖垃圾回收等技术可以*有效地*停止执行,但并非保证,并且需要仔细管理引用以避免内存泄漏。 C#的`CancellationToken`因其协作式取消模型而受到称赞——允许库优雅地处理取消请求。Java较早的`Thread.stop()`因可能导致数据不一致而被警告。 对话涉及Web的`AbortSignal`以及TC39(JavaScript标准机构)正在进行的标准化工作,但浏览器方面的抵触情绪构成了一大障碍。关于TC39的整体进展存在争论,一些人认为它在交付关键功能(如取消)方面进展缓慢,而另一些人则为其彻底的方法辩护。 最终,讨论强调了取消的复杂性以及不同实现策略之间的权衡,强调了仔细考虑潜在副作用和资源管理的需求。

## 电价与天然气价格脱钩:摘要 “脱钩”指的是电价定价方式的转变,电价不再直接与天然气成本挂钩。 传统上,燃气发电厂(CCGT)决定电价,这意味着天然气价格上涨会直接推高电价(大致计算公式为TTF天然气价格 x 1.8 + CO₂价格 x 0.35)。 然而,可再生能源发电量(风能和太阳能)的增加可以在相当长的时间内取代天然气对电价的决定作用。 当平均电价低于天然气价格水平 20% 以上时,该年被认为是“脱钩”的。 本分析使用来自EPEX Spot、ICE/IEA和EEX的数据来确定脱钩是否正在发生,并承认存在诸如成交量加权定价以及日历年天然气/CO₂平均值等局限性。 基本上,脱钩意味着可再生能源正在日益影响电价,降低了对波动天然气市场的依赖。

2026年3月,英国大幅降低了对昂贵天然气进口的依赖,这得益于风能和太阳能发电量创下历史新高。这些可再生能源的联合产出达到11太瓦时,同比增长28%,避免了进口价值10亿英镑的天然气,相当于18艘液化天然气运输船。 可再生能源的激增也导致燃气发电量下降25%,达到该月历史最低水平。因此,天然气在设定电价中的作用比2022年减少了25%,当时电价因乌克兰战争而上涨。分析强调了风能和太阳能日益重要的作用,它们正在加强英国的能源安全,并在全球能源市场动荡时期降低成本。

对不起。

## 死者开关邮件工具:总结 看似众多,但可靠的“死者开关”邮件工具却出乎意料地稀少。这些工具旨在用户失活时发送消息或提供账户访问权限,与一般的遗产规划或密码恢复不同。选项分为三类:Gmail/Google账户交接、失活后自定义消息/文件发送,以及自托管解决方案。 五款工具脱颖而出。**Google非活跃账户管理器**最适合深度依赖Google生态系统的人,提供将账户数据转移给信任联系人的功能。**Alcazar死者开关**擅长安排定期签到、升级提醒,并向不同的接收者发送定制内容。**Dead Man’s Switch**(自2007年运行)为基本的邮件发送提供了一个简单且久经考验的选择。对于技术娴熟的用户,**LastSignal**提供了一个自托管、开源解决方案,具有强大的加密功能。**DeadMansSwitch.email**承诺隐私功能,但需要彻底测试。 重要的是,这些工具不能替代合法的遗产规划。它们基于失活触发*行动*,而遗嘱则授予*权力*。选择合适的工具取决于您的具体需求——从简单的账户延续到安全、定制的消息传递——以及您对信任第三方服务与自托管的舒适程度。

## Hacker News 讨论:“最佳失联邮件发送工具” 最近一篇 Hacker News 帖子来自 Alcazarsec,推荐用于“死亡开关”的工具——如果用户丧失行为能力则发送邮件——引发了争论。 几位评论员立即将该帖子标记为自我宣传,指出 Alcazar 自己的产品被突出显示,但缺乏明确披露。 Alcazarsec 为帖子辩护,表示他们真心相信自己产品的简洁性和隐私性,并且经常将其与竞争对手一起推荐。 然而,用户批评文章的语言可能由人工智能生成,并且缺乏对所列服务的真实评估。 这场讨论凸显了广告与提供有帮助的信息之间的紧张关系。 一位评论员建议专注于纯粹的增值内容以建立信任,并举例说明了详细的安全分析,这些分析可以自然地引导读者探索相关产品。 另一些人指出 Telegram 等服务中已有的功能,这些功能在用户不活动后提供帐户删除。 对话还涉及更技术性的解决方案,例如使用 SSH 密钥和密码管理器(Vaultwarden)进行安全信息传输,甚至基于区块链的“时间胶囊”,但非技术用户的使用便利性令人担忧。

## 库尔斯克号灾难:摘要 2000年8月俄罗斯潜艇K-141“库尔斯克”号的沉没,至今仍是苏联解体后俄罗斯挣扎的悲剧象征。在巴伦支海的一次海军演习中,“库尔斯克”号发生两次爆炸,导致艇上118名水兵全部被困。救援工作受到最初的混乱、反应迟缓(超过16小时才找到潜艇)以及之前失效的紧急浮标的阻碍。 尽管有国际援助的提议,俄罗斯海军最初淡化了这场危机,并且迟迟不愿接受帮助。官方调查将事故归咎于一枚故障鱼雷引发的爆炸,但关于维护和安全规程的问题仍然存在。 最初有23名水兵在第九舱幸存,但最终全部遇难,很可能是由于氧气耗尽和随后的火灾。科列斯尼科夫船长中尉令人心碎的笔记揭示了他们绝望的处境和逐渐消失的希望。 “库尔斯克”号最终于2001年被打捞上来,这场灾难暴露了俄罗斯海军内部的关键缺陷——包括设备陈旧、训练不足以及缺乏准备。这场悲剧成为了疏忽的代价和留守者们持久悲痛的严峻提醒,潜艇的一部分现在被用作纪念馆。

## 库尔斯克号核潜艇灾难 - 摘要 一个黑客新闻的讨论围绕着罕见的库尔斯克号核潜艇2000年灾难后的照片展开。最初的帖子链接到一篇文章,该文章主要由复制自维基百科的文本组成,引发了关于抄袭的争论。 对话很快转移到这场悲剧本身,评论者指出这艘潜艇的巨大规模以及船员令人震惊的死亡情况。据透露,23名水兵最初在爆炸中幸存下来,但最终因一个有缺陷的氧气瓶引起的火灾而丧生。 讨论还集中在俄罗斯对危机的处理上,包括延误的救援尝试和拒绝外国援助。一些人认为更快的反应可以挽救生命,而另一些人则指出俄罗斯军队内部的系统性疏忽和腐败是主要原因。这次事件被视为一个转折点,突显了俄罗斯从苏联时代能力下降以及日益孤立。该帖子还涉及了当时更广泛的地缘政治背景以及俄罗斯与西方之间关系的复杂性。

## 将我的博客从 Cloudflare 迁移到 bunny.net 出于对互联网中心化于一家美国公司(如 Cloudflare)的担忧——潜在的单点故障、控制以及过去的争议——我决定切换到 bunny.net,这是一家具有竞争力的、基于欧盟的 CDN 提供商。虽然 Cloudflare 提供强大的免费服务,但 bunny.net 凭借不断扩展的网络和有吸引力的定价(按使用量付费,最低每月 1 美元)与其性能相匹敌。 迁移过程包括将域名注册从 Cloudflare 切换到 Porkbun(它使用 Cloudflare 基础设施,但提供更好的支持),然后实施 bunny.net 的“拉取区域”来实现缓存、源隐藏和保护。设置很简单,并提供 20 美元的免费额度供您开始。 关键步骤包括创建一个指向我的服务器源 URL 的拉取区域,使用 CNAME 记录配置 DNS,以及激活 SSL。我通过在 Phoenix 应用程序的路由器中设置 `cache-control` 标头来优化缓存,从而缓存甚至 HTML 页面,从而显著提高速度。其他配置,如强制 SSL、启用源盾以减少服务器负载以及设置边缘规则以进行域名重定向,进一步提高了性能和安全性。 Bunny.net 提供超出此基本设置的广泛功能,我很高兴进一步探索它们,特别是他们即将推出的 S3 兼容存储。

我们检测到您的浏览器已禁用 JavaScript。请启用 JavaScript 或切换到受支持的浏览器以继续使用 x.com。您可以在我们的帮助中心查看受支持的浏览器列表。帮助中心 服务条款 隐私政策 Cookie 政策 版权信息 广告信息 © 2026 X Corp.

arXivLabs是一个框架,允许合作者直接在我们的网站上开发和分享新的arXiv功能。个人和与arXivLabs合作的组织都认同并接受我们开放、社群、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,并且只与秉持这些价值观的合作伙伴合作。您是否有为arXiv社群增加价值的项目想法?了解更多关于arXivLabs的信息。

## DeiMOS:6502 超优化器 摘要 DeiMOS 是一款超优化器,旨在为 MOS 6502 微处理器生成最高效的机器代码,该处理器广泛应用于 NES 和 Commodore 64 等系统。与传统编译器不同,它穷举搜索*所有*可能的指令序列,以找到给定任务的绝对最短或最快的解决方案。 6502 由于其简单性——有限的指令集减少了搜索空间——非常适合这种方法。DeiMOS 通过接受定义初始系统状态和输出验证的函数来工作。然后,它生成并模拟代码,针对所有可能的输入进行测试(由于 6502 的 8 位架构而可行)。 关键优化包括过滤无效/崩溃的指令、优先考虑有用的操作码,以及通过 TCP 在多个进程之间利用多线程。进一步的加速来自可检查点模拟(缓存 CPU/内存状态)以及基于数据依赖性和输入覆盖来修剪分支。高级技术利用“影子指令”(隐藏在数据中的操作码)和分支模板来进一步细化搜索。 DeiMOS 使用 Zig 编写,目前可以在 8 核处理器上合成最多约 11 字节的优化序列,性能受施加的限制影响很大。它输出一个平衡速度和代码大小的“帕累托前沿”的优化解决方案。

对不起。

更多

联系我们 contact @ memedata.com