Categories
AI

The Coach Who Wouldn’t Change

In 1975, a twenty-four-year-old Kodak engineer named Steve Sasson built the first digital camera. It was the size of a toaster, captured a black-and-white image at 0.01 megapixels, and took twenty-three seconds to record a single photograph to a cassette tape. Sasson showed it to his managers. Their response, as he later recalled, was essentially: that’s cute, but don’t tell anyone about it.

Kodak was not a stupid company. It was a dominant one. At its peak it held 90 percent of the American film market and 85 percent of camera sales. Film was not just a product line — it was the entire economic architecture of the company. Processing fees, paper, chemicals, the retail relationships built around the assumption that photographs needed to be developed. Digital threatened all of it simultaneously. So Kodak did what dominant companies do when confronted with a threat they can’t absorb into the existing model: they managed it. They ran studies. They filed patents. They made incremental moves. They protected the thing that was working rather than building the thing that would work next.

Kodak filed for bankruptcy in 2012. The digital camera had been sitting in their own archives for thirty-seven years.

Nokia’s version of the same story has a different texture. Where Kodak’s failure was about protecting a margin, Nokia’s was about identity. Through the 1990s and into the early 2000s, Nokia was mobile phones — not a major player, but the category itself. At its peak it held over 40 percent of the global handset market. The company had navigated a remarkable transformation earlier in its history, shedding paper mills and rubber boots to become a pure technology company. It knew how to change. It had done it before.

What it couldn’t do was change from a hardware company into a software one. When the iPhone arrived in 2007, Nokia’s internal assessments were, by most accounts, accurate. They understood the threat. They had touchscreen prototypes in development. What they couldn’t manage was the cultural distance between building phones that were superb physical objects — durable, reliable, made to exacting standards — and building phones that were primarily platforms for software that other people would write. The excellence that had made Nokia great was manufacturing excellence. The game was becoming something else, and manufacturing excellence was not only insufficient for the new game; it was actively in the way, because it oriented every decision toward the object rather than the experience.

Nokia’s market share collapsed from over 40 percent in 2007 to under 5 percent by 2013.

Andy Grove, who built Intel into the dominant force in semiconductors, called it plainly: only the paranoid survive. He meant it as a prescription. His successors treated it as a trophy.

Both stories have the clean shape of settled history. We know how they end. The verdict is in, the lesson is available, and it’s easy to read them now as cautionary tales about obvious mistakes made by people who should have known better.

This is the wrong way to read them.

Kodak and Nokia didn’t fail because they were blind. They failed because they were standing on a fulcrum — a moment when the old game and the new game were both plausibly real — and they chose the wrong side. At the time, that choice was not obviously wrong. Film was still enormously profitable. Nokia’s hardware was genuinely superior. The rational case for staying the course was real, and the people making it were not fools.

The reason the Kodak story is still told fifty years later is not that the mistake was obvious. It’s that it wasn’t — and they made it anyway.

Which brings us to now. Because there is a fulcrum in front of the enterprise software industry, and nobody knows yet which way it tips.

The companies in question — Salesforce, ServiceNow, and most of the SaaS category built over the last twenty years — were constructed on a simple and powerful premise: that businesses would pay recurring subscription fees for software that managed their customer relationships, their workflows, their data. The premise was correct. It produced some of the most durable businesses in the history of technology.

The threat AI poses to this model is not subtle. If an AI agent can handle a customer service interaction, manage a workflow, or synthesize a CRM record without a human touching licensed software to do it, then the per-seat subscription model — the economic engine underneath all of it — starts to look like film processing in 2003. Theoretically intact. Quietly at risk.

The responses of these companies have been instructive, and they’ve diverged.

Here is the honest position: we don’t know yet. The fulcrum is still in motion.

It’s possible that Salesforce’s Agentforce is the Kodak digital camera — the real thing, built by the right company, that gets buried under the weight of protecting what already works. It’s possible that the SaaS model is more durable than the threat suggests, that enterprises will pay for trusted platforms regardless of the underlying labor model, and that the companies racing hardest to cannibalize their own revenue streams are making a different kind of mistake. It’s possible that ServiceNow’s consistency is discipline, or that it’s the Nokia instinct to keep building the best version of the thing that used to win.

What the Kodak and Nokia stories actually teach — not the simplified version, but the harder one — is that the mistake is never visible in the moment it’s made. It only becomes visible later, when the fulcrum has tipped and the choice that was once defensible has become permanent.

The coach who wins five championships holds the philosophy and rotates the players. The coach who wins one holds the players and calls it philosophy.

The enterprise software companies standing at this moment have a version of the same decision. The ones who make it correctly will, in twenty years, be the ones we cite as examples of adaptation. The ones who don’t will be the ones we cite as examples of something else.

