2024 04 20 HackerNews

2024-04-20 Hacker News Top Stories #

一句话摘要 #

  1. Calculus Made Easy 这篇文章是对微积分入门的讨论,作者批评了传统教科书的晦涩难懂,提倡以更易懂的方式教授微积分的基础知识。
  2. Daniel Dennett has died 报道了哲学家丹尼尔·丹尼特的逝世,他是心灵哲学和认知科学领域的著名学者,以其关于意识和自由意志的著作而闻名。
  3. Tesla Recalls All Cybertrucks for Faulty Accelerator Pedals 特斯拉因油门踏板可能卡住的问题,召回了所有已发货的Cybertruck,展示了公司在面临质量问题时的积极应对态度。
  4. Supabase Storage now supports the S3 protocol Supabase Storage宣布支持S3协议,这一更新使得存储解决方案与多种工具的兼容性得到增强。
  5. The Rust calling convention we deserve 文章讨论了Rust的调用约定,并提出了一种新的、旨在提高性能的调用约定设计。
  6. Add Depth of Field to Screenshots 介绍了一个名为Blurmatic的网站,它允许用户上传图片并模拟景深效果,以突出截图中的特定元素。
  7. SeaMonkey All-in-One Internet Application Suite SeaMonkey项目是一个社区驱动的努力,旨在继续开发和提供高质量的SeaMonkey互联网应用套件,包括浏览器、电子邮件客户端等功能。
  8. 3rd Edition of Programming: Principles and Practice Using C++ by Stroustrup Bjarne Stroustrup的《Programming – Principles and Practice Using C++ (3rd Edition)》是一本C++编程的教材,强调基本概念和技术,适合初学者和有经验的程序员。
  9. Scale of the Universe “Scale of the Universe”是一个互动网站,通过可视化的方式展示了从微观到宏观不同尺度的宇宙。
  10. Tips on how to structure your home directory (2023) 这篇文章提供了关于如何有效结构化Unix系统中的主目录(home directory)的技巧和建议。

Calculus Made Easy #

https://calculusmadeeasy.org/prologue.html

这个网页的内容是关于微积分的开场白。作者指出,尽管很多人能够计算,但令人惊讶的是,有人会认为让其他人学会掌握相同的技巧要么困难,要么乏味。

微积分中有些技巧相当容易,有些则极其困难。撰写高等数学教科书的那些愚蠢之辈(他们大多是聪明的愚蠢之辈)很少费心向你展示简单计算的易法。相反,他们似乎希望通过最困难的方式来向你展示他们的巨大聪明才智。

作者自称是一个非常愚蠢的人,他不得不放弃那些困难,现在请求向其他愚蠢之辈呈现那些不难的部分。彻底掌握这些,其他部分就会随之而来。一个愚蠢之辈能做到的事,另一个愚蠢之辈也能做到。


HN 评论 202 comments | 作者:susam | 24 hours ago #

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

这篇帖子中的评论观点主要集中在数学教育中缺乏对概念背后意义的解释,教材通常侧重于机械性的计算而非整体性理解;

有人认为教育方法应更注重直观/整体化教学,但实施起来困难;

也有人认为让学生自己通过练习来建立理解更为有效;

教师应该识别学生兴趣,引导他们发展技能;

教育应该注重故事和意义,而不仅仅是机械计算。


Daniel Dennett has died #

https://dailynous.com/2024/04/19/daniel-dennett-death-1942-2024/

这篇文章介绍了丹尼尔·丹尼特(Daniel Dennett)教授的逝世消息。丹尼特教授是塔夫茨大学哲学荣誉教授,以其在心灵哲学和其他广泛哲学领域的工作而闻名。

他在哲学心灵和认知科学领域写作广泛,尤其是意识问题。丹尼特教授还在关于意向性概念和自由意志辩论方面做出了重要贡献。他的一些著作包括《内容与意识》(1969 年)、《头脑风暴:关于心灵和心理学的哲学论文》(1981 年)、《故意立场》(1987 年)、《解释意识》(1992 年)、《达尔文的危险思想》(1995 年)、《打破魔咒》(2006 年)和《从细菌到巴赫再到脑:心智的进化》(2017 年)。去年,他出版了一本名为《我一直在思考》的回忆录。

