启用 JavaScript 和 Cookie 以继续。
启用 JavaScript 和 Cookie 以继续。
一份令人震惊的调查揭露了老挝“猪宰杀”诈骗团伙的内部运作,详细内容来自吹哨人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 应用程序。
## 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)。
## 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 磁盘管理中的一个奇怪缺陷,以及苹果“软件更新”中缺乏有用的错误报告。
启用 JavaScript 和 Cookie 以继续。
## 沙盒代理:编码代理的远程控制
沙盒代理简化了远程和安全地运行和控制编码代理(如 Claude Code、Codex、OpenCode 和 Amp)的过程。它解决了隔离执行、不同的代理 API 和临时会话等挑战。
其核心是一个用 Rust 构建的服务器,它*在*沙盒环境中运行,并暴露一个统一的 HTTP/SSE API。这允许您的应用程序与任何受支持的代理交互,而无需代理特定的代码或直接 SSH 访问。
**主要特性:**
* **通用 API:** 通过单个、一致的接口控制所有受支持的代理。
* **流式事件:** 以标准化格式接收代理操作(工具调用、编辑等)的实时更新。
* **持久会话:** 将代理记录流式传输到外部存储(Postgres、ClickHouse、Rivet),用于审计和重放。
* **灵活部署:** 作为 HTTP 服务器运行,或通过 TypeScript SDK 直接嵌入到您的应用程序中。
* **易于安装:** 通过 `curl` 或 npm 进行简单安装,并可按需安装代理。
沙盒代理非常适合需要安全、可靠地控制编码代理的生产环境,为直接使用 SDK 或基于 SSH 的解决方案提供了一个强大的替代方案。它补充了专注于聊天界面的现有 AI SDK,从而实现强大的自主编码能力。
伊恩的鞋带网站是关于鞋带的顶级在线资源,由“鞋带教授”伊恩·菲根创建并维护了二十多年。这个由人工运营的网站——不含人工智能内容——提供了大量信息,包括超过100个循序渐进的系带教程,配有2700多张照片,甚至还有一个设计定制鞋带的工具。
除了系带样式,该网站还详细介绍了25种绳结,包括伊恩创下的世界纪录保持者“伊恩结”,用于快速系鞋带。它还深入探讨了鞋带本身的歷史和构造。
该网站定期更新新内容、访谈和访客贡献(例如来自世界各地的最新系带照片),并培养了一个充满热情的社区。 访客们一致称赞该网站的实用性,从纠正一生的系鞋习惯到发现新的系带技巧,并热切希望支持其持续发展。
## 使用漆包线焊接:原型制作的替代方案
作者不喜欢面包板的混乱和不精确,更喜欢在没有立即可用PCB时,直接将原型焊接在洞洞板上。他们发现漆包线比传统的绝缘线有了显著的改进,简化了流程。
该技术涉及一个6步过程:用烙铁短暂加热去除漆包线上的绝缘漆,将一端焊接到板上(通常需要镊子来保持稳定),布线并剪切至所需长度,重复去除绝缘漆,最后焊接另一端。一个关键技巧是在第二次去除绝缘漆时,将电线弯离板子,为烙铁提供空间。
作者详细介绍了他们经济实惠的焊接设置,包括热风返修台、PCB支架、焊锡头清洁器、放大灯和万用表。他们还强调了转向使用0603 SMD电阻器进行原型制作,因为它们体积小且相对易于操作。虽然承认自己仍然是初学者,但他们分享了自己的流程并鼓励反馈。