HN
Today

I'm sorry, but you still have to think

This article meticulously dissects AI-generated code rewrites, revealing subtle but critical flaws in performance and design decisions. It directly challenges the notion that AI obviates the need for deep technical understanding and careful human oversight in complex systems. Hacker News loves this detailed debunking, especially as it critiques a prominent figure's controversial views on AI's current coding capabilities.

146
Score
53
Comments
#5
Highest Rank
5h
on Front Page
First Seen
Oct 11, 5:00 PM
Last Seen
Oct 11, 9:00 PM
Rank Over Time
511131927

The Lowdown

Piotr Sarnacki takes aim at the idea that AI agents (dubbed "clankers") can fully automate complex software rewrites without human critical thought, using DHH's experiment of porting Campfire from Ruby on Rails to Rust, Elixir, and Go as a case study. The author meticulously analyzes the resulting codebases, exposing their hidden complexities and critical deficiencies.

  • Inconsistent Design Choices: The AI-generated rewrites exhibit significant non-functional differences, making direct comparisons difficult. Crucial decisions regarding backward compatibility, caching, and persistence (e.g., Rust dropping Redis for in-process queues) were implicitly made by the AI due to underspecified prompts, leading to disparate system behaviors.
  • Subtle Performance Bottlenecks: The Rust version, despite being written in a performance-oriented language, contained critical flaws like blocking operations within async tasks and improper use of synchronous locks, which severely hampered performance in a cooperative scheduling environment.
  • Flawed Benchmarking: Initial benchmarks were inadequate, leading to misleading conclusions. Deeper analysis, including Zach Daniels' findings of a 1% notification delivery rate in the Rust version under load, highlighted the need for sophisticated and context-aware testing methodologies.
  • Trade-offs are Paramount: The article stresses that programming is inherently about navigating trade-offs. Claims of language superiority (e.g., Elixir's concurrency) often overlook the costs (higher memory, less low-level control) and system-specific failure modes. A single metric rarely tells the whole story.
  • The Illusion of Simplicity: A seemingly simple change to Rust's broadcast channel capacity drastically improved delivery rates but at the cost of significantly increased latency, mimicking the issues seen in the Elixir version. This illustrates that designing for failure modes and setting sensible system constraints requires conscious, human-driven thought, not blind reliance on AI.

Ultimately, Sarnacki concludes that the fantasy of "not having to read the code" or "stop thinking altogether" remains just that—a fantasy. Critical thinking, a deep understanding of system mechanics, thoughtful design of trade-offs, and meticulous benchmarking are more essential than ever in the age of AI.

The Gossip

AI's Coding Quandaries

Commenters debate the efficacy of AI in complex coding tasks like language rewrites. Some initially view it as an "ideal use case" for AI, expecting high-fidelity translation given the existing codebase and test suites. However, the prevailing sentiment is that while AI can translate, the "10%" of nuanced architectural and performance decisions it misses are precisely the hardest parts, requiring immense human effort to identify and fix. There's a consensus that AI is useful for well-architected foundations or adding features, but not for replacing deep engineering expertise.

The Thinker's Conundrum

A core theme revolves around the article's central premise: the enduring necessity of human thought and critical analysis in software engineering. Many agree that understanding code, making informed trade-offs, and preventing subtle bugs remain indispensable skills that AI cannot yet replicate. A thought-provoking counterpoint suggests that while thinking is crucial for quality, the economic realities of "shitty software" in SaaS land (where customers might suffer but not leave) question whether such deep thought always aligns with corporate shareholder value. Another perspective raises concerns about workplace cultures that discourage human input, labeling those who question AI-generated code as "anti-AI troublemakers."

Brandolini's 'Workslop' Burden

Several commenters highlight "Brandolini's Law" (also known as the Bullshit Asymmetry Principle), which states that the effort required to refute misinformation is orders of magnitude greater than that needed to produce it. This principle is directly applied to AI-generated code, coined as "workslop." The concern is that AI can churn out imperfect solutions with ease, shifting an immense debunking and rectification burden onto human engineers. This dynamic can lead to a cycle where providing feedback results in more AI-generated, equally flawed, and time-consuming revisions.

DHH, 'Clankers,' and Controversy

Discussion touches on DHH's role in initiating these AI rewrites, with some speculating his actions are intended to generate controversy and interest for his new framework, Omarchy. There's also a belief that he deliberately mishandled the Elixir rewrite, making it look bad. Separately, the use of the term "clanker" for AI agents sparks a minor debate: some users were unfamiliar with it, while others recognize it from sci-fi or view it as an ideologically charged term used by those critical of AI.