This is a post about some of the early days in the life of an amazing person, Nathan Myhrvold. Nathan and his good friend and colleague, Chuck Whitmer, had completed PhD’s in theoretical physics at Princeton. They wanted to investigate advanced behaviors in a field called deterministic chaos. This field deals with how dynamical systems can be extraordinarily dependent on small variations in initial conditions. To pursue these studies, Nathan and Chuck felt they needed a more powerful computer operating system and to this end they started the company Dynamical Systems in 1984. They gathered together a bunch of very smart guys, including some other physicists, and occupied the loft of a building in Oakland, CA. There they had a ring of souped up IBM AT PC’s. The usual speed for the IBM AT at that time was 6 MHz, but Nathan and Chuck found they could run up the clocks to a screaming 8 or even 9 MHz! This is an early example of how Nathan loved and continues to love to push the envelope.
The DS team developed a multitasking operating system on top of DOS called Panorama (later on, Mondrian) that ran 16 processes way faster than IBM’s Top View system could run two processes even though Panorama used only 64 K RAM while Top View used 400 K. Tiny numbers by today’s standards, but you have to remember that there was only 640 K available in DOS.
To develop such a system Nathan needed powerful debugging facilities and noticed me demoing my SST debugger at the computer mecca show, Comdex. Perhaps intrigued that SST could execute backward as well as forward, he bought three copies. Physicists are intrigued by time reversal. Then every week or so he’d call up and ask for a new feature to facilitate debugging. Often the features weren’t too hard, for example, one week he wanted a built-in assembler in addition to the disassembler. So I’d implement the features and send up new copies. Then one day he called and said calmly that 640 K RAM wasn’t enough for running multiple serious applications and wanted me to add protected mode support to SST. This wasn’t nearly so easy, but I got intrigued and implemented his request.
Meanwhile Steve Ballmer got interested with what Nathan & Co were doing and decided to acquire Dynamical Systems, partly as a bargaining chip to use in negotiating with the ever demanding IBM. Soon thereafter Nathan arranged to have me come up to Microsoft to improve the Microsoft CodeView debugger using SST technology. In the process, another Dynamical Systems physicist David Weise and I used SST to get Windows into protected mode, blowing away the 640K DOS RAM barrier and ultimately IBM’s OS/2 operating system as well. So you see Windows dominance was crucially dependent on Nathan dreaming a few of his big dreams.
At Microsoft, Nathan did many things, but probably his proudest achievement was convincing Bill and Steve to support research and then to develop Microsoft Research. He hired many very talented folks, such as the current and long time director of MSR, Rick Rashid. While Nathan ran MSR, he wrote insightful memos every month or so, predicting the course of computing. Many of his predictions have come true over time and even seem to be self-evident now, however controversial at the time. For example during the big debate we had in switching to Unicode, which used 16 bits for characters instead of 8, he pointed out that the size of the text in files was typically negligible compared to the size of associated properties and embedded objects. That observation helped a lot in steering Microsoft to the right approach, years before the competition caught on. Nathan started Windows Mobile and I can’t help but think that if Nathan had stayed interested in the area, especially in view of his stimulating ideas about interactive TV, that Microsoft would have had iPhone pizzazz before Apple. One of his predictions remains to be fulfilled: he wrote that he could not be sure what the form of the most intelligent being on earth would be in the year 2030, but he was quite sure it would not be human.