2024 12 10 HackerNews

2024-12-10 Hacker News Top Stories #

  1. Itch.io 因为被 Funko 公司错误地报告为钓鱼网站而被关闭,引发了对版权法律和注册商行为的讨论。
  2. 谷歌推出新一代量子芯片 Willow,实现量子错误纠正和性能提升,超越传统超级计算机的能力。
  3. OpenWrt 的 sysupgrade 服务存在安全漏洞,导致服务被滥用,执行任意命令。
  4. 英特尔 CEO 帕特・盖尔辛格被认为不适合英特尔,公司需要解决其文化问题,变得更加开放和倾听不同意见。
  5. Kiwix 的服务器主机 Hetzner Online 突然取消服务,导致 Kiwix 团队不得不在其他地方找到新的服务器,并花了 48 小时重新导入他们的数据。
  6. JSON5 是一种扩展了 JSON 格式的数据交换格式,旨在更易于手写和维护,支持多种数据类型和注释。
  7. 英国政府禁止白天电视广告宣传含糖食品,以对抗儿童肥胖问题。
  8. Himalaya 是一个基于 email-lib 的命令行界面(CLI)邮箱管理工具,支持多账户配置、消息组成、IMAP、Maildir、Notmuch 和 SMTP 后端。
  9. 除非手机可以像电脑一样运行,否则不想为额外的性能买单,目前的旗舰手机已经足够快,未来更快的处理器可能不会带来实质性的改善。
  10. SQLite 的临时文件前缀从 “sqlite_” 改为 “etilqs_”,是因为 McAfee 的防病毒软件使用了 SQLite,导致用户在 Windows 的 c:/temp 目录中看到许多 sqlite 相关的文件,进而投诉开发者。

Itch.io Taken Down by Funko #

https://bsky.app/profile/itch.io/post/3lcu6h465bs2n

itch.io 网站被 Funko 公司下架。Funko 公司使用了一种名为 Brand Shield 的 “AI Powered” 品牌保护软件,软件错误地将 itch.io 报告为钓鱼网站。itch.io 的域名注册商 iwantmyname 在收到报告后,没有等待 itch.io 的回应,就直接禁用了域名。itch.io 的运营团队对此事感到愤怒和无奈,他们表示自己已经尽力证明自己的网站是合法的,但注册商仍然没有恢复域名。事件发生后,itch.io 的用户和支持者们纷纷表达了对该网站的支持和声援。


HN 热度 1041 points | 评论 434 comments | 作者:spiralganglion | 18 hours ago #

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

  • itch.io 被 Funko 以虚假报告为由关闭,引发对版权法律和注册商行为的讨论。
  • BrandShield 公司被认为是滥用法律的恶意行为者,注册商没有合理调查报告的真实性。
  • 一些评论者认为,版权法本身并不是事件的根本原因,而是注册商的懒惰和不负责任。
  • 法律改革可能不是解决问题的有效途径,更应关注如何保护用户免受恶意报告的侵害。
  • 域名注册行业存在许多问题,消费者对注册商的选择不多,改变这一现状并不容易。
  • 有人提到使用多个注册商和 DNS 服务是分散风险的好办法,尤其是大公司注册商可能会导致不便。
  • 某些注册商的价格上涨引发用户的不满,许多人考虑转移到其他更具性价比的注册商。
  • 在面对不当的版权索赔时,平台可能成为主要目标,因为其拥有的资产更容易受到攻击。
  • 对于注册商应对虚假报告的反应,有人提出更高的责任要求,以减少误判造成的损失。
  • 讨论还涉及了法律和商业伦理之间的关系,认为法律应为受害者提供保护,而不仅仅是维护公司的利益。

Willow, Our Quantum Chip #

https://blog.google/technology/research/google-willow-quantum-chip/

谷歌推出新一代量子芯片 Willow,实现量子错误纠正和性能提升

谷歌宣布推出新一代量子芯片 Willow,这是一项重大突破,实现了量子错误纠正和性能提升。Willow 芯片可以在短时间内完成复杂计算,超越传统超级计算机的能力。

