每日HackerNews RSS

启用 JavaScript 和 Cookie 以继续。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 加速病毒复制工厂(science.org) 47 分,Etiam 1 天前 | 隐藏 | 过去 | 收藏 | 2 条评论 m3047 1 天前 | 下一个 [–] 特定病毒家族中的细胞内病毒颗粒工厂。 回复 XorNot 1 天前 | 上一个 [–] 显而易见的结论是,理解这个过程可能会导致有效阻断它的药物。从高层来看,效果可能是效率较低的病毒复制会被优先选择,然后免疫系统会更快获胜——对于呼吸道合胞病毒来说会很好,因为它可能需要数月才能痊愈,而且疫苗效果非常有限。 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

一份令人震惊的调查揭露了老挝“猪宰杀”诈骗团伙的内部运作,详细内容来自吹哨人Mohammad Muzahir向《连线》杂志提供的泄露WhatsApp聊天记录。这些团伙奴役个人——通常以虚假工作邀约引诱他们——并强迫他们通过恋爱和加密货币投资诈骗从受害者那里骗取巨额资金。 聊天记录描绘了一种奇特的职场文化:管理者发表关于“创造价值”的激励演讲,同时通过债务束缚、罚款和暴力威胁来执行严格的规章制度。工人们自己也是受害者,被高额“合同”和护照没收所困,被迫完成配额,否则将面临严重后果。 对聊天记录的分析显示,仅在11周内,就有超过30名工人诈骗受害者约220万美元,但仍然经常因表现不佳而受到斥责。专家将该行动描述为伪装成公司的“奴隶殖民地”,利用操纵和胁迫来最大化来自数十亿美元网络犯罪产业的利润。Muzahir的泄露为这些东南亚诈骗活动的恐怖现实提供了前所未有的洞察。

## PHP 伪类型:Callable & Iterable – 总结 PHP 引入了“伪类型”——`callable` (PHP 5.4) 和 `iterable` (PHP 7.1)——以提供灵活的类型提示。 与 `string` 或 `array` 等标准类型不同,这些依赖于运行时验证逻辑。 `callable` 最初源于 `call_user_func()` 和 `is_callable()` 等函数,允许将函数名(作为字符串或数组)作为参数传递。 然而,其运行时验证使得静态分析变得困难。 `iterable` 最初验证一个值是否实现了 `array` 或 `Traversable`。 PHP 8.2 将其细化为联合类型 (`Traversable|array`),尽管 `Traversable` 本身仍然保留了一些伪类型特征。 将 `iterable` 作为返回类型使用可能存在问题,因为代码可能会错误地假设迭代器具有数组功能。 虽然方便,但这些伪类型会引入歧义。 文章建议优先使用显式类型(如 `Closure`)代替 `callable`,以获得更好的代码分析和可维护性。 同样,优先使用生成器代替通用的 `iterable` 可以提高性能和开发体验。 最终,避免使用伪类型可以增强代码的健壮性,并允许更好地利用 PHPStan 等工具,从而构建更高效且易于维护的 PHP 应用程序。

一个 Hacker News 的讨论围绕着一篇反对在 PHP 中使用“伪类型”的文章,特别是关于可调用类型。然而,原文并没有清晰地阐述核心批评,导致评论者感到困惑。 用户指出,PHP 引入的一级可调用对象*简化*了回调处理,文章中给出的例子*就是*一级可调用对象。此外,人们还担心一级可调用对象的性能影响——每个引用都会创建一个新的对象包装器,这意味着 `trim(...)` 并不总是等于 `trim(...)`。 文章建议的替代方案 `Closure::fromCallable()` 也无法解决这个问题,因为它同样会创建不同的对象。一位评论者简洁地指出问题:“停止使用字符串可调用的语言”,突出了底层机制的一个根本问题。讨论表明,文章的意图可能是为使用新的 `(...)` 语法弃用字符串可调用对象铺平道路。

## Drinky:一个用于水分追踪的 Telegram 机器人 出于改善饮水量的个人需求,作者构建了“Drinky”,一个用于追踪和提醒用户喝水的 Telegram 机器人。为了避免 Web 或原生应用程序的复杂性,该机器人利用 Telegram API 实现轻松的分享和访问。 该项目使用了部署在 Cloudflare 上的现代技术栈:Durable Objects (DO) 作为快速的无服务器数据库,grammY 用于与 Telegram API 交互,以及 Vitest 和 oxc 等工具用于测试和代码质量。 开发过程中也遇到了一些挑战。最初的障碍包括配置 Webhooks 以接收消息以及启用机器人响应——这需要在无状态的无服务器环境中编写特定代码。作者还发现了通过 API 进行动态命令注册,从而无需更新 BotFather。一个计划中的 AI 驱动的时区解决方案被巧妙地替换为 Telegram 的位置 API 和一个专门的时区查找库。 最终,Drinky 证明是一个宝贵的学习经验,展示了基于机器人方法的强大力量以及现代无服务器技术的有效利用。该项目的 GitHub 仓库地址是[这里](link to repo)。

