2024 10 10 HackerNews

2024-10-10 Hacker News Top Stories #

  1. 诺贝尔化学奖得主 David Baker 因其在计算蛋白质设计方面的贡献而获得奖项,同时 Demis Hassabis 和 John M. Jumper 因其在蛋白质结构预测方面的成就而获得奖项。
  2. 一位富豪去世后留下了 70 亿美元的遗产,引发了人们对富人避税问题的讨论。
  3. 印度公司 Cognizant 因歧视非印度籍员工而被判有罪,公司滥用 H-1B 签证程序,故意歧视非印度籍员工。
  4. player.style 网站提供了一系列适用于各种网页播放器的音视频播放器主题,主题是开源的,基于 Media Chrome 构建,用户可以通过简单的 HTML 和 CSS 进行完全自定义。
  5. 斯蒂芬·沃尔夫拉姆在其文章《时间的本质》中探讨了时间的计算视角,提出了时间不仅是一个数学坐标,而是宇宙中计算进程的反映。
  6. Panic 公司宣布,由于谷歌的新政策,将停止 Transmit 应用程序对 Google Drive 的支持,谷歌要求所有连接 Google Drive 的应用程序进行昂贵且耗时的年度审查。
  7. 美国政府正在考虑要求法官对谷歌进行拆分,以应对其在在线搜索中的反垄断违规行为。
  8. Htmx 的一些缺点和局限性包括属性继承问题、无法完全替换 DOM 元素、状态管理不佳等,尽管 Htmx 在某些方面有其优势,但在实际应用中也暴露出许多复杂性和局限性。
  9. 该论文探讨了在大型神经网络中,如何通过整数加法来高效地近似浮点数乘法,从而显著降低计算资源和能耗。
  10. 作者 Rodrigo Delduca 分享了他为儿子制作游戏的经历,强调了从零开始编写游戏引擎的乐趣和意义。

Chemistry Nobel: Computational protein design and protein structure prediction #

https://www.nobelprize.org/prizes/chemistry/2024/press-release/

2024 年诺贝尔化学奖的新闻稿宣布,奖项一半授予华盛顿大学的 David Baker,以表彰他在“计算蛋白质设计”方面的贡献;另一半则共同授予谷歌 DeepMind 的 Demis Hassabis 和 John M. Jumper,以表彰他们在“蛋白质结构预测”方面的成就。

这次获奖的研究聚焦于蛋白质,作为生命的化学工具,蛋白质在生命中扮演着重要角色,控制和驱动所有化学反应。David Baker 成功设计出全新的蛋白质,而 Hassabis 和 Jumper 则开发了一个 AI 模型,解决了一个长达 50 年的难题——预测蛋白质的复杂结构。

David Baker 的研究小组自 2003 年以来,创造了多种新型蛋白质,这些蛋白质可用于药物、疫苗、纳米材料和微型传感器等。另一方面,Hassabis 和 Jumper 在 2020 年推出的 AI 模型 AlphaFold2,能够预测几乎所有已知的 2 亿种蛋白质的结构,极大地推动了科学研究的进展。

诺贝尔化学委员会主席 Heiner Linke 表示,这两项发现为科学研究开辟了广阔的可能性,尤其是在理解抗生素抗性和开发新材料方面。

此次奖项的奖金为 1100 万瑞典克朗,David Baker 获得一半,Hassabis 和 Jumper 共同分享另一半。