丹尼特教授几乎整个职业生涯都在塔夫茨大学任职,之前在加州大学欧文分校担任职位。他还曾在牛津、哈佛、匹兹堡等机构担任访问学者。丹尼特教授获得了牛津大学的博士学位和哈佛大学的哲学学士学位。他获得过多个奖项和奖金,包括尼科德奖、心灵与大脑奖和伊拉斯谟奖。

丹尼特教授是坚定的无神论者,被誉为“新无神论四骑士”之一。他还是怀疑调查委员会的成员、国际人文学院的荣誉人文学家,并被美国人文主义组织评为年度人文主义者。文章还提到了丹尼特教授去世的消息,以及他的一些成就和影响。


HN 评论 287 comments | 作者:mellosouls | 7 hours ago #

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

这篇帖子中的评论观点归纳如下:

    1. 对 Daniel Dennett 的影响力和贡献表示敬意;
    1. 讨论 AI 安全和伦理问题;
    1. 对 Dennett 的哲学思想和作品进行评价;
    1. 讨论宗教、道德和意识等议题;
    1. 对不同哲学家和编程语言进行类比;
    1. 探讨哲学、科学和伦理之间的关系。

Tesla Recalls All Cybertrucks for Faulty Accelerator Pedals #

https://techcrunch.com/2024/04/19/tesla-cybertruck-throttle-accelerator-pedal-stuck/

根据 TechCrunch 的报道,特斯拉正在召回所有迄今为止已发货的 3,878 辆 Cybertruck,原因是油门踏板可能会卡住,使驾驶员面临撞车风险。这一召回标志着特斯拉经历了一个动荡的一周。公司在周一裁员超过 10%,失去了两名最高级别的高管。几天后,特斯拉要求股东重新投票批准首席执行官埃隆·马斯克今年早些时候被法官否决的巨额薪酬计划。

有关 Cybertruck 油门踏板问题的报道最近几周开始出现。据称,特斯拉甚至暂停了该车型的交付,以解决这个问题。马斯克在 X 上发文称,特斯拉“非常谨慎”,并向美国国家公路交通安全管理局(NHTSA)报告称,公司并不知道与该问题有关的任何撞车或受伤事件。

公司现在向 NHTSA 确认,踏板可能会脱落,导致其可能滑动并卡在脚踏周围的装饰物中。特斯拉表示,它首次在 3 月 31 日收到一位客户关于这种油门踏板事故的通知,然后在 4 月 3 日收到第二个通知。在进行一系列测试后,公司于 4 月 12 日决定发出召回通知,因为确定“未经批准的更改引入了润滑剂(肥皂)以帮助将踏板组件安装到油门踏板上”,并且“残留润滑剂降低了踏板对踏板的保持力”。

特斯拉表示将更换或重新加工所有现有 Cybertruck 的油门踏板。公司还告诉 NHTSA,它已开始使用新的油门踏板生产 Cybertruck,并正在修复正在运输或停放在交付中心的车辆。虽然 Cybertruck 去年底才开始发货,但这并非该车型的第一次召回。早些时候,特斯拉召回了其所有车辆的软件,因为警告灯的字体大小太小。该公司于 2019 年推出了这款卡车。


HN 评论 495 comments | 作者:sarimkx | 11 hours ago #

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

评论中的观点包括:

对特斯拉制造过程中出现的问题缺乏质量控制和洞察力的批评;

认为制造线上引入新步骤导致的问题显示出专业性不足;

赞赏特斯拉主动召回产品修复错误的态度;

对特斯拉在制造方面的失误表示担忧,认为马斯克过于自信导致公司出现问题;

指出特斯拉在设计和制造上存在一些问题,如 Cybertruck 的轮毂问题和缺乏雨传感器等。


Supabase Storage now supports the S3 protocol #

https://supabase.com/blog/s3-compatible-storage

在这篇文章中,Supabase Storage 现在正式成为一个 S3 兼容的存储提供商。这是用户最多要求的功能之一,现在在公共 alpha 版本中可用。可恢复上传也正在从 Beta 版本过渡到普遍可用状态。

Supabase Storage 引擎是完全开源的,是为管理文件提供了 3 种可互操作的协议之一的少数存储解决方案之一:

  • 标准上传:简单易上手
  • 可恢复上传:用于大文件的可恢复上传
  • S3 上传:用于与众多工具兼容

