RSS
Posts
← Back to latest

Lobsters Daily Digest — 2026-02-02

2026-02-02

#1

文章摘要

Notepad++ 官方证实其原托管服务器在 2025 年 6 月至 12 月间遭到基础设施级入侵,导致部分用户的更新流量被重定向至恶意服务器。调查指出攻击者疑似具有国家背景,利用了旧版本中更新验证机制的不足进行定向渗透。目前 Notepad++ 已迁移至新服务商,并在 v8.8.9 及后续版本中加强了 WinGup 升级程序的证书验证与 XML 签名校验。作者建议所有用户手动下载最新版本以确保安全。

社区讨论

社区讨论呈现出两极分化,部分用户赞赏官方的坦诚,但更多开发者批评其安全实现过于业余,并指出新修复方案中仍存在路径穿越漏洞。有评论提到受害者观察到了人工实时操作的痕迹,反映了攻击的针对性。此外,讨论还对 XML 签名的复杂性以及官方在结语中使用“祈祷好运”这种不严谨的表述表示了担忧。

View on Lobsters →

文章摘要

文章作者介绍了一款带有2.4英寸彩屏的Treedix USB线缆测试仪,旨在解决USB线缆性能不透明的问题。该设备能检测线缆的物理连接通道、电阻以及eMarker芯片信息,从而识别出那些虽然芯片报告支持高速传输但实际缺乏物理数据线的“虚假”线缆。作者通过实际测试发现,许多USB-C线缆会误导操作系统报告虚假速度,而这款售价约45美元的工具是整理和分类线缆的理想选择。

社区讨论

社区讨论对USB-C生态系统的混乱表达了普遍挫败感,认为这种测试仪的流行反映了标准实现的失败。技术评论详细分析了macOS如何通过XHCI控制器构建设备树,并指出系统可能被eMarker芯片误导而显示错误速度。此外,用户们还讨论了线缆标记的必要性,并提议将此类诊断功能直接内置到电脑的物理层硬件中。

View on Lobsters →
#5
The Disconnected Git Workflow
vcs ↑35 · 5 comments

文章摘要

作者批评了 GitHub 的 PR 流程过于依赖在线操作且步骤繁琐,提倡回归基于邮件的 Git 补丁提交方式。技术核心在于使用 msmtp 替代传统的 sendmail,通过配置 .msmtprc 实现多账户管理,并利用 msmtp-enqueue.sh 脚本将邮件暂存在本地队列中。这种方式允许开发者在完全离线的情况下完成提交和回复,待联网后通过运行队列脚本统一发送。此外,该方案还能通过 git 配置文件自动匹配不同项目的发件地址,并能无缝集成到 Mutt 等邮件客户端中。

社区讨论

社区讨论整体对这种离线邮件流持支持态度,认为其相比 GitHub 的 UI 更加高效且一致。有用户分享了通过定时任务自动同步邮件、更新 notmuch 数据库和生成 Mutt 别名的进阶技巧,以进一步自动化流程。也有讨论提到该工作流同样适用于非 Git 的版本控制系统,并有用户询问如何在这种模式下妥善保存已发送邮件的副本。

View on Lobsters →
#6
Intro to CSTML (or: XML meets JSON)
a11ycompilersjavascript ↑10 · 4 comments

文章摘要

CSTML(具体语法树标记语言)通过将文本内容放入引号并使用类似 HTML 的标签结构,解决了传统标记语言在代码格式化时可能改变内容的问题。它支持 JSON 结构的属性、命名的节点关系(引用)以及处理代码片段的“空隙”机制。此外,CSTML 引入了“移位”功能,允许在从左到右的解析过程中动态调整树结构,从而更好地描述复杂的语法逻辑。

社区讨论

社区讨论主要集中在对 CSTML 语法设计合理性的审视上,部分用户对其混合多种语言特性的做法持保留意见。作者解释称,该项目的目标是为解析树建立一个类似 HTML 的跨平台抽象层,以统一目前各种解析器互不兼容的序列化格式。此外,针对用户关于 DTD 验证的提问,作者明确表示 CSTML 遵循“解析而非验证”的哲学,通过不可变数据结构确保构造即正确。

View on Lobsters →
#7
zig libc
zig ↑10 · 0 comments

文章摘要

Zig 启动了 zig libc 子项目,旨在通过 Zig 标准库封装逐步替换原有的 C 语言 libc 实现。目前已删除约 250 个 C 源文件,此举不仅减少了对第三方 C 代码的依赖,还通过共享 Zig 编译单元(ZCU)实现了类似前端 LTO 的深度优化。未来,该项目有望让用户无缝控制 libc 的 I/O 行为(如集成 io_uring)或为 C 代码启用资源泄露检测。

社区讨论

该文章目前没有相关的社区讨论内容。

View on Lobsters →
#8
Ending 15 years of subprocess polling
python ↑32 · 5 comments

文章摘要

文章详细介绍了 Python 标准库 subprocess 模块在处理带超时的进程等待时,长期依赖基于 waitpid 和 sleep 的忙轮询方案,导致了不必要的 CPU 唤醒和延迟。作者通过在 Linux 上利用 pidfd_open 配合 poll,以及在 macOS/BSD 上利用 kqueue 实现了原生的事件驱动等待机制。该改进显著降低了系统上下文切换次数,目前已集成到 psutil 库并作为 PR 提交至 CPython 官方仓库,标志着该领域 15 年来的重大优化。

社区讨论

社区讨论主要围绕为何此前未采用 SIGCHLD 信号结合管道的方案展开。评论指出,作为通用库,修改全局信号处理器会引发多线程冲突及 Python 主线程运行信号处理器的限制,且该方案通常需要事件循环支持。用户普遍认可作者采用 pidfd 和 kqueue 等系统原生 API 的做法,认为这在处理阻塞式调用时比信号机制更优雅且鲁棒。

View on Lobsters →
#9
Migrating to GTK3 – Re: Factor
concatenativegraphics ↑19 · 7 comments

文章摘要

Factor 语言长期使用 GTK2 和 X11 作为 Linux 端的 UI 后端,为适应 Wayland 和现代 Linux 发行版,开发者决定迁移至 GTK3。此次迁移的关键挑战在于将原有的 OpenGL 1.x 渲染管线重构为 OpenGL 3.x,以符合现代图形库的要求。目前 GTK3 后端已在实验性每日构建版本中上线,且 macOS 后端也同步升级了 OpenGL 3.x 以便进行统一测试和优化。

社区讨论

社区讨论主要围绕 GTK 版本的演进与哲学差异展开。有观点认为 GTK4 过于绑定 GNOME 审美,而另一些用户则指出 libadwaita 的出现已将 GNOME 特性解耦;部分开发者分享了从 GTK2 经由 3 再到 4 的逐步迁移经验,认为这比跨版本跳跃更可行。此外,用户对 Factor 在 GTK3 发布 15 年后才进行迁移感到惊讶,但普遍对其现代化进程表示认可。

View on Lobsters →
#10

文章摘要

文章从传统的64位整数和浮点数出发,探讨了利用程序表示庞大数值的可能性。作者对比了图灵机的忙碌海狸函数(BB)与λ演算,指出BB(6)虽大但仍有局限。通过二进制λ演算(BLC),仅用49位即可构造出超越格雷厄姆数的表示。这证明了在极小位宽下,利用函数抽象和递归可以表达出远超物理极限的巨量数值。

社区讨论

目前该文章在社区中暂无相关讨论内容。

View on Lobsters →