Hi Corin!

Corin Dann is now a high-profile broadcaster. Back in the early 2000s he was a junior reporter for TVNZ. He contacted us for a story he was working on about Trade Me. We offered to help with the visuals by updating one of the listings so he appeared to be the seller.

In addition to the public website we also had to build internal admin pages to keep the site running smoothly – enabling everything from resetting passwords and processing refunds to moderating the message boards and updating help content. An admin page to update a members name didn’t exist yet, so, as we had done hundreds of times before, we updated the database directly. We didn’t have a lot of safeguards in place.

Assuming the member to be updated is member number 54,210, for example, the database command to do this is:

UPDATE member SET first_name = "Corin" WHERE member_id = 54210

Unfortunately that afternoon the WHERE was forgotten, leaving:

UPDATE member SET first_name = "Corin"

Every single member in the Trade Me database was instantly renamed Corin.

We felt suddenly ill. After taking a moment to compose ourselves, we took the whole site offline. Thankfully we had a regular backup which was only a few hours old, but it would take time to restore. Meanwhile the mistakes compounded. In our panic we overlooked that the automated process to close completed auctions and notify the seller and winning bidder had continued to run in the background every minute. The emails that were generated for this purpose created fresh confusion. “Hi Corin,” they all started. “Your auction has closed. The winning bidder is Corin.”

We quickly drafted a note to all of the affected buyers and sellers to explain what had happened and ask for their patience while we rectified the error. This time there was an existing admin script to use, which allowed us to generate formatted emails to a list of members. Almost immediately after pushing “send” on that message we realised a further mistake. If we’d paused and tested that first we would have discovered that the script also relied on the names in the database. Thousands of emails, apologising for a previous message which had been mistakenly addressed to Corin and named the winning bidder as Corin, all once again started: “Hi Corin”. The signature should have read, “Regards, Trade Me Support”. But that was also generated from the database so of course said, “Regards, Corin”.

Many startup founders quote the memorable Facebook mantra “move fast and break things” without a thought for just how embarrassing it can feel when you’re picking up the broken pieces.


_I’ve told this “Corin” story countless times over the years, including in a keynote at Microsoft’s TechEd conference in 2006. It has become part of Trade Me lore. And it has helped me to console lots of other founders after they have made their own silly mistakes. I can vividly remember it, but it might be a constructed memory. Reconciling the dates against Corin Dann’s time at TVNZ would suggest this particular incident actually happened several years later, when I may not have even been in the room. If that seems strange, then consider the opening line of my book: “History isn’t fact. It’s narrative.”


How to be Wrong Book Cover