Willow 芯片的性能提升体现在两个方面:首先,它可以在扩大规模的同时减少错误率,实现量子错误纠正的突破;其次,它可以在短时间内完成复杂计算,超越传统超级计算机的能力。

谷歌表示,Willow 芯片是实现商业化量子计算的重要一步。谷歌正在开发量子算法,以解决现实世界中的问题。谷歌的目标是利用量子计算技术,推动科学发现,开发有用的应用程序,并解决社会的一些重大挑战。

Willow 芯片的开发是谷歌量子人工智能团队多年来的努力。谷歌的量子人工智能团队成立于 2012 年,目标是开发出有用的、大规模的量子计算机。Willow 芯片是实现这一目标的重要一步。

谷歌表示,Willow 芯片的性能提升是量子计算领域的重大突破。谷歌正在继续开发和改进 Willow 芯片,目标是实现商业化量子计算。


HN 热度 688 points | 评论 311 comments | 作者:robflaherty | 8 hours ago #

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

  • 量子计算的进展比预期快,但仍需较长时间才能实用,尤其是应用于 RSA 加密破解。
  • 需要区分 “物理量子比特” 和 “逻辑量子比特”,实际执行 Shor 算法所需的量子比特数量远超 2500 个。
  • 尽早采用抗量子加密方案(如基于格的密码学)是合理的,尤其是考虑到量子计算机能够回溯破解存储的公钥。
  • 对于软件工程师而言,学习量子计算的入门材料应侧重于抽象代数和基本线性代数,避免过于复杂的物理理论。
  • 实际上,量子计算领域的应用仍然局限于特定问题,大多数算法依然处于理论阶段,工程问题尚未解决。
  • 大部分的量子计算学习可避免硬件工程的复杂性,专注于算法和软件开发即可。
  • 量子计算能在某些领域(如不确定搜索)提供优势,但在许多经典问题中仍然被传统计算机所超越。
  • 在密码学领域,量子计算对加密方法构成潜在威胁,业界应尽早进行后量子加密的研究与开发。
  • 量子机器学习可能成为量子计算的一大应用领域,与人工智能的某些算法有交集。
  • 对于量子计算的未来,虽然技术仍处于探索阶段,但潜在的应用可能会改变许多领域的格局。

Compromising OpenWrt Supply Chain #

https://flatt.tech/research/posts/compromising-openwrt-supply-chain-sha256-collision/

本文是安全工程师 RyotaK (@ryotkak) 的一篇博客文章,讲述了他如何发现并利用 OpenWrt 的 sysupgrade 服务中的安全漏洞。文章首先介绍了 OpenWrt 的 sysupgrade 服务,及其工作原理。然后,作者描述了他如何发现该服务中的命令注入漏洞,并利用该漏洞执行任意命令。

接着,作者讨论了 SHA-256 哈希碰撞问题,他发现 OpenWrt 的 sysupgrade 服务使用了一个被截断的 SHA-256 哈希作为缓存键,这使得攻击者可以通过制造哈希碰撞来强制服务器返回错误的构建工件。作者还描述了他如何使用 Hashcat 工具来进行哈希碰撞攻击。

最后,作者总结了他发现的漏洞,并提出了建议,强调了安全性的重要性。文章还包括了一些技术细节和代码片段,供读者参考。

总的来说,本文是一篇技术博客文章,主要面向安全专业人士和开发者,旨在分享作者发现的安全漏洞和攻击方法,以及如何利用这些漏洞来提高安全意识。


HN 热度 533 points | 评论 90 comments | 作者:udev4096 | 20 hours ago #

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

  • 对于执行代码的正常化,缺乏验证和透明度可能导致后门构建的问题。
  • 可重复构建的实现依赖于确定性,但编译过程中存在许多非确定性因素。
  • 一些优化编译器在某些情况下可以实现较高的可重复性。
  • 即使知道接收到相同的二进制文件,没有可重复和可审计的构建也无法确保二进制文件来自相同的代码。
  • Git 的 SHA1 哈希算法不够安全,需增加签名提交以确保安全性。
  • 构建系统安全性不足,现有的高熵文件检测方法易被绕过。
  • 需要在构建过程中的不同阶段引入更严格的沙箱配置,减少文件访问权限。
  • 传统开源项目在安全问题的修复上往往效率较低,维护者通常人手不足。
  • 开源项目能够快速修复安全问题的情况多与有企业支持有关。
  • 用户需将 ISP 提供的路由器视为潜在的安全隐患,建议使用自有防火墙进行网络隔离。

