10x Design in Claude Code and Codex

TL;DR
The Thinking in Java author abandoned a Python book in 2011 and used Claude to finish it in June 2026. The result is a free 47-chapter book with build-verified examples, an honest AI disclosure, and a strong argument about what AI does to long-form technical writing.
Bruce Eckel wrote the books a generation of developers learned from: Thinking in Java and Thinking in C++ taught mental models, not just syntax. He started a Python version of the series in 2008, abandoned it in 2011 with many of the design patterns chapters still written in Java, and publicly said he was never going to finish it. This week the finished book is live at thinkinginpython.com: "Thinking in Python - Insights, Idioms and Patterns," a free 47-chapter read that targets Python 3.15, and the reason it exists is Claude.
The structure is five parts. Part I is a fast foundations tour for programmers coming from other languages, with static typing singled out as the one chapter the rest of the book assumes. Part II covers the idioms that give Python its character: testing, data classes as types, pattern matching, decorators, context managers, comprehensions, metaprogramming, and a performance-plus-concurrency closing pair. Part III reinterprets the classic design patterns for Python and weighs each against the language, on the book's central question: does Python already solve the problem the pattern exists for? The introduction makes the thesis concrete: a Singleton is a module, a Visitor is a function that dispatches on type, and complexity should only be added when the language has no answer. Part IV moves into functional programming, including errors returned as values instead of raised exceptions, and Part V finishes on effects, culminating in the stateless library that brings effect tracking to Python today.
The book targets Python 3.15 and later, uses type hints throughout after the typing chapter, and tests with pytest. The standout engineering claim is the build system: examples are extracted from the source files, then type-checked with Astral's ty, linted, run, and tested, and the output you see in listings is written by the build as #: markers from a real run, so it cannot drift from what the code prints. Every chapter's examples and exercise solutions live in the GitHub repository with uv-based setup, which means the book is reproducible end to end. The license is CC BY-NC-ND 4.0: free to read, but no derivatives and no commercial reuse.
Eckel's introduction is unusually direct about the method. He started the book in 2008, abandoned it in 2011, and in June 2026 decided to see what Claude could do with the existing material. Claude brought it up to Python 3.15, added type annotations, passed standards checkers, and cleaned up prose, and Eckel then went back through his PyCon presentations and blog posts to integrate more of his own work. He describes the process as directing rather than acting: "the director of the movie instead of an actor in it," with every sentence gone over multiple times. The line that will settle most arguments is the one about the tool: without Claude, he writes, the book would not exist; it is free, so readers bothered by AI are free to ignore it. Since August 12 he has been running a post-AI edit loop documented in the repository: edit a chapter, derive guidelines from the edits, apply those guidelines across the book, repeat.
Two details in that write-up are worth more than the disclosure itself. One is that the method enabled ideas that had been deferred for years, like automatically interleaving commented output in listings, which the book now does by construction. The other is his closing observation that the book's knowledge helps him guide AIs toward better solutions, which reframes a reference text as a control surface for AI-assisted work, not a rival to it.
From the archive
Aug 23, 2026 • 8 min read
Aug 23, 2026 • 7 min read
Aug 23, 2026 • 9 min read
Aug 23, 2026 • 9 min read
The strongest and most common reactions are nostalgia plus a live argument about AI authorship. Older readers land on the Thinking in Java years and describe what made the series effective: it built mental models of the language instead of enumerating syntax, and the question is whether this new volume carries that tradition. Feedback on the book's distinctive content is specific and positive, especially the effects chapters, which reviewers call genuinely novel for the Python world and a look at where Python's type system is heading.
The AI debate splits cleanly into the two positions the disclosure was written to preempt. One camp holds that anything AI-generated is slop by default and the moral origin matters more than the result. The other, larger camp argues the useful distinction is not who wrote it but whether it was edited, and treats the book as evidence: the formatting is unusually clean, the examples run, and the author's openness about the process and his visible post-AI edit checklist make this a very different artifact from unedited generated content. A smaller set of criticisms is technical: Python 3.15 is still in prerelease, so targeting it is a statement about the near future rather than current stable; the NC-ND clause blocks the remixes and translations free culture normally gets; and e-reader users note the book ships web-first, with the epub buildable from the repo but not linked from the site.
This is the cleanest published example yet of the "AI as director, human as editor" workflow on a long-form project, and it is priced at zero, so it is worth reading for the method even if Python is not your language. Three things generalize.
First, the build-verified examples are the pattern to steal. When output markers are regenerated from actual runs, forgetting to update a listing becomes impossible, which is the same discipline that makes example code in any reference trustworthy. Second, the design-pattern reframing is the book's intellectual core and it transfers to any language: before implementing a pattern, ask whether the language already dissolves the problem. Third, the honest disclosure plus a public edit log is a template for AI-assisted work at any scale - it converts the authorship question from an accusation into an inspectable process.
The book assumes an experienced programmer and reads like a conversation with someone who has taught this material for decades. If you want to see what one of the most influential technical authors of the internet era could not do without AI but could direct with it, this is the artifact to study.
Read next
A developer discovered that Claude Code's thinking output is summarized, not the raw reasoning. Here's what Anthropic's docs actually say - and why it matters.
5 min readRuff v0.16.0 ships 413 default rules (up from 59), Markdown code-block formatting, and a new ruff: ignore system. Here is what changed, what HN is saying, and why zero-config linting matters more with AI coding agents.
5 min readHow a 60-second auto-continue timer shipped to Claude Code without documentation, what it reveals about agent safety assumptions, and how to disable it.
7 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Open-source AI pair programming in your terminal. Works with any LLM - Claude, GPT, Gemini, local models. Git-aware ed...
View ToolHigh-performance code editor built in Rust with native AI integration. Sub-millisecond input latency. Built-in assistant...
View ToolAnthropic's Python SDK for building production agent systems. Tool use, guardrails, agent handoffs, and orchestration. R...
View ToolMost popular LLM framework. 100K+ GitHub stars. Chains, RAG, vector stores, tool use. LangGraph adds stateful multi-agen...
View ToolModify Jupyter notebook cells directly without touching JSON.
Claude CodeToggle with Alt+T. Claude reasons through complex problems before responding.
Claude CodeReal-time prompt loop with history, completions, and multiline input.
Claude Code
Build a Self‑Improving Next.js App: Supabase + Vercel Eve + GitHub Issues + Agent Loops Check out Supabase: https://supabase.plug.dev/1wWOTGS The video demonstrates how to build and deploy a self-im...

Nimbalyst Demo: A Visual Workspace for Codex + Claude Code with Kanban, Plans, and AI Commits Try it: https://nimbalyst.com/ Star Repo Here: https://github.com/Nimbalyst/nimbalyst This video demos N...

Try out GitKraken here: https://gitkraken.cello.so/myw3K67IkCr to get 50% GitKraken Pro. In this video, we explore GitKraken, a robust Git GUI that not only visualizes your Git repository...

Cloudflare's JavaScript-native RPC on Workers now works across languages: TypeScript Workers can call methods on Python...

Ruff v0.16.0 ships 413 default rules (up from 59), Markdown code-block formatting, and a new ruff: ignore system. Here i...

How a 60-second auto-continue timer shipped to Claude Code without documentation, what it reveals about agent safety ass...

A developer built a complete X11 server in 20,000 lines of assembly language using Claude as a compiler, running Firefox...

Google rebrands NotebookLM to Gemini Notebook, integrating the popular research tool deeper into its AI ecosystem. Here...

A Haskell Foundation board member explains why Scarf moved to Python after 7 years in production. The culprit: LLM-drive...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.