6小时前
|
|
|
## Hacker News 中文精选 NO.20250407
一个基于 Hacker News 的中文日报项目,每天自动抓取 Hacker News 热门文章及评论,通过 AI 生成中文解读与总结,传递科技前沿信息。

---
## 解码 90 年代:早期软件开发中的密码学
这篇文章深入探讨了 90 年代早期软件开发中密码学的实践,通过逆向工程一个 DOS 时代的文字处理程序 QText,揭示了当时加密技术的应用和局限性。文章详细介绍了逆向工程的步骤,包括分析加密文档、破解密码以及理解密钥推导算法。
文章首先介绍了作者受委托破解一个 90 年代中期加密的 QText 文档的故事,并概述了逆向工程的流程。接着,文章分析了 QText 的加密特性,发现密码是 4 个字符,文档头包含 16 字节的密钥,密钥与密码相关。作者还提到,由于当时互联网尚未普及,加密技术相对简单,容易被破解。
文章详细描述了逆向工程 MS-DOS 二进制文件的过程,包括使用 DOSBOX 模拟器、PKZip 解包、IDA Free 反汇编等工具。作者还解释了 Turbo Pascal 的内存覆盖机制,以及如何处理不同代码段之间的调用。文章重点关注了密钥推导算法,尝试通过分析可执行文件来理解密码是如何转化为密钥的。
文章还提到了逆向工程中遇到的挑战,例如 PKZip 压缩、内存覆盖机制等。最终,作者成功地逆向了密钥推导算法,并破解了加密文档。
评论区可能会讨论早期软件开发中密码学的应用,以及当时的加密技术与现代技术的对比。一些评论可能会关注逆向工程的技巧和工具,以及如何应对不同的加密算法。也有人可能会讨论软件安全的历史演变,以及早期开发者在资源有限的情况下所面临的挑战。
总的来说,这篇文章提供了一个有趣的视角,让我们了解了 90 年代早期软件开发中密码学的实践。通过逆向工程一个 DOS 时代的文字处理程序,作者揭示了当时加密技术的应用和局限性,并分享了宝贵的逆向工程经验。
- 原文: [Decoding the 90s: Cryptography in Early Software Development (2023)](https://www.botanica.software/post/decoding-the-90s)
- Hacker News: [https://news.ycombinator.com/item?id=43612102](https://news.ycombinator.com/item?id=43612102)
- 作者: mu0n
- 评分: 9
- 评论数: 1
- 发布时间: 2025-04-07 22:43:17
---
## 创业不需要独角兽:另辟蹊径的融资与发展之路
这篇文章讨论了创业公司不必以成为独角兽为目标的观点,提倡一种介于风险投资和完全自力更生之间的“中间道路”。作者分享了自己创办公司的经验,并探讨了这种更注重盈利能力和资产价值的创业方式。
文章的核心观点是,创业者可以选择一条融资较少(例如,少于 100 万美元),但保留 90% 以上股权的道路。这种方式避免了董事会席位,专注于盈利和建立强大的资产价值,同时减少了个人财务风险。作者认为,这种“中间道路”在 Pre-Seed 和 Series A 之间存在一个机会窗口,创业者可以从中获得显著的收益。文章还提到了优先清偿权(preference stack)的问题,以及它如何影响创始人最终的收益。作者认为,创业者应该明确自己的价值观,定义自己想要的旅程和结果,并知道自己愿意和不愿意牺牲什么,从而做出明智的融资决策。
文章还强调了这种方法的优势,包括更快的投资回报、更小的财务风险以及更适合大多数 B2B SaaS 企业的模式。作者认为,创业者应该避免过度融资,因为这可能导致在清算时几乎一无所有。文章最后总结了三个关键点:存在中间道路,Pre-Seed 和 Series A 之间存在机会,以及明确自己的目标。
## 评论观点分析
评论区中,@summarity 介绍了德国的一种创业模式,该模式提供了政府支持,包括基本收入、咨询费用和折扣贷款,鼓励创业者建立稳定、可持续的企业。@jillesvangurp 则分享了德国“Mittelstand”的经验,这些家族企业通常从小规模起步,有机增长,而非追求快速扩张。这些评论都从不同角度支持了文章的观点,即创业不一定需要追求成为独角兽,而是可以有更多样化的发展路径。
- 原文: [Your Startup Doesn't Need to Be a Unicorn](https://mattgiustwilliamson.substack.com/p/your-startup-doesnt-need-to-be-a)
- Hacker News: [https://news.ycombinator.com/item?id=43609242](https://news.ycombinator.com/item?id=43609242)
- 作者: MattSWilliamson
- 评分: 310
- 评论数: 158
- 发布时间: 2025-04-07 16:42:43
---
## macOS Sequoia 上的 rsync 变动:openrsync 取代 rsync
本文讨论了 macOS Sequoia 中 rsync 工具的替换,以及这一变化对用户和系统管理员的影响。文章重点介绍了 Apple 从 rsync 2.6.9 迁移到 openrsync 的原因。
文章指出,macOS 长期以来一直使用 rsync 2.6.9 版本,该版本发布于 2006 年。由于 Apple 无法遵守 rsync 3.x 的 GPLv3 许可证条款,因此未能更新 rsync。为了解决这个问题,macOS Sequoia 引入了 openrsync,这是一个基于 BSD 许可证的 rsync 实现。BSD 许可证比 GPL 许可证更宽松,允许 Apple 更灵活地使用和分发该工具。
文章强调,虽然 openrsync 与 rsync 兼容,但它只支持 rsync 命令行的部分参数。这意味着在旧版 macOS 上运行的某些 rsync 功能可能无法在 Sequoia 上正常工作。文章还提供了检查 openrsync 版本的命令,以及关于 openrsync 支持功能的更多信息链接。
文章分析了 Apple 替换 rsync 的原因,主要是为了避免 GPLv3 许可证带来的合规性问题,并为未来的更新提供了更大的灵活性。同时,文章也提醒用户注意 openrsync 与 rsync 之间可能存在的兼容性差异,特别是对于依赖特定命令行参数的脚本和工作流程。
评论区可能讨论了 openrsync 的性能、与旧版 rsync 的兼容性问题,以及 BSD 许可证对 Apple 的好处。一些用户可能对这一变化表示担忧,担心他们的现有脚本需要修改。另一些用户则可能认为这是一个积极的改变,因为它为未来的更新铺平了道路。总的来说,这次变动反映了 Apple 在开源软件许可和合规性方面的考量,以及对 macOS 用户的影响。
- 原文: [Rsync replaced with openrsync on macOS Sequoia](https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/)
- Hacker News: [https://news.ycombinator.com/item?id=43605003](https://news.ycombinator.com/item?id=43605003)
- 作者: zdw
- 评分: 429
- 评论数: 353
- 发布时间: 2025-04-07 05:14:09
---
## Excel 的诅咒: "1/2"+1=45660
这篇文章探讨了 Excel 在处理日期和时间时的一些令人困惑的行为,以及这些行为背后的历史原因。文章揭示了 Excel 在日期计算上的诸多“bug”,以及这些“bug”如何影响用户。
文章首先提到了 Excel 在处理 "1/2"+1 时得到 45660 的结果,以及输入 10:75 得到 0.46875 的现象。 接着,文章解释了 Excel 将日期存储为序列号的机制,其中 1 代表 1900 年 1 月 1 日。 然而,Excel 存在一个错误,它错误地将 1900 年算作闰年,导致日期计算出现偏差。 此外,文章还提到了 Excel 为了兼容 Lotus 1-2-3 而保留的错误,例如将 1900 年 2 月 29 日也计算在内。 最后,文章解释了 "1/2"+1 得到 45660 的原因,以及 Excel 如何将时间表示为一天中的小数部分。
文章还提到了 Google Sheets 通过移除 1900 年 2 月 29 日来解决这个问题的方法,并介绍了 Quadratic 使用 Rust 的 chrono 库来处理日期和时间,以避免这些问题。
评论区对 Excel 的这些“诅咒”行为展开了热烈讨论。 有人认为 Excel 的这些问题是历史遗留问题,为了兼容性不得不保留。 也有人认为,Excel 的这种行为令人困惑,应该进行改进。 还有人分享了自己在 Excel 中遇到的其他奇怪问题,并讨论了如何避免这些问题。
总的来说,这篇文章揭示了 Excel 在日期和时间处理方面的一些复杂性和历史遗留问题,引发了开发者和科技爱好者对软件设计和兼容性的思考。 尽管 Excel 存在这些“诅咒”,但它仍然是广泛使用的工具,而了解这些问题可以帮助用户更好地使用它。
- 原文: [Cursed Excel: "1/2"+1=45660](https://www.quadratichq.com/blog/cursed-excel-datetime-math)
- Hacker News: [https://news.ycombinator.com/item?id=43571332](https://news.ycombinator.com/item?id=43571332)
- 作者: jimniels
- 评分: 45
- 评论数: 27
- 发布时间: 2025-04-03 23:42:06
---
## LLM 社交技能测试:淘汰赛游戏基准
本文介绍了一个名为“淘汰赛游戏”的基准,用于测试 LLM 在社交推理、策略和欺骗方面的能力。该游戏模拟了多智能体环境,LLM 必须通过公开和私下交流、结盟和投票来淘汰对手。
“淘汰赛游戏”的核心在于其多层面的设计。 游戏模拟了多智能体环境,LLM 扮演玩家,通过公开和私下交流、结盟和投票来淘汰对手。 游戏包括公开和私下交流,战略投票,以及说服陪审团等环节。 玩家需要在公开场合保持开放,同时在私下建立联盟,隐藏自己的真实意图。 游戏还包括匿名投票环节,增加了复杂性。 最终,进入决赛的选手需要说服由被淘汰玩家组成的陪审团,以赢得比赛。
该基准通过分析对话记录、投票模式和最终排名,来评估 LLM 如何处理共享知识与隐藏意图,以及它们在结盟和背叛中的表现。 提供了各种可视化和指标,包括 TrueSkill 排名、排名分布、背叛率等,以全面评估模型的表现。 游戏流程包括公开回合、偏好排名、私下回合、投票和淘汰,直至决出胜者。 最终,胜者由被淘汰的玩家组成的陪审团投票决定。
评论区对该基准的评价主要集中在以下几个方面:有人认为这种游戏设计能够很好地模拟现实世界中的社交互动,并为 LLM 提供了更复杂的测试环境。 也有人质疑这种游戏的公平性,认为 LLM 的表现可能受到训练数据的影响。 此外,一些人讨论了不同 LLM 在游戏中的策略差异,以及它们在欺骗和合作方面的能力。 总体而言,该基准提供了一个有趣且有价值的视角,用于评估 LLM 在社交环境中的表现。
- 原文: [Benchmarking LLM social skills with an elimination game](https://github.com/lechmazur/elimination_game)
- Hacker News: [https://news.ycombinator.com/item?id=43586380](https://news.ycombinator.com/item?id=43586380)
- 作者: colonCapitalDee
- 评分: 81
- 评论数: 26
- 发布时间: 2025-04-05 02:54:41
---
## Glamorous Toolkit:可塑性开发环境
Glamorous Toolkit (GTK) 是一个基于 Pharo Smalltalk 的可塑性开发环境,旨在通过上下文微工具使系统更易于理解。它允许开发者构建定制的开发体验,以解决特定问题。
GTK 的核心在于其可塑性,它提供了一种通过上下文工具进行编程的方式。这些工具可以根据具体问题进行定制,并以多种方式组合。GTK 提供了大量的扩展和示例,涵盖了整个系统,目标是使系统内部变得可解释。它支持多种语言和技术,包括 Java、C#、Ruby/Rails、Python、TypeScript、JavaScript 和 COBOL。用户可以通过下载并运行 GTK 来开始使用,并通过编程来充分利用其功能。
评论区对 GTK 的看法褒贬不一。一些人认为它难以入门,界面复杂,文档不够清晰,学习曲线陡峭。他们觉得基本功能不够直观,需要花费大量时间学习才能上手。另一些人则对其理念和潜力表示赞赏,认为它提供了一种独特的开发方式,可以创建高度定制化的开发环境。有人指出,GTK 似乎更像是一个学术项目,其网站内容不够清晰,难以理解其具体用途。也有人认为,GTK 的社区主要在 Discord 上,这可能会限制其普及。总的来说,GTK 吸引了一批对 Smalltalk 和可塑性开发感兴趣的开发者,但其复杂性和学习成本仍然是其面临的挑战。
- 原文: [Glamorous Toolkit](https://gtoolkit.com//)
- Hacker News: [https://news.ycombinator.com/item?id=43606027](https://news.ycombinator.com/item?id=43606027)
- 作者: radeeyate
- 评分: 221
- 评论数: 65
- 发布时间: 2025-04-07 07:47:21
---
## 为什么相机 RAW 格式五花八门且令人困惑?
本文探讨了相机 RAW 格式多样化的问题,以及为什么不同相机品牌坚持使用各自的专有格式。文章深入分析了 RAW 格式的优缺点,并采访了多家相机公司,试图揭示背后的原因。
RAW 格式为摄影师提供了更大的后期处理灵活性,但不同厂商的 RAW 格式互不兼容,导致了软件支持问题。Adobe 推出的 DNG 格式旨在统一标准,但大型相机厂商仍坚持使用自己的专有格式,例如佳能的 CR3、尼康的 NEF 和索尼的 ARW。DNG 格式的优势在于开放性和广泛的第三方软件支持,尤其受到小型厂商的青睐。
专有 RAW 格式允许厂商更好地控制图像处理流程,并针对特定相机进行优化,从而实现更高的图像质量和独特功能。例如,索尼表示其 ARW 格式可以最大限度地发挥相机性能,并支持复合 RAW 和像素位移多重拍摄等功能。然而,专有格式也带来了一些问题,例如软件兼容性差,尤其是在新相机发布初期,用户需要等待软件更新才能处理 RAW 文件。
文章采访了索尼、松下、适马、佳能和宾得等厂商,了解他们坚持使用专有格式的原因。这些厂商普遍认为,专有格式可以更好地优化相机性能、支持独特功能,并提供更精细的图像处理控制。虽然 DNG 格式在一定程度上解决了兼容性问题,但大型厂商似乎更倾向于保持对图像处理流程的控制权。
评论区讨论了不同 RAW 格式的优缺点,以及 DNG 格式的未来发展。一些人认为,专有格式限制了用户的选择,增加了后期处理的复杂性。另一些人则认为,专有格式可以提供更好的图像质量和更丰富的功能。
总的来说,RAW 格式的标准化问题是一个复杂的话题,涉及技术、商业和用户体验等多个方面。虽然 DNG 格式提供了一种解决方案,但相机厂商似乎更倾向于保持对图像处理流程的控制权。未来,RAW 格式的竞争和发展将继续影响摄影师的工作流程和创作体验。
- 原文: [We asked camera companies why their RAW formats are all different and confusing](https://www.theverge.com/tech/640119/camera-raw-spec-format-explained-adobe-dng-canon-nikon-sony-fujifilm)
- Hacker News: [https://news.ycombinator.com/item?id=43580815](https://news.ycombinator.com/item?id=43580815)
- 作者: Tomte
- 评分: 221
- 评论数: 101
- 发布时间: 2025-04-04 19:41:32
---
## DeepMind AI 在 Minecraft 中自主寻钻
本文介绍了 DeepMind 的 AI 系统 Dreamer,它在未被明确指导的情况下,成功在 Minecraft 游戏中找到了钻石。这项成就标志着 AI 在通用智能方面迈出的重要一步。
Dreamer 系统通过“想象”未来决策可能产生的影响来达成目标。它能够理解游戏中的物理环境,并随着时间的推移自我改进,无需人类明确指示。在 Minecraft 中,玩家需要在随机生成的世界中探索,利用资源制造物品并收集钻石。Dreamer 必须学会导航、收集资源、制造工具,并最终找到钻石。
DeepMind 的研究人员认为,Dreamer 的成功是 AI 领域的一个重要进展,因为它展示了 AI 在复杂、动态环境中学习和适应的能力。评论区中,有人对 AI 的自主学习能力表示赞赏,认为这代表了 AI 发展的一个新方向。也有人讨论了 AI 在游戏之外的潜在应用,例如机器人技术和自动化。
此外,一些评论提到了 AI 学习过程中的挑战,比如如何处理环境的随机性和不确定性。还有人探讨了 AI 的伦理问题,例如在 AI 变得更加智能后,如何确保其行为符合人类的价值观。总的来说,这篇文章引发了对 AI 技术发展及其未来影响的广泛讨论。
- 原文: [AI masters Minecraft: DeepMind program finds diamonds without being taught](https://www.nature.com/articles/d41586-025-01019-w)
- Hacker News: [https://news.ycombinator.com/item?id=43584015](https://news.ycombinator.com/item?id=43584015)
- 作者: LinuxBender
- 评分: 147
- 评论数: 76
- 发布时间: 2025-04-04 23:40:50
---
## 钩针编织的数学之美
这篇文章探讨了钩针编织与数学之间的奇妙联系,揭示了钩针编织中蕴含的数学原理和应用。文章展示了钩针编织如何用于可视化复杂的数学概念,例如双曲几何和分形。
文章首先指出,钩针编织的图案本身就具有数学结构,类似于二进制数学中的0和1。 钩针编织可以用来展示在其他媒介中难以呈现或难以理解的双曲空间形状。文章还提到了艾伦·图灵,他经常在午休时编织莫比乌斯带和其他几何形状。 随后,文章深入探讨了双曲钩针编织,解释了如何通过在钩针编织中不断增加针数来创建双曲面。文章还提到了Daina Taimina博士,她用钩针编织实现了双曲几何模型。 此外,文章还介绍了混沌钩针编织和分形钩针编织,展示了钩针编织在可视化洛伦兹方程和创建分形图案方面的应用。
评论区中,有人分享了他们的女儿受到钩针编织的启发,选择了双曲几何作为她的学校项目,这证明了钩针编织可以激发孩子们对数学的兴趣。 另一些评论则提到了钩针编织与纽结理论之间的联系,纽结理论是数学中拓扑学的一个分支。 评论者认为,纽结理论同样适用于钩针编织。
总的来说,这篇文章和评论展示了钩针编织不仅仅是一种手工艺,更是一种探索数学世界的有趣方式。 这种结合了艺术和科学的实践,为我们提供了全新的视角,让我们能够以更直观的方式理解复杂的数学概念。
- 原文: [The Mathematics of Crochet](https://hellohartblog.wordpress.com/2015/05/25/the-mathematics-of-crochet/)
- Hacker News: [https://news.ycombinator.com/item?id=43585649](https://news.ycombinator.com/item?id=43585649)
- 作者: edward
- 评分: 45
- 评论数: 4
- 发布时间: 2025-04-05 01:47:05
---
## Altair BASIC 源代码手动转录
本文讨论了在 Hacker News 上分享的 Altair BASIC 源代码转录项目。作者正在手动转录 Altair BASIC 的源代码,每天大约转录十行,并将过程记录在 Codeberg 上。
文章的核心在于作者手动转录 Altair BASIC 源代码的实践。由于原始源代码是纸带扫描件,作者希望通过手动转录来创建一个数字文档,以用于保存和新奇目的。作者承认自己不是汇编语言专家,并鼓励大家指出错误。
文章还提到了一个 GitHub 上的 Altair BASIC 源代码的现有版本,这可能会影响作者的工作。评论区讨论了比尔·盖茨是否会对此感到高兴,以及手动转录可能带来的体验。
评论区呈现了各种观点。有人质疑比尔·盖茨是否会允许开源该代码,也有人对转录的准确性表示担忧。一些评论员提供了已有的源代码链接,而另一些人则讨论了使用非专有 BASIC 变体的可能性。还有人开玩笑地提醒作者注意比尔·盖茨的法律团队。
总的来说,讨论涵盖了技术细节、版权问题以及手动转录的意义。
- 原文: [I'm manually transcribing the AltairBASIC source, ten lines a day starting today](https://codeberg.org/luciofstars/altabasic)
- Hacker News: [https://news.ycombinator.com/item?id=43584422](https://news.ycombinator.com/item?id=43584422)
- 作者: LuciOfStars
- 评分: 39
- 评论数: 23
- 发布时间: 2025-04-05 00:06:47
---
## Rust 中的确定性模拟测试:构建可靠的分布式系统
本文介绍了在 Rust 中使用确定性模拟测试(DST)来构建可靠的分布式系统。文章分享了作者在实践中遇到的问题和解决方案,以及 DST 如何帮助他们发现和解决潜在的 bug。
文章首先强调了 DST 的重要性,它通过模拟各种场景来发现边缘情况和可重复的错误。作者分享了他们构建 S2 系统的经验,并介绍了他们如何将 DST 应用于 Rust 代码库。DST 的核心在于随机性与确定性的结合,通过随机选择路径来探索巨大的状态空间,而所有选择都源于一个随机数生成器(RNG)种子。
为了实现确定性,文章详细阐述了需要控制的几个关键因素:执行、熵、时间、和 I/O。作者分享了他们如何利用 Tokio 和 Turmoil 等现有开源工具来解决这些问题。他们还提到了在实践中遇到的挑战,例如非确定性错误,以及如何通过 MadSim 解决这些问题。MadSim 提供了对时间、熵和随机性的控制,从而实现了完全的确定性。
文章最后总结了 DST 的优势,并强调了其在构建复杂分布式系统中的价值。通过 DST,开发者可以在模拟环境中发现和解决问题,从而提高系统的可靠性。评论区对 DST 的实践价值表示认可,认为其有助于在早期阶段发现潜在问题,并提高系统的稳定性。也有人讨论了 DST 的复杂性,以及在实际应用中需要注意的细节。一些评论提到了其他类似的测试工具和技术,例如 Property-based testing,并讨论了它们之间的差异和适用场景。总的来说,DST 被认为是一种强大的测试技术,可以帮助开发者构建更可靠的分布式系统。
- 原文: [Deterministic simulation testing for async Rust](https://s2.dev/blog/dst)
- Hacker News: [https://news.ycombinator.com/item?id=43581900](https://news.ycombinator.com/item?id=43581900)
- 作者: shikhar
- 评分: 27
- 评论数: 2
- 发布时间: 2025-04-04 21:17:11
---
## 近距离观测比邻星耀斑:多波段视角
本文探讨了天文学家利用阿塔卡马大型毫米/亚毫米阵列(ALMA)对红矮星比邻星耀斑进行的多波段观测研究,揭示了其耀斑活动对可能存在生命的行星的潜在威胁。文章重点关注了耀斑的频率分布,以及其在不同波段下的差异,强调了多波段观测对于全面理解耀斑活动的重要性。
文章指出,红矮星的对流结构导致其耀斑活动剧烈,释放出大量的粒子和辐射。这些耀斑会对位于宜居带的行星的大气层造成侵蚀。研究团队通过ALMA观测,发现了比邻星在毫米波段的耀斑活动比光学波段更为频繁,这表明仅通过光学观测可能会遗漏关键信息。研究结果表明,比邻星b的极端紫外线辐射环境可能比仅从光学耀斑率预测的要高。
文章引用了研究人员的观点,强调了耀斑对行星大气层的影响,以及对生命存在的潜在威胁。文章还提到了未来可能利用平方公里阵列等设备探测行星磁场与恒星风相互作用的可能性。
## 评论观点分析
评论区对文章内容进行了深入探讨。有人对红矮星周围行星的宜居性表示悲观,认为即使有磁场保护,也难以抵御耀斑的侵蚀。他们认为,由于行星与恒星的距离近,且可能被潮汐锁定,磁场可能较弱,无法有效保护大气层。
另一位评论者认为,大气层在暗面会冻结,从而限制了大气损失。还有评论者强调了通过观测其他恒星的凌日行星来获取大气成分数据的必要性,以减少猜测,并为评估宜居性提供更可靠的依据。
- 原文: [A Multiwavelength Look at Proxima Centauri's Flares](https://www.centauri-dreams.org/2025/04/01/a-multiwavelength-look-at-proxima-centauris-flares/)
- Hacker News: [https://news.ycombinator.com/item?id=43565891](https://news.ycombinator.com/item?id=43565891)
- 作者: JPLeRouzic
- 评分: 27
- 评论数: 1
- 发布时间: 2025-04-03 15:07:48
---
## 工程师薪资的来源:了解你的工作如何为公司创造价值
这篇文章探讨了软件工程师如何理解他们的工作与公司盈利之间的关系。作者认为,许多工程师对公司如何赚钱缺乏清晰的认识,这可能导致他们从事与公司盈利目标不一致的工作,最终影响他们的职业稳定性。
文章首先指出,科技公司本质上是为盈利而存在的。成功的公司会优先考虑那些能直接或间接带来利润的工程项目。作者引用了 Patrick McKenzie 的观点,强调工程师应该将自己与公司的“利润中心”联系起来,因为这能带来更高的薪资、尊重和职业发展机会。
文章接着强调,工程师需要了解公司的商业模式,以及他们的工作如何支持这一模式。这包括了解公司如何赚钱,以及他们的工作如何影响公司的收入。作者给出了几个例子,比如,如果工程师在可访问性团队工作,他们应该了解这项工作如何帮助公司扩大客户群体、满足法规要求或提升公司形象。
文章最后总结道,如果工程师希望他们的工作得到重视,并且希望从事个人感兴趣但与利润不直接相关的工作,他们应该选择为非常盈利的公司工作。文章还提到了在评估工作价值时,需要考虑边际价值,尤其是在公司盈利能力不同的情况下。
评论区中,一些人认为这篇文章的观点过于强调盈利,而忽视了工程师对技术的热情和对社会价值的追求。他们认为,工程师也应该关注技术债务、代码质量和用户体验等非盈利性工作。另一些人则认为,文章的观点是现实的,尤其是在经济下行时期。他们认为,了解公司的业务模式和盈利目标,有助于工程师更好地规划自己的职业发展,并确保他们的工作得到认可和回报。还有一些评论提到了不同公司文化和组织结构对工程师工作的影响。
- 原文: [Knowing where your engineer salary comes from](https://www.seangoedecke.com/where-the-money-comes-from/)
- Hacker News: [https://news.ycombinator.com/item?id=43603646](https://news.ycombinator.com/item?id=43603646)
- 作者: mooreds
- 评分: 151
- 评论数: 78
- 发布时间: 2025-04-07 02:25:36
---
## Cloudflare D1 数据库查询优化之旅
这篇文章分享了在 Cloudflare D1 数据库上优化查询的经验,主要针对性能瓶颈和优化策略,适合需要提升 D1 数据库性能的开发者。文章作者详细介绍了在实际开发中遇到的问题,以及如何通过调整查询方式来提高效率。
文章首先强调了数据库对于前端开发者的重要性,并展示了数据库查询的波动情况。作者通过监控 D1 仪表盘、检查查询语句和行读写计数等方法来识别问题。文章的核心内容包括使用批量请求、在更新操作中排除 ID、避免全表扫描以及优化多表连接和多记录插入等。
作者建议使用 D1 的批量操作,特别是对于写操作,以减少 REST 请求次数。在更新记录时,排除 ID 字段可以避免不必要的行读取,从而提高效率。对于计数查询,作者建议使用基于游标的分页,避免全表扫描。文章还提到了避免多表左连接,通过拆分查询并在应用逻辑中处理分组和转换来优化性能。最后,作者分享了优化多记录插入的方法,通过单语句插入多条记录来提高效率,并根据 SQLite 和 D1 的限制对数据进行分块处理。
评论区中,有人提到了 D1 的全局性能问题,并分享了在评估 D1 时的体验。也有人讨论了 D1 的局限性,例如缺乏 read-only 副本以及批量操作的限制。一些开发者分享了他们在使用 D1 时的经验,包括对 D1 性能的看法和一些替代方案。
总的来说,这篇文章为开发者提供了在 Cloudflare D1 数据库上优化查询的实用技巧和经验。通过使用批量请求、避免全表扫描、优化多表连接和多记录插入等方法,可以显著提高数据库的性能。评论区的讨论也反映了开发者对 D1 的不同看法和使用经验,为读者提供了更全面的视角。
- 原文: [Journey to Optimize Cloudflare D1 Database Queries](https://gist.github.com/rxliuli/be31cbded41ef7eac6ae0da9070c8ef8)
- Hacker News: [https://news.ycombinator.com/item?id=43572511](https://news.ycombinator.com/item?id=43572511)
- 作者: rxliuli
- 评分: 79
- 评论数: 17
- 发布时间: 2025-04-04 01:00:21
---
## 走进美国最后的铅笔工厂 (2018)
这篇文章带我们深入美国仅存的铅笔工厂之一,一窥铅笔制作的传统工艺。文章通过精美的摄影作品,展现了铅笔生产的各个环节,从木材切割到铅芯制作,再到最后的组装和包装。
文章重点介绍了 General Pencil Company 这家位于新泽西州的工厂。这家工厂仍然坚持使用传统的生产方法,保留了手工制作的痕迹。文章详细描述了铅笔的制作过程,包括木材的选择、铅芯的配方、以及机器的运作。读者可以了解到铅笔制作背后复杂而精细的工艺。文章还探讨了这家工厂面临的挑战,例如来自低成本竞争对手的压力,以及如何保持竞争力。文章最后,也赞扬了工厂对传统工艺的坚守,以及对高品质产品的追求。
评论区里,有人对文章中的摄影作品赞不绝口,认为其展现了令人惊叹的工业之美。也有人分享了关于铅笔历史的知识,例如铅笔的发明时间。还有人提供了工厂的链接,方便大家进一步了解。总的来说,评论区对这篇文章的质量和内容都给予了积极的评价,并引发了对传统工业和手工制作的思考。
- 原文: [Inside One of America's Last Pencil Factories (2018)](https://www.nytimes.com/2018/01/12/magazine/inside-one-of-americas-last-pencil-factories.html)
- Hacker News: [https://news.ycombinator.com/item?id=43610187](https://news.ycombinator.com/item?id=43610187)
- 作者: perihelions
- 评分: 38
- 评论数: 12
- 发布时间: 2025-04-07 19:43:46
---
## 寒冷天气下电动汽车充电速度提升 5 倍
密歇根大学的工程师们开发了一种改进的电动汽车电池制造工艺,能够在寒冷天气下实现快速充电,同时保持较长续航里程。这项研究的核心在于一种新型电池电极制造方法,结合了稳定涂层和微型通道,解决了续航里程和充电速度之间的矛盾。
文章指出,这种改进后的锂离子电池在低至 -10°C 的温度下,充电速度可以提升 500%。研究团队通过在电池电极上使用一种特殊的涂层,防止了影响性能的锂金属沉积。经过 100 次快速充电后,这些改进后的电池仍能保持 97% 的容量。
传统的电动汽车电池在低温下,锂离子移动速度会减慢,从而降低电池功率和充电速度。为了增加续航里程,制造商增加了电池电极的厚度,但这导致了充电速度变慢。研究团队通过在电极中创建微型通道来加速充电,并结合稳定涂层,解决了低温充电效率低下的问题。
这项技术有望解决电动汽车在寒冷天气下的充电难题,从而提高电动汽车的吸引力。目前,该团队正在进行后续工作,以开发适用于工厂生产的工艺。这项研究由密歇根经济发展公司资助,并已申请专利保护。
评论区对这项研究的看法不一。有人认为这项技术是“minor mod”,目前还没有产品。也有人提到了比亚迪在快速充电方面的进展。还有人质疑这项技术与使用“电池加热器”相比的成本效益。
总的来说,这项研究为解决电动汽车在寒冷天气下的充电问题提供了一种新的思路。虽然这项技术尚未商业化,但它为电动汽车电池技术的未来发展提供了新的可能性。
- 原文: [Charging electric vehicles 5x faster in subfreezing temps](https://news.umich.edu/charging-electric-vehicles-5x-faster-in-subfreezing-temps/)
- Hacker News: [https://news.ycombinator.com/item?id=43589214](https://news.ycombinator.com/item?id=43589214)
- 作者: gnabgib
- 评分: 105
- 评论数: 81
- 发布时间: 2025-04-05 08:38:20
---
## 探索遗传编程的入门之旅
本文介绍了使用 Common Lisp 进行遗传编程的初步探索,适合对遗传编程和/或 Common Lisp 感兴趣的读者。文章侧重于代码和示例,并提供了在 REPL 环境中进行实验的指导。
遗传编程(GP)是一种受生物进化启发的解决问题的方法,通过设置一个针对特定问题的环境,并允许计算机程序在该环境中演化以找到可能的解决方案。文章首先定义了操作符,然后介绍了生成随机代码的函数,包括 `RANDOM-ELT` 和 `RANDOM-FORM`。`RANDOM-FORM` 函数用于生成随机的函数形式,它会随机选择操作符,并为其生成参数,参数可以是随机数、输入变量或另一个函数形式。文章还讨论了环境的设置,推荐使用文本编辑器和 CLISP,并提供了加载和重新加载代码的简单方法。
文章还介绍了如何运行生成的代码,以及如何定义种群、适应度函数和生成函数。生成函数包括遍历节点、交叉和变异等操作。最后,文章讨论了如何推进一代,包括评估种群、进行交叉和变异,以及找到解决方案。
评论区可能会讨论遗传编程的实际应用、与其他编程范式的比较、以及 Common Lisp 在遗传编程中的优势。 读者可能会对代码的效率、可扩展性以及如何调整参数以获得更好的结果感兴趣。 此外,也会有人探讨遗传编程在解决复杂问题上的潜力,以及它与机器学习和人工智能的关系。
- 原文: [Baby Steps into Genetic Programming](https://aerique.blogspot.com/2011/01/baby-steps-into-genetic-programming.html)
- Hacker News: [https://news.ycombinator.com/item?id=43605731](https://news.ycombinator.com/item?id=43605731)
- 作者: todsacerdoti
- 评分: 80
- 评论数: 23
- 发布时间: 2025-04-07 07:06:26
---
## 埃贡·席勒的遗产之谜
这篇文章探讨了奥地利画家埃贡·席勒(Egon Schiele)的争议遗产,重点关注了他艺术作品中隐含的复杂性和争议性。文章深入研究了席勒的生平和作品,试图揭示其艺术创作背后的故事。
席勒以其表现主义风格的绘画而闻名,作品常常描绘了扭曲的人物和充满情感的场景。他的作品在当时备受争议,部分原因在于其对裸体和性主题的直接描绘。文章探讨了席勒与他人的关系,特别是与他妹妹的关系,以及这些关系对他的艺术创作的影响。席勒的艺术生涯短暂而充满戏剧性,他于 28 岁时去世,但留下了大量的作品。文章试图解读席勒作品中隐藏的含义,以及他对艺术史的贡献。
评论区对席勒的艺术和生活提出了各种看法。有人认为他的作品“令人不安”,但同时也“非常有趣”。一些评论者关注了他作品中可能存在的“隐晦的乱伦”暗示,并质疑其道德层面。也有人提到了席勒的艺术创作风格的转变,以及他个人生活对其作品的影响。总的来说,评论反映了对席勒作品的复杂性和争议性的不同解读。
- 原文: [The Untold Mystery Upending Egon Schiele's Legacy](https://www.wsj.com/style/egon-schiele-artist-history-eb2480e8)
- Hacker News: [https://news.ycombinator.com/item?id=43576602](https://news.ycombinator.com/item?id=43576602)
- 作者: apollinaire
- 评分: 12
- 评论数: 4
- 发布时间: 2025-04-04 07:14:42
---
## 在 TypeScript 中使用 Gemini API 并实现 OpenAI 备用方案
这篇文章分享了如何在 TypeScript 项目中,使用 Gemini API 并结合 OpenAI 作为备用方案,以应对 Gemini 的速率限制。文章作者提供了一个类型安全的解决方案,特别适用于需要频繁调用 AI 模型的场景。
文章首先定义了 `Model` 类型,允许开发者选择不同的 AI 模型。 接着,作者展示了 `getCompletion` 函数的实现,该函数接受两个配置对象作为参数,分别对应 Gemini 和 OpenAI 的 API 调用。 如果 Gemini 调用失败,函数会自动切换到 OpenAI。 此外,文章还介绍了如何使用 `getJSONCompletion` 函数,该函数用于处理结构化输出,并提供了类型安全的支持。 通过结合 `zod` 库,可以确保输出数据的格式和有效性。
文章还给出了具体的代码示例,展示了如何使用这两个函数来调用 AI 模型,并处理返回结果。 示例代码清晰易懂,方便开发者快速上手。 这种方法允许开发者在 Gemini API 出现问题时,无缝切换到 OpenAI,保证了应用程序的稳定性和可用性。
评论区中,不少开发者分享了他们使用的类似工具和方法。 Vercel AI SDK 被推荐用于抽象所有 LLMs,包括本地运行的模型,并支持文件附件。 BAML 库也被提及,它提供了多重备用和重试策略,并返回 LLMs 的强类型输出。 还有人提到了 OpenRouter,它允许在不同模型提供商之间切换,而无需更改代码或管理多个 API 密钥。 此外,Litellm 也被推荐作为备选方案。
一些评论提到了 Gemini 模型在 JSON 模式操作方面的问题,以及 TypeScript 代码的可读性问题。 总体来说,评论区提供了多种实现备用方案的工具和方法,以及对不同工具的优缺点的讨论。
- 原文: [Use the Gemini API with OpenAI Fallback in TypeScript](https://sometechblog.com/posts/try-gemini-api-with-openai-fallback/)
- Hacker News: [https://news.ycombinator.com/item?id=43580012](https://news.ycombinator.com/item?id=43580012)
- 作者: l5870uoo9y
- 评分: 54
- 评论数: 30
- 发布时间: 2025-04-04 17:41:13
---
## 2001 年地图制图学的新理论研究趋势
这篇文章探讨了 2001 年地图制图学领域的新理论研究趋势。文章主要聚焦于当时地图制图学的发展,并试图分析其背后的驱动力。文章指出,在 20 世纪中期之前,地图制图更像是一门艺术而非科学。
文章中提到,航海图的精确性在航海时代至关重要,这需要大量的技术投入和资金支持。当时的科学家们也投入了大量精力解决经度问题等导航难题。精确的陆地地图对军事和国家财政也至关重要。早期数学和天文学的研究也主要集中在地球测量和定位方面。文章还提到了信息论在制图学中的应用,以及一些评论员对这种趋势的担忧。
评论区对这篇文章的兴趣点提出了质疑,认为文章内容过时,并且缺乏新颖的见解。有评论员指出,如今已经有许多流行的 GIS 和可视化工具,如 QGIS、FME、D3、Open layers 和 Mapbox 等。一些评论者认为,这篇文章的标题应该包含年份,以便读者了解其年代。还有评论者提到了 Wild Bill Bunge 的工作,认为其研究更具颠覆性。总的来说,评论区对这篇文章的价值和时效性提出了质疑,认为其内容已经过时,并且缺乏对当前地图制图学发展趋势的深入探讨。
- 原文: [New Theoretical Research Trends in Cartography (2001)](https://www.researchgate.net/publication/26467883_NEW_THEORETICAL_RESEARCH_TRENDS_IN_CARTOGRAPHY)
- Hacker News: [https://news.ycombinator.com/item?id=43586043](https://news.ycombinator.com/item?id=43586043)
- 作者: bryanrasmussen
- 评分: 35
- 评论数: 8
- 发布时间: 2025-04-05 02:23:20
---
## FCC 主席 Brendan Carr 及其新闻失真政策
本文探讨了 FCC 主席 Brendan Carr 援引一项罕有执行的政策,以惩罚被指控对共和党和特朗普总统存在偏见的广播电视台。文章深入分析了这项政策的背景、争议以及对新闻自由的影响。
文章指出,FCC 主席 Brendan Carr 正在对被指控存在偏见的广播电视台采取强硬立场。他援引了自 20 世纪 60 年代末开始实施的、很少被执行的“新闻失真政策”,并表示 FCC 应该考虑吊销广播执照。然而,Carr 的前任们,包括民主党人和共和党人,都认为基于新闻节目内容惩罚电视台会侵犯第一修正案的言论自由权。
文章还提到,Carr 正在进行多项调查,其中对 CBS 编辑 Kamala Harris 采访的调查,引发了来自自由派和保守派团体的谴责,他们认为这威胁了宪法规定的言论自由。一些专家认为,针对 CBS 的投诉“毫无根据”,并认为 FCC 的行为是“政治噱头”和“滥用监管权力”。
文章回顾了 FCC 长期以来逐渐远离新闻监管的历史。文章指出,FCC 历史上曾通过“公平原则”和新闻失真政策来监管广播新闻。但“公平原则”已于 1987 年被废除,而新闻失真政策至今仍在实施。文章还提到,FCC 很少对新闻失真行为做出裁决,在最近几十年中更是几乎没有。
## 评论观点分析
评论区对 FCC 的行为持有多样化的观点。一些评论员认为,FCC 的行为是对新闻自由的威胁,是政治干预的表现。他们认为,政府不应该干预新闻内容,应该尊重媒体的独立性。
另一些评论员则认为,媒体应该对其报道的准确性负责,如果媒体存在失真行为,FCC 应该采取行动。他们认为,新闻失真会误导公众,损害社会利益。
还有一些评论员则对 FCC 的动机表示怀疑,认为其行为可能带有政治目的。他们认为,FCC 应该保持中立,避免被政治力量利用。
- 原文: [The speech police: Chairman Brendan Carr and the FCC's news distortion policy](https://arstechnica.com/tech-policy/2025/04/trumps-fcc-chair-invokes-rarely-enforced-news-distortion-policy-to-punish-media/)
- Hacker News: [https://news.ycombinator.com/item?id=43610952](https://news.ycombinator.com/item?id=43610952)
- 作者: whiteboardr
- 评分: 7
- 评论数: 0
- 发布时间: 2025-04-07 21:12:43
---
## MonkeysPaw:基于提示的 Ruby Web 框架
这篇文章介绍了 MonkeysPaw,一个基于提示的 Ruby Web 框架,它允许开发者通过描述想要的内容来生成整个网页。MonkeysPaw 颠覆了传统的 Web 开发方式,开发者无需编写 HTML、CSS 和 JavaScript,而是用自然语言描述他们想要的内容,框架会根据这些描述生成网页。
MonkeysPaw 的核心理念是“内容优先”的开发,它将自然语言作为源代码,降低了想法与实现的障碍。开发者可以用语言草拟想法,而不是纠结于语法。该框架通过提示文件生成网页,处理路由、布局和样式,甚至将模糊的功能描述转化为可运行的 JavaScript。
文章中还展示了 MonkeysPaw 的一个示例应用,开发者可以在 Markdown 文档中定义标题、页面内容、英雄区域、关键特性等。框架会根据这些描述生成相应的网页。MonkeysPaw 旨在优化表达,类似于“yes, and…”即兴创作,它会尝试实现开发者提出的任何建议。
MonkeysPaw 作为一个 Ruby gem 已经发布,安装和使用说明可以在 Github 上找到。文章也提到了该框架的局限性,例如页面可能与预期略有偏差,性能可能受到影响,复杂交互可能需要多次尝试才能实现。
文章最后展望了 MonkeysPaw 的未来发展,包括缓存组件、图像生成、页面预加载等。作者鼓励大家尝试并分享反馈。
## 评论观点分析
评论区对 MonkeysPaw 展现出多样的看法。有人认为这个框架让人联想到 _why the lucky stiff 的作品,并对 Ruby 的库命名表示赞赏。
一些评论认为 MonkeysPaw 代表了基于意图的页面构建的下一个范式或抽象。他们设想,通过大量的页面浏览,可以进行大量的实验,使 A/B 测试更像自然进化。
也有人将 MonkeysPaw 与 Cucumber 测试框架进行比较,并对框架的命名提出了质疑,认为“MonkeysPaw”这个名字本身就暗示了不可靠性。
还有评论分享了类似的实验,尝试让 AI 编写/读取数据库,构建完整的 CRUD 应用。虽然目前速度慢且不稳定,但他们认为这在未来有很大的潜力,甚至可能取代许多 SaaS 应用的“聊天”界面。
- 原文: [MonkeysPaw – A prompt-driven web framework in Ruby](https://worksonmymachine.substack.com/p/introducing-monkeyspaw-a-prompt-driven)
- Hacker News: [https://news.ycombinator.com/item?id=43601624](https://news.ycombinator.com/item?id=43601624)
- 作者: daviducolo
- 评分: 97
- 评论数: 19
- 发布时间: 2025-04-06 22:28:50
---