25 years ago i invented something that
not only has sold
more than a billion copies but that is
still actively used by over 200 million
unique people
each and every month decades later to
this very day
that's important to me because
popularity is one thing but staying
power is really where it's at
for every macarena there's a dark side
of the moon and i'd like to think that i
actually managed to write two programs
that have similarly withstood the test
of time
the windows task manager and windows zip
folders and yes i entirely appreciate
that that's where any similarities to
dark side of the moon end
still having code that i wrote
personally surviving in core windows
some 25 years later
is actually quite rare and rewarding and
being that they were things that i wrote
largely independently and of my own
initiative as side projects
makes them even more so this is the
story of how windows task manager came
to be
followed in part 2 by a tour in analysis
of the actual never before seen windows
source code for task manager itself
i'll take you through it and show you
how task manager works and why i wrote
it that way
among other factors we'll look at the
defensive programming techniques i
developed for it
and the app's self-healing nature you'll
learn a number of task manager secrets
never revealed until today that's
largely because i'd forgotten most of
them until i saw the code again
in fact it jogged enough memories that
it made me a little nostalgic so i'll
also try to give you a sense of just
what it was like to be at microsoft in
the 1990s
for those that don't know me my name is
dave plummer i graduated from the
university of regina and started at
microsoft back in 1993
where i spent the next decade or so
working on ms-dos and microsoft windows
while i contributed to windows 95 and 98
my focus was really on windows nt and
its successors
such as windows xp those were our
advanced operating systems
designed by david cutler who had also
designed vms before it
and they would evolve into what you're
using today in windows 10.
it's all built atop and evolved from our
original nt code base
so how do you go from the u of r to
microsoft well for me
it all started with a book i was working
a summer internship at sas tell the
phone company
and ate my lunch in the mall food court
as the song says with the old and the
board
i wandered into what was then a cole's
bookstore and picked up a copy of a book
titled hard drive
the story of bill gates and the making
of the microsoft empire
frankly i considered microsoft to be the
crude 800-pound gorilla of the industry
and i was not one of their fans to be
honest
that was until i read the book however
and encountered the stories of the
people and the software projects that
went on there
it sounded like a company populated with
people that i aspired to be like
working on projects that absolutely
fascinated me i knew immediately and
with great certainty where i needed to
be
redmond washington the only problem was
that it's a long way from saskatchewan
to redmond
and microsoft was already receiving
something on the order of 100 000 job
applications a year
well i did send a copy of my resume to
general hr recruiting
i'm quite certain that i never heard
back on that one
instead i turned to one of the programs
i'd written for the amiga
an operating system utility called
hypercache in those days before the web
users would typically fill out a
registration postcard with their
customer info and mail it back to the
software vendor for update notifications
and that sort of thing
i went through my big stack of blue
cards looking for anyone with a
microsoft.com email address
and eventually i found one it was a
fellow named alastair banks and i sent
him an email asking if he might suggest
anywhere that i could apply directly
he gave me one of the greatest gifts you
can give an aspiring graduate
the direct contact emails of a couple
managers who were actively hiring
operating system developers
long story short his contact knitted me
a phone screening which led to a phone
interview which then led to an in-person
day of interviews down in redmond
which ultimately landed me a summer
internship in the middle of my final
year at school
and though we've still never met in
person we stay in touch online and i
sent him a thank you note on my major
anniversaries
i came down to join in on the effort for
ms-dos 6.2
where i was pleasantly surprised to
discover that interns are actually given
real core features to work on
this summer i completed tasks like
writing a new version of smartdrive the
system disk cache complete with support
for cd-rom drives
i added single-pass disk copy and used a
delta patching system that i borrowed
from the foxpro database
of all places to build a version of
setup that fit the entire ms-dos upgrade
onto a single floppy disk
potentially saving the company millions
of dollars not bad for summer intern in
about three months i thought
when my internship ended and i returned
for my final semester of school in
regina
much credit is due to the patience of dr
howard hamilton
who mustered me through my final
computer science courses that fall as i
bashed in the glow of being the only
student in the advanced operating system
course
to have actually written part of a major
commercial operating system
don't worry however as i am certain i
handled the situation with all the grace
to be expected of
anyone in their early twenties being an
intern might get you on the shortlist
for a full-time interview
but i don't think even i appreciate how
little it actually promised in terms of
lasting employment
i think i believe that my performance as
an intern was my future ticket
but the reality is that you have to
completely re-interview all over again
with new people that you've never met
before basically starting from scratch
i endured the series of all-day
interviews and ultimately secured an
offer
it was for thirty five thousand dollars
a year which i accepted without question
fortunately i was also welcome to the
fold with a whack of stock options that
it turns out would be a pretty good deal
in the long run
as soon as exams were complete i headed
on down to start work in redmond on the
win32 rpc team where i had landed a
position
a few months later i would fly back to
regina for a single weekend to graduate
get married to my high school girlfriend
and then pack everything that remained
and immigrate to the united states all
in about 72 hours
upon landing at the u.s customs entry
point however i was pulled aside into
the big glass room for additional
questioning
after reviewing my application as my new
bride looked on from afar
the immigration officer was yelling at
me turning red and waving his arms
he was very upset and animated and from
her vantage point
it was clear that we were being denied
entry and that my microsoft dreams were
crashing down around us
right then and there well she didn't
know because she couldn't hear
was that he had already long since
approved my work visa he was actually
upset because their copy of microsoft
word printed a blank page at the end of
every one of their documents and was
wasting paper and he wanted to fix
i did my best to help reconfigure their
page margins before we were released to
our new life in america
back in those days just like today i
like to code
i like to code a lot in fact i'd code
all day at work at microsoft and then
come home and code on my side projects
at night until bad i'm also the kind of
guy who's just genuinely curious about
what's going on inside my system and who
enjoys seeing machines busy and hard at
work
i could literally sit and watch snort
and speed this shuttle blocks and
sectors around my disc in a fascinating
dance for
longer than i should probably admit heck
i've even defeated the safety mechanism
so i could keep the lid open to watch a
cycle of my washing machine out of
curiosity just to see how it worked
there could be a whole spectrum of
reasons why but i think i'm just wired
that way
now that i was working on a fledgling
windows nt with all this complicated
internal mechanisms
i wanted to get some insight into what
was going on with my own computer as
well
and that interest led directly to task
manager today you might think of task
manager primarily as a tool for dealing
with rogue apps and frozen desktops
but that ability was actually secondary
to the monitoring piece of determining
what programs were running
what resources were in use what was
still free who owned what and most
important
what if anything looked out of the
ordinary it was really more about
inspection than control you could see
how much memory each process was using
how many threads of execution each had
operating how many graphics handles
ahead outstanding and so on
with a glass a developer could now spot
a resource leak with ease
in a way it's a debugging tool written
by a developer that even end users
ultimately found useful
i wrote the first drafts of task manager
in my dan at home and then took the
resultant rough program into work
in those days we followed a practice
known as eating our own dog food which
meant we were self-hosted on the newest
daily builds of windows nt
even as we worked to create them
eventually a number of other developers
talked me into giving them copies of my
task manager
and it spread amongst the team it
eventually came to the notice of dave
cutler
the designer of windows nt and second at
the company perhaps only to bill gates
as far as we were concerned
fortunately he was a fan of the
fledgling task manager and gave me
permission to put it into the main
windows source tree
once i had put it into the product a
senior developer named mark lakoski was
essential to keeping it there he served
as this occasional champion
fending off the complaints from the
designers of windows 95 who found the
whole thing overly technical and nerdy
in a way that ran contrary to their
mission of simplifying the pc experience
of course it likely didn't help that
dave c initially had me put at the very
top of the start menu which was
basically received as a big middle
finger by the windows 95 shell designers
i moved the link to somewhere reasonable
like system tools and everyone was
satisfied
no money exchange hands and no contracts
were signed i simply added to the
project source tree and changed the
copyright headers
it was very much a wild west in
comparison to how you would go about it
today
the best part about it at the time at
least from my perspective was that once
i'd added it to the product
my favorite hobby then became my day job
the software that i've been tinkering
with in my den
now became my primary full-time job for
a couple months
it'd be very much like if you had a
hobby of building and painting little
bird houses
and one day you brought it in to show
your boss and your boss said you know
dave we really like your little bird
houses we're going to pay you to build
them here at work too
my bird hoses just happen to be task
manager
contrast that experience with the one i
had about a year later involving the
system software known as
zip folders that's the code that enables
you to download and browse through zip
archives using the windows shell
and lets you drag and drop in and out to
compress and decompress files and so on
i had written it at home and released it
as shareware after getting permission to
do so i was selling perhaps a dozen
copies a day when somehow a windows
product manager at microsoft
stumbled across the utility and decided
that it too belonged in the operating
system as part of windows
to that end she called me at home quite
early one morning before i'd left for
work
to explain that they wanted to purchase
the program from me for inclusion in
windows and would i be willing to
discuss it
i offered to stop right on by her office
that morning which seemed to spook her a
little bit
she demured and said that i should talk
to microsoft travel which confused the
heck out of me
why should i schedule a travel visit to
microsoft when i worked there every day
in fact at that time i lived only a few
blocks away and i could walk
it turned out after some uncomfortable
back and forth that she had no idea that
i worked at microsoft just as she did
she had merely researched tracked down
and then cold called the author of zip
folders who happened to be me
at home to explore an acquisition as a
result
my choices were actually quite limited
if i did not sell it to microsoft
they would simply develop their own or
buy a competing one and i'd have to stop
selling mine or quit my day job i
couldn't just continue selling mine in
competition with my own employer once
they had entered that market
and so i cheerfully accepted their first
best and only offer
still everyone was happy i showed up at
work the next week in a red corvette and
zip folded remains as part of windows to
this very day
according to the new york times
microsoft's initial public offering is
said to have created some 12
500 new millionaires at the company
being the new guy
i was certainly not among them yet but
working with people who are worth tens
of millions of dollars yet still who act
like normal folks in the lunchroom is
humbling and centering
and when they clearly do not need to
work yet they're passionately putting in
16-hour days and sleeping under desks to
do it
it's also more than just a little
motivating you can't really blow out at
4 30 on a friday when everyone else is
on a death march
oh yes the death march hardly a
politically correct term then or now
it was used to describe the phases of a
product cycle sometimes months long and
sometimes one running into the next
where the limitation of how much work
you put in isn't what's reasonable
it's what's possible if you've already
worked a 14-hour day but you haven't
found the critical bug and it's possible
to work a 17-hour day then that is what
you do
if you need to sleep onto your desk you
put a sticky note on your door that
reads please email
and you take a nap on your floor under
your desk as for me
i'm no dummy i had a small sofa bed
installed in my office
if you need to wake up you wander out to
one of the portable barista stations
serving lattes up and down the hallway
eat in the food courts place some
robotron or tempest in the build lab
whatever it took to keep us there or
more accurately to ship the milestone as
soon as possible
they were willing to provide early one
sunday morning about 5am i received a
call from my boss that there was a
showstopper build break and a component
that i was a backup contact on
calculator or spacecraft pinball or some
such thing
they can't reach whoever normally owns a
component but it's broken and is
blocking the entire build
if you don't fix it not only does a test
build not come out but you're wasting
the time of about 350 developers who
depend on it each day
so even though i had just made it to bed
a few hours earlier
i'd dragged myself back into work and
fixed whatever it was that was broken
my boss's boss was very appreciative
which is why on monday when i got to
work
i found a pair of dave cutler's
courtside mba tickets pinned to my
corkboard
now i'm not a big nba fan but i am a fan
of having popcorn and snacks brought to
me courtside by waiters
and my wife and i had a great time
rubbing elbows with the local rich and
famous
it's actually the last nba game i've
ever been to and if i recall
the supersonics beat the bullets i hope
that part doesn't date me
be sure to join me for part two which
looks at task manager from a more
technical perspective
and the hows and whys of how it was
written
i'd very much appreciate it if you
enjoyed this look back at the windows
task manager that you share this video
with some of you know that actually like
such things
odds are if you enjoy this video then
you know somebody that's kind of in the
same vein and will also enjoy the video
but they may never run across it
so to the extent you can forward along
to them i really appreciate that
kickstart
share it on facebook put it on twitter
whatever you need
it's a very narrow niche obviously so
i'm entirely dependent on your shares in
word of mouth
can a task manager video even go viral
not without your help it can't
so text or email someone the link to the
video or you could click on the share
button in the toolbar below the video
even if you've never clicked on it
before it won't bite it won't hurt so
give it a try
consider it your personal growth and
good deed for the day i know i'd
certainly appreciate it
if you'd like to see future installments
do be sure to subscribe to dave's garage
and turn
on the bell icon and personal
recommendations
if you found today's task manager tales
informative or entertaining
please leave me a like on the video if
you did not consider sending me a strong
message by clicking on dislike twice
that will really get my attention if
you've got any questions
fire away in the comments i'll do my
best to answer thanks and i'll see you
next time here in dave's garage
[Music]
this little chair will be waiting for
one of you and a rocking chair
for another who likes to rock and a big
armchair for two to curl up in
all next time on dave's garage
[Music]
you