2025-07-23

50 篇热帖

1. Ozzy Osbourne has died (www.bbc.co.uk)

Black Sabbath "have lost our brother", says band's co-founder, weeks after farewell gig in their home city Birmingham.

2. You can now disable all AI features in Zed (zed.dev)

From the Zed Blog: If you don’t want AI in your workflow, it won’t be there.

3. Cops say criminals use a Google Pixel with GrapheneOS – I say that's freedom (www.androidauthority.com)

GrapheneOS offers some of the best privacy and security features of any smartphone operating system, but is it too effective at what it does?

4. Return of wolves to Yellowstone has led to a surge in aspen trees (www.livescience.com)

Gray wolves were reintroduced in Yellowstone National Park in 1995 to help control the numbers of elk that were eating young trees, and it is finally paying off for quaking aspen.

6. Qwen3-Coder: Agentic coding in the world (qwenlm.github.io)

GITHUB HUGGING FACE MODELSCOPE DISCORD Today, we’re announcing Qwen3-Coder, our most agentic code model to date. Qwen3-Coder is available in multiple sizes, but we’re excited to introduce its most powerful variant first: Qwen3-Coder-480B-A35B-Instruct — a 480B-parameter Mixture-of-Experts model with 35B active parameters which supports the context length of 256K tokens natively and 1M tokens with extrapolation methods, offering exceptional performance in both coding and agentic tasks. Qwen3-Coder-480B-A35B-Instruct sets new state-of-the-art results among open models on Agentic Coding, Agentic Browser-Use, and Agentic Tool-Use, comparable to Claude Sonnet 4.

7. Proxmox Donates €10k to the Perl and Raku Foundation (www.perl.com)

Proxmox Server Solutions GmbH contributes €10,000 to support The Perl and Raku Foundation's critical Perl 5 Core Maintenance Fund.

8. Building better AI tools (hazelweakly.me)

人类学习的核心原理

有效的知识转移和工具设计应基于人类学习的三个核心原则:

  1. 过程优于知识:人类最有效地学习“过程”,而非孤立的知识。教学应通过演示和指导流程来实现。
  2. 检索练习:学习的关键在于付出努力检索信息,而非被动接收。工具设计应鼓励并强化这种主动的检索行为。
  3. 累积迭代:人类擅长在群体中通过模仿和迭代进行累积式创新,而非孤立的天才式突破。工具应促进协作和集体知识的构建。

当前AI工具的根本缺陷

当前AI工具的主流交互模式(如点击按钮即获答案、提供直接建议)存在严重问题:

  • 它移除了人类的主动检索和任务启动过程。
  • 忽略了过程强化、集体知识传递和迭代改进。
  • 实际上用不擅长的AI取代了人类擅长的核心能力(如推理和协作),导致人类技能退化
  • 形成了一个恶性循环:技能退化的人类无法为AI提供高质量数据来提升工具,进而导致系统整体效能螺旋下降。

构建更好AI工具的原则:人类第一

AI应被设计为“健忘的指导员”或“采用苏格拉底式提问的橡皮鸭”,其目标是增强人类能力,而非替代人类思考。关键在于使用解释、演示、指导、增强的教学框架来设计交互:

  1. 解释

    • 应做:提示缺失的步骤、调出并解释流程指南。
    • 避免:直接提供操作按钮或现成答案。这剥夺了人类的检索练习机会。
  2. 演示

    • 应做:将人类的自然语言查询转换为系统查询语法;提供UI导航链接;生成简短的交互式操作演示。
    • 避免:“一键完成”的按钮。这会削弱技能,并且人类通常仍需后续调整,反而增加摩擦。
  3. 指导

    • 应做:当人类卡住时,通过提问引导其思考(“你卡在什么地方?”);建议调查方向或提供相关文档;验证人类回答的一致性。
    • 避免:在人类未表达困难时提供未经请求的信息;以权威口吻纠正;提供“继续”按钮导致盲目推进。这会破坏人类的推理循环。
  4. 增强

    • 应做:基于人类的操作建议增量改进(如更快捷的过滤选项);在复合操作后动态呈现快捷键;建议改进现有流程或基础设施。
    • 核心:增强建议应增加更多检索提示,将微学习嵌入流程,并允许旁观者通过观察学习。

代码生成的正确范式

以代码编写为例,不应直接要求AI生成代码。更好的方式是“逆向”使用AI:

  • 先生成粗略文档、架构图、测试计划和测试。
  • 然后生成代码框架,使其通过测试。
  • 最后利用生成的代码反向优化测试、完善文档和架构图。
  • 原理:每个步骤都是对人类检索能力的练习(如“X应该做什么?”),并能产生高质量的训练数据。