Supabase 一直努力采用行业标准。支持标准使工作负载可移植,这是一个关键的产品原则。S3 API 无疑是一个存储标准,我们正在使其对各种经验水平的开发人员可访问。

S3 协议与我们的其他 API 兼容。如果您已经通过我们的 REST 或 TUS API 使用存储,今天您可以使用任何 S3 客户端与您的存储桶和文件进行交互:使用 TUS 进行上传,使用 REST 进行提供,使用 S3 协议进行管理。

文章还介绍了如何使用 Supabase S3 进行身份验证、S3 兼容集成、S3 用于数据工程师等内容。此外,还支持 S3 协议的多部分上传,以最大化上传吞吐量。


HN 评论 125 comments | 作者:inian | 17 hours ago #

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

  • 评论者对 Supabase Storage 支持 S3 协议的更新表示兴奋,认为这将为数据科学家/工程师带来新的可能性。
  • 有人认为 Supabase 仍有一些不足之处,如缺乏对元数据的直接支持,希望更多关注基本功能和细节。
  • 讨论者分享了使用 DuckDB 直接从存储中查询 Parquet 文件的示例,强调 DuckDB 在 S3 协议支持下的良好性能。
  • 有人分享了在 Postgres 中存储大对象的经验,强调了对大对象的存储和管理。
  • 讨论者提到 Supabase 的自托管文档和演示视频,指出熟悉基本服务器管理技能的人可以轻松自托管。
  • 评论者提到 Supabase 正在扩展支持的功能,如预签名 URL,以及对 S3 事件通知的支持。
  • 讨论者询问 Supabase 是否支持 S3 事件通知,以及对 iOS 支持的优先级。
  • 有人提到 Supabase 的价格和自托管选项,以及对其产品的积极评价。
  • 讨论者分享了对 Supabase 的积极看法,认为其是一个出色的产品,提到了对触发器和 PG 函数的使用体验。
  • 评论者提到 Supabase Storage 对于存储结构化数据文件(如 csv、parquet)的支持,以及在 Redshift 中使用 SQL 查询直接从 S3 加载数据的优势。

The Rust calling convention we deserve #

https://mcyoung.xyz/2024/04/17/calling-convention/

这篇文章讨论了 Rust 的调用约定(calling convention)以及对现有的 C ABI 的不足之处。

作者指出 Rust 目前使用 LLVM 的内置 C 调用约定,但存在一些性能上的问题,例如对于简单函数的代码生成不佳。文章提出了一种新的调用约定设计 -Zcallconv=fast,旨在优化 Rust 函数的参数传递和返回值处理,以提高性能。作者详细介绍了如何通过指定参数传递方式、返回值处理等步骤来实现这一新的调用约定。

此外,文章还探讨了如何最大程度地利用寄存器来传递 Rust 结构体和联合体的成员,以及如何基于优化生成特定的 ABI。文章强调了 Rust 在调用约定方面有改进空间,并呼吁更多专家参与 Rust 编译器团队,以优化代码生成并提高性能。


HN 评论 124 comments | 作者:matt_d | 1 day ago #

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

评论中的观点主要集中在优化调用约定的性能、CPU 优化、长期设计、Rust 调用约定的稳定性、ABI 稳定性、内联、调用边界、寄存器分配、调用约定优化、函数体优化、动态调用约定、性能测量、二进制大小、Rust 调用约定对小平台的影响、错误处理优化、调用约定的长期性、寄存器使用、C++ 调用约定、调用约定的未来、Rust ABI 稳定性、C ABI、稳定 ABI、编译器优化、二进制大小、调用开销、寄存器分配决策、寄存器使用、调用约定优化、二进制大小优化、Niche 优化、架构特定布局、对齐排序、调用约定关键字、调用约定扩展、MLIR 的作用等方面。


Add Depth of Field to Screenshots #

https://www.blurmatic.com/

经过访问网站 https://www.blurmatic.com/,该网站显示为“Blurmatic”,由 @probabletrain 实验创建。该网站允许用户自行上传图片,模拟景深效果,可以通过拖拽调整图片角度,以及通过点击实现图片的局部聚焦。


HN 评论 56 comments | 作者:s16h | 9 hours ago #

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

评论中的观点大致可以归为以下几类:

    1. 有人认为这种模拟景深效果在网页截图中有趣,但实际用途不明确;
    1. 有人觉得这种效果可以突出截图中的特定元素,适用于某些场景,比如营销图片;
    1. 也有人认为这种效果可能会降低截图的实用性,可能会让用户感到困惑或不满。

