Home brewer 🍻 Mopar and motorcycle junkie 🔧 🎓adjunct instructor @abtech_cc and All things tech @extFoundation 2026 @blueridgeruby organizer

Asheville NC
Joined May 2009
At some point a while back I told Claude I wanted it to always make a prediction before running a verification or diagnostic (e.g. one-off test, task, or prod query). I've found this to be a really helpful high-level instruction.
1
1
13
580
Mark Locklear (@[email protected]) retweeted
Saw someone on here expressing disbelief that anyone can exhaust the usage limits on a Claude max plan on any sort of regular basis and it amused me so much. I'm 52 years old, have been a high-ambition software professional for close to 30 years and I'm pretty sure that THIS WEEK (Oct 4-10) is in fact the most productive week of my entire life, so far. No comparison. On any given day this week I have been new company building, cutting deals with new partners, writing contracts and presentations, releasing multiple open-source projects, writing articles on X, authoring another significant new book for well known publisher, establishing a new and sophisticated SDLC from scratch... ON TOP OF personally shipping multiple significant new features on the platform I work on at work, and everything else that I do there as CTO including plenty of phone calls and 1-1 meetings... ON TOP OF getting enough sleep, spending quality time with my partner, dabbling in ideas for my next music video, planning a party for ADE in Amsterdam, dealing with Spanish visa paperwork nonsense, catching up with friends, planning upcoming travel, watching Season 4 of Succession, and walking my dog. It's late, so I'm probably forgetting some shit. Yes, I exhaust the limits of my max plan every few days. What a time to be alive.
53
18
4
390
34,897
Mark Locklear (@[email protected]) retweeted
DHH
@dhhOct 8
Luddites, as far as the eye can see. It boggles the mind how you can love computers and not be amazed at what we've made them do. Harness the intelligence bloom for the good of mankind! Make computers better and more beautiful by using what they can now do to assist you!
Elementary OS has extended their ban on AI to include “code, documentation, issues, and artwork”. The Linux distribution has even banned the use of “AI to write pull request descriptions.”
225
132
21
2,554
75,678
I've spent years in C and C++ at Microsoft and Google, and I've reviewed thousands of changes. I've watched good engineers ship bad code because the reviewer skimmed it, approved it, and went to lunch. Now AI writes code 200× faster. Who reviews it? If you're not enforcing strict 3-engineer code reviews on every change before it ships, you have no business building software. Kidding. That was true yesterday. Today I'm going to answer whether AI can review AI-generated code. Then I'll show you how to get an outstanding, senior-level review that doesn't miss details, for under a dollar a review. Bookmark this. The full REVIEW.md is in the first reply, ready to paste. The results surprised me 1/ I asked the AI session that wrote the code to review its own work. It found only 3 of 23 issues and recommended merging. Then I started a brand-new agent on the same model, with no memory of writing the code, and gave it only the diff. It found 17 of 23. 2/ Reviewers that only read the code found zero of the 8 logic bugs in the feature PR. Every logic bug was found by a reviewer that ran the code. 3/ One rule added to the reviewer's instructions took it from 4 of 8 logic bugs to 7 of 8, plus one nobody had found. Same model, $0.72 → $0.74, 27% faster. 4/ The most expensive model wasn't the best deal. Opus matched or beat Fable on both PRs at about a third of the price: under $1 a review vs. over $2. 5/ The next day, a brand-new reviewer agent found 4 blocking bugs in a PR with 272 passing tests and green CI. 6/ "Always get a code review" was written into the agent's instructions, and the agent skipped it on the very first PR. It's an incredible unlock. No more bugs sailing through on a green checkmark. Here's how I got there. The setup • 2 real PRs from a production codebase. One was a 75-file refactor, the other a 23-file feature. • 12 reviews in total: 4 by an AI session that already had context on the work, 8 by brand-new agents that had only the diff, the repo and a rules file. • 3 models: Fable 5.1, Opus 5.5, Sonnet 5.5. • I re-ran every reported defect myself, on the PR and on today's head, to sort live bugs from fixed ones. • Costs are estimated from each reviewer's token count at API list prices, with no caching discount, so they lean high. Then I put it to work on a real feature. That case study is below. 1. Context is the blind spot, not authorship. On the refactor: • The session that wrote the code, reviewing its own work (Fable): found only 3 of 23 issues • A brand-new Fable agent, with no memory of the work: found 17 of 23 • A brand-new Opus agent: found 18 of 23 On the feature PR, written by a different session three days earlier: • A Fable session that hadn't written it but had spent a day working in this repo: found 0 of 8 logic bugs • Brand-new Fable, Opus and Sonnet agents: found 2 to 4 of 8 each The feature-PR reviewer didn't write the code, and it still found nothing. A reviewer that shares the writer's mental model inherits the writer's blind spots, whoever wrote the code. 2. Reading finds style problems. Running the code finds bugs. Every logic bug came from a reviewer that built a throwaway database, called the changed code with inputs it picked itself, and watched what came back. The session that already had context ran nothing. It read the code and found no logic bugs. None of the 8 logic bugs on the feature PR are visible from the diff text alone. Every one of them is obvious once you run the code. 3. A rules file did almost nothing for the reviewer with context. Giving it a written checklist added one finding per PR. Logic bugs found: still zero. With the same file, brand-new Fable and Opus agents found 13 to 18 issues per PR. A checklist can't fix a reviewer that already believes the code is correct. 4. The failure was in the order the reviewer worked. The best brand-new reviewer still missed half the logic bugs, so I pulled its full tool-call trace and went through it step by step. It had opened the functions behind all three bugs it missed, and it understood each one. But it wrote its test inputs after reading the implementation, so every input followed the implementation's own assumptions. Its edge cases were variations on the cases the code already handled. The code had effectively written its own exam, and it passed. The fix was one rule: "Write your test inputs before you read the implementation. Then run them." Same model, same PR: recall went from 4 of 8 to 7 of 8, plus a bug nobody had found, for two cents more. 5. The model matters, but less than the process. Opus 5.5: $0.72 to $0.93 per review, 8 to 11 minutes. It found the most issues on both PRs: the best balance of thoroughness and cost. Fable 5.1: $2.11 to $2.73, about 3× Opus. Found a bug nobody else caught on each PR, but skipped the base-branch comparison when the tests were green. Sonnet 5.5: $0.14 to $0.21. The cheapest per finding, but it found 2 of 8, then 4 of 8 on the identical input. That run-to-run variance is the real cost. The two strongest reviewers overlapped on only 10 of 20 findings. A surprising case study: one real feature, reviewed end to end An agent built a real feature: 37 files, 5,000+ lines of code, 272 tests passing, CI green. It pushed without a review. I made it get one. 11 major bugs. A brand-new Opus reviewer found 11 blocking bugs, plus dozens of smaller issues. Every one of them was behind a green checkmark. 8 reviews, 6 rounds of fixes. Each cycle was review → fix → review again: • The feature: 4 blockers → fix → approved, but that fix broke a filter → fix → approved. That's 3 reviews. • The tool that enforces review: 4 blockers → fix → 2 more → fix → 1 more → fix → approved → small fix → approved. That's 5 reviews. It all took under 40 minutes, at under a dollar per review. What would have shipped without review: • Every page of the new feature would crash on Feb 29. • Users would see records labelled with a premium category they didn't belong to. • A list would show stale data whenever a user changed a filter. • A crafted link could slip hidden recipients into an email the user sends. • The review gate wouldn't have enforced review: it checked the wrong repo and let real pushes through. • Worse, installing it would have silently switched off every safety check that already ran on each commit. • A database file would have been committed to the repo. What this case taught me: 1/ 272 passing tests said nothing about these bugs. None of them had a test. 2/ The first approval wasn't the end. A fix for one bug created another, and only the second review caught it. 3/ The tool that enforces review needed 3 rounds of changes before it worked. Review the gate, not just the code. Best practices for your AI code reviewer 1/ Always start a brand-new agent with no memory of writing the code. Give it only the diff, the repo and REVIEW.md. On the same model, this took recall from 3 of 23 to 17 of 23. 2/ Make it run the code, not just read it. Reading found zero logic bugs; every logic bug came from running the code. 3/ Have it write its test inputs before it reads the implementation. This one rule took recall from 4 of 8 to 7 of 8 for two cents more. 4/ Compare test results against the base branch every time, even when everything is green. 5/ Re-review every fix commit. Fixes create bugs. 6/ Use Opus by default. Add a second reviewer on a different model for business rules, thresholds and gates. The two best reviewers overlapped on only half their findings. 7/ Enforce review with a gate, not a prompt. Use a git pre-push hook: no approved review for that exact commit, no push. Edits to the rules themselves get reviewed too. 8/ Make it report on every design principle by name: separation of concerns, programming by intention, encapsulation, high cohesion, low coupling. A principle left unmentioned means the review is incomplete. 9/ Check honesty, not just style. Unknown stays unknown. The UI never invents data. 10/ Demand a clear verdict (APPROVE or CHANGES) and report findings as "N of the K found so far." The bug pool is never complete. The full REVIEW.md is in the reply below Paste it into your repo and point your review agent at it.
47
36
7
349
39,559
Came out of Rails World more fired up than I've been in years. Unforgettable moments in every sense of the word. You see there's a reason all my classic Ruby books were published in the "Professional Ruby Series". Most of us work in teams. We maintain serious production systems that real customers depend on, under real load, with real consequences if we fuck them up by being sloppy. So pencils down? Sure. Claude writes all my code too. But programming as an engineering profession is as alive as its ever been, as it moves up an abstraction level. And English alone isn't enough. We're living through a period of infinite configuration. Everyone has their own agent setup. That's why convention over configuration matters more than it ever has, the same reason Ruby on Rails was such a game changer to begin with. I have a new vision for those of us who want to embrace AI while still proudly calling ourselves programmers. If you were at #railsworld this year, I might have even discussed it with you. And I promise, I'm going to make it reality. Who's with me?
31
14
1
267
9,377
Mark Locklear (@[email protected]) retweeted
DHH
@dhhSep 15
This is the exact stance we took at 37signals back in 2021, and it's still the correct one. Work is a terrible place to litigate societal/political questions unrelated to the business with coworkers. "Do it outside" is also the Omarchy way now. Love that Jensen is affirming it 🤘
JENSEN HUANG: “We don't welcome political discourse inside our company. Take it home … We're bipartisan. We want America to succeed … The discourse about race and religion and politics and all of that stuff, we tell people do it outside the company. It's not for us.”
123
201
22
5,268
297,617
A.I. has made college one big robot circle-jerk where students use A.I. to write papers and professors use A.I. to grade them.
337
700
100
6,438
445,290
Mark Locklear (@[email protected]) retweeted
Anthropic pays $750,000+ a year for engineers who know how to build LLMs from scratch. Stanford just released the exact lecture that teaches it - 1 hour 44 minutes, free, straight from CS229. Bookmark and watch it this weekend. It'll teach you more about how ChatGPT & Claude actually work than most people at top AI companies learn in their entire careers.
103
1,305
42
7,612
2,212,992
Hey, random question, but…what are you doing April 30 and May 1? 👀
11
4
29
3,781
Hey Ruby friends! 👋 Keep an eye out, we are hoping to make an announcement here in the next couple days. 🫢😊
2
9
274
[ENG] 🎟️ It’s official! Ticket sales for Tropical on Rails 2026 open on October 30th at 12pm(gmt-3)! 💎🌴
 Two days in São Paulo, filled with talks, connections, and the Tropical energy. 🚀 Save the date and get ready to grab your ticket! 📅 Ticket sales will open 30/10 at 12pm(gmt-3) [PT-BR] 🎟️ É oficial! As vendas dos ingressos para o Tropical on Rails 2026 abrem no dia 30 de outubro as 12h! 💎🌴
 Serão dois dias em São Paulo, repletos de palestras, conexões e muita energia Tropical. 🚀 Marca no calendário, prepara o carrinho e vem viver o Tropical!
 📅 Início das vendas a partir de 30/10 as 12h #TropicalOnRails #RubyOnRails
