Formal Methods for Critical Systems
A bounded, explicit case study in modeling versioned object deletion with TLA+, connecting invariants to Rust and object-storage semantics, and stating what was—and was not—proved.
Engineering notes by Haili Zhang
Practical writing about Rust, distributed systems, storage engines, and the data structures beneath them.
A bounded, explicit case study in modeling versioned object deletion with TLA+, connecting invariants to Rust and object-storage semantics, and stating what was—and was not—proved.
A source-guided tour of ClickHouse columns, MergeTree parts, sparse indexes, query plans, processor pipelines, aggregation, and distributed execution.
How to push aggregation into heterogeneous sources without losing algebraic, SQL, consistency, or failure semantics.
A historically versioned review of Rust libraries and frameworks that made meaningful releases in 2025.
A precise guide to the Proxy-Wasm execution model, a Rust HTTP filter, Envoy configuration, and the production constraints that matter.
How durability logs, replicated commit boundaries, and retention watermarks work together without conflating persistence, consensus, visibility, and safe log cleanup.
A systems-level guide to io_uring submission and completion queues, ownership, registered resources, batching, and the Rust abstractions that make completion-based I/O safer.
A practical look at borrowing, shared buffers, memory mapping, zero-copy parsing, and kernel-assisted I/O—and what zero-copy really means at each boundary.
A compileable, testable guide to defining stable boundaries with traits, associated types, static dispatch, and trait objects.
A historically versioned review of ten Rust libraries that shaped practical application, CLI, database, observability, and analytical development in 2024.
Traffic channels, pre-release testing, canary rollout, and A/B testing: using isolated instance sets plus dynamic routing to make production change safer.
Circuit breakers, fallbacks, and bulkheads: how to fail fast, degrade gracefully, and keep one failing dependency from consuming the whole system.
Client-side load balancing, retries, backoff, jitter, and timeouts: the first layer of containing failure in a distributed microservice system.
How service discovery and dynamic routing turn a changing fleet of microservice instances into stable, policy-driven service communication.
No posts match that search.
SoftWheel is a collection of implementation notes from rebuilding core systems and data structures. The goal is to expose the decisions that polished libraries usually hide.
Topics include storage engines, concurrency, distributed protocols, Rust, and production engineering.