Diagram of a split agent architecture with a planner process and an executor process connected by a control channel.

Split Agent Architecture in Harness: Separating Reasoning from Execution

Harness separates its AI coding agent into a lightweight planner and a sandboxed executor. Here’s why that split matters for latency, security, and observability.

September 5, 2026 · 8 min · 1519 words · martinuke0
A schematic of a processor core with transactional memory highlighted.

Why Hardware Transactional Memory Failed to Go Mainstream

Hardware transactional memory promised easy lock‑free programming, but a mix of hardware complexity, unpredictable performance, high silicon cost, and insufficient language and library support kept it from widespread adoption.

May 19, 2026 · 7 min · 1309 words · martinuke0
Diagram of a lockless queue with arrows showing state transitions.

Formal Verification of Lockless Data Structures Using TLA⁺

This article walks through modeling lock‑free queues and stacks in TLA⁺, proving safety and liveness, and offers practical tips for scaling verification to production code.

May 16, 2026 · 7 min · 1424 words · martinuke0
Illustration of Rust code with lock symbols forming a deadlock cycle.

How Formal Verification Prevents Deadlocks in Concurrent Rust Systems

A deep dive into how formal verification methods—like model checking and type‑level proofs—eliminate deadlocks in Rust’s concurrent code, with practical examples and tool recommendations.

May 16, 2026 · 7 min · 1460 words · martinuke0
Illustration of a type checker looking at code while runtime chaos erupts.

Why Static Type Checkers Fail at Runtime Type Safety

Explore why static type checkers fall short of ensuring runtime safety, the mechanisms that break static guarantees, and practical strategies to bridge the gap.

May 15, 2026 · 6 min · 1229 words · martinuke0
Feedback