SeaMonkey All-in-One Internet Application Suite #

https://www.seamonkey-project.org

SeaMonkey® 项目是一个社区努力的成果,旨在开发 SeaMonkey 互联网应用套件。该软件套件以前由 Netscape 和 Mozilla 广受欢迎,SeaMonkey 项目继续开发和提供高质量的更新。SeaMonkey 包含互联网浏览器、电子邮件和新闻组客户端、内置网络订阅阅读器、HTML 编辑器、IRC 聊天和网页开发工具,适合高级用户、网页开发人员和企业用户使用。

SeaMonkey 使用许多与 Mozilla Firefox 相同的源代码,SeaMonkey 协会提供法律支持。SeaMonkey 2.53.18.2 是一个次要的 bug 修复版本,包含了应用程序中的崩溃修复和一些其他修复。SeaMonkey 2.53.18 Beta 1 是一个增量更新版本,包含了许多增强功能、更改和修复。SeaMonkey 还包括互联网浏览器、邮件和新闻组客户端、HTML 编辑器、IRC 聊天应用程序和网页开发工具等附加组件。

SeaMonkey 的互联网浏览器使用与 Mozilla Firefox 相同的渲染引擎和应用程序平台,具有诸如标签式浏览、弹出式阻止、智能地址栏、查找功能等流行功能。SeaMonkey 的邮件和新闻组客户端与 Thunderbird 共享大量代码,具有自适应垃圾邮件过滤、标签和邮件视图、网络订阅阅读、标签式消息、多个帐户、S/MIME、带有 LDAP 支持的地址簿等功能。

SeaMonkey 还可以通过众多附加组件进行扩展,提供额外功能和定制选项,为用户提供完整的互联网体验。SeaMonkey 项目鼓励用户参与讨论、报告问题,并进一步改进产品。


HN 评论 63 comments | 作者:TheFreim | 22 hours ago #

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

  • Seamonkey 曾是 Mozilla 的原始浏览器,后来发展为 Firefox,但现代网站不再兼容其渲染引擎。
  • 一些用户喜欢 Seamonkey 的集成聊天和邮件客户端,但对其 HTML 编辑器不太满意。
  • Seamonkey 的 HTML 编辑器被推荐用于编写 HTML,比在 MS Word 中编写更可读。
  • 有人赞赏 Seamonkey 具有集成编辑器,类似于原始 WorldWideWeb 浏览器。
  • Seamonkey 的 SOCKS5 代理功能被称为最佳,适用于限制性网络环境。
  • 一些用户希望 Seamonkey 能够更新 UI 以保持现代性。
  • Seamonkey 的邮件客户端与 Thunderbird 相似,但保留了 XUL 插件支持。
  • Seamonkey 项目需要破坏性更新以适应 Firefox 发布周期。
  • 有人认为 Seamonkey 是一个很好的平台,可以与 AI 集成。

3rd Edition of Programming: Principles and Practice Using C++ by Stroustrup #

https://www.stroustrup.com/programming.html

这个网页是关于 Bjarne Stroustrup 的《Programming – Principles and Practice Using C++ (3rd Edition)》的内容。这本书是 C++ 的创始人编写的,旨在帮助任何愿意努力学习的人掌握编程的基本原则,并培养在现实世界中编程所需的实用技能。第三版的重点包括:

  • 旨在编写足够好供他人使用和维护的程序
  • 着重于基本概念和技术,而不是晦涩的语言技术细节
  • 是一本关于编程的介绍,包括过程化、面向对象和泛型编程,而不仅仅是一门编程语言的介绍
  • 涵盖了当代高级技术和硬件高效使用所需的低级技术
  • 为编写有用、正确、类型安全、可维护和高效的代码奠定坚实基础
  • 主要面向从未编程过的人,但即使是经验丰富的程序员也发现之前的版本作为更有效概念和技术的介绍很有用
  • 涵盖了广泛的基本概念、设计和编程技术、语言特性和库
  • 使用当代 C++(C++20 和 C++23)
  • 包括内置类型和用户定义类型的设计和使用,包括输入、输出、计算和简单图形/图形用户界面
  • 提供了对 C++ 标准库容器和算法的介绍

