Farewell to one of the great ones
Yesterday was the last day at Microsoft for David Weise. I've written about David (in passing) in the past, but never in detail.
David started at Microsoft in 1986, when Microsoft acquired Dynamical Systems Research. Before founding DSR, he was a member of the ORIGINAL MIT blackjack team - not the latecomers that you see in all the movies, but the original team, back in the 1970s. According to Daniel Weise (David's twin brother), they ran it like an investment company - MIT people could invest money in the blackjack team, and the blackjack team would divide their winnings up among them. Apparently RMS was one of the original investors, during David's going away party, Daniel joked that the FSF was founded on David's blackjack winnings :)
After leaving Princeton with a PhD in molecular biophysics, David, Chuck Whitmer, Nathan and Cameron Myhrvold, and a few others founded DSR to create a "Topview" clone. For those new to the industry, Topview was a text based multitasking shell that IBM created that was going to totally revolutionize the PC industry - it would wrest control of the platform from Microsoft and allow IBM to maintain its rightful place as leader of the PC industry. Unfortunately for IBM, it was an utter flop.
And, as Daniel pointed out, it was unfortunate for DSR. Even though their product was twice as fast as IBMs and 2/3rds the size, when you base your business model on being a clone of a flop, you've got a problem.
Fortunately, at the time, Microsoft was also worried about Topview, and they were looking for a company that understood the Topview environment so that if it was successful, Microsoft would have the ability to integrate Topview support into Windows.
Finding DSR may have been one of the best acquisitions that Microsoft ever made. Not only did they find the future CTO (and founder of Microsoft Research) Nathan Myhrvold, but they also hired David Weise.
You see, the DSR guys were wizards, and David was a wizard's wizard. He looks at programs and makes them smaller and faster. It's absolutely magical to watch him at his work.
I (and others) believe that David is single handedly responsible for making Microsoft over a billion dollars. He's also (IMHO) the person who is most responsible for the success of Windows 3.0.
Everywhere David worked, he dramatically improved the quality of the product. He worked on the OS/2 graphics drivers and they got faster and smarter. He (and Chuck) figured out tricks that even the designers of the hardware didn't realize could be done.
And eventually, David found himself in the Windows group with Aaron Reynolds, and Ralph Lipe (and several others).
Davids job was to move the graphics drivers in windows into protected mode on 286 and better processors (to free up precious memory below 640K for Windows applications). He (and Chuck) had already figured out how to get normal Windows applications to use expanded memory for their code and data, but now he was tackling a harder problem - the protected mode environment is subtler than expanded memory - if you touched memory that wasn't yours, you'd crash.
David succeeded (of course). But David, being David, didn't stop with the graphics drivers.
He (along with Murray Sargent, creator of the SST debugger) also figured out how to get normal Windows applications running in protected mode.
Which totally and utterly and irrevocably blew apart the 640K memory barrier.
I remember wandering over to the Windows group over in Building 3 to talk to Aaron Reynolds about something to do with the MS-DOS redirector (I was working on DOS Lan Manager at the time). I ran into David, and he called me into his office "Hey, look at what I've got working!".
He showed me existing windows apps running in protected mode on the 286. UNMODIFIED Windows 1.0 applications running in protected mode.
He then ran me around the rest of the group, and they showed me the other stuff they were working on. Ralph had written a new driver architecture called VxD. Aaron had done something astonishing (I'm not sure what). They had display drivers that could display 256 color bitmaps on the screen (the best OS/2 could do at the time was 16 colors).
My jaw was dropping lower and lower as I moved from office to office. "Oh my goodness, you can't let Steve see this, he's going to pitch a fit" (those aren't quite the words I used, but this is a family blog).
You see, at this time, Microsoft's systems division was 100% focused on OS/2 1.1. All of the efforts of the systems division were totally invested in OS/2 development. We had invested literally tens of millions of dollars on OS/2, because we knew that it was the future for Microsoft. OS/2 at the time just ran a single DOS application at a time, and it had only just recently gotten a GUI (in 1989). It didn't have support for many printers (only about 5, all made by IBM, and (I believe) the HP Laserjet).
And here was this little skunkworks project in building three that was sitting on what was clearly the most explosive product Microsoft had ever produced. It was blindingly obvious, even at that early date - Windows 3.0 ran multiple DOS applications in virtual x86 machines. It ran Windows applications in protected mode, breaking the 640K memory barrier. It had a device driver model that allowed for development of true 32bit device drivers. It supported modern displays with color depths greater than had been available on PC operating systems.
There was just no comparison between the two platforms - if they had to compete head-to-head, Windows 3.0 would win hands down.
Btw, David had discussed it with Steve (I just learned that yesterday). As David put it, he realized that this was potentially an issue, so he went to Steve, and told him about it. Steve asked Dave to let him know when he'd made progress. That night, David was up until 5AM working on the code, he got it working, and he'd left it running on his machine. He left a note on SteveB's office door saying that he should stop by David's office. When David got in the next day (at around 8AM), he saw that his machine had crashed, so he knew that Steve had come by and seen it.
He went to Steve's office, and they had a chat. Steve's only comment was that David should tell his manager and his manager's manager so that they'd not be surprised at the product review that was going to happen later that day. At the product review, Steve and Bill greenlighted the Windows 3.0 project, and the rest was history. My tour was apparently a couple of days after that - it was finally ok to let people know what the Windows 3.0 team was doing.
The rest was history. At its release, Windows 3.0 was the most successful software project in history, selling more than 10 million copies a month, and it's directly responsible for Microsoft being where it is today.
And, as I mentioned above, David is responsible for most of that success - if Windows 3.0 hadn't run Windows apps in protected mode, then it wouldn't have been the unmitigated success it was.
David's spent the last several years working in linguistics - speech generation, etc. He was made a distinguished engineer back in 2002, in recognition of his contribution to the industry. The title of Distinguished Engineer is the title to which all Microsoft developers aspire, it is literally the pinnacle of a developers career at Microsoft when they're named DE - other DE's include Dave Cutler, Butler Lampson, Jim Gray, Anders Hejlsberg. This is unbelievably rarified company - these are the people who have literally changed the world.
And David absolutely belongs in their company.
David's leaving to learn more about the state of molecular biology today, he wants to finally be able to use his PhD, the field has changed so much since he left it, and it's amazing what's happening in it these days.
As I said as I was leaving his goodbye party:
"Congratulations, good luck, and, from the bottom of my heart, thank you".
Bonne Chance David, I wish you all the best. When you get your Nobel Prize, I'll be able to say "I knew him back when he worked at Microsoft".
Edit: Corrected David's PhD info based on Peter Woit's blog post here. Sorry David, and thanks Peter.
Edit2: Grey->Gray :) Thanks Jay