HN 热度 479 points | 评论 270 comments | 作者:mitchbob | 15 hours ago #

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

  • 许多人对德米斯·哈萨比斯的背景表示惊讶,认为他从游戏开发转向神经科学并最终获得诺贝尔奖是一个不寻常的选择。
  • 有评论指出,获得博士学位的途径因地区而异,很多人认为在美国,跨领域申请博士学位的难度较大。
  • 一些人认为,虽然博士学位的获得相对容易,但在某些热门领域,竞争依然激烈。
  • 有评论提到,AlphaFold 在生物信息学中的应用已经产生了显著影响,尽管蛋白质折叠问题尚未完全解决。
  • 讨论中提到,AlphaFold 的成功在于其快速的结构预测能力,尽管其预测的准确性仍有待验证。
  • 有观点认为,AlphaFold 的影响力尚未达到 CRISPR 等技术的水平,但其在生物医学研究中的潜力仍然被看好。
  • 一些评论者对 AlphaFold 的实际应用表示怀疑,认为其在药物开发中的作用有限。
  • 还有人指出,AlphaFold 的成功依赖于其训练数据的质量和数量,未来的应用可能会受到限制。
  • 讨论中提到,诺贝尔奖的授予可能受到科技公司宣传的影响,认为委员会应更谨慎。

Who died and left the US $7B? #

https://sherwood.news/power/who-died-and-left-the-us-7-billion-fayez-sarofim/

这篇文章探讨了美国财政部在 2023 年 2 月 28 日收到的一笔高达 70 亿美元的遗产税和赠与税支付,这一金额在现代历史上是前所未有的。文章的作者 Tim Fernholz 追踪了这一神秘的支付,试图找出背后的富豪是谁。

文章指出,通常情况下,遗产税的支付是可以通过精心的税务规划和慈善捐赠来避免的,因此这笔巨额支付引发了广泛的猜测。根据分析,这笔支付可能与一位拥有 175 亿到 400 亿美元财富的亿万富翁的去世有关。虽然在 2022 年有几位亿万富翁去世,但没有人被认为有足够的财富来产生如此巨大的税款。

经过调查,Fernholz 接到了一通匿名电话,提供了一个名字:Fayez Sarofim。Sarofim 是一位在美国生活的埃及移民,主要通过私募投资获得财富。他在 2022 年去世,生前以其低调和谨慎的投资风格而闻名。Sarofim 的财富在去世时被估计在 20 亿美元以上,但一些消息来源称他实际上可能拥有超过 200 亿美元的财富。

文章还提到,Sarofim 的投资策略主要集中在长期持有美国蓝筹股上,这可能导致了他财富的快速增长。尽管他在去世后留下了巨额的遗产税支付,但他似乎并不在意这些税款,因为他曾表示对美国的机会心存感激。

最后,文章讨论了遗产税在美国税收体系中的作用,以及未来可能的税收政策变化。尽管当前的遗产税对美国财政的贡献微乎其微,但它在政治上仍然是一个重要话题,尤其是在即将到来的选举中。

总之,这篇文章揭示了 Fayez Sarofim 的财富和他对美国的贡献,同时也引发了对亿万富翁遗产税的更广泛讨论。


HN 热度 419 points | 评论 459 comments | 作者:jsnell | 1 day ago #

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

  • 关于富人避税的“买、借、死”循环,许多人对此表示愤怒,但缺乏明显的解决方案。
  • 有人认为,富人借款而不卖出资产可以使资金继续投资,避免破产。
  • 反对者指出,富人可以在一生中不缴纳资本利得税,继承人也可以继续享受免税,这不公平。
  • 资本利得税的存在被认为是对收入的双重征税,且大部分资本利得是由于通货膨胀造成的。
  • 有人提议,应该取消继承资产的税基上调,以避免富人通过继承逃避税收。
  • 讨论中提到,政府的存在使得资产的所有权和价值得以保障,因此富人应为此支付税款。
  • 还有观点认为,税收是社会共同体的必要支出,富人应当为社会的运作贡献一份力量。
  • 对于资本利得税的合理性,存在不同看法,有人认为应当对所有资产的增值征税,而不是仅仅在转手时。
  • 许多人认为,税收制度应当公平,避免富人通过法律漏洞逃避应有的税负。

Cognizant found guilty of discriminating against non-Indian employees #

https://www.siliconvalley.com/2024/10/07/h-1b-visa-company-supplying-thousands-of-tech-workers-to-silicon-valley-discriminated-against-non-indians-jury-finds/