Pat Gelsinger was wrong for Intel #

https://bcantrill.dtrace.org/2024/12/08/why-gelsinger-was-wrong-for-intel/

本文的作者在 2019 年末创立了 Oxide 公司,期间他们需要选择一款主机 CPU,经过调研他们认为 AMD 的 Naples 和 Rome 系列产品比 Intel 的 Xeon 系列更有优势。因此,他们决定与 Intel 进行洽谈,了解 Intel 的产品路线图。他们还对 Intel 的网络接口卡(NIC)和交换机芯片(Tofino)感兴趣。经过洽谈,他们认为 Tofino 芯片很有前景,尤其是其可编程性和使用 P4 语言的特点。

然而,作者也担心 Intel 会放弃 Tofino 项目,因为 Intel 历史上曾经多次放弃了自己的创新项目。作者认为,这种情况通常发生在项目还需要时间和迭代来成熟的时候。尽管如此,作者还是决定与 Tofino 团队合作,开发基于 Tofino 的交换机。他们认为,Tofino 的可编程性和 P4 语言的特点,可以带来巨大的收益。

2021 年,Pat Gelsinger 成为 Intel 的 CEO,作者决定了解更多关于 Gelsinger 的信息。通过听取 Gelsinger 的采访和演讲,作者认为 Gelsinger 是一个有才华和经验的人,但也有一定的傲慢情绪。Gelsinger 曾经在 Intel 领导过 Larrabee 项目,该项目最终失败了。Gelsinger 认为,如果 Intel 继续发展 Larrabee,NVIDIA 就不会像现在这么大。作者认为,这种说法是夸张的,忽视了 NVIDIA 在图形处理器领域的领先地位和 Intel 在软件开发方面的弱点。

作者认为,Gelsinger 的傲慢情绪和对自己的能力的过高估计,可能会导致 Intel 在决策方面的错误。作者还指出,Intel 需要解决其文化问题,变得更加开放和倾听不同意见。


HN 热度 407 points | 评论 340 comments | 作者:hasheddan | 1 day ago #

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

  • 帕特・盖尔辛格虽然不是完美的 CEO,但他承认英特尔的问题,并采取了重要措施进行改进。
  • 英特尔在前几任 CEO 的领导下,专注于短期收益,而忽视了技术创新和市场竞争。
  • 盖尔辛格继承了一个陷入危机的公司,尽管股价下跌,他依然坦诚未来的恢复需要时间。
  • 英特尔董事会成员的背景问题,尤其是乏半导体行业经验,导致管理失误。
  • 被动投资者在股东投票中缺乏影响力,通常会跟随大型投资公司(如 Vanguard)的建议。
  • 大型基金公司在市场上占据了重要位置,这种集中化可能会对经济产生潜在的风险。
  • 对于长期成功的关注不足,使得公司管理者更倾向于追求短期利益。
  • 股东缺乏对公司治理的实际控制权,信息不对称使得有效监督变得困难。
  • 当公司超过 50% 的股份由指数基金持有时,董事会的自我推荐可能使得公司治理问题长期存在。
  • 现代资本主义中,专业知识与投资决策的脱节,可能会影响公司的长期表现。

“Hetzner decided to cancel our account and terminate all servers” #

https://mastodon.social/@kiwix/113622081750449356

Kiwix 是一个提供离线访问维基百科等在线内容的服务。最近,Kiwix 遇到了一个大问题:他们的服务器主机 Hetzner Online 在没有任何警告的情况下取消了他们的服务。Kiwix 的团队在 12 月 1 日星期日凌晨 00:00 发现他们的服务器被断开连接,无法访问他们的存储后端。他们联系 Hetzner,但对方无法解释取消服务的原因。Kiwix 的团队不得不在其他地方找到新的服务器,并花了 48 小时重新导入他们的数据。