未开发的潜力与总结

AI在增强跨职能协作(如技术支持与开发团队之间)方面潜力巨大,但需要优先考虑内部效能改进。

结论:当前AI工具建设方式是本末倒置的。它用AI取代了人类最擅长的协作式累积学习,而AI本身并不擅长此道,导致了技能退化的恶性循环。解决方案是构建人类第一的工具,通过设计增强人类检索、过程学习和集体协作的能力,从而创建一个人类与工具相互促进的正向反馈循环。人类不仅是系统的一部分,人类就是核心

9. Neil Armstrong's customs form for moon rocks (2016) (magazine.uc.edu)

Former University of Cincinnati professor Neil Armstrong and his crew mates from Apollo 11 had to sign this Moon Manifest for the U.S. Customs Service to bring

11. Swift-erlang-actor-system (forums.swift.org)

I'm excited to share a new actor system we've been building for Swift's distributed actors: swift-erlang-actor-system. This actor system enables Swift programs to join a distributed Erlang cluster. Here's an example of…

12. Algorithms for Modern Processor Architectures (lemire.github.io)

For decades, Dennard scaling propelled remarkable advancements in processor technology. As transistor sizes shrank, manufacturers increased clock frequencies to enhance computational speed while simultaneously reducing power consumption, adhering to the principle of constant power density. This synergy delivered consistent performance improvements in both hardware and software. However, over the past two decades, this trend has faltered: physical and thermal constraints have caused clock frequencies to plateau, often leaving software performance stagnant as it struggles to fully utilize available hardware capabilities. Nevertheless, modern processors provide substantial opportunities for performance optimization through advanced architectural features. These include enhanced Single-Instruction-Multiple-Data (SIMD) instructions—such as Scalable Vector Extensions (SVE) and AVX-512—which enable parallel processing of large datasets, greater memory-level parallelism to improve data access efficiency, advanced branch predictors to enhance instruction flow, and broader superscalar execution to execute multiple instructions per cycle more effectively. We advocate for a comprehensive approach: robust mathematical models grounded in a current and detailed understanding of system architecture. Through this lens, we explore how algorithmic design can leverage these characteristics of contemporary processors, drawing insights from practical case studies in widely used software. Our findings underscore the critical need to align software design with hardware capabilities to overcome the challenges of the post-Dennard era.

16. US AI Action Plan (www.ai.gov)

Explore President Trump's AI Action Plan, America's roadmap to win the AI race focused on Three Pillars: Accelerating Innovation, Building AI Infrastructure, and Leading in International diplomacy and Security.

17. Lumo: Privacy-first AI assistant (proton.me)

Lumo gives you the power to solve problems big and small, while keeping your personal data confidential. Try it now.

19. Mathematics for Computer Science (2024) (ocw.mit.edu)

This course covers elementary discrete mathematics for science and engineering, with a focus on mathematical tools and proof techniques useful in computer science. Topics include logical notation, sets, relations, elementary graph theory, state machines and invariants, induction and proofs by contradiction, recurrences, asymptotic notation, elementary analysis of algorithms, elementary number theory and cryptography, permutations and combinations, counting tools, and discrete probability.

22. Font-size-adjust Is Useful (matklad.github.io)

In this article, I will describe a recent addition to CSS, the font-size-adjust property. I am also making a bold claim that everyone in the world misunderstands the usefulness of this property, including Google, MDN, and CSS Specification itself. (Just to clarify, no, I am not a web designer and I have no idea what I am talking about).

23. The rise and fall of the Hanseatic League (worksinprogress.co)

The Hanseatic League united merchants to bargain with kings, blockade cities, and even win wars. But when technology changed, defections began and the coalition fell apart.

24. Open Sauce is a confoundingly brilliant Bay Area event (www.jeffgeerling.com)

This is the second year I brought my Dad (a now-retired radio engineer and co-host of Geerling Engineering) to Open Sauce, a Bay Area maker faire-like event, dreamed up by William Osman and featuring hundreds of exhibits ranging from mad science, to vintage electronics, to games, to world-record-breaking Rubik's Cube solvers:

Sprawling over the grounds of the San Mateo County Event Center, I met people of all ages who were building all sorts of zany contraptions. Sometimes practical, sometimes wildly impractical (like a hot dog race track that tazes the winning weiner).

25. We built an air-gapped Jira alternative for regulated industries (plane.so)

After months of development, our air-gapped capability has reached general availability. This post explores the journey of building this specialized deployment option.