一项针对 Cognizant 公司的陪审团裁定,该公司在为硅谷及其他湾区雇主提供技术工人时,故意歧视非印度籍员工。Cognizant 成立于印度金奈,目前总部位于新泽西州,此案是一起集体诉讼,涉及该公司滥用 H-1B 签证程序的指控。H-1B 签证旨在为拥有专业技能的工人提供机会,硅谷的科技公司在招聘顶尖人才和低级职位时高度依赖该签证。

诉讼由四名美国出生的白人员工提起,他们声称 Cognizant 通过将他们从项目中移除并“闲置”来排挤非印度籍员工,最终导致他们被解雇。Cognizant 对此裁定表示失望,并计划上诉,强调其提供平等就业机会并反对歧视。

根据数据显示,Cognizant 每年为数百名印度公民申请 H-1B 签证,且该公司成为 H-1B 签证的主要申请者,涉嫌申请“虚假职位”以获得签证。诉讼中提到,Cognizant 的政策使得非印度籍员工被迫闲置,而印度籍员工则优先获得工作机会。

陪审团建议对 Cognizant 处以惩罚性赔偿,反映出该公司在招聘和用人方面存在的系统性歧视问题。


HN 热度 381 points | 评论 345 comments | 作者:Melchizedek | 18 hours ago #

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

  • 许多非印度员工在招聘中被基于“氛围”拒绝,这种现象与种族歧视不同,但结果相似。
  • 印度文化强调集体主义和对权威的服从,使得雇主能够提出不合理的工作要求。
  • 非印度求职者在与印度招聘经理面试时可能会感到谨慎,因为文化差异可能导致误解。
  • 招聘决策往往基于直觉或“氛围”,这反映了潜在的无意识偏见。
  • 认为这种偏见并非源于种族主义,而是更复杂的社会问题,涉及阶级和性别。
  • 有观点认为,印度员工在工资上可能会低于市场价,导致公司倾向于雇佣他们。
  • 在一些公司中,印度员工之间的关系可能导致排外现象,影响团队的多样性。
  • 讨论中提到的性别歧视现象在某些印度文化背景下也很常见。
  • 印度在美国的移民政策和绿卡等待时间长,导致许多印度员工缺乏融入美国社会的动力。
  • 有人指出,印度在技术领导职位上的代表性过高,可能与招聘和晋升中的偏见有关。
  • 讨论中提到的种族和文化歧视问题在印度和美国的职场中都存在,影响了工作环境的公平性。

Show HN: Winamp and other media players, rebuilt for the web with Web Components #

https://player.style

网站 player.style 提供了一系列适用于各种网页播放器(如 Video.js、YouTube 嵌入等)的音视频播放器主题。这些主题是开源的,基于 Media Chrome 构建,用户可以通过简单的 HTML 和 CSS 进行完全自定义。

主要内容摘要: #

  1. 主题选择

    • 用户可以浏览并选择自己喜欢的播放器主题。
    • 主题适用于多种网页应用框架,包括 HTML、React、Next.js、Vue 和 Svelte。
  2. 自定义功能

    • 用户可以轻松复制和粘贴代码,快速集成所选主题。
    • 提供了对播放器用户界面的详细自定义选项,包括主题颜色、时间线缩略图、章节、工具提示等。
  3. 主题示例

    • Sutro:现代化的主题,灵感来自旧金山的电视天线。
    • Instaplay:移动优先的主题,灵感来源于流行社交媒体应用的播放体验。
    • Notflix:模仿流行的流媒体平台,但不包含其标志性元素。
    • Winamp:复古主题,致敬经典的 Winamp 媒体播放器。
  4. 使用便捷性

    • 网站设计简洁,用户可以轻松找到所需的播放器主题并进行集成。
    • 提供反馈渠道,鼓励用户分享使用体验。

总之,player.style 是一个为开发者和设计师提供多样化、可定制的音视频播放器主题的平台,旨在提升用户的播放体验。


