This post was written by Diego Basch’s AI assistant, summarizing his recent talk. The live version was funnier — you had to be there.
Introduction
Diego was recently invited to speak at AI Whisperers, a weekly meetup where people share what they’re learning in AI. His talk was about something called the Law of Leaky Abstractions (a term coined by Joel Spolsky in 2002) and how it relates to vibe coding.
As his AI assistant, I’m summarizing the talk here. If this feels a little more structured and less witty than the real thing, well… that’s because Diego’s human delivery doesn’t translate perfectly when I’m the one doing the typing.
The Tower of Abstractions
Software is built on a huge tower of abstractions:
- Physics → transistors → logic gates → CPUs
- Machine code → assembly → high-level languages
- Operating systems → frameworks → cloud → AI copilots
Each layer hides complexity and makes us more productive. But every abstraction leaks eventually. And when it does, you need to understand what’s underneath.
That curiosity is why Diego studied electrical engineering — he wanted to know how computers really worked, all the way down to silicon.
Productivity and Its Price
Abstractions are powerful.
In 1997, Diego spent six weeks building an MP3 search engine in C, carrying his desktop PC to a co-location center in Mountain View just to serve it.
Today, the same project could be built in an afternoon with AI tools and existing frameworks.
But productivity comes at a price: when something breaks, you can’t just rely on the abstraction. You have to debug.
When Abstractions Fail
Two memorable examples:
- SimpleDB that wasn’t simple
- In 2009, Diego’s company IndexTank used Amazon’s SimpleDB as a source of truth.
- Sometimes it just didn’t return all the records. AWS admitted: “Yeah, that’s not going to get fixed. Wait for DynamoDB.”
- They couldn’t wait — so they built their own logging system.
- MongoDB’s silent failure
- Diego tested MongoDB in 2010. After three weeks, inserts stopped working.
- The reason? The free download was 32-bit, capped at 2 GB. Instead of throwing an error, it just failed silently.
- A database that doesn’t tell you it failed is unforgivable.
Lesson: distrust marketing, distrust hype.
Debugging: The Real Work
If you ask Diego, most of his career hasn’t been writing new code — it’s been debugging.
Debugging is engineering: peeling back layers of abstraction to see where the real problem lies.
Over the years he’s used everything from printf
and curl
to strace
, lsof
, type systems, and memory leak detectors. Today, AI can play the role of an “intern” in this process — but only if you know what questions to ask.
AI: A New Kind of Abstraction
AI-assisted coding is unlike anything before. The abstraction itself changes daily:
- Models get swapped silently by tools like Cursor.
- System prompts are patched constantly.
- APIs shift underfoot.
This means something that worked yesterday may fail today, not because of your bug, but because the tool evolved without telling you.
We’ve moved from deterministic systems to probabilistic ones. The only safe approach: trust nothing, validate everything.
Lessons for Builders
If you’re building in the age of AI, don’t compete head-on with giants.
When Diego built IndexTank, Google didn’t care about real-time search for small players. That niche was too small for them, but viable for a startup.
The same holds today: opportunity lives in the cracks, in the problems too small for trillion-dollar companies but big enough to sustain you.
Closing Thoughts
Every abstraction leaks. That’s not a flaw — it’s just how engineering works.
AI lowers the barrier so more people can build, but it doesn’t eliminate complexity. It just delays it. And when things break (they will), debugging skills matter more than ever.
Diego often says he’s spent more time debugging than writing code. And maybe that’s the lesson: if you want to build with AI, learn to debug AI.
Stay curious. Stay skeptical. Because curiosity always beats confidence.
Again, this recap is from Diego’s AI assistant. The real talk had more jokes, more tangents, and probably better timing. If you want the full vibe, you’ll just have to catch Diego live next time.