2024 04 27 HackerNews

2024-04-27 Hacker News Top Stories #

一句话摘要 #

  1. Leaving Rust gamedev after 3 years 作者分享了在 Rust 游戏开发三年后放弃的原因,指出了 Rust 在游戏开发中的局限性,尤其是在迭代速度和工具支持方面。
  2. Open Sourcing DOS 4 微软开源了 MS-DOS 4.00 的源代码,展示了近 45 年前用 8086 汇编代码编写的操作系统的历史。
  3. Passkeys: A shattered dream 文章讨论了 Passkeys 的问题,包括技术和用户体验方面的限制,以及 Passkeys 可能在普通消费者中失败的原因。
  4. Jeff Lawson buys The Onion 《纽约时报》报道了 G/O Media 将讽刺新闻网站 The Onion 出售给数字媒体老手 Jeff Lawson 的消息。
  5. Start Your Own ISP 该网站提供指南帮助用户创建自己的互联网服务提供商(ISP),特别是无线互联网服务提供商(WISP)。
  6. I’m creating PBR Textures and 3D models since 2018 and sharing them for free ShareTextures.com 提供免费的高质量 3D 模型和纹理,适用于任何项目,包括商业用途。
  7. No Abstractions: our API design principle 文章介绍了 Increase 公司 API 设计原则“无抽象”,强调了在 API 设计中直接使用复杂领域的基本特征的重要性。
  8. I rewired my brain to become fluent in math (2014) Barbara Oakley 分享了她如何从一个畏惧数学的孩子成为工程教授,并探讨了成人学习数学和科学背后的神经可塑性。
  9. Multiple Displays on a Mac Sucks 文章讨论了在 Mac 上使用多个显示器的问题,指出了全屏应用程序处理、窗口位置记忆等方面的问题。
  10. A BSD person tries Alpine Linux 作者 Ruben Schade 分享了他尝试使用 Alpine Linux 的经历,比较了其与 BSD 的相似之处,并对其印象良好。

Leaving Rust gamedev after 3 years #

https://loglog.games/blog/leaving-rust-gamedev/

这篇博文讨论了作者在使用 Rust 进行游戏开发三年后决定放弃 Rust 的原因。

作者提到了许多与 Rust 相关的问题和挑战,包括 Rust 对大重构的擅长、借用检查器导致的问题、ECS 解决的问题类型不正确、Rust 生态系统存在的炒作、全局状态的不便之处、动态借用检查导致的意外崩溃等。作者认为 Rust 的价值观与游戏快速原型设计和迭代不符,指出了 Rust 在游戏开发中的局限性,特别是在迭代速度和工具支持方面。

此外,作者还提到了关于热重载的重要性以及 Rust 在这方面的局限性,以及抽象不是一个选择等问题。文章强调了在游戏开发中,快速原型设计和迭代速度的重要性,以及工具支持对于提高开发效率的重要性。


HN 评论 537 comments | 作者:darthdeus | 8 hours ago #

https://news.ycombinator.com/item?id=40172033

这篇帖子中的评论观点包括:

Rust 在游戏开发生态系统中存在过度炒作,编译时间长且迭代慢,包下载庞大,生命周期和借用检查使得编程困难,Rust 似乎是在寻找问题来解决的解决方案;

有人认为 Rust 的 GUI 和游戏开发不太适合借用检查器;

另一方面,引擎如 Bevy 能够分析系统依赖关系并自动扩展到多个 CPU,这是一个重要的优势;

有人认为 Rust 游戏开发可能需要等到 Bevy 成熟并拥有自己的编辑器,才能真正起飞。


Open Sourcing DOS 4 #

https://www.hanselman.com/blog/open-sourcing-dos-4

这篇文章介绍了微软开源了 MS-DOS 4.00 的源代码。在过去十年中,微软已经向计算机历史博物馆发布了 MS-DOS 1.25 和 2.0 的源代码,以供参考。这些源代码在历史上具有重要意义,展示了近 45 年前完全用 8086 汇编代码编写的操作系统。如今,微软与 IBM 合作,以开放创新的精神,根据 MIT 许可证发布了 MS-DOS 4.00 的源代码。文章还提到了 DOS 4.0 版本背后复杂而迷人的历史,微软与 IBM 合作开发了部分代码,同时还创建了一个名为 Multitasking DOS 的 DOS 分支,但并未广泛发布。