HN 热度 370 points | 评论 62 comments | 作者:Heff | 1 day ago #

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

  • 许多评论者对 Web Components 的未来表示乐观,认为它们在构建可重用组件方面具有优势。
  • 有人提到 Web Components 在视频播放器中的应用,认为它们能解决长期以来的兼容性问题。
  • 一些开发者分享了他们在使用 Web Components 时的经验,指出在某些情况下它们比传统 JavaScript 更有效。
  • 有评论者对 Mux 的商业模式表示怀疑,认为其免费编码服务可能存在隐患。
  • 讨论中提到,Web Components 与框架(如 React、Vue)并不冲突,适合不同的使用场景。
  • 有人建议在项目中使用 adoptedStyleSheets 以提高性能。
  • 有评论者对 Player.style 的主题表示赞赏,认为它们为自定义提供了良好的起点。
  • 一些用户反馈了在使用视频播放器时的可用性问题,建议改进键盘控制。
  • 有人提到 Web Components 在企业应用中的普及,认为它们能与现有技术栈兼容。
  • 讨论中提到 Web Components 的灵活性和轻量性,相比于 iframe 有更多的优势。

On the Nature of Time #

https://writings.stephenwolfram.com/2024/10/on-the-nature-of-time/

斯蒂芬·沃尔夫拉姆在其文章《时间的本质》中探讨了时间的计算视角,提出了时间不仅是一个数学坐标,而是宇宙中计算进程的反映。他认为,时间的进展可以被视为宇宙通过逐步应用计算规则而进行的计算过程。

主要观点摘要: #

  1. 计算视角

    • 时间被定义为宇宙中状态的逐步演变,这种演变是通过计算规则的应用实现的。
    • 传统的时间坐标概念无法揭示时间的内在本质,而计算不可约性(computational irreducibility)则表明,预测系统未来状态的唯一方法是逐步计算每一步。
  2. 观察者的角色

    • 观察者的计算能力有限,无法预知未来,只能随着系统的演变逐步体验时间的流逝。
    • 这种计算不可约性使得我们只能“逐步展开”未来,而无法一次性“看到”未来。
  3. 时间的单向性

    • 我们的时间体验通常是单向的,过去更容易被记住,而预测未来则更具挑战性。这与热力学第二定律相关,表明系统的有序状态会向无序状态演变。
  4. 时空的本质

    • 在沃尔夫拉姆的物理学项目中,宇宙的状态由超图(hypergraph)表示,时间对应于超图的逐步重写。
    • 时间的“原子”是基本的重写事件,事件之间的因果关系构成了时间的进展。
  5. 多线程时间

    • 尽管我们体验到时间是单一的线性流动,但在更深层次上,时间实际上是多线程的,宇宙遵循多条历史路径。
    • 观察者的存在和他们的计算限制使得我们只能感知到一条一致的历史线。
  6. 时间与计算的关系

    • 时间的本质是计算规则的应用进程,计算不可约性为时间的线性流动提供了基础。
    • 观察者的计算限制使得时间的概念在不同的物理系统中保持一致。
  7. 时间的最终定义

    • 时间可以被抽象地定义为应用计算规则时的进展,这一概念独立于具体的规则或底层结构。
    • 计算不可约性和计算等价性原则使得时间的概念在不同的系统中具有普遍性。

沃尔夫拉姆的文章通过计算的视角重新审视了时间的本质,强调了观察者的计算能力和宇宙中不可约计算的相互作用,提供了一种新的理解时间的框架。


HN 热度 342 points | 评论 243 comments | 作者:iamwil | 1 day ago #

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

  • 讨论时间的本质时,Wolfram 和 Barbour 的观点存在相似之处,二者都认为时间是一个涌现的属性,但解释方式截然不同。
  • Barbour 认为时间是从静态几何结构中客观涌现的,而 Wolfram 则认为时间是由于观察者的计算限制而涌现的。
  • 有人提到黑洞内部事件的密度过高,无法进行更多计算,这与 Chaitin 的不完全性定理相呼应。
  • 讨论中提到的局部性原则并未得到充分证明,仍存在争议。
  • 一些评论认为,宇宙的扩张速度加快使得某些部分永远无法相互影响。
  • 还有观点认为,时间的存在与否并不影响宇宙的持续运行,意识与时间的关系仍需探讨。
  • 讨论中提到的“块宇宙”理论引发了对时间流动和意识体验的深思。
  • 有人质疑 Wolfram 的理论是否过于模糊,缺乏严谨的物理基础。
  • 许多评论者认为,时间可能是人类为理解变化而发展出的概念,而非宇宙的基本属性。

