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-01 [2025-07-01]

#agent #agent/tasking #codegen #compiler #debugger #duckdb #gpu #haskell #json #llvm
- #agent
    - Claude Code now supports hooks (on HN)
        - Claude Code hooks: user-defined shell commands that execute at various points in Claude Code’s lifecycle.
    - archgw
        - preference-based LLM routing
        - agent routing and hand-off
        - guardrails
        - clarify and convert prompts to tools/API calls
        - observability
    - Interesting prompts found in vscode-copilot-chat
    - Stream per agent session
    - Using Claude Code to build a GitHub Actions workflow
        - recorded by Descript: Edit Videos & Podcasts Like a Doc | AI Video Editor
            - Direct your AI co-editor to turn your vision into video
    - Building a Personal AI Factory
    - How large are large language models?
- Doing My Day Job on Chimera Linux
    - Chimera is built from scratch using novel tooling, approaches, and userland (FreeBSD + Musl C)
    - Distrobox creates a container that's tightly integrated with the host (break isolation whenever possible)
- #formal
    - From Python Programmer to Distributed Systems Researcher in 10 Years Without a PhD
        - Conformance Checking at MongoDB: Testing That Our Code Matches Our TLA+ Specs
            - use the model-checker to output the entire state graph for the spec. The state space is a DAG, with a finite number of behaviors (paths from an initial state to a final state). There are 30,184 states and 4913 behaviors. Max wrote a Go program to parse the model-checker’s output and write out a C++ unit test for each behavior, 4913 tests in total.
    - Rapid Prototyping a Safe, Logless Reconfiguration Protocol for MongoDB with TLA+
- #zig
    - The build cache of Zig
        - how the cache is structured
        - what's included in hash to check modification
        - incremental compilation: working toward cache per top-level declaration
        - cross compilation: musl, libc, compiler-rt, libunwind etc. are compiled from source and cached
    - Zprof: Cross-allocator profiler
- #anti-bot
    - Cloudflare: Introducing pay per crawl: enabling content owners to charge AI crawlers for access
        - Cloudflare Introduces Default Blocking of A.I. Data Scrapers
    - The web's broken deal with AI companies
- My Database Is My Application: Rethinking Webhook Logic with DuckDB and SQL
    - DuckDB as an in-process SQL engine capable of acting as a programmable substrate for data transformation at runtime
    - manifold
        - a Java compiler plugin
        - use DSL directly and type-safely from Java
            - SQL, JSON, GraphQL, XML, YAML, CSV, JavaScript
- #diagram
    - OpenFLOW – Quickly make beautiful infrastructure diagrams local to your machine
        - based on markmanx/isoflow
    - mmastrac/stylus: Lightweight status page for home infrastructure
        - architecture and health status
- #lang
    - Reflections on Haskell and Rust
    - The KDL Document Language
        - From XML to JSON to CBOR
            - Concise Binary Object Representation (CBOR)'s evolution optimizes for binary efficiency while maintaining JSON's flexible data model
                - flexible data model
                    - intentionally builds upon the JSON data model
                        - supporting equivalent types (numbers, strings, arrays, maps, booleans, and null)
                        - adding native support for binary byte strings
                    - extensibility without version negotiation: forward compatibility
                    - schema-free decoding: Self-describing data items, parsable without predefined schemas
                - for Internet of Things (IoT) and constrained environments
                    - compact code size: minimal code footprint for memory-constrained devices
                    - reasonable message size: and without complex compression
        - Essential and accidental configuration
        - bikeshed, a spec preprocessor
            - Bikeshed-flavored Markdown
            - related
                - awesome-standards: A curated list of technical standards
                - quickly converting djot to html+mathml
                    - djot is a markdown variant
                        - it "fixes a few things that make commonmark's syntax complex and difficult to parse efficiently"
                            - more strict but very reasonable
                        - it can be converted from markdown by pandoc
                - Markdown Monster
                    - detect markdown parser variants
    - 10 features of D that I love
        - I like
            - in/out contract
            - parenthesis omission
        - seen and liked in other language
            - like zig's `comptime`: an interpreter for the language which allows a very large amount of D code to be ran at compile time
            - `baz(bar(foo))` can be rewritten as `foo.bar().baz()`
    - Pluto is a unique dialect of Lua with a focus on general-purpose programming (on HN)
    - The Chapel Programming Language
        - GPU programming on NVIDIA and AMD
    - Onyx Programming Language
        - inspired from languages like Jai, Odin and Zig
        - compiles to WebAssembly, run on Wasmer
    - Helix language
- #rust
    - Exception handling in rustc_codegen_cranelift
        - introduces "landing pad" style expcetion handling
            - see also Lele's Memo: Landingpad
        - unwinding ABI crash course
            - personality function: language-specific data format during unwinding
        - the appendix provided a gdb script for reproducing the debugger session
    - Alternative Blanket Implementations for a Single Rust Trait
    - It's Types All the Way Down - Rust CLI with Clap (on HN)
- #agent/tasking
    - MrLesk/Backlog.md: Backlog.md - A tool for managing project collaboration between humans and AI Agents in a git ecosystem
    - Vibe Kanban - Orchestrate AI Coding Agents
    - VibeTunnel - access terminal from the browser to command agents
- #misc
    - Melbourne man discovers extensive model train network underneath house (on HN)
    - Feasibility study of a mission to Sedna - Nuclear propulsion and solar sailing
    - GPEmu: A GPU emulator for rapid, low-cost deep learning prototyping [pdf] (on HN)
    - Converting a large mathematical software package written in C++ to C++20 modules (on HN)