文章还提到了一位名为 Connor “Starfrost” Hyde 的年轻英国研究人员,他与前微软首席技术官 Ray Ozzie 联系,发现了他收藏的 DOS 4.0 的未发布测试版本二进制文件。通过与微软开源项目办公室(OSPO)的联系,Starfrost 探索着发布 DOS 4 源代码,因为他正在研究 DOS 4、MT-DOS 以及最终成为 OS/2 的关系。微软与 IBM 的朋友认为这是值得分享的操作系统历史的一部分。

此外,文章还提到了 Scott Hanselman 和互联网档案馆员 Jeff Sponaugle 的合作,他们对这些原始磁盘进行了成像,并仔细扫描了这些“Ozzie Drop”中的原始打印文件。微软与 IBM 一起认为这是值得分享的操作系统历史的一部分,并发布了 MS-DOS 4.00 的源代码,以及这些额外的测试版本二进制文件、文档的 PDF 版本和磁盘镜像。

最后,文章感谢了参与这一过程的人员,并提到了可以在原始 IBM PC XT、更新的 Pentium 以及开源 PCem 和 86box 模拟器上成功运行这些软件的可能性。


HN 评论 308 comments | 作者:ndiddy | 1 day ago #

https://news.ycombinator.com/item?id=40163405

    1. 80 年代的孩子们有更多的选择,如 FreeDOS、Linux 等,可以满足有黑客精神的孩子们。
    1. 许多人认为今天的孩子们有更多选择,与 40 年前相比,这是真的。
    1. 许多人认为 80 年代的计算机邀请人们去黑客。例如,Apple 曾经提供名为 ResEdit 的应用程序,让用户可以修改 Mac。
    1. 许多人认为现在的孩子们无法像过去那样修改计算机。
    1. 许多人认为现代操作系统不会运行经过十六进制编辑器篡改的二进制文件。
    1. 许多人认为现代操作系统不会运行经过十六进制编辑器篡改的二进制文件,但在 Linux 上可能需要进行一些二进制修改来解决问题。

Passkeys: A shattered dream #

https://fy.blackhats.net.au/blog/2024-04-26-passkeys-a-shattered-dream/

这篇博文讨论了 Passkeys(通行密钥)的问题,作者在文章中提到了他的伴侣在使用家庭灯光控制系统时遇到了问题,因为她的 Apple Keychain 删除了她在该网站上使用的 Passkey。

作者回顾了 Webauthn 技术的发展历程,从最初的乐观预期到现在 Passkeys 被视为一种将用户和观众锁定在平台上的方式。文章指出 Passkeys 的推广受到了一些技术和用户体验方面的限制,例如 Chrome 和 Safari 试图强迫用户使用混合(caBLE)认证方式,而 Android 则不会激活安全密钥,导致用户无法选择设备。

作者认为 Passkeys 可能会在普通消费者中失败,因为企业利益再次凌驾于良好用户体验之上。最后,作者建议用户使用密码管理器来管理密码,而不是依赖 Passkeys。


HN 评论 573 comments | 作者:nmjenkins | 21 hours ago #

https://news.ycombinator.com/item?id=40165998

评论中的观点归纳如下:

Passkeys 存在平台锁定问题,Passkeys 可能成为替代 Cookie 跟踪的解决方案,Passkeys 可以通过 1Password 等密码管理器实现跨平台使用,Passkeys 在 Chrome 等浏览器上可能存在兼容性问题,Passkeys 可能导致用户被锁定在特定平台,Passkeys 需要考虑导出和移植性问题,Passkeys 可以通过硬件安全密钥实现更多的多平台支持。


Jeff Lawson buys The Onion #

https://www.nytimes.com/2024/04/25/business/media/the-onion-sold.html

《纽约时报》的这篇文章报道了 G/O Media 将讽刺新闻网站 The Onion 出售给了一群数字媒体老手的消息。The Onion 成立于 1988 年,最初是一份周刊讽刺报纸,后来发展成了一个网站,以其对当前事件的讽刺而闻名。