We just don’t know yet which is which. That’s not a comfortable place to stand. It is, however, exactly where we are.

Categories
Business History IBM Infrastructure Nvidia Programming Semiconductors

The Half-Life of Moats

Prompted by an article on X by @magicsilicon on the CUDA moat. Research and drafting assistance from my AI intern assistant Clark.

The NVIDIA H100 looks, in retrospect, like an inevitability. It wasn’t.

What Jensen Huang built is more accurately understood as a sixteen-year accumulation of optionality — a platform investment made in 2006 for a market that wouldn’t fully materialize until 2022. NVIDIA intros the G80 architecture in November 2006, laying the groundwork for CUDA’s release a few months later. The stated ambition was to let scientists write C++ that ran on GPU cores without needing to understand 3D graphics pipelines. The unstated bet was that parallel computation would eventually matter for something bigger than rendering shadows in video games.

For sixteen years, it mostly didn’t. Not at scale. Not commercially. CUDA lived in research labs and HPC clusters. It attracted a small, devoted, and economically marginal user base — the kind that papers cite but investors ignore. NVIDIA kept investing in it anyway: cuDNN for deep learning operations, cuBLAS for linear algebra, a layered ecosystem of libraries that made CUDA not just accessible but nearly irreplaceable for anyone doing serious numerical computation. When TensorFlow and PyTorch emerged as the standard frameworks for neural network research, they didn’t adopt CUDA because it was the only option. They adopted it because CUDA was where the optimized kernels already lived.

AlexNet won the ImageNet competition in 2012 and did it on two NVIDIA GPUs. The deep learning community noticed immediately. The financial community largely did not.

Then ChatGPT launched in November 2022, and suddenly everyone needed H100s they couldn’t get.


The parallel to Intel is instructive and also undersells how strange this kind of story looks while you’re living through it. Intel was founded in 1968 as a memory company. DRAM. The founders — Noyce, Moore, Grove — were materials scientists and engineers who believed the future was in silicon memory chips. They were right, briefly: in the early 1970s Intel dominated the DRAM market. By 1984, that share had collapsed to 1.3%, ceded almost entirely to Japanese manufacturers who had commoditized the product.

What saved Intel wasn’t a pivot so much as a realization that a stopgap had become a foundation. The 8086, conceived in 1976 as an internal hedge and launched in 1978 was never supposed to matter. It was a 16-bit processor designed to hold off Zilog while Intel finished its ambitious 32-bit iAPX 432 architecture. The 8086 was assigned to a single engineer. “If management had any inkling that this architecture would live on through many generations,” its designer Stephen Morse later recalled, “they never would have trusted this task to a single person.”

IBM chose the 8088 — a cost-reduced variant — for the original IBM PC in 1981. That decision wasn’t destiny, it was simply a procurement. And yet from that accident of selection, Intel’s x86 line became the backbone of personal computing for four decades. The Pentium in 1993 was Intel’s Wintel moment — the flag bearer the @magicsilicon tweet gestures at — but the flag had been quietly sewn since 1978.


What these histories share is not just a pattern of “slow build, explosive payoff.” The structural similarity is subtler: in both cases, the moat was a software abstraction layer built on top of hardware. Intel’s real lock-in wasn’t transistor count or clock speed. It was backward compatibility — the commitment, formalized with the 80386 in 1985, that every future Intel chip would run software written for older ones. That promise created a flywheel that trapped developers and buyers in a virtuous (for Intel) dependency loop for decades.

CUDA is the same architecture at a different layer. The lock-in isn’t the H100’s 80 gigabytes of HBM3. It’s that switching to an AMD MI300X or Google TPU means potentially rewriting training pipelines that have been optimized against CUDA kernels for years. AMD’s ROCm platform exists. It is, by most accounts, maturing. Engineers who have tried the migration report that it costs months and hundreds of thousands of dollars. The moat isn’t a wall. It’s accumulated friction — the switching cost of a decade of engineering decisions baked into codebases that no one wants to touch.


But to find the actual origin of this pattern, you have to go back further than Intel. To 1964, and to a decision IBM made that Fred Brooks — its project manager — called a bet-the-business move.

The IBM System/360 was announced on April 7, 1964, after five years of turbulent internal development. What it introduced wasn’t just a new computer. It was a new concept: the separation of architecture from implementation. Before the 360, IBM ran five incompatible product lines simultaneously. A customer who outgrew their machine had to scrap all existing software and start over. The 360 replaced all five lines with a single unified architecture — six models covering a fiftyfold performance range, all running the same operating system, all sharing the same instruction set. The name itself encoded the ambition: 360 degrees, all directions, all users.