此外,书中还包括作者 Bjarne Stroustrup 的简介,以及一些样本章节、支持材料和章节摘要。书籍旨在帮助初学者和有经验的程序员提高他们的编程风格和技术。


HN 评论 167 comments | 作者:jrepinc | 9 hours ago #

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

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

对书中的"import std;“作为第一行的问题表示担忧,认为书应该更适合初学者;

有人提到书中使用 QT 替代 FLTK,对学习曲线产生疑问;

有关 Qt 对 C++ 的影响,以及 QtCreator 对学习曲线的帮助;

关于 QtCreator 与 Qt 库的独立性;Qt Creator 相对于 CLion 的比较;

SFML 用于图形编程的讨论;C++ 在开发堆栈中的位置变化;

关于使用 C++ 解析 JSON 的讨论;对 C++ 编程的怀旧情绪;

关于使用 Rust 和 Python 的讨论;对 C++ 编程的热情;

C++ 在应用程序世界中的衰落;

关于使用 Rust 进行脚本编写的讨论;


Scale of the Universe #

https://scaleofuniverse.com/en

这个网站名为“Scale of the Universe”,旨在通过互动体验激发人们对可见和不可见世界广阔范围的学习。

网站提供了一个交互式体验,让用户点击物体以了解更多信息,并通过滚动条进行缩放。最初由 Cary Huang 创建,后由 Dave Caruso、Ben Plate 等人进行了重新制作。

该网站包括关于我们、资源、与我们一起创作、维基对象、社区等内容。通过这个网站,用户可以探索宇宙的尺度,了解我们可见和不可见世界的广阔范围。


HN 评论 89 comments | 作者:Leftium | 19 hours ago #

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

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

对宇宙规模的惊叹与思考、关于智能生命的可能性与复杂有机分子的增长、时间概念的讨论、同时性的相对论、宇宙尺度与人类尺度的对比、物质存在的哲学探讨、时间尺度的探索、历史时间尺度的想象、宇宙有限性与无限性的讨论、以及网站设计的赞赏等。


Tips on how to structure your home directory (2023) #

https://unixdigest.com/tutorials/tips-on-how-to-structure-your-home-directory.html

这篇文章介绍了如何结构化你的主目录(home directory)。作者分享了自己的主目录结构,强调了组织的目的是为了提高效率,让你能够快速找到需要的文件并轻松存储文件。

作者提到了在主目录中保留基本的隐藏文件夹,如.config、.aliases 等,以及如何使用 Git 来管理 dotfiles。作者还分享了自己的主目录基本结构,包括 bin、data、edata、mnt 等目录的用途和组织方式。

此外,文章还提到了如何利用 ZFS 数据集进行备份、如何管理笔记和文件,以及如何命名文件和目录以保持清晰和易于识别。

最后,作者强调了定期清理不再有用的数据的重要性,并建议备份重要数据到多个不同的存储位置。


HN 评论 146 comments | 作者:hggh | 11 hours ago #

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

  • 有人讨厌家目录被污染,特别是当应用程序认为它应该在家目录中放置非隐藏目录时。
  • 一些人认为不尊重 XDG 的 Mac 上编写的 CLI 工具是最糟糕的,因为在那里这不是一回事。所以每个工具都可以用自己愚蠢的目录污染你的 dotfiles,如 .rustup、.mix、.npm、.yarn 等。
  • 有人提到在 Mac 上插入驱动器会到处生成 .Trashes、._Trashes、.DS_Store、.fseventsd、.Spotlight-V100 等等。
  • 有人认为在家目录中污染像 ~/go 这样的目录,甚至没有礼貌地隐藏它,是极其粗鲁和冒犯的。
  • 有人提到 Golang 是少数实际内置跨 OS 配置目录位置支持的编程语言之一。
  • 有人认为喜欢有可见目录,而不必弄清楚安装程序选择将文件放在 /usr/share、/usr/local、~/.local 或 /var 中的哪个位置。
  • 有人认为 GOPATH 本身是一个糟糕的设计,与其他编程语言中每个项目都有独立目录结构相反。
  • 有人提到 os.UserConfigDir 在 Go 1.13 中添加,解释了为什么之前没有使用它。
  • 有人提到.NET 也有类似功能。
  • 有人认为在家目录中放置可见目录比在 /usr/share 或 /usr/local 或 ~/.local 或 /var 中找到安装程序选择的文件更好。