每日HackerNews RSS

## 瓦尔哈拉计划与序列化问题 Cay Horstmann 的瓦尔哈拉计划旨在将 Java 对象表示为原始值以提高性能——本质上是将“引用”转换为直接数据。一个关键的演示涉及扁平化 `LocalDate` 对象数组,显著加快了处理速度。然而,在从 Git 仓库构建时,使用瓦尔哈拉早期访问版本获得的初步成功并不容易实现。 罪魁祸首?序列化。虽然瓦尔哈拉允许 `LocalDate` 可能适合 8 个字节(包括空值指示符),但标准的 `LocalDate` 实现使用 `writeReplace` 以不同的方式序列化数据,这与其内部表示不同,以实现向后兼容性。Java 25 构建中的一个临时优化——将 `LocalDate` 的月份和天字段更改为字节——实现了扁平化,但由于在序列化 `LocalDate.class` 对象本身时出现问题而被撤销。 核心问题在于 Java 的序列化协议,它在反序列化期间比较字段定义。即使序列化数据本身仍然兼容,当前类定义与序列化类定义之间的字段类型不匹配也会导致序列化类对象时失败。一个建议的解决方案是显式声明 `LocalDate` 没有可序列化字段,从而允许继续扁平化。这凸显了序列化的复杂性以及为长期兼容性设计稳定线路格式的重要性。

Hacker News新 | 过去 | 评论 | 提问 | 展示 | 工作 | 提交登录帮助我的 LocalDate 没有被扁平化 (horstmann.com)19 分,作者 speckx 22 小时前 | 隐藏 | 过去 | 收藏 | 2 条评论 Koffiepoeder 19 小时前 [–] 如果 JDK 能够忽略所有这些向后兼容的怪癖,并直接追求原始性能,那将很有趣。这些小小的改进加起来,在几十年内可以产生很大的影响。在这种情况下,似乎有一个解决方法,但我觉得有点牵强(“缺失的字段是可以的”?)。回复gunnarmorling 17 小时前 | 父评论 [–] > 但我觉得有点牵强(“缺失的字段是可以的”?)据我理解,如果对象在反序列化时使用的字段集是序列化时字段集的严格子集,那么该对象可以被安全地反序列化。我认为这是一个合理的方法,符合鲁棒性原则的第二部分:“对你接受的内容要宽容”。 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

启用 JavaScript 和 Cookie 以继续。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 极端月亮:2024-2025年的主要月球停滞 (griffithobservatory.org) 26点 由 keepamovin 23小时前 | 隐藏 | 过去 | 收藏 | 1条评论 dkh 15小时前 [–] 很高兴在这里看到格里菲斯天文台的内容。对公众非常有益,也是许多洛杉矶人的骄傲。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

最近美国国际开发署(U.S.A.I.D.)的解体正在阻碍对其影响的评估,这与历史上政府掩盖导致广泛损害的政策后果的模式相似——就像中国大跃进期间的情况一样。虽然全面数据要到2027年才能获得,但肯尼亚的实地报告显示出令人不安的趋势。 此前曾受益于美国国际开发署支持的社区,尤其是在艾滋病毒治疗和儿童营养不良等领域,正在经历挫折。一个非常成功的营养不良防治项目——利用社区卫生工作者和现成的治疗性食物——正在衰退。在卡库马难民营,世界粮食计划署的物资大幅减少,关键卫生工作者职位被取消,导致急性营养不良病例激增。 尽管对美国国际开发署效率低下和过去政治影响的批评一直存在,但它确实挽救了数百万人的生命,并使数十亿人摆脱了贫困。它的解体代表着全球健康成果的倒退,以及对可预防死亡的回归,作者将这种情况称为“人为的公共死亡”。记录这些后果并确保问责制至关重要。

这场黑客新闻的讨论围绕着一项发现,该发现表明最近的美国政策变化——可能涉及减少对外援助——对全球健康结果产生了负面影响。 一些评论员质疑该发现的新颖性,认为任何援助减少都可以被描述为“杀人”。另一些人强调评估*直接*影响的重要性,以澄清事实。一个关键点是,美国优先事项似乎发生了转变,更加关注国内问题,这可能受到国家债务的驱动。 对话承认归因因果关系具有复杂性;每个支出选择都有机会成本,甚至个人选择也可能在理论上拯救其他人的生命。最终,争论的中心在于,尽管其本身具有复杂性,但强调这些后果是否是一项有用的努力。