Gene Amdahl, the 360’s chief architect, had a precise formulation for what this meant: the architecture was “an interface for which software is written, independent of any implementation.” The Principles of Operation manual described what the machine did; separate Functional Characteristics documents described how each model did it. This distinction — separating the contract from the execution — was genuinely new. It’s the conceptual root of everything that came after.

The 360 generated over $100 billion in revenue for IBM and established the first platform business model in computing. Jim Collins would later rank it alongside the Model T and the Boeing 707 as one of the three greatest business achievements of the twentieth century. But its deepest legacy was architectural: the insight that if you make your abstraction layer the standard, the hardware underneath becomes fungible. Customers didn’t buy specific IBM machines. They bought into OS/360. The machines were an implementation detail.

Intel understood this by the 1980s, even if implicitly. The 80386’s backward compatibility commitment in 1985 was IBM’s 360 insight applied to microprocessors — the architecture is the product, the silicon is the vehicle. CUDA is the same insight applied to GPU compute. What NVIDIA sold researchers in 2006 wasn’t the G80 card. It was the abstraction: write parallel code in C++, run it on any NVIDIA hardware, trust that the next generation will be faster and compatible.

The pattern is now sixty years old. It has reproduced in every major platform transition. And it keeps working for the same reason it worked in 1964: when you own the layer that developers write to, your customers’ switching costs compound every year they stay.


There’s something worth sitting with here. Neither Jensen Huang in 2006 nor Gordon Moore in 1968 could have specified exactly what the payoff would look like. What they shared was a willingness to build infrastructure for a demand they could sense but not yet see — and the discipline to keep investing in it through the long years when it looked like a research project rather than a business.

The question that doesn’t resolve cleanly is whether that kind of patience is a strategy or a personality. And whether, in an industry that now moves faster than the cycles it’s lived through, sixteen-year moats are still the kind that get built.


Which raises the uncomfortable corollary: the same AI tools that CUDA enabled may be what ultimately erodes it.

The attack on CUDA’s moat is now structurally different from anything AMD or Intel could mount before. OpenAI’s Triton compiler lets developers write GPU kernels in Python without touching CUDA at all, and generates optimized machine code that often matches hand-tuned CUDA performance. MLIR — Multi-Level Intermediate Representation, originally from Google — provides a compiler infrastructure that can target any hardware backend from a single codebase. AMD’s ROCm has historically been dismissed as immature; ROCm 7, released this year, delivers meaningfully better inference performance than its predecessors. And perhaps most directly: Claude Code reportedly ported a CUDA codebase to AMD’s ROCm in thirty minutes — work that previously took months of engineering time.

The irony is almost too neat. CUDA’s moat was built on accumulated switching costs: the friction of rewriting code, the library dependencies, the tribal knowledge encoded in a decade of kernel optimizations. AI coding tools are specifically good at exactly that kind of mechanical, high-context translation. The weapon is attacking the wall it was built behind.

That said, it’s worth being careful about the speed of this. Abstraction layers that “should” erode moats often take far longer than expected, because the moat isn’t just the code — it’s the ecosystem of tooling, documentation, community knowledge, and hardware-software co-optimization that took eighteen years to compound. Triton and MLIR are real. They’re also early. The question isn’t whether the moat is vulnerable; it’s whether it erodes before NVIDIA’s next generation of chips makes it irrelevant to argue about.


As for what comes next — which company is building the IBM 360 of this decade — the honest answer is that it’s too early to call with confidence. But there’s a candidate worth watching.

Anthropic’s Model Context Protocol, launched in late 2024, has the structural fingerprint of a platform play. MCP is a standard for how AI agents connect to external tools and data sources — a common interface layer, hardware-agnostic (or rather, model-agnostic), that any system can implement. By late 2025 it had been donated to the Linux Foundation, adopted by OpenAI and Google, and was tracking 97 million monthly SDK downloads. There are now over 10,000 MCP servers. It is becoming the way agents talk to the world.

The parallel to OS/360 is imprecise but instructive. What IBM built in 1964 was a standard interface between software and hardware that decoupled what you wrote from what you ran it on. MCP is attempting something similar one abstraction layer higher: decoupling what an agent does from the specific models, tools, and data sources it does it with. If it becomes the standard — the layer that developers write to — then whoever owns or most deeply shapes that standard controls the integration tax of an industry whose applications we can’t fully specify yet.

The counterargument is that open standards, once donated to foundations and broadly adopted, don’t generate the same lock-in as proprietary platforms. OS/360 was IBM’s. CUDA is NVIDIA’s. MCP is now the Linux Foundation’s, with OpenAI and Google as co-stewards. The historical pattern suggests the moat accrues to whoever owns the layer, not whoever invented it.

Which may mean the next great platform play is still being assembled in a room we haven’t seen yet — the way IBM’s System/360 was being architected in a Connecticut motor lodge in 1961, three years before anyone else knew what was coming.