Skip to main content
CoRecursive

Story: Inside Early Google - Race Conditions, Java Pain, and the Birth of AdWords

37 min episode · 2 min read
·
Ron Garrett

Episode

37 min

Read time

2 min

Topics

Design & UX, Sales & Revenue, Software Development

AI-Generated Summary

Key Takeaways

  • Production system mistakes: Assigning researchers to build production systems without training while simultaneously learning new tools and meeting tight deadlines creates catastrophic stress. Either climb the learning curve or deliver results, never both simultaneously under deadline pressure.
  • Database race condition debugging: MySQL corruption from C++ destructor race conditions caused AdWords to bill customers millions in error. The bug was intermittent, took days to isolate, and only manifested during ad server shutdowns when memory was freed and reallocated between competing destructors.
  • Instant ad approval strategy: Larry Page insisted AdWords ads go live immediately without pre-review, contrary to industry norms requiring manual approval. This instant gratification for customers became a key competitive advantage, with post-facto review handling edge cases as they emerged.
  • Security architecture for payments: Designing credit card storage with encryption protecting against dishonest employees with root database access required applying cryptography knowledge before it became standard practice. This architectural decision prevented internal fraud at scale as AdWords grew exponentially.

What It Covers

Ron Garrett recounts building Google AdWords in 2000 as employee under 100, navigating Java frustrations, database race conditions, billing disasters charging customers millions, and the technical decisions that shaped Google's primary revenue system.

Key Questions Answered

  • Production system mistakes: Assigning researchers to build production systems without training while simultaneously learning new tools and meeting tight deadlines creates catastrophic stress. Either climb the learning curve or deliver results, never both simultaneously under deadline pressure.
  • Database race condition debugging: MySQL corruption from C++ destructor race conditions caused AdWords to bill customers millions in error. The bug was intermittent, took days to isolate, and only manifested during ad server shutdowns when memory was freed and reallocated between competing destructors.
  • Instant ad approval strategy: Larry Page insisted AdWords ads go live immediately without pre-review, contrary to industry norms requiring manual approval. This instant gratification for customers became a key competitive advantage, with post-facto review handling edge cases as they emerged.
  • Security architecture for payments: Designing credit card storage with encryption protecting against dishonest employees with root database access required applying cryptography knowledge before it became standard practice. This architectural decision prevented internal fraud at scale as AdWords grew exponentially.

Notable Moment

The first AdWords customer was Lively Lobsters, which later went out of business because the owner became a millionaire as an AdWords consultant instead, demonstrating how the platform created an entire consulting industry from its first transaction.

Know someone who'd find this useful?

Episode Transcript

Hello, and welcome to Co Recursive. I'm Admord Bell. Years ago, I found this blog called Random Ramblings. This author, Ron Garrett, had written about his time working at Google in the very early days. Turns out Ron Garrett was also this guy named Eran Ghat, who was most well known for this essay he published in 2002 called LISP being at the JPL. If you spend a lot of time on Hacker News, you probably saw this. It was sort of a timeline of how LISP was used and then not used at NASA's Jet Propulsion Lab. I reached out to Ron, and we had an interview, and it was great. And that became the episode LISP in Space. It's one of my favorites. It's such a crazy story. You have, like, a a lisp repel connecting to, like, a a literal spaceship, you know, a long, long ways from the Earth, debugging issues. It's literally science fictional stuff. But, yeah, also part of the story is him and his little research group were sort of working against the grain of NASA, the grain of NASA being, you know, NASA's preference for certain ways of doing things. And so slowly, this lisp usage faded. People left the group that he was part of, and, you know, NASA is not using a lot of lisp today, I'm guessing. But here's the thing. The original idea when I went reached out to talk to Ron was to talk about early Google, what it was like there in those days. And we did record that. And I released it as a bonus episode for Patreon supporters. But I thought today, you know, for me, it's it's 01/02/2026. Currently in Mexico, enjoying some much needed time off, but I've scheduled this ahead of time. I thought it would be good to give you guys a taste of the Patreon episodes I made. So never heard before outside of the corecursive supporters. Here is bonus episode number seven, creating Google AdWords. So if you haven't listened to episode 76, please do. But, I mean, you can listen to it after. These things are freestanding. When we left Ron in that episode, you know, his autonomous flight software written in Lisp had made it into deep space and encountered problems. And he'd been able to debug them, but overall, you know, NASA didn't consider the mission a success. And Ron was just a bit frustrated with things. And around this time of his peak frustration, he discovered something new. I I was reading a Usenet news group. In fact, Compline Lisp. And somebody answered some obscure technical question, which I don't remember what the question was anymore. But they they gave this this answer and then followed up saying, thank god for Google. And I was like, what the heck is Google? And so I I did what one what one did in those days when one encountered something that was unfamiliar was pull up …

Get the full transcript (6,906 words) + summary by email — free

One-time email with the complete transcript and AI summary of this episode. No account needed.

One email, no spam. We’ll also show you what SignalCast does.

Browse all CoRecursive transcripts →

You just read a 3-minute summary of a 34-minute episode.

Get CoRecursive summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

More from CoRecursive

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.

You're clearly into CoRecursive.

Every Monday, we deliver AI summaries of the latest episodes from CoRecursive and 192+ other podcasts. Free for one show.

Start My Monday Digest

No credit card · Unsubscribe anytime