27. Reverse engineering GitHub Actions cache to make it fast (www.blacksmith.sh)

We reverse engineered GitHub Actions cache internals to transparently route cache requests through our faster, colocated cache. This delivered up to 10x faster cache performance for some of our customers, with no code changes required and no need to maintain forks of upstream actions.

28. A media company demanded a license fee for an Open Graph image I used (alistairshepherd.uk)

A media company demanded a license fee for an Open Graph image used on my twitter archive. I gave in and paid it, but what does that mean for open graph images and copyright?

29. Extending Emacs with Fennel (2024) (andreyor.st)

After watching this year’s EmacsConf and seeing Guile Emacs being resurrected I thought to myself - why limit ourselves to Guile? Sure, Guile isn’t just a Scheme implementation, thanks to its compiler-tower-based design. Other languages exist for Guile VM, such as Emacs Lisp, and Guile manual lists the following languages with various stages of completeness:

30. AI coding agents are removing programming language barriers (railsatscale.com)

AI coding tools are dissolving the language barriers that once defined our careers. As someone who coded exclusively in Ruby for a decade, I’m now contributing to low-level system projects I couldn’t have touched before. Here’s how AI coding agents enabled my leap from Ruby to C, C++, and Rust.

32. Breaking the WASM/JS communication performance barrier (github.com)

Breaking the WASM/JS communication performance barrier - ealmloff/sledgehammer_bindgen

33. Apple's Liquid Glass: When Aesthetics Beat Function (www.maxvanijsselmuiden.nl)

Apple's new transparent design system has obvious readability issues that Apple's own design standards should have caught.

35. Researchers value null results, but struggle to publish them (www.nature.com)

Survey finds that fear of reputational harm and a lack of support and publication platforms are among respondents’ key concerns. Survey finds that fear of reputational harm and a lack of support and publication platforms are among respondents’ key concerns.

36. Brave blocks Microsoft Recall by default (brave.com)
# Brave 浏览器默认阻止微软 Recall 功能

Brave 浏览器从 Windows 版 1.81 版本起,默认阻止微软 Recall 功能自动截取用户浏览活动的屏幕截图。

## 背景与原因
- 微软在 2024 年 5 月宣布 Recall 功能,该功能每几秒全屏截图并存储在本地明文数据库中,存在安全风险,引发隐私担忧。
- 微软随后撤回该功能并进行调整。一年后 Recall 以预览形式回归,但其最终形态尚不确定。
- 基于 Brave 对隐私默认设置的重视,为保护用户浏览历史(尤其在家庭暴力等敏感场景中),Brave 主动在所有标签页中禁用 Recall。

## 实现方式
- Brave 利用微软提供的“隐私浏览窗口不被快照”的规则,将其扩展至所有 Brave 标签页。
- 通过告知操作系统所有标签页均为“私密”状态,从而阻止 Recall 的截取行为。
- 此举体现了 Brave 基于 Chromium 快速增强隐私功能的能力,且不影响正常截屏功能。

## 独特优势与对比
- Brave 是目前唯一默认在所有标签页禁用 Recall 的主要浏览器。
- 与 Signal 使用 DRM 标志禁用所有截屏不同,Brave 选择性禁用 Recall,允许辅助功能等正常截屏。

## 用户控制
- 用户可通过 `设置 > 隐私和安全` 路径,关闭“阻止 Microsoft Recall”选项来重新启用该功能。

## 相关隐私更新
- Brave 近期还推出了 Android 版的“Shred”按钮、优化了广告拦截引擎内存占用,以及 Android 版元素屏蔽功能等隐私增强特性。
37. A low power 1U Raspberry Pi cluster server for inexpensive colocation (2021) (github.com)

A low power 1U Raspberry Pi cluster server for inexpensive colocation. - pawl/raspberry-pi-1u-server

38. Cerebras Launches Qwen3-235B, Achieving 1,500 Tokens per Second (www.cerebras.ai)

Cerebras is the go-to platform for fast and effortless AI training. Learn more at cerebras.ai.

39. Tiny Code Reader: a $7 QR code sensor (excamera.substack.com)

Tiny Code Reader (TCR) 产品概述
Tiny Code Reader 是一款于2023年推出的7美元QR码传感器模块,旨在作为独立视觉单元直接解码QR码。其设计适用于桌面制造等场景,可通过Adafruit、Sparkfun等渠道购买。

核心特性与连接

  • 采用Qwiic连接标准,支持即插即用,兼容I²CDriver或I²CMini等设备。
  • 前置彩色LED指示状态:上电时蓝色闪烁,检测到QR码时绿色闪烁。
  • 通过I²C协议通信,代码大小限制为254字节。

