Published October 11, 2026 · Added October 11, 2026

I'm sorry, but you still have to think

Piotr Sarnacki examines the agent-written rewrites of 37signals' open source Campfire Once chat app that David Heinemeier Hansson published in Rust, Elixir and Go, arguing the comparison is undermined by design decisions the models made on their own. The Rust port drops full backwards compatibility and its CSRF token to make caching easier and swaps Redis for in-process queues, while the Elixir port tracks the Rails original much more closely, so the ports are not measuring what the benchmark claims. He also points out that the Rust code runs some database operations and synchronous locks on blocking paths inside an async runtime, notes that the closed-loop benchmark behind the debate measured throughput while a separate test by Zach Daniels found the Rust version delivering about 1 percent of new-post notifications under heavy load versus 100 percent for Elixir, and concludes that coding is not solved, that one-shot ports and their benchmarks need to be read rather than trusted, and that language and design trade-offs still require human judgement.

Piotr Sarnacki examines the agent-written rewrites of 37signals’ open source Campfire Once chat app that David Heinemeier Hansson published in Rust, Elixir and Go, arguing the comparison is undermined by design decisions the models made on their own. The Rust port drops full backwards compatibility and its CSRF token to make caching easier and swaps Redis for in-process queues, while the Elixir port tracks the Rails original much more closely, so the ports are not measuring what the benchmark claims. He also points out that the Rust code runs some database operations and synchronous locks on blocking paths inside an async runtime, notes that the closed-loop benchmark behind the debate measured throughput while a separate test by Zach Daniels found the Rust version delivering about 1 percent of new-post notifications under heavy load versus 100 percent for Elixir, and concludes that coding is not solved, that one-shot ports and their benchmarks need to be read rather than trusted, and that language and design trade-offs still require human judgement.

Read the original story.

Source: Itsallaboutthebit