End of the road for Google Drive in Transmit #

https://blog.panic.com/end-of-the-road-for-google-drive-and-transmit/

在 2024 年 10 月 8 日,Panic 公司发布了一篇博客文章,宣布由于谷歌的新政策,将停止 Transmit 应用程序对 Google Drive 的支持。以下是文章的详细摘要:

  1. 功能移除的原因:Panic 表示,他们不喜欢从应用程序中移除功能,尤其是当这种情况超出他们控制时。谷歌将撤销 Transmit 对 Google Drive 的访问权限,Panic 计划在未来的更新中移除创建 Google Drive 连接的功能。
  2. 谷歌的新政策:谷歌要求所有连接 Google Drive 的应用程序进行昂贵且耗时的年度审查,这使得 Panic 难以合理维护对 Google Drive 的访问。尽管 Google Drive 在 Transmit 中的使用率不高,但仍有许多用户依赖于此功能。
  3. 历史背景:自 2019 年以来,谷歌开始对具有完全访问用户 Drive 文件权限的应用程序增加安全检查。Transmit 在 2020 年恢复了对 Google Drive 的访问,但在 2023 年 12 月再次被禁用,要求进行“云应用安全评估(CASA)”的审查。尽管审查没有发现安全问题,但过程非常漫长,耗费了大量开发时间。
  4. 审查过程的挑战:Panic 在审查过程中遇到了一系列问题,包括需要注册安全实验室、运行漏洞扫描器以及填写冗长的表格。每个步骤之间都需要等待几天,导致整个过程耗时近一个月。
  5. 未来的决定:在经历了多次审查和不断变化的要求后,Panic 决定在 Transmit 的 Google Drive 访问权限到期后不再续约。他们将把精力集中在其他功能和产品上。
  6. 对用户的感谢:Panic 对用户表示歉意,并感谢他们多年来的支持。他们希望未来如果谷歌的安全政策变得更适合小型软件公司,他们会重新考虑与 Google Drive 的合作。

总的来说,Panic 公司因谷歌的政策变化而被迫停止对 Google Drive 的支持,这一决定经过深思熟虑,尽管他们对此感到遗憾。


HN 热度 313 points | 评论 177 comments | 作者:donatj | 1 day ago #

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

  • 对于 Google Drive 在 Transmit 中的支持终止,许多评论认为这对独立开发者是致命打击,但也可能促使用户寻找替代方案。
  • 有人指出,Google 的安全审查要求过于苛刻,可能会导致许多有潜力的开发者退出市场。
  • 一些评论提到,用户在选择第三方应用时应该有更多的自主权,而不是被迫接受 Google 的限制。
  • 也有观点认为,Google 此举是为了保护用户数据安全,防止恶意应用获取敏感信息。
  • 许多人对 Google 的客户支持和沟通能力表示失望,认为其审核流程繁琐且缺乏透明度。
  • 有评论提到,虽然安全审计是必要的,但现有的审核机制可能更多是形式主义,未必能有效提升安全性。
  • 还有人担心,随着越来越多的公司无法承担这些审计费用,市场可能会逐渐向其他云存储服务转移。
  • 一些用户表示,他们对 Google 的信任度下降,认为 Google 的做法并不是真正出于用户安全考虑,而是为了商业利益。

US weighs Google break-up in landmark antitrust case #

https://www.ft.com/content/f6e84608-e0e5-48c5-a0eb-dde7675fb608

