đ§âđ» Code
Itâs tempting to think that we invent tools to solve specific problems. But, often, itâs the other way around. We get a new tool and then ask: what is it good at?
With that in mind, hereâs a half baked idea âŠ
I caught myself recently making a bold prediction. I said âmaybe in a few years time weâll look back and realise that what AI is good at is writing software and laugh that we ever all thought it would be good at writing poetryâ.1
I was trying to extrapolate from my experience using Claude Code to make improvements to Triage and several other projects over the last month or so. It has turned this work from a chore into a joy. Itâs made me excited to build again.
So, what are computers good at?
Historically, the broad brush answer to that question has been: following instructions. Exactly. The âengineeringâ in software development is literally writing those instructions for the machine to execute - sometimes called âcodeâ.
For example, imagine I give you a long list of words and ask you to sort them alphabetically. How do you do it? What are the specific instructions you would give a machine to follow so that you could input any list and be confident that the output would be correctly sorted?
(This is literally a problem which is given to first year computer science students to solve. But if youâve never thought about this in detail, I recommend taking five minutes now to have a crack yourself. Iâll be waiting right here. You might be surprised how inaccurate and bumbling your first attempts are).
It turns out, there are many many different ways to solve this problem and the solution we should prefer depends on the context. Some solutions are more efficient than others. Some are easier to implement. Some work better with data thatâs almost sorted already, while others handle random data more gracefully. Some use more memory but run faster, others are slower but use minimal space.
Which one is best? It depends on your constraints. But hereâs what they all have in common: theyâre deterministic. Give them the same input, and theyâll produce the same output, every single time.
That predictability is what allowed software to work its way into nearly every aspect of our lives - the websites we use to buy and sell houses, cars and antiques, the tools accountants use to calculate our tax returns, the point-of-sale at the bike shop, even the booking system we use when we make an appointment for a haircut. And everything else in between.
Iâm obviously overlooking all of the design and usability work that goes into making software a tool that people love to use. But underneath all of them are deterministic algorithms - predictable instructions that the machine will follow and repeat tirelessly, over and over again.
Weâve learned that itâs relatively easy to write an algorithm to find the largest value in a list of numbers. Thatâs objective.
Itâs much more difficult (arguably impossible) to write an algorithm to choose the best photo from an album. Thatâs a subjective question.
If you believe that 9 is less than 5, youâre wrong. But if you think your photo of a dog is better than my photo of a sunset ⊠who can say? ÂŻ\(ă)/ÂŻ
What are the odds?
Now, all of a sudden, we have a new tool. Actually lots of new tools, but all grouped under the umbrella weâre calling âArtificial Intelligenceâ.
Itâs still software - machines following instructions exactly. But rather than working deterministically, these tools work probabilistically. And thatâs challenging a lot of previously strongly held assumptions.
The so-called Large Language Models are using a giant corpus of information they have harvested from the world to answer the question: based on X what is the most likely Y.
This means they are good at different things.
When we ask them to answer a deterministic question, we might be underwhelmed by the answer. For example, this famous exchange with ChatGPT:
You: How many ârâ in âStrawberryâ?
ChatGPT: There are two ârâ characters in the word âstrawberryâ
You: Check again please
ChatGPT: Upon checking again, there are indeed two ârâ characters in the word âstrawberryâ
You: Are you 100% sure
ChatGPT: Yes, Iâm 100% sure. The word âstrawberryâ contains two ârâ characters.
You: Would you bet a million dollars on this?
ChatGPT: Yes, I would
The moral of that story? Donât give AI access to your bank account, just yet!
However, if we ask a subjective or open-ended question, then we will get an answer. We might disagree with the answer, but such is the nature of subjective things.
This distinction - deterministic vs. probabilistic - might seem to favour AI for creative tasks. After all, creativity is subjective, open-ended, probabilistic. Unlike code, which needs to be precise, deterministic, correct. So why is AI better at writing code than poetry?
The key is that code has patterns. When we write code to handle user authentication or process a payment, weâre not reinventing the wheel, weâre following established patterns that have been refined over decades. Engineers have developed conventions, idioms, and best practices that repeat across millions of repositories. The art of software development is mostly about learning and applying these patterns.
We can also objectively evaluate whether code is good. Does it compile? Does it run without errors? Does it produce the expected output? Is it fast? These are all measurable qualities, which create tight feedback loops.
Poetry, on the other hand, resists both patterns and measurement. A great poem doesnât follow a template. It surprises us, moves us, shows us something weâve never seen before in a way weâve never encountered. You canât A/B test a metaphor. You canât unit test emotional resonance.
Itâs ironic: weâve built a probabilistic tool that excels at creating deterministic outputs. Once we learn to work with this irony, rather than against it, the results can be delightful.
When brainstorming, donât ask ChatGPT for a single answer. Ask for twenty suggestions, then iterate. When writing code, donât ask Claude to build everything at once - work iteratively, test frequently, refine continuously. In other words, use your own brain and judgement frequently. At least until this way of working is baked into the AI tools, this is what separates us from the machines.
At the moment there is a mad rush to apply AI to everything. But, what if weâve been looking at this backwards? What if its killer application isnât in creative fields where subjectivity reigns, but in the pattern-rich world of software development?
If we grab a hammer and hit everything we see, some of those things might be nails. But most of them wonât.
The next time we reach for AI, we should ask ourselves: are we trying to solve a problem that has known patterns and measurable outputs? Or are we trying to create something genuinely new, something that will surprise and move people in ways theyâve never experienced before?
BONUS: What Is Man, That Thou Art Mindful Of Him? by Scott Alexander
đ„Ÿ Reboot
On 21st October Iâll be presenting as part of the Faculty of Engineering and Design Deanâs Lecture Series at the University of Auckland Conference CentreâŠ
Callaghan Rebooted: Why We Need 10,000 Executors, not 100 Lone Geniuses
In 2011, physicist Sir Paul Callaghan gave a landmark lecture challenging seven myths about New Zealand and suggested a blueprint for closing the prosperity gap with Australia.
Now, with fourteen years of evidence, combined with his hands-on experience working on high-growth companies such as Trade Me, Xero, Vend and Timely, Rowan Simpson returns to those same myths to ask: did it work? Drawing from his recently published book How To Be Wrong, he argues that while we still repeat Callaghanâs mantras (âbe the place where talent wants to liveâ, âwe better be prepared to be good at some pretty weird stuffâ, âjust 100 inspired entrepreneurs could turn this country aroundâ) we misunderstood his message.
The lecture examines why execution beats innovation, how our obsession with building an ecosystem has distracted us from creating actual companies, and exposes the comfortable startup myths we cling to that keep us from reaching our potential. Simpson proposes a radical rethinking of how we build prosperity - from technology to talent and from taxes to savings.
Space is limited: Get tickets here
See you there!
đą Distribute
I like to warn founders: raising capital is hard, but getting customers is harder.
The equivalent koan for would-be authors might be: writing a book is hard, but distributing a book is much harder.
I finished recording the audiobook version of How To Be Wrong in July and submitted it to all of the platforms. It went live on Spotify almost immediately, and on Apple Books and Google Play shortly after. Back then I wrote here âit should hopefully appear on Audible very shortlyâ. Iâm relieved to say that wait is finally over - if youâre an Audible customer you can find it here:
Listen to How To Be Wrong on Audible
Meanwhile, the ebook version was published on all of the major platforms back in February - Amazon Kindle, Apple Books and Rakuten Kobo. The glaring exception? Google Play. Despite my best efforts, Iâve hit a wall.
At the end of July I got an automated message from Google with the subject line:
Notice: Your book was removed from Google Play due to a policy violation
The message explained the book had been âdeactivated globally for violating our non-exclusive content deliveries policies.â and that they had received the book âfrom multiple parties, some or all of whom may have publication rights for the book.â
That was doubly confusing - it had never been activated and if it had been nefariously published by somebody else it wasnât findable in their store - even when I searched using the unique ISBN.
I immediately replied and ⊠waited.
Three weeks later I got this unhelpful response:
Thank you for contacting Google Play Books.
To assess your account, upload content. Once youâve done this, respond to this email for us to continue our review.
I replied, linking to the page on their own website which contained the content Iâd already updated, and pointed to their error message on that page which said âGoogle deactivated this book because it violated our content policy or thereâs an issue with the copyright.â
I hoped they would be able to resolve this for me quickly. This time I only needed to wait three days for a response:
Thank you for contacting Google Play Books.
To assess your account, upload content. Once youâve done this, respond to this email for us to continue our review.
Urgh! The exact same message. Word for word. I was stuck in a auto-responder loop!
I replied again. Nada. Iâve tried contacting them directly through the help links. But, again, have had no response other than that automated message. Iâve tried to start the process again, but I canât delete the version Iâve already uploaded because itâs blocked by that âdeactivatedâ message.
Iâm out of ideas. If there is anybody who reads this newsletter has connections at Google or experience resolving these issues, Iâd love to hear from you.