🧠 Director of Dev | 🎛️ DJ tech | 🏗️ Builder of products, systems & strategy Chasing leverage in automation, markets & ideas. 🤖📈💡 #NZTech #AucklandAI

Auckland, New Zealand
Joined June 2009
Thanks to @steipete for implementing my feature request into Lobster. github.com/openclaw/lobster/… That’s gonna make my bookmark review and other workflows way snappier. No more handoff lag between cron lobster -> heartbeat -> cron lobster 🦞 ✅ Hopefully don’t have to wait too long before it lands in OpenClaw
2
147
Contest Culture norms turn technical skill into belonging theater: tests, proxies, person-focused excuses. The counter-signal is strong learning norms, because they make growth more cognitively accessible than defending status. Measure the messages, not the people.
5
Adding people to a late project raises WIP while throughput stays flat, so lead times grow. Coding is now nearly free, but the sequential parts of SDLC still dominate. Measure cycle time before chasing AI speedup.
7
This is exactly it! AI, it’s just software bro
1. Oh shit, AI can do my job better than me 2. Software engineering is dead! 3. I can vibe code as much slop as I want! 4. Oh, things are not going well. Fable/Sol/Opus all suuuck 5. But what if I constrain the agent? Put it in a straitjacket? 6. Oh, the results are pretty good now. How do I go deeper? 7. *Orders 12 software engineering books from Amazon* 8. Software engineering is alive!
21
Stop sending every classification to an LLM. A schema-driven decision model returns probabilities you can drop straight into routing code, and it costs a fraction of the round-trip. Reserve the LLM for the reasoning the model can't do.
6
If your postmortem ends with "we'll be more careful next time," you have folklore, not a fix. Ask instead: if the same people left tomorrow, would the failure still happen? If no, you fixed nothing in the system.
7
Bang on here! Important factory principles
My first software factory was arguably the humble Ralph loop, 14 months ago. Then I wrote IssueOps, a factory that ran entirely in GitHub Issues and Actions, so I could offload my laptop and keep building while travelling. That cost too much. API billing, amirite? So I brought the build farm home and Anneal was born. It ran on my Claude subscription locally and wrapped Ralph loops with outer loops, guardrails and tickets. But it lived inside each project, and every copy soon drifted. About 12 weeks ago I started Holodeck. Instead of putting the factory in the project, I build the projects in the factory. The first project it built was Holodeck itself. What I've learned: 1. Deterministic gates are the real quality mechanism. The model isn't trusted to judge its own work. Hooks and tests run outside the agent loop. Cheaper models fail and retry instead of committing bad code. 2. The same agent never writes and grades its own work. Test author, implementer and reviewer are separate agents, on different models. 3. Detailed documents first, fast execution after. The spec is now the hard part. 4. Fresh contexts. Always. Tickets keep a log of what was tried and failed so the next loop doesn't make the same mistake. 5. An orchestrator with subagents. The top model coordinates and doesn't do grunt work. 6. Isolation by default. Every agent that edits code gets its own worktree. Runners are throwaway Docker containers with no Docker socket, no source mount and no host ports. 7. Agents get references to secrets, never the values. Enforcement sits in the tooling and hooks, not in the prompt. (I have a product for this coming.) 8. Store a detailed event log. Agents can interact with the API to emulate usage, see real-time logs, and self-improve. Even self-heal. 9. Tools are disposable. Every model release makes some tools redundant, so refactor your stack.
1
25
Didn’t realize South Africa was so high!
Countries by Education Spending (% of GDP) 1. Namibia - 9.1% 2. Algeria - 9.0% 3. Cuba - 8.4% 4. Bolivia - 7.5% 5. Finland - 6.4% 6. South Africa - 6.0% 7. Morocco - 6.0% 8. United Kingdom - 5.9% 9. Brazil - 5.6% 10. United States - 5.4% 11. South Korea - 5.4% 12. France - 5.3% 13. Colombia - 5.3% 14. Germany - 5.2% 15. New Zealand - 5.2% 16. Australia - 5.1% 17. Argentina - 5.0% 18. Kazakhstan - 4.9% 19. Chile - 4.9% 20. Canada - 4.8% 21. Uruguay - 4.8% 22. Spain - 4.6% 23. Saudi Arabia - 4.5% 24. Peru - 4.4% 25. Poland - 4.3% 26. Russia - 4.2% 27. India - 4.1% 28. Italy - 4.1% 29. Mexico - 4.1% 30. Philippines - 4.0% 31. Kenya - 4.0% 32. China - 3.9% 33. Malaysia - 3.5% 34. Japan - 3.3% 35. Vietnam - 2.9% 36. Iran - 2.8% 37. Thailand - 2.5% 38. Indonesia - 1.3% 39. Nigeria - 0.3% Source: World Bank, UNESCO Institute for Statistics (UIS), and national government data.
1
21
A URL fetcher can validate a public IP, then resolve the same hostname again during the request and land on a private address. I fixed that DNS-rebinding gap by resolving once and pinning the validated IP into the connection.
22
This was fun! But of course there had to be one missing piece 🤯
1
16
I tightened the route from merge to production this week. • One aggregate merge gate • Staging before production • Production only from main after staging smoke passes • Pinned deployment tooling across all 8 workflows Fewer ways for “green” to mean “almost green.”
1
13
Tom Stoffer retweeted
Introducing Claude Opus 5.5, the first model in our new Claude 5.5 family. It performs at the level of Claude Fable 5.1 for most tasks, and costs 40% less to run than Opus 5.
3,344
9,046
6,523
97,286
28,287,232
I kept finding QA-approved work stuck in “doing”. The code was fine. The delivery pipeline was reading the evidence wrong. This week I fixed the failure classes instead of clearing another queue by hand. Here are the problems I removed.
1
23
The second problem was parsing. Bold acceptance criteria could vanish. Test fixtures could look like evidence. Deferred QA could route to the wrong owner. Six focused fixes closed those paths.
1
5
The result is less manual rescue work: one merge gate, cleaner ownership, and fewer tasks that are technically finished but operationally stuck. I want the factory to remove repeat failures, not make me better at clearing them.
4
What has life become, I'm now arguing with Quinn to tell me my password for my tasks app so that I can approve her work. 🤦‍♂️
14
New PB! Those 2 weeks of nothing were caused by a database destroy lol. luckily I had a backup of all my tasks
19
A CIO got 2.1x output from AI and then watched $21k/engineer/month in tokens eat the savings. Lines of code and PR counts measure AI slop, not productivity. Measure the approach. Stop measuring people.
14
Tom Stoffer retweeted
the CRL's e/w line now has a perfect 1:3 ratio of cinemas to stations (and even higher if you include The Civic), hard to think of a more cinema-dense transport line
6
9
1
89
3,508
AI collapses the cost of writing code but inflates the cost of judging it. 400 PRs in two months, and every buried tripwire still lives in the heads of tenured engineers who can't keep up. The loop won't fix itself with more observability.
14