NOTE: This site has just upgraded to Forester 5.x and is still having some style and functionality issues, we will fix them ASAP.

Learning diary › Year 2025 › July, 2025 › 2025-07-03 [2025-07-03]

#cg #ebpf #gpu #news #os #simd #software #sqlite #wasm #web
- #rust
    - Introducing tmux-rs
        - initially used c2rust, a tool to migrate C code to (unsafe) Rust
            - didn't keep constant name
            - lots of casts polluting the code
            - still requires looking at the origin C code for rewriting
        - went with manually translating one file at a time
            - start with linking rust static lib to C
            - end with linking c to rust via crate `cc`
        - fixed interesting bugs
        - summarized C patterns in Rust
        - nice quote: "You might be asking: why did you rewrite tmux in Rust? And yeah, I don’t really have a good reason. It’s a hobby project. Like gardening, but with more segfaults."
        - skim-rs/skim: Fuzzy Finder in rust!
    - The scary and surprisingly deep rabbit hole of Rust's temporaries
- #ai-slop
    - The rise of Whatever
    - EBAF – eBPF Based Ad Firewall
        - it's pointed out on HN that
            - its doc and code are both AI slop
            - install script adds sudoers rules to allow ebaf executable to be run with no password
            - allows any ebpf code to be loaded into the kernel without a sudo password
            - re-resolves all 1k+ domain names every 600 seconds
- Poor Man's Back End-as-a-Service (BaaS), Similar to Firebase/Supabase/Pocketbase
    - possibly useful
- #zig
    - async is back
        - Zig breaking change – initial Writergate (on HN)
    - Zig's New Async I/O
    - Zig's new Writer
    - WebGPU in zig
        - bronter/wgpu_native_zig: Zig bindings for wgpu-native
        - Silverclaw/zig-wgpu-native: Zig bindings for the wgpu-native graphics API - Codeberg.org
    - KurtWagner/zlinter: An extendable and customisable Zig linter that is integrated from source into your build.zig.
        - I should integrate it with my zig code
    - Zig CLI Bible tool for the WEB translation in USFM format
    - Base64 for compression
        - assembly used to pass octal escape codes for UTF-8 and expand significantly
        - GCC 15 now supports base64 encoding of data during compilation, with a new “base64” pseudo-op
    - The most mysterious bug I solved at work
        - root cause: copying a hyphen at the end of a text-wrapped line in Microsoft Edge's PDF viewer, you get `0x2` (meaning "start of text") on your clipboard
    - note that I put most C stuff and low-level technical details under #zig for now
- #sec
    - I scanned all of GitHub's "oops commits" for leaked secrets (on HN)
    - goHardDrive Leaked Personal Data for Thousands of Customers
- Introducing the first alpha of Turso: The next evolution of SQLite
    - rewritten is Rust, with full compatibility and new features
    - Antithesis, a continuous reliability platform that autonomously searches for problems in software within a simulated environment, so these problems are deterministic reproducible
- #agent
    - Writing Code Was Never The Bottleneck
        - agent coding influenced mentoring young, ambitious, but inexperienced interns
    - WASM Agents: AI agents running in the browser (on HN)