每日HackerNews RSS

作者开发了 **posuto**,这是一个旨在简化日本极其复杂的邮政数据的 Python 包。日本邮政提供的官方 `ken_all.csv` 文件因格式混乱且难以解析而闻名。 主要问题包括: * **任意换行:** 该 CSV 文件将过长的字段拆分到多行中并重复数据,这种过时的做法很可能源于 30 年前的系统限制。 * **无关的注释:** 数据中包含人类可读的括号注释(例如“以下建筑物除外”),这会阻碍自动化处理。 * **逻辑不一致:** 一些条目(特别是京都地区)使用了复杂的交叉路口式地址,而另一些条目则包含必须手动解析和排除的笼统短语。 * **糟糕的罗马字数据:** 日本邮政提供了一份单独的、质量低劣的罗马字化文件,通常产生的不是准确的翻译,而是杂乱的拼写。 为了解决这些痛点,posuto 对这些数据进行了清洗和整理,并以库或预处理后的 JSON 文件形式提供。该项目为日本过时的邮政数据基础设施所带来的技术“噩梦”提供了一个实用的解决方案;这些基础设施极其陈旧,以至于日本邮政至今仍为 MS-DOS 等传统系统提供资源。

抱歉。

在全面转向 Linux 后,作者发现自己非常怀念苹果生态中独有的“连续互通”(Continuity)功能,尤其是剪贴板同步、文件传输以及 OTP 自动填充。虽然现有的 KDE Connect 等解决方案在 Android 上表现良好,但却无法满足作者对于 iPhone 集成的需求。 为此,作者开发了名为 **Tether** 的工具,旨在将 macOS 的类似功能引入 Linux。Tether 非常重视安全性,在 iOS 与 Linux 之间的所有通信中均采用了 mTLS 技术。该项目目前已涵盖文件共享、剪贴板同步,以及一个创新的浏览器扩展程序,用于处理来自邮件及网页消息的 OTP 自动填充。 通过利用蓝牙协议,Tether 现已在 Linux 上成功支持了 iMessage、短信、通知镜像以及联系人同步功能。尽管蓝牙的实现过程存在重大的技术障碍,但最终成果实现了无缝衔接,弥补了苹果专有生态与 Linux 之间的鸿沟。该项目现已开源(采用 MIT 许可证),作者鼓励社区贡献代码,以扩展其功能并支持更多的邮件客户端。对于寻求在 iPhone 与 Linux 设备之间获得更佳集成体验的用户,Tether 是一个理想的选择。

本次讨论的核心是 **Tether**,这是一个全新的开源项目,旨在实现 iPhone 与 Linux 系统之间的 iMessage、短信、通知同步及文件传输。 讨论串重点强调了以下几个主题: * **许可协议与社区:** Tether 的作者在收到关于项目 copyleft 协议的反馈后,迅速将其更改为更宽松的 MIT 协议。这引发了关于开源价值观的广泛讨论:一些开发者倾向于使用限制性协议(如 AGPLv3)以防止被大公司利用,而另一些人则认为宽松的协议能促进更广泛的采用与协作。 * **互操作性:** 用户对苹果的“围墙花园”及其缺乏对互操作性的支持表示不满。对于因工作或个人原因依赖 iPhone 的 Linux 用户来说,Tether 被视为一座受欢迎但技术难度颇高的桥梁。 * **与现有工具的对比:** 许多参与者将 Tether 与 KDE Connect 进行了比较。虽然 KDE Connect 已相当成熟,但用户指出它缺乏深度的 iOS 集成(尤其是针对 iMessage 和通知)。作者解释称,之所以选择开发 Tether 而非向 KDE Connect 贡献代码,是因为双方在路线图上存在分歧,且项目需要一些与专有技术相关的特定功能。 * **技术挑战:** 由于苹果生态系统的限制,实现过程非常困难,必须在 iPhone 上安装配套应用程序才能完成。

© Valve Corporation. 保留所有权利。所有商标均为其在美国及其他国家的各自所有者所有。隐私政策 | 法律声明 | 无障碍访问 | Steam 订户协议 | 退款 | Cookie

抱歉。