一篇最近的 Hacker News 帖子详细介绍了使用 Cloudflare Workers、Durable Objects 和 Grammy 库 (flashblaze.xyz) 构建 Telegram 机器人。作者分享了他们的经验,引发了关于使用库与直接交互 Telegram API 的优缺点的讨论。 一些评论者建议避免使用封装器,并直接学习 API,理由是状态管理复杂以及在使用库时可能会遇到更多问题。另一些人承认 Telegram API 文档完善,并且易于 AI 代理支持。 对话还涉及了像 Cloudflare Workers 这样的无服务器平台的吸引力,作者表达了对开发体验的满意。一个小的讨论点围绕着确定用户时区的方法,并承认共享位置数据可能过于繁琐。

## MacBook Pro macOS 更新与 DFU 端口 苹果关于新款 Apple silicon MacBook Pro 上 DFU(设备固件更新)端口位置的文档是**不正确**的。最近一次在外部驱动器上更新 macOS 的经历表明,DFU 端口实际上位于 16 英寸 M4 Pro MacBook Pro 的**右侧**,这与苹果的支持文档不符。 在从外部磁盘安装或更新 macOS 时,将其插入 DFU 端口会导致更新失败——这是一个令人沮丧的过程,涉及完整下载和重启,最终一无所获。系统会提供模糊的错误信息,并且不会表明端口是问题所在。 通过 Michael Tsai 的文章发现的解决方法,不仅包括通过“启动磁盘”调整安全策略,而且关键在于**切换到 MacBook Pro *左侧* 的 USB-C 端口**。只有这样,才能成功更新到 macOS 15.7.3。这凸显了 macOS 磁盘管理中的一个奇怪缺陷,以及苹果“软件更新”中缺乏有用的错误报告。

## MacBook Pro DFU 端口文档问题 一篇最近的博文指出,苹果关于配备 M4 芯片的 16 英寸 MacBook Pro 上指定 DFU(设备固件升级)端口的文档可能存在差异。作者发现 macOS 更新反复失败,直到更换 USB-C 端口,才发现文档中标记为非 DFU 端口的端口实际上充当了 DFU 端口。 Hacker News 评论区的讨论表明,人们争论这是否是文档错误或误诊。一些人认为作者没有正确测试 DFU 流程,问题可能源于外部磁盘升级的独立问题。另一些人则认为,DFU 端口的功能可能因具体的 MacBook Pro 型号(M4 Pro 与基础 M4)而异。 一个关键点是,DFU 需要特定的、最简化的硬件配置,可能会绕过标准的 USB 控制器,直接连接到 SoC。然而,一些人对此表示异议,并引用了固件参与的证据。最终,核心 frustation在于苹果缺乏清晰的错误信息和诊断工具,导致用户在没有足够信息的情况下排查复杂问题。 许多评论者表达了对苹果用户体验下降和不透明度增加的更广泛不满。

启用 JavaScript 和 Cookie 以继续。

## Nix 合约总结 一个新项目为 Nix 语言引入了合约,旨在增加一种运行时类型检查形式。讨论的中心在于这是否是一项独立的工作,或者与 NixOS 中现有的 Contracts RFC 和实现相关。 许多评论者认为“选择性类型”很有价值——仅在输入验证至关重要的地方应用合约,而不是尝试完全的渐进式类型。关于运行时断言与完整类型系统的有效性存在争论,关键点在于 Nix 的近乎纯粹性使得断言可以像编译时检查一样有效地进行评估。 该项目被视为朝着提高 Nix 稳健性迈出的积极一步,特别是考虑到庞大的现有代码库(Nixpkgs)使得全面的静态类型检查变得困难。然而,一些人认为像 TypeScript 这样的真正类型系统可以提供更完整的错误检测。 一个小的讨论还涉及网站的可读性,原因是其字体选择(Computer Modern),以及使用浏览器功能或 Tampermonkey 脚本的潜在解决方法。

## 沙盒代理:编码代理的远程控制 沙盒代理简化了远程和安全地运行和控制编码代理(如 Claude Code、Codex、OpenCode 和 Amp)的过程。它解决了隔离执行、不同的代理 API 和临时会话等挑战。 其核心是一个用 Rust 构建的服务器,它*在*沙盒环境中运行,并暴露一个统一的 HTTP/SSE API。这允许您的应用程序与任何受支持的代理交互,而无需代理特定的代码或直接 SSH 访问。 **主要特性:** * **通用 API:** 通过单个、一致的接口控制所有受支持的代理。 * **流式事件:** 以标准化格式接收代理操作(工具调用、编辑等)的实时更新。 * **持久会话:** 将代理记录流式传输到外部存储(Postgres、ClickHouse、Rivet),用于审计和重放。 * **灵活部署:** 作为 HTTP 服务器运行,或通过 TypeScript SDK 直接嵌入到您的应用程序中。 * **易于安装:** 通过 `curl` 或 npm 进行简单安装,并可按需安装代理。 沙盒代理非常适合需要安全、可靠地控制编码代理的生产环境,为直接使用 SDK 或基于 SSH 的解决方案提供了一个强大的替代方案。它补充了专注于聊天界面的现有 AI SDK,从而实现强大的自主编码能力。