Kiwix 的团队认为,这次事件是由于 Hetzner 的内部问题导致的,他们建议其他用户不要使用 Hetzner 的服务。一些用户也分享了他们与 Hetzner 的不良经历,例如被要求提供身份证和信用卡信息,但最终仍然被拒绝服务。还有用户指出,Hetzner 的行为违反了欧盟的《通用数据保护条例》(GDPR),因为他们没有提供足够的通知和解释。

Kiwix 的团队表示,他们已经从这次事件中吸取了教训,并将采取措施改善他们的服务。他们也感谢其他用户的支持和建议。


HN 热度 358 points | 评论 246 comments | 作者:unbelauscht | 13 hours ago #

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

  • 很多公司对云计算的盲目依赖可能导致严重的业务风险,应该有备用方案和不同的备份位置。
  • 执行层对云计算的热情往往导致缺乏技术审查和协调,容易造成技术债务累积和项目拖延。
  • 将云计算视为比传统服务器更好的选择是一个误区,实际情况并不总是如此。
  • 备份和恢复的过程必须定期进行测试,以确保在需要时能真正恢复数据。
  • 备份方案如果没有做到合理的轮换和手动检查,可能导致备份数据无法恢复的情况。
  • 在云环境中,备份和复制之间的区别需要明确,复制不能替代备份。
  • 备份应该是可以替代原始数据的,不同的备份方式要根据存储位置和风险进行合理选择。
  • 定期检查和维护备份方案是必要的,特别是当团队人员较少时,文档化和流程化尤为重要。
  • 执行层的决策应该基于准确的信息,以降低业务风险,确保团队的建议得到重视。
  • 数据的恢复不仅取决于备份,还要考虑数据的完整性和恢复过程的可行性。

JSON5 – JSON for Humans #

https://json5.org/

JSON5 是一种扩展了 JSON 格式的数据交换格式,旨在更易于手写和维护(例如用于配置文件)。它不是用于机器之间的通信(请继续使用 JSON 或其他格式)。

JSON5 由 Aseem Kishore 创建,于 2012 年启动,截至 2022 年,每周下载次数超过 6500 万,排名在 npm 上最受依赖的包的前 0.1%,并被许多主要项目采用,如 Chromium、Next.js、Babel、Retool、WebStorm 等。

JSON5 是 JSON 的超集(因此,有效的 JSON 文件始终是有效的 JSON5 文件),并扩展了其语法以包含一些 ECMAScript 5.1(ES5)生产。它也是 ES5 的子集,因此有效的 JSON5 文件始终是有效的 ES5。

JSON5 的特点包括:

  • 对象键可以是 ECMAScript 5.1 标识符名称。
  • 对象可以有一个尾随逗号。
  • 数组可以有一个尾随逗号。
  • 字符串可以是单引号。
  • 字符串可以跨多行,并且可以包含转义字符。
  • 数字可以是十六进制。
  • 数字可以有一个前导或尾随小数点。
  • 数字可以是 IEEE 754 正无穷大、负无穷大和 NaN。
  • 数字可以以显式正号开头。
  • 支持单行和多行注释。
  • 支持额外的空白字符。

JSON5 的使用包括:

  • Node.js:可以使用 npm 安装 json5 包,然后使用 require() 函数加载 JSON5 文件。
  • 浏览器:可以使用 UMD 或 ES 模块加载 JSON5 文件。
  • 命令行工具:可以使用 json5 命令行工具将 JSON5 文件转换为 JSON 文件或验证 JSON5 文件的语法。

JSON5 的贡献者包括 Aseem Kishore、Michael Bolin、Douglas Crockford、Max Nanasy 和 Jordan Tucker 等。