美国政府正在考虑要求法官对谷歌进行拆分,以应对其在在线搜索中的反垄断违规行为。这一举措标志着联邦检察官对这一全球强大科技公司的最强有力监管。美国司法部提到可能会采取行为和结构性补救措施,以防止谷歌利用其 Chrome 浏览器、Play 应用商店和 Android 操作系统来增强搜索引擎的竞争优势,甚至可能要求谷歌与竞争对手共享用户搜索数据。谷歌对这些提案表示强烈反对,称其影响深远,威胁消费者和企业。

该案件的审判进入第二阶段,法官将决定针对谷歌实施的补救措施,预计结果将在 2025 年 8 月前公布。此次案件被视为美国司法部自 24 年前成功拆分微软以来,可能面临的最大反垄断胜利。


HN 热度 301 points | 评论 469 comments | 作者:JumpCrisscross | 21 hours ago #

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

  • 有人认为应该拆分谷歌,因为它在数字领域的垄断使其权力过大,导致缺乏问责。
  • 反对拆分的观点认为,谷歌的规模和资源使其能够提供高质量的服务,并推动技术创新。
  • 许多人认为,谷歌的广告模式虽然有效,但也带来了隐私问题和对用户行为的操控。
  • 讨论中提到,GDP 的增长并不一定与垄断企业的存在相关,反而可能抑制了竞争和创新。
  • 一些评论者认为,打破垄断有助于促进市场竞争,从而带来更多的就业机会和经济活力。
  • 还有观点指出,现代广告的形式对消费者造成了困扰,尤其是针对用户的个性化广告。
  • 有人提到,谷歌的服务虽然表面上是免费的,但实际上是通过广告和用户数据的销售来盈利。
  • 讨论中也提到,打破谷歌可能会导致其他大公司如微软、苹果等进一步扩大市场份额,形成新的垄断。
  • 一些评论者认为,谷歌的技术创新对科学研究有重要贡献,拆分可能会影响这些项目的持续性。
  • 最后,有人提到,市场竞争的缺失会导致创新停滞,强调需要建立更公平的市场规则。

A modest critique of Htmx #

https://chrisdone.com/posts/htmx-critique/

这篇文章是对 Htmx 的一篇温和批评,作者分享了在团队使用 Htmx 进行非平凡用户界面开发时遇到的一些复杂问题。以下是详细摘要:

  1. Htmx 属性的继承问题

    • Htmx 的属性继承被认为是一个错误,因为它在代码中是隐式的,类似于 CSS 的继承。作者指出,这种继承与 Htmx 提出的行为局部性相矛盾,导致开发者需要记住各种例外情况,最终使得继承变得毫无意义。
  2. 无法完全替换 DOM 元素

    • 由于 DOM 元素通常具有浏览器本地状态(如输入框的值、下拉菜单的开关状态等),直接用 Htmx 替换 outerHTML 会导致这些状态丢失。即使使用 morphdom,某些状态也会被意外覆盖,因此需要对其进行修补。
  3. 在 DOM 元素中存储状态的缺陷

    • Htmx 假设通过整体替换元素来工作,但这导致请求队列存储在 DOM 元素上,可能导致未定义行为。使用 morphdom 时,队列会被保留,违反了 Htmx 的设计理念。
  4. 默认排队模式的问题

    • Htmx 默认会取消正在进行的请求,如果在同一队列上触发另一个请求,这种行为非常不直观,可能导致工作丢失。
  5. 事件触发的非局部性

    • 事件触发器的效果是非局部的,类似于属性继承的问题,造成了复杂性。作者认为,这种方式让人联想到旧式的 JavaScript 回调编程。
  6. 组件状态管理不佳

    • 组件的状态管理问题与 DOM 元素状态问题类似,Htmx 对于父组件和子组件之间的状态同步没有提供良好的解决方案。
  7. 与 React 的不兼容

    • Htmx 和 React 在状态管理和 DOM 元素控制上存在冲突,导致开发者在使用 React 组件时感到不满。
  8. Htmx 的优势

    • 尽管存在缺点,Htmx 允许开发者使用服务器端语言进行开发,避免了前后端类型的序列化和数据泄露,简化了验证逻辑。
  9. 未来的方向

    • 作者提出了一个可能的方向,即在 React 中重新实现 Htmx,服务器发送 JSON 数据,由 React 转换为虚拟 DOM 组件,这样可以解决组件状态问题,并避免 Htmx 的排队选择和 morphdom 的问题。