3
2
11
1,856
Married couples need to budget their money together. You’re married, you’re not roommates. Money shouldn’t be a “me” thing, it should be a “we” thing.
63
73
24
729
43,831
Mark Locklear (@[email protected]) retweeted
DHH
@dhh27 Sep 2025
At one point, I thought we were all doomed to suffer the woke theocracy for decades in tech, but then suddenly it was over. There are niche pockets here and there (hello nix!), but the hegemony has ended. What a relief! Now "no, we are not doing that" is again a viable way.
In hindsight, it's very fucked up how stressed I used to be worrying about someone PRing a banner for some political cause to one of my docs sites and having to somehow say "no I don't want to get involved in this" without getting attacked by the mob.
104
129
27
3,168
172,483
Mark Locklear (@[email protected]) retweeted
DHH
@dhh7 Apr 2025
37signals is hiring a Junior programmer. We're accepting applications until Wednesday, April 23rd at 12:00 PM CST. The salary is $145,849. apply.workable.com/37signals…
162
282
100
2,382
668,196
Now live at BaT Auctions: 31k-Mile 2021 Dodge Charger Scat Pack. bringatrailer.com/listing/20…
2
4
3,339
Mark Locklear (@[email protected]) retweeted
DHH
@dhh11 Apr 2025
It's amazing how long Claude allows our designers to fly solo these days, but it's also crucial to cleanup the vibe coding, if you want a beautiful, maintainable code base for the long term.
46
21
5
828
91,635
The only future can be a return to the center. The extreme left created purpose for the extreme right. And look where we are now.
3
4
93
Mark Locklear (@[email protected]) retweeted
DHH
@dhh7 Nov 2024
Rails 8.0: #NOBUILD, #NOPAAS, all-in on SQLite as a production database option with jobs, cache, and cable, new authentication generator, and so much more! Final release is out 🎉 rubyonrails.org/2024/11/7/ra…
70
382
84
2,162
205,102