HN 热度 345 points | 评论 315 comments | 作者:rickcarlino | 1 day ago #

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

  • 对 JSON 缺少注释和尾逗号的遗憾,认为 JSONC 能够弥补这一点。
  • JSON 的设计使其在解析上更严格,避免了 XML 的复杂性和不一致性。
  • JSON 的简单性和一致性使其在网络服务中受到欢迎,尽管其类型和数值字面量的兼容性仍存在问题。
  • 评论的缺失是为了减少滥用和保持接口的简洁性,防止不必要的复杂性。
  • 提出添加注释的需求与 JSON 的本质不符,认为这会导致解析和兼容性问题。
  • 对于需要注释的情况,可以通过特定约定来实现,但这并非 JSON 的初衷。
  • 一些人认为 XML 在类型定义和数据结构上有优势,JSON 虽然简单但缺乏这种功能。
  • 提到 JSON 数据和注释的分离,认为在解析时会导致数据的复杂性增加。
  • 质疑注释的存在是否必要,认为保持数据的简洁和规范性更为重要。
  • 对于需要增加元数据的情况,认为应通过专门的结构而非注释来实现。

UK bans daytime TV ads for cereals, muffins and burgers #

https://www.france24.com/en/live-news/20241204-uk-bans-daytime-tv-ads-for-cereals-muffins-and-burgers

英国政府宣布禁止白天电视广告宣传含糖食品,如谷物和馅饼,以对抗儿童肥胖问题。这些广告只能在晚上 9 点后播出。英国卫生部长表示,肥胖问题会让孩子失去最佳的生活起点,导致终身健康问题,并给国家医疗系统带来巨大的负担。

英国卫生部长韦斯·斯特林表示,政府正在采取行动,禁止向儿童宣传垃圾食品广告,不仅限于电视,也包括在线广告。英国政府希望通过这一措施,可以预防每年约 20,000 例儿童肥胖病例。

英国政府使用一个基于糖、脂肪和盐含量的评分系统来确定哪些食品属于“不健康”食品。被禁止宣传的食品包括早餐谷物、油炸食品、能量饮料、汉堡包和鸡块等。然而,健康食品如天然燕麦和酸奶不在禁止之列。

英国政府的这一措施是为了应对儿童肥胖问题。据英国国家医疗服务机构统计,英国儿童肥胖率正在上升,10 个 4 岁儿童中就有 1 个被认为超重,5 个 5 岁儿童中就有 1 个因吃太多糖而患有龋齿。


HN 热度 284 points | 评论 315 comments | 作者:ivewonyoung | 1 day ago #

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

  • 一些国家应该加强立法,限制对未成年人广告的投放,尤其是数字平台的广告。
  • 数字广告的监管力度不足,家长无法有效监督孩子所接触的内容。
  • 家长可以选择关闭某些应用或支付去广告服务来保护孩子,但这并不解决整体问题。
  • 孩子们在社交中可能会受到同伴影响,集体行动更加重要。
  • 长在广告问题上需要承担责任,尤其是在票时选择支持更严格的法律。
  • 目前很多平台缺有效的广告监管,尤其是针对儿童的广告。
  • 法律得到更好的执行,而不是仅仅制定新规。
  • 儿童食品广告虽然广泛存在,但许多父母然有责任为选择健康食品。
  • 广告商投入巨资宣传儿童食品,目的是为了影响家长的购买决策。
  • 儿童对于广告的识别能力较弱,容易被操控,因此需要更强的保护措施。
  • 家长在饮食选择上扮演重要角色,但孩子也可能会因为广告而影响其饮食偏好。
  • 有些品牌可能会通过社交媒体影响儿童,而不受现有法规的约束。- 一认为,过度父母监控会导致孩子的独立性受损,因此平监管与自由很重要。
  • 整体来看,社会和法律应当共同努力,为孩子创造一个更安全的广告环境。

Himalaya: CLI to Manage Emails #

https://github.com/pimalaya/himalaya

Himalaya 是一个基于 email-lib 的命令行界面(CLI)邮箱管理工具。它支持多账户配置、消息组成、IMAP、Maildir、Notmuch 和 SMTP 后端,以及全局系统密钥环和 OAuth 2.0 授权流。Himalaya 还支持 JSON 输出和 PGP 加密。

