Oct 2025

Languages

  1. Rust

    • Generic Asoociated Types 如何理解 async traits 及更为基础的 GAT?
    • Polonius: Rust's new borrow checking
      • Pros: more precise, fewer false errors, ability to accept more safe code, groundwork for self-borrows.
      • Cons: more complex analysis, potentially more memory and CPU overhead, risk of regressions for big codebases
    • Polonius Book
    • We Deleted Tokio From Our Payment System and Cut Cloud Costs by $127,000 Medium 上的标题党也是越来越多了,这篇文章尝试得出了一个不算太错误的结论,但却做出了完全错误的归因。
      • 这个业务场景技术要求其实很低,QPS < 1000,根本用不上什么高大上的技术,使用 Thread 完全是满足要求的。
      • 但将成本原因归结于 async 却是头痛开错了药方,虽然杀鸡用了牛刀,但杀不死鸡并不是牛刀的问题,而是作者在 async 框架中使用了 sync 的 postgres 库,而又只配置了较小的线程, 导致大部份线程实际上处在 Blocking 状态,导致 RTT 大幅提升。 这种错误的归因,其危害不亚于选择笨重的框架。
    • Rust Compiler Time Function Evaluation 介绍了 CTFE 的原理,以及和 C++/Zig/D 语言的对比。
    • GUII Just Ended Cross-Platform Comproise Zed 项目中的 GUI 框架,目前还处在开发阶段,只支持 MacOS。
    • Fory: 又一个序列化框架 与 Rust 结合精密,但支持 Java/Python/C++/Go 等语言。
      • schema less
      • no code generation (using Rust Macro)
      • no version mismatches 我最好奇的是,它居然 TPS 比 protobuf 高(但对比数据中 protobuf 又和 JSON 相差不大)?这个有疑点。
    • How to avoid fighting Rust's borrow checker
  2. Zig

    • Zig 0.15.2 Released 据说又是一个破坏性的版本。

Mpp & OLAP

  1. DataFusion 有一段时间没有跟进 DataFusion 的新特性了。
    • 48.0.0
      • performance: fewer unnecessary projections
      • performance: Accelerated string functions(ascii, character_length)
      • performance: Constant aggregate window expressions
      • grammar: order by all
    • 49.0.0
      • performance: dynamic filters and topK pushdown
      • async UDF
    • 50.0.0
      • performance: dynamic filter pushdown improvements(for hash joins)
      • performance: nested loop join optimization
      • parquet metadata caching
      • grammar: support qualify stmt
      • grammar: filter support for window functions

Web & Frontend

  1. RippleJs 一个试图结合 React, Solid, Svelte 的新组件框架,使用了自定义的语言(类似 JSX)。

    对我来说,我还是倾向于不创造一门语言。

AI & Agent

Misc