Four Java Bugs That Bad Indentation Hides in Plain Sight
javac does not care what your code looks like. Whitespace carries zero meaning in the Java Language Specification, so the compiler reads your file a…
Tech news from the best sources
javac does not care what your code looks like. Whitespace carries zero meaning in the Java Language Specification, so the compiler reads your file a…
I've been thinking about a problem with AI code review that I don't see discussed enough: a reviewer can be technically correct and still make the w…
On June 29, 2026, a mobile app reported that "the first wave of parity with the PC version is complete, 162 tests green." When we actually touched i…
Introduction This is my first post. It has been one year since I became an engineer with no prior experience. Now, once you become an engineer and s…
You said you'd remove that flag after launch. You lied. It's been six months and the flag is still in appsettings.json , the if statement is still i…
CI is so commonplace these days, we don’t often think about why it’s there. And that reasoning really matters these days, because of how we use it.…
Originally published at fathohm.dev . The term "comprehension debt" is Jason Gorman's, from September 2025, carried by Addy Osmani in March 2026 — t…
A month ago I shipped aicraft-code-review , an MCP server that reviews code locally. This week I added a CLI mode — because not everyone wants to wi…
I used to take ferocious pride in my Vim skills. I knew all the hot keys, tricks and tips. I wrote macros, memorized register mappings and even dabb…
Vibe coding ain’t what it used to be. Back in the old days (2 years ago), we conjured up apps with our own programming language. Turns out, it does…
Is AI code debt the new technical debt? As I keep learning, generating code and examining it – it’s worse. In the old days, we worked hard to create…
Running LLM jobs over hundreds of items, the obvious shortcut is to collapse execution and verification into one model pass: one call, one output, s…
Two pull requests land. A colleague wrote one by hand, and you read every line. The other came out of an AI tool, and it looks clean, consistent, an…
Last night I found three checks in our own codebase that could not fail. Not checks that were failing to catch things. Checks that were structurally…
The Core Argument : AI agent reliability isn't achieved by "making the agent smarter" — it's achieved by the simple engineering principle of separat…
The PR review meeting usually starts with good intentions: reviews are stalling, so put everyone in a room and clear the queue. It works once. Then…
I have a pipeline that generates document scaffolds — skeletons with blanks for a human to fill in. Every generated file looks roughly like this: &l…
Why Code Reviews Matter Code reviews are one of the most effective ways to catch bugs, share knowledge, and improve code quality. But without good h…
You know that "GA" line in a changelog that you skim past, until a month later Finance emails asking why the invoice grew? This one shipped with the…
You finish a piece of work. You ask AI to review it. It says "looks good." You publish. It wasn't good. You had no way to know. That's the problem w…
If you’ve spent any time recently writing detailed product requirement documents or meticulously crafting ticket specifications, you’ve probably not…
A developer added an AI reviewer to a small Node and React project expecting an easy win. At first, the comments looked useful. Then the reviewer st…
AI made writing software cheap. That is the obvious story. More code, more prototypes, more pull requests, more “I built this in one afternoon” mome…
Once upon a time in 2018 I posted a few of my written articles to Reddit and got some replies where I was accused of "posting low quality responses…
Give an agent a simple task: Add an optional loyalty discount to retail pricing. Enterprise pricing and the public API must stay unchanged. Twenty m…
The morning I announced what I'd been building, a comment showed up on the post. It was friendly. It opened with a compliment, agreed with me, and t…
It's okay if you don't know everything. It's okay if your code isn't perfect. It's okay if your first few internship applications get rejected. Ever…
I spent tonight building a methodology for turning personal tools into open source contributions. Before publishing it, I decided to let the methodo…
AI coding agents are useful because they can make large changes quickly. That is also the reason I do not want to merge their patches just because t…
The first time we needed yesterday's CodeQL findings for a tracking ticket, I clicked through the Code Quality UI for about ten minutes, copied a ru…