RSSAmplifier

Blog

Race Condition

A Blog by Josh Adams

racecondition.softwareRSS feed ↗15 posts

Latest posts

Sixty-One Percent More Thought, Five Percent More Prose

Opus 5 and Opus 4.8, Measured on 1,097 German Sentences — Anthropic released Opus 5 on July 24, 2026. I had, at that moment, a job queued that wanted exactly this sort of model. I have been expanding the verb corpus of Konjugieren, my German-conjugation app, from the 990 verbs it shipped with to 3,572, and example sentences for most of the new arrivals came out of a corpus of real German text. For…

The Aside That Built a Test Suite

Two Asides, Nine Stale Claims, and a Knight Named for a Bear — An emoticon-embellished joke that I made to Claude Code led me down a deep rabbit hole. This joke, seven words long, was not a request for the coding agent to perform work. But by the end of the day, the joke had resulted in a new tool in my repository, fixes for nine documentation defects, the discovery that one of my app’s features…

The Fable and the Opus

Anthropic’s New Model, Measured as a Code Reviewer — A fable is a story that speaks: Latin fabula, from fari, “to speak”, and in the genre as Aesop and La Fontaine practiced it, the speaking is done by animals. An opus is a work: the crafted thing itself, named for its workmanship. Today, June 9, 2026, Anthropic released Fable 5, a new model positioned above Opus 4.8 and priced at twice Opus’s…

Maximum Effort, Measured

When Claude Code’s Hardest Setting Earns Its Keep — Every prompt I send to Claude Code carries a hidden dial. Turn it one way and I wait twice as long, and pay nearly twice the tokens, for an answer I could have had sooner. Turn it the other way and I get a competent, forgettable response to a question that deserved judgment. The dial is called effort, and for the seven months I have used Claude…

When Refusals Don’t Translate

An Experience Report from a German-Locale On-Device LLM — I was preparing a new release of my German verb-conjugation iOS app, Konjugieren, and I noticed something strange about its on-device AI tutor. The tutor would occasionally produce a polite German refusal, “Ich kann dir keine Filmempfehlungen machen…”, and then render that refusal inside the speech bubble as if it were a verb-conjugation…

Trust, Then Verify

A Claude Code Skill for SwiftUI Build and UI Verification — The single highest-leverage practice in agentic iOS coding, as of mid-2026, is the one Anthropic’s Best Practices for Claude Code names directly: “Give Claude a way to verify its work.” On the iOS side, that practice has been hard to apply. I have built a Claude Code skill called ios-build-verify that makes it cheap.

Borrowing Taste from the Web

An iOS Port of Anthropic’s frontend-design Skill — Default SwiftUI is the iOS equivalent of AI slop. Left to its own defaults, a general-purpose coding assistant will hand you .body fonts everywhere, flat black or white backgrounds, list rows that run edge-to-edge without structural framing, and screens that look indistinguishable from, for example, the kind of toy app one builds while learning…

A Tiny Language for a Tiny Corner of German Grammar

Why Konjugieren Needed More Than Markdown — Markdown is, for most writing tasks that a developer encounters, the right tool. It is small, it is familiar, and its delimiters have become a kind of lingua franca for prose that wants a little structure without the ceremony of HTML. But Markdown, for all its virtues, has no opinion about the internal morphology of a German strong verb. When I set out…

What Belongs in CLAUDE.md

Separating Rules from Reference in 49,505 Characters — Not all documentation serves the same purpose. A style guide tells you what to do on every page. A glossary tells you what a word means when you encounter it. A phone directory tells you how to reach someone when you need her. These are different instruments, and combining them into a single document does not produce a style guide that is also…

What an AI Code Review Actually Finds

Sixteen Issues, Ranked by Severity, in a Shipping Codebase — Reviewing your own code is hard. Not because you lack the skill, but because you lack the distance. You wrote the code; you know what it is supposed to do; and that knowledge of intent inoculates you against noticing what the code actually does in its edge cases, its error paths, and its quiet inconsistencies. I recently asked Claude…

Parallel Translation at 216x Human Speed

Localizing 65,000 Words with Seven Agents — A professional translator produces roughly 2,000 to 3,000 words per day. At that rate, localizing 65,000 words of app content from English to German would take a single translator three to four weeks. Seven AI agents, running in parallel with a fan-out/fan-in architecture, completed the same work in thirty-three minutes. The effective rate was 216 times…

You Help Claude, Claude Helps You

A Feedback Loop for AI-Assisted Development — The standard narrative about AI-assisted software development is seductively unidirectional: describe what you want, the AI writes the code, and you ship faster. This narrative is not wrong. It is merely incomplete. Over six weeks of building an iOS app with Claude Code, I discovered that the highest-impact practice was not writing better prompts. It…

High-Quality Pull-Request Descriptions

Much Benefit — One of the primary duties of a software developer is enhancing and fixing existing codebases. We do this by raising pull requests (PRs), getting them approved, and merging them to the codebase. I have been performing this duty for the entirety of my fifteen-year career as a software developer, and I’ve amassed a toolkit for this process. One tool is raising error-free PRs. I wrote…

Live-Coding Exercises

Non-Obvious Tips for Preparation and Execution — One of the most-read posts on this blog is this one about typical iOS take-home coding exercises. The post has 3,797 views at time of writing, and several readers have privately thanked me for writing it. But, in my experience, the application process for many companies involves not a take-home coding exercise but rather a live-coding exercise. The…

Introducing iOSExpert

Don't just crack the iOS interview. Crush it! — Loyal readers of this blog may have noticed a decrease in post frequency since January 2023. The reason for this decrease is that I spent most of 2023 creating a video course, iOSExpert. This post describes iOSExpert and presents some learnings from the creation process.