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