SQLite 3.31.0 版本引入了“生成列”(generated columns),这是一项强大的功能,使开发人员能够将 SQLite 像文档数据库一样使用。通过将 `GENERATED ALWAYS AS` 与 `json_extract` 函数结合使用,您可以自动从存储在文本列中的 JSON 数据中提取并索引特定字段。 这种方法具有以下几个优势: * **验证:** 将生成列与 `NOT NULL` 或其他约束结合使用,可以强制执行 JSON 数据的架构规则,从而防止格式错误的数据录入。 * **索引:** 您可以为虚拟生成列创建索引,从而显著提高 JSON 数据的查询性能。 * **灵活性:** 您可以从存储原始 JSON 的简单表开始,并随着需求的变化,使用 `ALTER TABLE` 来提取和索引新字段。 这对于处理 Webhook 等工作流程特别有用,您可以立即获取原始数据,并在之后对其进行结构化处理以实现高效查询。总之,该功能为在嵌入式数据库中处理面向文档的数据提供了一种轻量、灵活且强大的方式。

抱歉。

**量子预言机工程**是一门专为研究人员和从业者设计的专业课程,旨在帮助学员超越理论上的“纸上预言机”,掌握构建实用量子电路的技艺。 本课程摒弃了被过度炒作的 AI 应用,提供了一套严谨且实操性强的电路构建框架。你将学习如何架构可逆逻辑、实现垃圾回收,并管理量子比特的内存限制。课程强调“携带证明的电路”(proof-carrying circuits),确保代码可验证,并能有效规避量子设计中常见的陷阱。 除电路架构外,本课程还涵盖以下内容: * **方法论:** 开发和测试策略,以区分真正的性能提升与算法传言。 * **内存经济学:** 理解维护量子态的高昂成本,以及为何传统的压缩或缓存机制在此失效。 * **批判性评估:** 建立一套框架,通过实际的算力数学而非炒作,来审计和揭穿可疑的量子 AI 声明。 本课程将于 9 月 1 日至 11 月 17 日进行,它将以工程学科取代学术假设。课程将教授学生如何通过门级操作来构建、清理和验证电路,使其不仅在理论上合理,且在物理上可执行;从而使你能够以专业的怀疑态度和技术精确度,去评判下一代量子技术突破。

这篇 Hacker News 帖子展示了人们对一门新量子计算课程的两极化反应。 讨论主要由质疑和批评主导。一位用户对该网站的数据收集行为表示担忧,并指出了创作者的商业意图。另一位批评者认为课程内容充斥着“人工智能生成的垃圾”,称课程描述自命不凡、晦涩难懂且缺乏实质内容。他们特别引用了“第 9 课”作为例证,称其内容模糊、逻辑不通,让人无法理解该课程的实际价值。 相反,其他参与者则为该项目进行了辩护。支持者认为隐私担忧纯属多疑,并批评反对者过于苛刻或理所当然。一位评论者指出,创作者为该课程投入了专业美术设计,暗示批评者曲解了展示形式,或对演示方式进行了不公平的审视,而非针对教育内容本身。 总的来说,这场对话反映了该平台上常见的一种动态:对技术内容的怀疑态度与对独立项目创作者的维护立场之间的碰撞。

本文探讨了一种规避 GCC 嵌套函数“蹦床”(trampoline)安全风险的方法;传统上,这些蹦床需要可执行栈。 当间接调用嵌套函数时,GCC 会在栈上生成一个蹦床——这是一小段可执行代码,用于加载静态链(捕获的变量)并跳转到目标函数。为了避免在栈上执行代码,作者演示了如何通过检查蹦床内存来提取函数的代码地址及其静态链指针。利用 `__builtin_call_with_static_chain` 函数,可以直接调用这些组件,从而无需执行蹦床本身。 通过使用这种提取方法,开发者可以在不牺牲嵌套函数功能的前提下,使用 `patchelf --clear-execstack` 来保护程序安全。作者还提出了一种替代的“解释器”方案,即在调用点识别并解码蹦床,而不是直接执行它们。虽然这些方法依赖于特定实现的蹦床结构,且无法改进编译器优化(如去虚拟化),但它们为在旧版 GCC 中支持嵌套函数提供了一种可行的机制,且无需保持栈的可执行权限。

抱歉。