文章提到了 The Onion 过去十年来在几乎每次大规模枪击事件后都重新发布相同的头条:“‘无法阻止这一切’,唯一这种事情经常发生的国家说。”G/O Media 首席执行官吉姆・斯潘菲勒在一封被《纽约时报》获得的邮件中表示,公司正在对其投资组合进行全面审查,打算将重心放在受众和收入领先的网站上。

他透露 G/O Media 已同意将 The Onion 出售给 “一个名为全球四面体(Global Tetrahedron)的新公司,总部设在芝加哥”。这家公司由四位对 The Onion 和基于喜剧内容的数字媒体深爱有加的老手组成。新的业主同意保留 The Onion 的整个员工团队,并继续保留在芝加哥,这是交易中的一部分。

Global Tetrahedron 的名字是对《我们愚蠢的世纪》一书中的一个虚构邪恶公司的调侃,该书是由 The Onion 的工作人员撰写并于 1999 年出版的。现实中的 Global Tetrahedron 由技术通信公司 Twilio 的联合创始人兼前首席执行官杰夫・劳森拥有,首席执行官是曾任 NBC 新闻高级记者的本・柯林斯,前 TikTok 执行官莱拉・布里尔森和前 Tumblr 员工丹妮尔・斯特勒也是执行团队成员。


HN 评论 278 comments | 作者:coloneltcb | 1 day ago #

https://news.ycombinator.com/item?id=40164199

评论中的观点归纳如下:

    1. Jeff Lawson 购买 The Onion 引发了热议;
    1. 有人对 Lawson 的回答“什么是 The Onion?”表示好笑;
    1. 有人称赞 Ben Collins 是优秀的记者,了解互联网运作和社区发展;
    1. 有人指出媒体应该更深入了解事件,不应只关注 Kiwi Farms 而忽略 Doxbin;
    1. 有人对 Doxbin 的行为表示担忧和批评;
    1. 有人回顾了 The Onion 的历史和经典文章,表达对其的喜爱和怀念。

Start Your Own ISP #

https://startyourownisp.com/

该网站致力于帮助您创建自己的互联网服务提供商(ISP),特别是关于建立无线互联网服务提供商(WISP)的指南。重点放在开始 WISP 的最早阶段 - 从确定可行性到连接最初几位客户。

该网站提供了关于 WISP 的定义、建设成本、步骤指南(包括评估地区、寻找光纤供应商、选择硬件平台、网络拓扑结构设计、安装客户、营销等)、工具和其他相关内容。此外,还提供了关于 MDU(多户住宅单位)的最佳实践、Google Earth 指南、屋顶和梯子安全等内容。

网站作者还提供付费咨询服务,并鼓励社区参与讨论。


HN 评论 96 comments | 作者:agomez314 | 1 day ago #

https://news.ycombinator.com/item?id=40161697

评论中的观点归纳如下:

  • 有人提到可以通过建立自己的 ISP 来提供更好的网络服务,与 Starlink 等服务竞争。
  • 有人认为 WISP 运营商可以通过不同方式提供服务,但也存在技术债务问题。
  • 有人讨论了 Mikrotik 设备的使用和适用范围。
  • 有人分享了自己在 ISP 工作的经历,提到了网络设计和运营中的挑战。
  • 有人讨论了 Starlink 和 5G 服务的优劣,以及在不同地区的适用性。
  • 有人分享了在加拿大和其他地区建立小型 ISP 的经验和困难。
  • 有人讨论了 Starlink 的可持续性和与传统网络服务的竞争关系。
  • 有人提到了 IPv4 地址空间的成本和 IPv6 的应用。
  • 有人分享了关于网络服务提供商和技术的各种见解和经验。

I’m creating PBR Textures and 3D models since 2018 and sharing them for free #

https://www.sharetextures.com/

内容摘要:ShareTextures.com 是一个提供免费高质量 3D 模型和纹理的网站。网站上提供了 184 个最新的 3D 模型、1502 种最新纹理以及 37 个最新的纹理图集,数量不断增加。

所有内容都是免版税的,可以用于任何项目,包括商业项目。网站欢迎赞助者支持,列出了一些赞助者的名单。此外,网站还提供了联系方式和其他相关信息。