## 沙盒 Agent SDK 摘要 NathanFlurry 开源了沙盒 Agent SDK,该工具旨在简化编码 Agent 的自动化。它解决的核心问题是缺乏标准化以及与不同 Agent 交互的困难。 该 SDK 提供了一个**通用 API** 用于与*任何*编码 Agent 交互,一个**基于 Rust 的沙盒** 用于通过 HTTP 运行 Agent,以及一个**通用会话模式** 用于可靠的对话历史管理。它支持流行的沙盒提供商,如 Daytona、E2B 和 Vercel。 用户可以将 SDK 作为 HTTP 服务器运行,或通过 TypeScript SDK 集成。用户强调的关键优势在于,它能够创建专门的客户端(Web/移动端)来远程运行 Agent,例如 Claude Code,提供会话管理*和*直接聊天 API——许多现有封装工具中缺失的功能。 该项目轻量级,文档完善,并带有 OpenAPI 规范,并且正在积极开发中,计划扩展功能覆盖范围。演示视频可在 X (@NathanFlurry) 上观看。

伊恩的鞋带网站是关于鞋带的顶级在线资源,由“鞋带教授”伊恩·菲根创建并维护了二十多年。这个由人工运营的网站——不含人工智能内容——提供了大量信息,包括超过100个循序渐进的系带教程,配有2700多张照片,甚至还有一个设计定制鞋带的工具。 除了系带样式,该网站还详细介绍了25种绳结,包括伊恩创下的世界纪录保持者“伊恩结”,用于快速系鞋带。它还深入探讨了鞋带本身的歷史和构造。 该网站定期更新新内容、访谈和访客贡献(例如来自世界各地的最新系带照片),并培养了一个充满热情的社区。 访客们一致称赞该网站的实用性,从纠正一生的系鞋习惯到发现新的系带技巧,并热切希望支持其持续发展。

## 伊恩的鞋带网站:Hacker News 的最爱 伊恩的鞋带网站 (fieggen.com) 仍然是 Hacker News 用户喜爱的一个资源,引发讨论和怀旧。许多评论者几年前就发现了这个网站——有些甚至可以追溯到 2004 年——并认为它教会了他们高效的“伊恩结”来系鞋带。 用户经常分享将这种结教给家人的故事,欣赏它的速度和可靠性。除了伊恩结之外,该网站还提供了大量的鞋带技巧和结的信息,包括防止鞋带松开的“安全结”。 讨论强调了该网站作为实用技能资源的持久价值,以及对互联网早期、乐于助人的时代的提醒。虽然有些人争论这种结的优越性(指出可能出现“老奶奶结”),但大多数人认为这是一种值得学习的技能。该网站创建者奉献精神,即使没有获得很大的经济回报,也值得赞扬,体现了对在线内容“出于热爱”的方式。

## 使用漆包线焊接:原型制作的替代方案 作者不喜欢面包板的混乱和不精确,更喜欢在没有立即可用PCB时,直接将原型焊接在洞洞板上。他们发现漆包线比传统的绝缘线有了显著的改进,简化了流程。 该技术涉及一个6步过程:用烙铁短暂加热去除漆包线上的绝缘漆,将一端焊接到板上(通常需要镊子来保持稳定),布线并剪切至所需长度,重复去除绝缘漆,最后焊接另一端。一个关键技巧是在第二次去除绝缘漆时,将电线弯离板子,为烙铁提供空间。 作者详细介绍了他们经济实惠的焊接设置,包括热风返修台、PCB支架、焊锡头清洁器、放大灯和万用表。他们还强调了转向使用0603 SMD电阻器进行原型制作,因为它们体积小且相对易于操作。虽然承认自己仍然是初学者,但他们分享了自己的流程并鼓励反馈。

## 焊接原型与原型制作方法 - Hacker News 讨论总结 最近 Hacker News 的一次讨论,源于一篇 2020 年关于使用漆包线焊接原型的博客文章,围绕着电子原型制作方法的发展演变展开。许多评论者对传统的洞洞板表示沮丧,指出存在助焊剂凌乱、难以修改以及连接不可靠等问题。 替代方案被广泛讨论。一些用户提倡即使是快速迭代也订购廉价的 PCB(JLCPCB 被频繁提及),而另一些人则称赞线绕技术,因为它速度快且连接可靠——尽管采购材料可能很困难。现代选项,如紫外激光 PCB 制作和预切线材套件也被强调。 对话涉及了速度、可靠性和复杂性之间的权衡。一些人认为面包板对于初步实验来说很简单,承认在较高频率下存在局限性。其他人分享了非常规但成功的原型制作技术经验,例如使用线绕原理构建的完全可用的基于 FPGA 的 486 SBC。最终,讨论强调“最佳”方法取决于项目的需求以及个人的偏好和技能水平。

更多

联系我们 contact @ memedata.com