Debian 项目已正式就生成式人工智能工具的使用采取了中立立场。虽然该项目既不背书也不禁止使用此类工具,但承认人工智能可以通过简化日常任务来提高贡献者的生产力。 然而,这种灵活性伴随着严格的问责要求:所有贡献——无论其来源如何——都必须符合 Debian 在质量、正确性、可维护性和法律合规性方面的高标准。项目组强调,使用人工智能并不能免除贡献者的责任。所有人工智能生成的产出在提交前,都必须经过贡献者的彻底审查、测试和验证。本质上,人类贡献者仍需对其工作的完整性承担全部责任。 社区对这一政策的反应不尽相同。一些成员认为,鉴于该项目规模庞大且难以执行限制措施,这种务实的方法是不可避免的;而另一些成员则对项目内部可能出现的脱节表示担忧。归根结底,Debian 的重心仍然是维持同样严格的产出标准,并将证明责任转嫁给开发者个人。

Debian 项目已投票通过,允许在开发过程中使用生成式人工智能,并确立了一项以“个人责任制”为核心的政策。 讨论的主要要点包括: * **责任至上:** Debian 的政策坚持认为,无论贡献者使用何种工具,都必须对所提交的代码承担全部责任。人类贡献者必须理解代码,能够对其进行解释,并负责后续的维护工作。 * **审查负担:** 生成代码变得更加容易,但代码审查依然是一项高度依赖人工的工作,两者之间存在显著矛盾。许多维护者担心,AI 辅助生成的“劣质代码”(即高产量、低质量或被误解的代码)正在挤占审查队列,并导致志愿者精疲力竭。 * **准入限制与技术进步:** 一些开发者主张严格禁止使用 AI,以保护项目质量和传承人工指导;而另一些人则认为 AI 是不可避免的工具,能够加速实验并提高生产力。 * **文化转型:** 支持者普遍认为,软件工程正在从“编写代码”转向“管理 AI 代理”。批评者则担心这会导致技能退化,使开发者失去长期维护复杂项目所需的系统深度理解能力。 最终,Debian 选择了一条温和的道路,将 AI 视为一种工具,但该工具产出的成果仍需符合既定的质量和法律标准。

```// 会话、OAuth、邮箱/密码。单一文件。 import { defineAuth } from 'typebase-io/server'; export const auth = defineAuth({ trustedOrigins: ['http://localhost:3000'], emailAndPassword: { enabled: true }, socialProviders: { github: { clientId: process.env.GITHUB_CLIENT_ID!, clientSecret: process.env.GITHUB_CLIENT_SECRET!, }, }, }); ```

为了模拟有机且非重复的环境音效,作者使用 Web Audio API 重现了《最终幻想 XIV》的“呼啸”系统。 该实现由两部分组成: 1. **持续的嗡嗡声:** 使用循环的 `AudioBufferSourceNode` 作为稳定的背景基础。 2. **随机的呼啸声:** 系统不使用标准的循环,而是使用递归的 `setTimeout` 函数(`chooseWhir`)。每当一段短促的“呼啸”声结束时,系统会随机选择一个音频素材,应用随机的音高和增益,并在随机延迟后安排下一次播放。 通过即时创建和断开节点,而非使用固定循环,代码掩盖了重复性并创造了一种“生命的错觉”。这种方法以极低的性能开销,有效地模拟了复杂且动态的声景。

抱歉。

《星战前夜》(EVE Online)正启动一项长期的现代化计划,旨在将其 240 万行的代码库从 Python 2.7 迁移至 Python 3。由于在同一版本上运行了超过 16 年,现有的代码库依赖于旧标准,这限制了性能表现和现代开发工具的使用。 此次迁移对《星战前夜》的未来至关重要,因为 Python 3 能带来显著的速度提升、更强的调试能力以及更高的开发效率。我们的目标是实现无缝过渡;除了未来可能感受到的稳定性和性能提升外,玩家在游戏体验上不会察觉到任何变化。 迁移过程将分阶段进行:首先通过自动化代码清理使现有系统兼容两个 Python 版本,随后对逻辑敏感的代码进行更复杂的人工审查。开发团队正在利用从《EVE Frontier》项目中积累的经验,以确保正式服务器“宁静”(Tranquility)在更新期间保持稳定。 CCP Games 将持续部署这些增量更新,并邀请玩家参与未来在“奇点”(Singularity)测试服务器上的游戏测试,以帮助验证迁移的完整性。此举将为“新伊甸”未来二十年的发展提供关键的基础设施支撑。

抱歉。

更多

联系我们 contact @ memedata.com