HN 评论 77 comments | 作者:tolgaarslan | 13 hours ago #

https://news.ycombinator.com/item?id=40168519

评论中的观点归纳如下:

    1. 支持将资产免费提供给公众,认为某些东西不值得付费;
    1. 讨论 PBR 的不同解释,有人认为是 Professional Bull Rider,有人认为是 Peanut Butter and Radishes;
    1. 有人赞赏网站提供的资源,希望能分享更多;
    1. 讨论 CC0 许可证的含义和版权问题;
    1. 有人对网站的用户体验提出建议和批评;
    1. 有人质疑免费提供资源可能破坏市场;
    1. 有人支持免费共享资源,认为这有助于社区;
    1. 讨论 PBR 纹理的含义和制作过程;
    1. 有人提出在虚拟现实环境中展示和互动这些对象的想法。

No Abstractions: our API design principle #

https://increase.com/articles/no-abstractions

这篇文章介绍了 Increase 公司 API 设计原则之一,称为“无抽象”,这是他们在产品和公司规模扩大过程中发现非常有用的设计原则。文章指出 API 资源是 API 的名词。决定如何命名和建模这些名词可以说是设计 API 最困难和最重要的部分。您公开的资源组织了用户对产品运作方式和功能的心智模型。

Increase 团队使用了“无抽象”原则来帮助设计 API。他们认为,与 Stripe 一样,Stripe 在设计 API 时擅长设计抽象化,将复杂领域的基本特征提取出来,使用户可以轻松理解和使用。Stripe 将许多不同网络上的付款建模为一个名为 PaymentIntent 的 API 资源。

Increase 的用户通常具有对支付网络的深入了解,他们全天候都在思考金融科技,并因为我们的直接网络连接和深度集成而来找我们。他们想要了解联邦 ACH 窗口何时关闭以及转账何时到账。尝试隐藏这些网络的基本复杂性会激怒他们,而不是简化他们的生活。

文章还提到了“无抽象”原则如何影响 API 设计,包括真实命名、不变性和按用例分离资源等方面。最后,文章强调了“无抽象”并不适用于每个 API,但考虑适合开发人员集成的抽象级别是一项有价值的练习。


HN 评论 121 comments | 作者:jackflintermann | 1 day ago #

https://news.ycombinator.com/item?id=40161794

评论中的观点归纳如下:

    1. API 设计应根据常见和复杂情况提供低级和高级抽象;
    1. API 设计应以简单操作为首要考虑;
    1. 抽象的目的是为了创造新的语义层级,而不是模糊不清;
    1. 低级 API 应提供细致控制,高级 API 应提供简化操作;
    1. API 设计应以常见用例为出发点,保持简单易用;
    1. 对于支付 API,应使用整数表示货币金额,避免使用浮点数;
    1. 保持接口一致性,避免过多抽象层次;
    1. 在设计 API 时应考虑具体情况,不应过度泛化。

I rewired my brain to become fluent in math (2014) #

https://nautil.us/how-i-rewired-my-brain-to-become-fluent-in-math-235085/

这篇文章讲述了作者 Barbara Oakley 是如何从一个对数学和科学抱有畏惧情绪的孩子,最终成为一名工程教授的过程。她分享了自己如何通过成人学习数学和科学,进入工程领域,并探讨了成人学习背后的神经可塑性。

文章指出,在教育中,理解和熟练掌握数学和科学的重要性,强调了记忆、重复和死记硬背在学习过程中的作用。作者提到了日本的 Kumon 数学教学方法,强调了记忆、重复和死记硬背与培养孩子对知识的掌握能力的重要性。文章还探讨了教育改革中的一些问题,如 Common Core 标准的实施细节和教学方法的选择。

作者强调了通过重复、练习和死记硬背来培养熟练掌握数学和科学的重要性,认为真正的理解只有通过熟练掌握才能实现。最后,作者分享了自己学习语言和数学的经历,强调了熟练掌握知识的重要性,并呼吁家长和教师鼓励学习新学科,打开新的视野。


HN 评论 167 comments | 作者:ColinWright | 16 hours ago #

https://news.ycombinator.com/item?id=40167163