快速上手与使用示例
作者使用Python结合I²CDriver库,在几分钟内实现了QR码读取功能。代码通过I²C地址0x0c读取256字节数据,解码后输出QR码内容(如http://en.m.wikipedia.org)。测试显示设备能即时解码标准QR码。

性能限制

  • 视角问题:文档标称110度视角,但实际测试发现仅当QR码位于传感器中心±5度范围内(约10mm距离下)才能识别,作者已向制造商提交issue询问。
  • 解码能力:未测试长码,但文档提示可能存在限制。

硬件设计与成本分析

  • 内部采用RP2040微控制器与Arducam图像传感器模块,通过30针连接器结合。
  • 模块化设计允许潜在软件功能扩展(如同一公司的人体检测传感器)。
  • 零售价7美元(BOM成本约4美元),性价比突出,兼具RP2040开发板和图像传感器功能。

潜在应用
硬件平台可支持多种视觉任务软件开发,价格优势使其有望作为低成本开发平台使用。


总结:TCR是一款高性价比、即插即用的QR码传感器,但存在视角狭窄的限制。其核心硬件基于RP2040和Arducam,适合集成到嵌入式视觉项目中。

41. Fun with gzip bombs and email clients (www.grepular.com)

Gzip炸弹与邮件客户端测试总结

本文介绍了如何创建Gzip炸弹,并探讨其在不同电子邮件客户端和代理中下载与解压时引发的行为,揭示了潜在的安全与稳定性问题。

1. Gzip炸弹创建与服务器配置

  • 创建方法:通过命令 dd if=/dev/zero bs=1G count=10 | gzip > 10gb.gz 生成一个10MB的Gzip文件,解压后可膨胀至约10GB。
  • 服务器配置:在Nginx中,将此类文件配置为以图像(如PNG)类型提供,并设置 Content-Encoding: gzip 响应头。当客户端请求该文件时,会认为需要在线解压,从而在仅传输10MB网络数据后,客户端本地需处理10GB数据,可能造成资源耗尽。

2. 各类客户端与代理的反应测试

作者通过HTML邮件中的 <img> 标签引用上述Gzip炸弹文件,测试了不同环境的处理情况:

  • Firefox浏览器:能快速识别文件非真实图像,未出现问题。
  • Thunderbird客户端:以及Gmail的网络代理,在下载过程中会提前中止,表现出一定的防御能力。
  • ProtonmailiCloud网络代理:完整下载了10MB文件但随后丢弃。Protonmail会提示加载失败,并允许用户选择直接从浏览器加载(可能泄露IP),但浏览器未崩溃。
  • Fastmail网络代理:下载了全部10MB文件,并向用户回传了385MB数据后才放弃,UI保持响应。
  • iOS Mail:部分下载后导致应用崩溃。
  • Evolution Mail:问题最严重。它会完整下载并解压全部数据至本地缓存目录。作者通过邮件中嵌入10个指向该炸弹的图片链接,在不到一分钟内导致本地磁盘被写入100GB数据。

3. Evolution Mail的附加缓存漏洞

测试还发现Evolution Mail存在一个缓存机制缺陷:

  • 它使用URL的MD5值作为缓存文件名,但会移除其认为“不标准”的查询字符串参数。
  • 这导致仅查询参数不同(如 ?image1?image2)的URL被判定为相同资源,并共享缓存文件,可能导致信息错乱或显示错误内容。

4. 主要启示

  • 防御性编程:开发者在编写处理外部数据的程序(特别是下载和解压)时,必须假设可能接收到异常大的数据流,设置合理的大小限制和超时机制,防止资源耗尽(如磁盘空间、内存)或应用程序崩溃。
  • 客户端风险:电子邮件客户端,尤其是桌面客户端,在加载远程内容(如图片)时存在被此类“数据炸弹”攻击的风险,可能导致客户端无响应、崩溃或耗尽系统资源。
42. Rescuing two PDP-11s from a former British Telecom underground shelter (2023) (forum.vcfed.org)

Damn - whow:-)

Thumbs up you are able to do this ! 👍👍👍

IDK for how long, but i read/saw some news about the location that it will be put back to use for...

43. 20 years of Linux on the Desktop (part 4) (ploum.net)

20 years of Linux on the Desktop (part 4) par Ploum - Lionel Dricot.

44. Tinyio: A tiny (~200 line) event loop for Python (github.com)