## Postgres WAL 用于实时变更跟踪:摘要 本文深入探讨了使用 Postgres 的预写式日志 (WAL) 来响应数据库变更,提供了一种强大的替代方案,可替代 `NOTIFY/pg_notify`,后者可能成为高吞吐量系统的瓶颈。WAL 记录*所有*数据库变更,从而实现诸如复制、备份以及关键的变更数据捕获 (CDC) 等功能。 传统方法如 `pg_notify` 存在单个队列的问题,限制了可扩展性并提供了不可靠的传递。然而,WAL 提供了一个可靠的变更流。要访问它,需要配置 Postgres 以存储“逻辑”WAL 记录。这涉及设置 `wal_level = logical` 并重启数据库。 该过程利用*复制槽*——WAL 的专用副本——来跟踪进度并允许在侦听器失败时重新传递消息。临时槽会自动清理,防止磁盘空间问题,但有丢失停机期间变更的风险。持久槽会保留记录,确保不会丢失数据,但需要仔细管理。 本文详细介绍了使用 Elixir 和 Postgrex 设置侦听器,强调了解码 WAL 消息(BEGIN、INSERT、COMMIT 等)和处理潜在重复消息的重要性。最终,利用 WAL 提供了一种可扩展且可靠的方式来构建实时功能,如通知和审计日志,而不会影响数据库性能。

目前最好在桌面设备上查看。

## Minivac 601:一款1961年的继电器计算机,现在可以在浏览器中体验 Greg Sadetsky 已经重现了一款1961年的继电器计算机Minivac 601,并将其制作成一个交互式模拟器,完全在网页浏览器中运行。这个项目历时多年,得益于Willy McAllister的Circuit Sandbox,实现了精确的电路模拟。用户可以访问该模拟器和原始手册,唤起人们对早期计算和电子套件(如RadioShack的产品)的怀旧之情。 该项目引发了关于计算机历史的讨论——从机械齿轮和真空管到晶体管和集成电路,以及早期计算机设计的巧妙之处。用户分享了类似套件的回忆,并对诸如真实的继电器声音和旋转开关等组件的触觉反馈等功能表现出兴趣。 Sadetsky 欢迎反馈,并正在探索添加诸如电机轮控制和真实的继电器声音等功能,这些声音可能来自收藏家或计算机博物馆。这个项目证明了理解计算机在微芯片时代之前的工作原理的持久吸引力。

## 中世纪过去的魅力与幻象 中世纪(大约公元500-1500年)今天经常被浪漫化,通常被描绘成一个生活更简单、更美好的时代——工作更少、休闲更多、社区更紧密。这种观点,由朱丽叶·肖尔的《过度劳累的美国人》等书籍推广,认为中世纪农民的实际工作时间比现代工人*更少*。然而,历史学家告诫人们不要得出如此简单的结论。 虽然最初的估计表明中世纪农民的工作年限较短,但目前的研究,由格雷戈里·克拉克等学者领导,对这一观点提出了挑战,认为工作日接近每年300天。困难在于缺乏详细记录平民生活的原始资料,以及填补这些空白所需的的主观解读。 对“更美好的过去”的向往源于对现代生活的一种深刻批判——长时间工作、企业权力以及对进步的焦虑。然而,这种渴望并非新鲜事;对“黄金时代”的渴望贯穿历史,根植于我们已经偏离更“自然”状态的信念。 归根结底,中世纪远非田园诗般。高死亡率、持续的战争和缺乏基本设施是普遍现象。虽然这个时代为重新构想未来提供了潜在的教训,但依赖浪漫化的观念可能会误解这段复杂且常常残酷的历史时期。

## 开放催化剂项目:人工智能驱动的催化剂发现 开放催化剂项目是Meta AI和CMU之间的合作,旨在加速发现用于可再生能源储存的高效催化剂——这是应对气候变化的关键一步。具体而言,该项目专注于将可再生能源转化为燃料(如氢气)的催化剂。 传统的催化剂发现依赖于计算成本高昂的量子力学模拟。为了克服这一局限性,该项目利用人工智能和机器学习来*预测*催化剂性能,从而显著加快这一过程。 为了促进更广泛的研究,该团队发布了开放催化剂2020和2022(OC20和OC22)数据集,包含基于2.6亿次DFT计算的130万个分子弛豫。这些数据集以及基准模型和代码均可在Github上公开获取,并配有排行榜以供社区贡献和评估。该项目针对对燃料生成、二氧化碳还原、氨气生产和燃料电池开发至关重要的反应的催化剂。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 开放催化剂项目 (opencatalystproject.org) 12 分,由 mfiguiere 1 天前发布 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