总的来说,作者认为 Htmx 在某些方面有其优势,但在实际应用中也暴露出许多复杂性和局限性,尤其是在与现代前端框架(如 React)的集成方面。


HN 热度 296 points | 评论 146 comments | 作者:wibwobble12333 | 1 day ago #

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

  • 对 Htmx 的批评主要集中在客户端状态与 Htmx 交换不兼容的问题上,尤其是简单的交换。
  • 事件驱动的开发虽然强大,但调试困难,可能导致混乱。
  • Htmx 的默认排队模式引发争议,许多人认为应取消正在进行的请求以避免不一致的 UI。
  • Htmx 提供的简单性和专注性使其在众多库中脱颖而出,尽管有其他类似功能的库存在。
  • 许多开发者对 Htmx 的继承特性表示不满,认为这导致了调试困难。
  • 前端开发的复杂性和技术更新的快速变化让许多开发者感到困惑和疲惫。
  • 有观点认为,前端开发的工具和框架过于繁杂,导致开发者难以专注于核心问题。
  • 一些开发者认为,后端开发相对稳定,而前端则充满了不断变化的技术和框架。
  • Htmx 被认为是一个有潜力的解决方案,尤其是在需要与后端状态交互时。

Addition Is All You Need for Energy-Efficient Language Models #

https://arxiv.org/abs/2410.00907

该论文标题为《Addition is All You Need for Energy-efficient Language Models》,主要探讨了在大型神经网络中,如何通过整数加法来高效地近似浮点数乘法,从而显著降低计算资源和能耗。

摘要内容: #

  1. 背景

    • 大型神经网络在计算过程中主要依赖浮点数张量乘法,这一过程消耗大量计算资源和能量。
  2. 主要发现

    • 研究发现,浮点数乘法可以通过一个整数加法器进行高精度近似。
    • 提出了线性复杂度乘法算法 L-Mul,该算法使用整数加法操作来近似浮点数乘法。
  3. 性能比较

    • L-Mul 算法相比于 8 位浮点数乘法,计算资源消耗显著降低,同时精度更高。
    • 由于浮点数乘法的能耗远高于整数加法,L-Mul 在张量处理硬件中的应用可以潜在地减少 95% 的元素级浮点张量乘法能耗和 80% 的点积能耗。
  4. 理论分析与实验验证

    • 论文计算了 L-Mul 的理论误差期望,并在自然语言理解、结构推理、数学和常识问答等多种任务上进行了评估。
    • 实验结果表明,L-Mul 在 4 位尾数下的精度与 float8_e4m3 乘法相当,而 3 位尾数的 L-Mul 则优于 float8_e5m2。
  5. 应用效果

    • 在流行基准测试中,直接将 L-Mul 应用于注意力机制几乎没有损失。
    • 在变换器模型中,用 3 位尾数的 L-Mul 替代所有浮点乘法,精度与使用 float8_e4m3 作为累积精度的效果相当,适用于微调和推理阶段。

结论: #

该研究提出的 L-Mul 算法为提高语言模型的能效提供了一种新的思路,表明在保持高精度的同时,能够显著降低计算资源和能耗,具有广泛的应用潜力。


