The original software geek. Author of 5 books and some of Clean Code. Bringing delight to software development.

Colorado Springs, United State
Joined July 2008
Changing behavior with AADV (AI Assisted Development with Verification) new post on Substack! jjlangr.substack.com/p/chang… Adding new behaviors means regenerating entire modules. How do you begin to accomplish that in a well-designed, multi-module solution?
164
Examples: The lingua franca of AADV? New AI Code Correct substack post! When doing AI-assisted development with CAX, examples are the basis for compiling intent into code and tests, like a compiler produces executable artifacts. open.substack.com/pub/jjlang…
133
"Behavioral drift in AADV" LLMs hallucinate intent, too, during code generation. Why it's a problem and some thoughts on addressing it. open.substack.com/pub/jjlang…
106
AADV: Better vibes than (bad) vibe coding open.substack.com/pub/jjlang…
112
Many of the skills needed to succeed at AI-assisted development (with verification!) aren't terribly daunting. Learning how to supply examples to the LLM is at the core of AADV; this AI Code Correct post provides an introduction. jjlangr.substack.com/p/aadv-…
1
82
Not "all vibe coding is bad," but defining a dev process in a tweet is irresponsible. We know how it will mostly turn out AI Code Correct post: "Squelching bad vibe coding," in which I review my approach to AI-assisted development. jjlangr.substack.com/p/squel…
77
AI Code Correct: Avoid bad vibe coding! Latest post: A (free) follow-up to the CAX-driving of a cyclomatic complexity module. When CAXing a cyclomatic complexity module, why did the LLM generate a non-compliant cyclomatic solution, failing two tests? jjlangr.substack.com/p/a-del…
88
Spring Sale Week Two Text, Tools, and Testing 40% Off – This Week Only! Code: 2025testing at checkout Titles on sale this week -
1
3
3
823
AI Code Correct: "CAXing a cyclomatic complexity model." jjlangr.substack.com/p/caxin… The LLM generates a solution that fails errant examples. Fixing them gets me to 100% compliance. Next up: Thoughts on why this occurred.
56
Week two of the Pragmatic Bookshelf's Spring Sale starts Wednesday April 16! Pick up a copy of Pragmatic Unit Testing in Java (3e) at a 40% discount! lnkd.in/gEDvsfsg
1
82
Promo code: 2025TESTING
69
Do well-designed LLM solutions comply more? open.substack.com/pub/jjlang… (Proposed research for LLM code generation via AADV/CAX. A true teaser--no answer yet. Help shape the research!)
86
"Prompt, Pray, Repeat"--latest AI Code Correct post , in which I make a hypothesis that does not hold true. The LLM does respond really well to a prompt including some specifics about the solution's design, though. lnkd.in/gFyvXWPz
1
2
592
"Prompt, Pray, Repeat"--my latest AI Code Correct Substack post , in which I make a hypothesis that does not hold true. The LLM does respond really well to a prompt including some specifics about the solution's design, though. lnkd.in/gFyvXWPz
72
Your LLM-generated code *will* inevitably demonstrate a compliance gap. At least you'll have tests that fail, if you're practicing CAX. What then, though? In this post: a simple example gone wrong, and a thankfully near-effortless resolution. jjlangr.substack.com/p/cax-f…
74
Looking for a new exercise for interviewing, a practice problem to learn a new language, or a first intro to TDD? The name normalizer kata: github.com/jlangr/name-norma… Solutions in many languages, Python conspicuously missing. I'd love a good contribution.
1
2
1,332
we must start breaking the loop: Help feed the AI models with better code, via AAD jjlangr.substack.com/p/ai-as…
63