Ever used asyncio and wished you hadn't? A tiny (~400 lines) event loop for Python. - patrick-kidger/tinyio

45. Yes, the Book of PF, Fourth Edition Is Coming Soon (bsdly.blogspot.com)

© 2025 Peter N. M. Hansteen Long rumored and eagerly anticipated by some, the fourth edition of The Book of PF is now available for p...

46. CSS's problems are Tailwind's problems (colton.dev)

Tailwind的失败是CSS原有问题的放大镜

文章认为Tailwind并非创新解决方案,而是将CSS本身的缺陷与现代Web开发的弊病集中到了一个库中,带来了更差的开发体验。

CSS的现状:成功与遗留问题 CSS在近年发展迅速,Flexbox、Grid、Container Queries等现代特性极大地增强了响应式布局能力。其应用方式主要分两种:

  1. 内联样式:适用于单个元素,快速但难以维护和复用,HTML属性中编写大量样式可读性差。
  2. 样式表:功能强大,支持规则复用、媒体查询等高级特性。但存在固有缺陷,如选择器特异性冲突依赖样式表加载顺序,导致调试困难,开发者常滥用 !important。此外,CSS作为独立语言,与JavaScript的互操作性不足,导致常量等需要重复定义。

Tailwind如何加剧了这些问题 Tailwind本质上是“通过类名实现的内联样式”,但它以一种更糟糕的方式放大了CSS的短板:

  • 可读性与可写性差:样式规则被隐藏在晦涩的、由连字符连接的类名字符串(如 bg-blue text-lg)中,而非清晰的键值对,容易拼错且编辑器难以提供有效提示。
  • 缺乏样式复用机制:官方不提供类似CSS规则集的复用方案,而是建议复制粘贴类名字符串,违背了DRY(不要重复自己)原则。使用常量或组件封装类名时,代码依然冗长且难以维护。
  • 继承CSS的样式冲突问题:由于类由构建工具动态生成,样式顺序不可预测,使得特异性冲突比原生CSS更难调试,导致开发者更频繁地使用 !important 后缀(如 !text-red)。
  • 增加JavaScript包体积:每个元素都需要在JSX中编写冗长的类名字符串,这直接增大了JavaScript文件的体积,影响应用性能(下载、解析和执行),而Tailwind生成的CSS文件体积优势在此被抵消。
  • 需要构建工具支持:Tailwind无法直接用于静态页面,必须依赖插件和构建工具来扫描代码并生成对应的CSS。
  • 开发者体验不佳:开发者需要额外学习Tailwind的抽象类名,相当于双重学习成本。缺乏类型安全,依赖编辑器插件的悬停提示来查看实际CSS。版本更新时,类名重命名需要繁琐的代码迁移。
  • 并非完全解决方案:Tailwind无法处理所有CSS特性(如某些伪元素选择器),开发者仍需回退到原生CSS或内联样式,进一步增加了代码库的认知负担。

Tailwind流行的原因 尽管问题重重,Tailwind成功的原因在于:

  1. 强制统一的常量配置:其配置文件强制团队定义并使用全局的颜色、间距、字体等常量,有效地解决了代码库中样式不一致的问题,提供了开箱即用的“规范”。
  2. LLM与工具链默认支持:许多AI编码工具和教程默认使用Tailwind生成代码,推动了其普及,类似于当年jQuery因大量Stack Overflow解答而流行。

结论与替代方案 作者认为Tailwind集各种缺点于大成。虽然它通过强制配置解决了风格一致性问题,但代价是更高的复杂度和更差的性能与体验。作者更推荐如 vanilla-extract 这类类型安全的CSS-in-JS方案,它们提供了更好的可维护性、类型检查和更小的运行时开销。核心观点是:并非存在“最佳”的全能方案,但Tailwind是“最差”的结合体。

47. Manticore Search: Fast, efficient, drop-in replacement for Elasticsearch (github.com)

Easy to use open source fast database for search | Good alternative to Elasticsearch | Drop-in replacement for E in the ELK stack - manticoresoftware/manticoresearch

48. First Hubble telescope images of interstellar comet 3I/ATLAS (bsky.app)

Hubble Space Telescope images of interstellar comet 3I/ATLAS are out! These were taken 5 hours ago. Plenty of cosmic rays peppering the images, but the comet's coma looks very nice and puffy. Best of luck to the researchers trying to write up papers for this... https://archive.stsci.edu/proposal_search.php?id=17830&mission=hst 🔭

49. AI Market Clarity (blog.eladgil.com)

A subset of AI markets have crystalized in the last 12 months, with the likely market leaders for the next year or two suddenly clear