2022年关键LFP电池专利到期重塑了电动汽车行业,消除了先前的知识产权壁垒,并推动了这种更低成本、更安全的电池化学品的更广泛应用。虽然核心技术现在可以自由使用,但竞争正在转向“次要”创新——能量密度、充电速度和制造工艺的改进,这些改进受到CATL、比亚迪和特斯拉等公司拥有的新专利保护。 然而,利用这种自由并非易事。围绕添加剂和生产方法的复杂专利网络要求新进入者进行彻底的“可操作性”分析。除了知识产权之外,LFP电池回收(由于有价值金属含量较低)以及关键材料和专业知识对中国的供应链依赖仍然存在挑战。 “专利悬崖”标志着电动汽车创新新时代,需要战略合作、强大的商业秘密保护以及持续的专利申请,专注于增量进步以确保竞争优势。

## PicoIDE:复古计算工具 PicoIDE由PicoGUS的开发者创建,是一款为经典PC设计的开源IDE/ATAPI驱动器模拟器。它允许用户从.bin/.cue/.iso(CD-ROM)和.img/.hda/.vhd/.hdf(HDD)镜像文件运行软件,从而有效地替代物理驱动器。 该设备支持PIO模式0-4和MWDMA 0-2,性能可与52倍速CD-ROM驱动器相媲美。它具有内置CD音频输出,以及可选的外壳,配备1.3英寸OLED屏幕、导航按钮、WiFi连接(用于镜像管理)和RGB活动LED。 目前模拟一个驱动器,未来的开发目标是支持同时使用两个设备。虽然硬件已最终确定,但未来的迭代*可能*会探索更多功能和不同于最初3.5英寸版本的形态。PicoIDE即将发布 – 注册以获取有关可用性和定价的通知。

## PicoIDE:复古计算及更多 PicoIDE是由polpo创建的一个新的开源IDE/ATAPI驱动器模拟器,主要设计用于复古计算需求。它旨在填补基于软件的旧系统(如MS-DOS和Windows 9x)的仿真空白,特别是针对具有固定几何形状的CD-ROM驱动器和早期IDE硬盘。 该项目利用RP2350微控制器,并且比使用FPGA技术的ZuluIDE等替代方案更经济实惠。除了复古游戏之外,潜在用途包括替换街机柜(如Dreamcast)中的CD-ROM以及旧录音设备中的硬盘驱动器。 创建者计划在几周内公开发布原理图和代码。讨论围绕潜在的改进,例如支持各种子通道数据格式(对于复制保护仿真很重要)以及探索当前3D打印原型之外的经济型外壳选项。用户对其潜力感到兴奋,并认为它是复古计算工具包中的一个有价值的补充。

## ReVoLTE:监听加密的4G LTE通话 研究人员发现“ReVoLTE”,这是4G LTE网络中的一个安全漏洞,允许监听Voice over LTE (VoLTE)通话。该攻击利用了加密过程中可预测的密钥流重用,这是由于基站(eNodeB)实现中的缺陷造成的。 ReVoLTE的运作方式是,攻击者在之前的通话结束后,与目标发起一次新的通话。通过记录攻击者自己在这第二次通话中的内容(已知明文)并分析加密的无线电流量,攻击者可以恢复密钥流——而这个密钥流与目标之前加密通话所使用的密钥流*相同*。这使得能够解密早期的对话。 测试表明,这种漏洞影响了15个被测基站中的12个,主要位于德国。虽然供应商已经发布了补丁,但广泛部署至关重要。研究人员发布了一款移动应用程序(“Mobile Sentinel”),允许用户测试他们的网络是否仍然存在漏洞。这项研究强调了在移动网络基础设施中安全实现和打补丁的重要性,以保护用户隐私。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 工作 | 提交 登录 也许会打电话给我:使用ReVoLTE窃听加密的LTE呼叫 (2020) (montsecure.com) 36 分,由 vxvrs 1天前发布 | 隐藏 | 过去 | 收藏 | 4 条评论 puppycodes 1天前 | 下一个 [–] 我认为这很有趣,但应用/可行性非常有限。有太多更好的窃听方式,所以不值得付出努力。回复 vxvrs 1天前 | 上一个 | 下一个 [–] 这个是几年前的,但仍然认为攻击本身很有趣。回复 stop50 1天前 | 上一个 [–] (2019) dang 1天前 | 父级 [–] 已添加在上方。谢谢!编辑:看起来来自之前的帖子是2020年? 窃听加密的LTE呼叫使用ReVoLTE - https://news.ycombinator.com/item?id=24129977 - 2020年8月 (14条评论) 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

更多

联系我们 contact @ memedata.com