安装 Himalaya 可以通过以下方式安装:

  • 预编译二进制文件:可以通过安装脚本安装最新的二进制文件。
  • Cargo:可以通过 Cargo 安装 Himalaya,支持自定义功能。
  • Arch Linux:可以通过社区仓库或用户仓库安装 Himalaya。
  • Homebrew:可以通过 Homebrew 安装 Himalaya。
  • Scoop:可以通过 Scoop 安装 Himalaya。
  • Fedora Linux/CentOS/RHEL:可以通过 COPR 仓库安装 Himalaya。
  • Nix:可以通过 Nix 安装 Himalaya,支持从源代码安装。

配置 Himalaya 提供了一个向导来帮助配置默认账户。用户可以通过运行 Himalaya 来启动向导。


HN 热度 261 points | 评论 82 comments | 作者:xparadigm | 12 hours ago #

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

  • 很多用户喜欢使用 TUI(文本用户界面),并认为这种工具能更好地满足个性化需求。
  • 一些用户在使用电子邮件时遇到搜索效率低的问题,尤其是在 OutlookMail.app 中。
  • 有人提到使用不同的邮件客户端来处理不同类型的邮件,包括 Thunderbird 和 FastMail,认为它们的用户体验更佳。
  • 使用邮件客户端的用户通常希望能管理邮件过滤器,并寻找可以编程管理 Gmail 过滤器的工具。
  • Himalaya 被认为是一个真正的 CLI 工具,而不是传统的交互式 TUI 工具,适合与脚本集成。
  • 许多用户在处理邮件时倾向于使用正则表达式和其他高级功能来提高效率。
  • 用户对支持多因素认证的邮件处理工具表示关注,希望能方便地与 Yubikey 等安全设备集成。
  • 许多人对当前邮件技术的局限性表示不满,尤其是在 HTML 邮件的处理上,希望能回归简单的文本邮件。
  • 使用 Emacs Gnus 和 mu4e 等工具的用户认为,它们提供了良好的整合性和搜索速度,并且适合日常使用。
  • 一些用户表示对邮件应用程序的配置感到困扰,尤其是在企业环境中使用 Microsoft Teams 等软件时。

Unless my phone can be a PC, I don’t want to keep paying for extra performance #

https://www.androidauthority.com/phone-pc-performance-3504716/

随着智能手机性能的不断提升,人们开始质疑是否需要更快的处理器。作者认为,目前的旗舰手机已经足够快,未来更快的处理器可能不会带来实质性的改善。高端芯片的价格不断上涨,但消费者可能不会感受到明显的差异。

文章指出,高端芯片的性能提升主要体现在跑分和游戏性能上,但这些方面对普通用户来说并不重要。同时,高端芯片的价格上涨会导致手机价格上涨,影响消费者的购买意愿。

作者认为,未来智能手机的发展应该重点放在其他方面,如摄像头、电池寿命、屏幕质量等。同时,高端芯片的研发应该更加注重实用性和成本控制,而不是一味地追求跑分和性能。

文章还提到,未来可能会出现一些新的用途,例如将智能手机作为电脑使用,但这需要更好的软件支持和硬件配置。总之,文章认为,未来智能手机的发展应该更加注重实用性和成本控制,而不是一味地追求性能。


HN 热度 252 points | 评论 397 comments | 作者:thunderbong | 1 day ago #

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

  • 手机应用将随着性能的发展而不断更新,用户会被迫升级到需要更多资源的新版本。
  • 许多人不喜欢安装应用程序,尤其是当存在网页应用时,这些网页应用的性能消耗也不容小觑。
  • 当前的网络标准持续发展,网页应用也在努力跟上性能提升,3D 图形等功能已经在网页上实现。
  • 应用程序的臃肿和操作系统的复杂化使得用户体验下降,很多基本功能在较早的操作系统中更为简洁。
  • iCloud 等备份解决方案提高了使用便利性,但用户仍然需要应对系统操作的复杂性和繁琐性。
  • 手机在长时间高负载使用时性能下降,尽管有些设备提供了外部散热支持。
  • 手机制造商需要寻找新的突破口,否则用户对升级的意愿会降低,可能转向更多通用计算功能。
  • 现有手机尺寸普遍偏大,许多用户希望有更小巧的选择,以适应日常使用需求。
  • 经济实惠的手机仍然能满足大部分用户的需求,昂贵的手机往往只为满足某种形象或新奇感。
  • 根植于安卓的设备在软件支持上面临挑战,用户希望能更灵活地控制设备和操作系统。