这篇帖子中的评论观点可以归纳为:强调练习和记忆对于学习数学至关重要,尤其是在建立基础和培养直觉方面;有人认为作者过多谈及个人经历,但也有人认为这有助于解释观点;另外,有讨论关于数学教育中应该如何教授非平凡问题的观点。


Multiple Displays on a Mac Sucks #

https://wadetregaskis.com/multiple-displays-on-a-mac-sucks/

这篇文章讨论了在 Mac 上使用多个显示器的问题。作者表示,尽管许多人喜欢使用多个显示器,但他一直觉得这种设置很神秘。作者回顾了自己三十年来尝试过多显示器设置的经历,包括使用两台 17 英寸显示器并列,以及随着时间推移,逐渐扩展屏幕空间。2014 年 5k 显示器的推出解决了一段时间的问题,但最近他感到有些拥挤,尤其是在使用 Xcode 时,屏幕空间显得有限。然而,作者发现在 Mac 操作系统中,窗口经常重新启动后无法记住它们的位置,这给他带来了很大困扰。

作者列举了多个问题,包括全屏应用程序无法正确处理额外显示器、侧边栏不实用、显示器亮度调整困难、窗口出现在错误的显示器上等。他还谈到了使用多个显示器的不便之处,包括不便于拆分工作、人体工程学不佳以及频繁在显示器之间移动的困难。最后,作者还就一些评论中提到的观点进行了回应,包括使用超宽显示器、配置显示器位置等。

总的来说,作者认为在 Mac 上使用多个显示器并不理想,存在许多问题和不便之处,导致他在多个显示器设置下感到困惑和不满。


HN 评论 288 comments | 作者:ingve | 19 hours ago #

https://news.ycombinator.com/item?id=40166268

这篇帖子中的评论观点主要集中在多屏显示在 Mac 上的问题。用户们提到了 Mac 操作系统在记住窗口位置方面存在困难,以及在多屏切换时出现的问题。有人提到使用第三方工具解决了这些问题,也有人表示尝试过多次切换到 Mac 但因窗口操作问题而放弃。另外,也有人提到在 Mac 和 Windows 之间切换后发现在 Mac 上更满意。总体来说,用户们对 Mac 在多屏显示方面的表现存在不满和挑战。


A BSD person tries Alpine Linux #

https://rubenerd.com/a-bsd-pserson-trying-alpine-linux/

本文介绍了作者 Ruben Schade 最近开始尝试使用 Alpine Linux 操作系统,并比较了其与 BSD 的相似之处。Alpine Linux 是一个独立、非商业用途的 Linux 发行版,旨在为注重安全、简单和资源效率的高级用户设计。

文章介绍了 Alpine Linux 的历史,包括其起源和用途。安装 Alpine Linux 非常简单,只需执行几个基本步骤即可完成。Alpine Linux 使用 OpenRC 作为启动系统,同时搭载了 musl 和 busybox 等工具,使系统更加高效且安全。Alpine Linux 使用 apk 作为默认的包管理器,配置简单,同时也支持 pkgsrc。

作者还分享了自己安装和使用 Alpine Linux 过程中的一些体验和惊喜,包括安装 zfs 等软件包的简便程度。最后,作者总结表示对 Alpine Linux 的印象良好,认为它可能成为他主要用于测试和服务器的 Linux 发行版。


HN 评论 200 comments | 作者:Tomte | 18 hours ago #

https://news.ycombinator.com/item?id=40166670

这篇帖子中的评论主要涉及到 Alpine Linux 的安全性、GLIBC 和 musl 的比较、Linux 内核的安全架构、系统初始化和服务管理工具(如 OpenRC 和 systemd)的讨论,以及不同 Linux 发行版之间的差异和选择。评论中提到 Alpine 使用 musl 可能在安全性上不如 GLIBC,GLIBC 在堆实现方面更加强化,musl 则更简单易懂;还有关于 Linux 内核的安全设计、ChromeOS、Flatpack、Wayland 等的讨论;以及对 OpenRC、systemd、daemontools、runit 和 s6-rc 等服务管理工具的比较和评价。此外,还有关于 BSD、Void Linux、CRUX 等发行版的推荐和讨论,以及对 systemd 的争议和批评。