USB Cart of Death: The wheeled scourge that drove Windows devs to despair
Stout heart a requisite for software engineers in days of yore
Microsoft veteran Raymond Chen has recalled a time when Windows developers encountered the trundling terror of the USB Cart of Death following an unfortunate mistake live on stage during a Windows 98 keynote.
Speaking to another Redmond old timer, Dave Plummer, Chen reminisced that while the USB Cart of Death did not actually kill anyone, it was certainly fatal to plenty of Windows builds.
His story started with the development of USB support within Windows and the frantic pace at which the Windows team was working to support the protocol. The USB standard emerged in 1996 as a way of powering and connecting devices on a single bus. Old hands – such as your writer – well remember the days when printers, keyboards, and even the newfangled mouse all had their own connectors. USB promised a way of resolving the mess.
However, it needed operating system support, which is where Chen comes in. "The USB Cart of Death," he recalled, "was one of those office carts – like a mail cart – but it was loaded with every USB device they [Microsoft] could get their hands on."
"We'd have, like three USB mice, four USB keyboards, maybe a USB-connected printer – USB everything – and they were all connected together on this office cart, connected through a whole bunch of USB hubs…"
Imagine a cart laden with connected USB gizmos, daisy-chained together with hubs several levels deep. And a single cable to plug into a suitable victim.
Chen remembers the limit being 64 devices, although the USB standard can support, in theory, up to 127 devices. It also – and this is key – allowed hot plug and play. Attach or detach a USB device, and the host operating system should handle it without requiring a reboot. Something taken for granted today, but not so much in the last century.
Those still bearing the scars of USB might refer to the technology as Plug and Pray, but we digress.
"One of the USB devices," Chen said, "was a USB gaming steering wheel, which was attached to the front so you could actually drive this cart down the hallway."
- Remembering the time Windows accidentally sent Poland to the bottom of the sea
- Microsoft veteran on how he forged a badge to sneak into a Ballmer presentation
- Don't fear the Thread Reaper, a Windows ghost of bugs past
- Retired engineer confesses to role in sliding Microsoft Bob onto millions of XP install CDs
But what of the nickname?
The cart would be wheeled into the office of a kernel developer working on USB support, Chen said. The cart driver would inquire if the developer had a test machine available, plug in that single cable… and stand well back. A nice person might wait until the Windows USB subsystem finished welcoming its unexpected visitors before giving one of the mice a little jiggle to check things were working.
More often than not, however, the cart driver would not be nice and would instead wait a few seconds before yanking out the cable as Windows was rolling out the welcome mat. The result was typically a blue screen of death on the operating system, hence the USB Cart of Death.
It is 25 years since an impossibly young Chris Capossela – now exec veep of the Consumer Business at Microsoft – lived through a beta of Windows 98 crashing live on stage in front of Bill Gates as he attempted to attach a USB scanner. "That predated the Cart of Death," said Chen. "The Cart of Death may have been inspired by it maybe. It's like, 'We want to make sure this doesn't happen again!'"
The Cart of Death continued to wreak havoc on Microsoft's test labs. Banks of machines running fresh builds of Microsoft's flagship operating system were left with screens of blue for developers to decode as the cart was wheeled up and down, the cable connected then abruptly yanked.
"The goal," said Chen, "was to get it to the point where you could plug in the USB Cart of Death and unplug it anytime you wanted, and everything would still work... and I think they made it."
We suspect there are some lessons there for the current Windows team. ®