SQLite changed temp file prefix after McAfee users called devs to complain (2006) #

https://github.com/sqlite/sqlite/blob/e8346d0a889c89ec8a78e65abc33257a6c6fb81a/src/os.h

SQLite 是一个开源的关系型数据库管理系统,它可以在多种操作系统上运行,包括 POSIX 和 Windows 系统。SQLite 的源代码是用 C 语言写的,提供了一个抽象层来隐藏底层操作系统的差异,使得 SQLite 可以在不同的操作系统上运行。

SQLite 的源代码包括两个主要的文件:os.hos.cos.h 是一个头文件,定义了 SQLite 的操作系统抽象层的接口,而 os.c 是实现这些接口的 C 源代码文件。

os.h 文件定义了许多宏和函数来抽象底层操作系统的功能,例如文件操作、锁定、线程等。这些宏和函数使得 SQLite 可以在不同的操作系统上运行,而不需要修改 SQLite 的源代码。

os.h 文件还定义了一些常量,例如 SQLITE_MAX_PATHLEN,它指定了文件路径的最大长度。另外,os.h 文件还定义了一些函数原型,例如 sqlite3OsLock(),它用于锁定文件。

os.c 文件实现了 os.h 文件定义的接口。它提供了具体的实现来操作底层操作系统的功能,例如文件操作、锁定、线程等。os.c 文件还包含了一些辅助函数,例如 sqlite3OsFullPathname(),它用于获取文件的全路径名。

总的来说,os.hos.c 文件是 SQLite 源代码的重要组成部分,它们提供了一个抽象层来隐藏底层操作系统的差异,使得 SQLite 可以在不同的操作系统上运行。


HN 热度 215 points | 评论 85 comments | 作者:conslit | 1 day ago #

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

  • SQLite 的临时文件前缀从 “sqlite*” 改为 “etilqs*”,是因为 McAfee 的防病毒软件使用了 SQLite,导致用户在 Windows 的 c:/temp 目录中看到许多 sqlite 相关的文件,进而投诉开发者。
  • 许多用户对临时文件感到困惑,试图通过删除这些文件来释放磁盘空间,但因文件正在使用而无法删除,导致了误解和不满。
  • 一些用户在面对软件问题时,会直接联系开发者进行投诉,尽管这种做法不一定有效。
  • 改变前缀后,用户更难直接将这些临时文件与 SQLite 项目关联,从而减少了开发者受到的骚扰。
  • 用户之所以会对临时文件产生强烈反应,可能是由于缺乏足够的技术知识,使他们在遇到问题时无法正确识别原因。
  • 许多用户有过由于不当操作导致的系统问题,可能使他们变得更加关注临时文件的管理。
  • 不少开发者在提供技术支持时,常常会接收到与其软件无关的投诉邮件。
  • 有观点认为,许多抗病毒软件性能低下,甚至会对系统造成更多麻烦。
  • 一些人认为抗病毒软件在资源消耗和漏洞方面比病毒本身更糟糕。
  • 对于非技术用户,某些情况下抗病毒软件的确提供了必要的保护,尽管整体质量参差不齐。
  • 有评论提到,现代操作系统在安全设计上较少采取严格的权限控制,导致恶意软件的风险。
  • 一些用户提到,手机应用的安全性相比桌面操作系统要高,应用之间相互隔离。
  • 在讨论操作系统权限管理时,认为文件访问应限制在特定目录,并要求用户显式授权。
  • 针对开发者的建议,微软鼓励使用 “开发驱动器”,以减少防病毒软件对开发过程的干扰。