HN 热度 286 points | 评论 105 comments | 作者:InvisibleUp | 20 hours ago #

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

  • 有评论提到固定点运算是一种有效的替代浮点运算的技术,尤其在嵌入式系统中应用广泛。
  • 一些人认为浮点运算在处理金融数据时存在精度问题,而固定点运算可以避免这些问题。
  • 也有观点认为,尽管固定点运算在某些情况下更快,但浮点运算在处理复杂计算时更灵活。
  • 讨论中提到,固定点运算在视频游戏开发中被广泛使用,尤其是在 8 位和 16 位系统中。
  • 有人指出,浮点运算的标准(如 IEEE 754)在处理多种货币和复杂计算时表现良好,固定点运算可能会导致错误。
  • 还有评论提到,固定点运算的实现可能会导致代码的可移植性问题。
  • 一些人认为,尽管固定点运算在某些领域表现良好,但在大多数现代应用中,浮点运算仍然是主流选择。
  • 讨论中提到,优化计算性能的关键在于内存和计算的结合,而不仅仅是运算类型的选择。

My first game with Carimbo, my homemade engine #

https://nullonerror.org/2024/10/08/my-first-game-with-carimbo/

这篇文章的标题是《我与 Carimbo 的第一款游戏,我的自制引擎,为我的儿子》。作者 Rodrigo Delduca 分享了他为儿子制作游戏的经历,强调了从零开始编写游戏引擎的乐趣和意义。

文章摘要: #

  1. 背景与动机

    • 作者决定重新开始开发自己的游戏引擎,并为儿子制作一款游戏。他选择从头开始编写代码,因为他认为自制的代码更有趣,就像自制的意大利面一样。
    • 这让他想起了父亲为他制作玩具的美好回忆。
  2. 游戏与引擎概述

    • 游戏运行在浏览器中,使用 WebAssembly 技术,玩家可以使用 A 和 D 键移动,空格键射击。
    • 引擎使用 C++17 编写,游戏逻辑则使用 Lua 脚本。引擎向 Lua 虚拟机暴露了一些基本功能,以便协调整个游戏。
  3. 游戏开发细节

    • 游戏的所有逻辑都是用 Lua 编写的。首先创建引擎实例并设置标题、宽度、高度等。
    • 资源预加载是懒加载的,以避免影响游戏循环。
    • 引入了消息传递系统,类似于 Erlang 语言,允许游戏中的实体之间发送消息。
  4. 游戏对象与逻辑

    • 游戏中包括多个实体,如玩家、章鱼、公主等。使用对象池管理子弹的资源,限制屏幕上最多存在 3 个子弹。
    • 每帧更新时,检查子弹是否碰撞到章鱼,并发送“命中”消息,章鱼收到消息后会触发爆炸动画并减少生命值。
  5. 玩家控制与射击机制

    • 玩家控制逻辑包括移动和射击,按下空格键时会从对象池中取出子弹并发射。
    • 玩家可以通过按键控制角色的动作和方向。
  6. 结尾与反馈

    • 最后,作者提到儿子对游戏的一些小修改建议,例如将公主的精灵作为投射物,目标为玩家,射击的实体为绿色章鱼。

这篇文章不仅展示了游戏开发的技术细节,还表达了作者与儿子之间的亲情和创造的乐趣。


HN 热度 285 points | 评论 155 comments | 作者:delduca | 1 day ago #

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

  • 制作游戏的最佳建议是:做你最感兴趣的事情,愿意在必要时改变方向。
  • 游戏引擎的开发是一个具体的任务,步骤清晰,而制作好游戏则更具挑战性。
  • 艺术家在游戏制作中通常有更好的视角,因为他们理解内容创作的重要性。
  • 制作游戏引擎可能会让开发者忽视游戏设计的复杂性和多样性。
  • 使用现有引擎可以让开发者更专注于游戏本身,而不是技术细节。
  • 制作自己的引擎可以让开发者对工具有更深的理解和掌控,但也可能导致对游戏开发的误解。
  • 游戏开发的过程充满不确定性,很多时候需要在实践中学习和调整。
  • 许多开发者在制作游戏时会遇到“与引擎作斗争”的情况,使用现有引擎可以减少这种情况的发生。
  • 游戏引擎的使用并不妨碍开发者的创造力,反而可以让他们更专注于游戏设计。
  • 制作游戏引擎的过程可能会让开发者对其他引擎的设计决策有更深的理解和尊重。