Holy cow, I wrote a book!
When the weather gets cold and wet and the sun sets hours
before the evening commute even begins,
the people you meet at the
are the serious bicycle commuters,
the fair-weather cyclists having long since packed up their gear,
not to be dusted off until springtime.
But regardless of the season,
the conversations at the stoplights tend to be rather perfunctory
because you're probably going to be there for less than a minute.
Here's a stoplight conversation I had earlier this week:
"Yeah, I was expecting rain."
"Don't worry, you'll get another chance tomorrow."
Is the /3GB switch supported on Windows Server 2003 Standard Edition?
It depends on what you mean by "supported".
Unfortunately, the word has multiple meanings,
and the intended meaning is not always obvious from context.
One definition of "supported" is
"The software makes a good-faith attempt to
implement the functionality."
For the purpose of this discussion, I will use the word
"implemented" to describe this sense of the word "supported".
Another definition of "supported" is
"The functionality has been tested to a high enough degree of confidence
that the product support team will help you if you have problems with it."
I don't have a good word for this concept;
I will use the word "blessed" for lack of a better term.
In the vast majority of cases,
the product teams keep the two concepts in sync.
If the test team won't bless a feature,
its implementation will be pulled from the product.
The /3GB switch is one of those odd cases where implementation does not
Windows Server 2003 Standard Edition does implement the /3GB switch,
its use is not blessed.
(It is blessed for Enterprise Edition and Datacenter Edition, however.
See the linked article for more details.)
I didn't see the Stephen Hawking lecture in Seattle yesterday,
but then again,
I did see him when he came to town back in 1993 and again in 1996.
I think it was during the 1996 appearance,
after his presentation on
was complete and the floor opened to questions,
the first person to the microphone asked,
"Hello, Dr. Hawking, my name is ABC, and I'm an oneironaut.
That means that I travel through space by means of dreams.
I was wondering if your imaginary time has any connection to
my ability to travel in this manner."
The sound of a thousand people rolling their eyes filled the room.
"We have in our presence what many people consider to be
the smartest living human being, we have time to ask him three questions,
and one of them is this one!?"
We waited patiently for Dr. Hawking's response, which was
"No, I don't think so."
Windows 95 contained some new networking features,
and since I was one of those crazy people
who sampled every flavor of dogfood in the store,
I actually tried out all of them.
One of the features,
a network protocol,
I thought was interesting enough that I decided to help them out by
forcing everybody else on the team to dogfood it.
Here's how I did it.
I had a bunch of debugging documents and other materials
that people generally found useful.
I put them on my machine, which acted as a file server.
Anybody who wanted these files had to install the network protocol
in order to get them.
And the files were valuable enough that people were willing to
take a chance on a new network driver just to get them.
Not only did the client side of the driver get a lot of dogfood
test coverage, so too did the server side, since my computer
would be servicing a lot of simultaneous connections from people reading
I remember finding a variety of interesting bugs this way.
(And of course I ran stress over this protocol.)
I later became friends with the lead tester
for the protocol,
and he told me that
my simple act of force-feeding the dogfood to every other member
of the Windows 95 team was a key element of making their
feature a success.
I can never remember how I'm supposed to spell
Is it "c|net", "c-net", "CNET"?
Well whatever their name is, they
published an article titled
Top 10 dot-com flops
for all your "I can't believe this actually happened" needs.
My former colleague
captured the spirit of the era when he remarked at lunch,
"The dot-com boom is a highly inefficient yet effective way
of transferring money from venture capitalists to me,
He was referring specifically to all the companies that
were selling their goods and services way below cost
in an attempt to "expand the customer base" or
"capture mindshare" or
"gain first-move advantage" or whatever it was
that entrepeneurs managed to put into their business plan
to dazzle investors.
My favorite example of this was Kozmo.com.
Rob Walker in Slate magazine
pointed out that in their S-1 pre-IPO filing,
they mentioned the following interesting numbers:
Delivery costs exceed total revenues.
Even if their suppliers provided the goods
they were still losing money.
As Walker remarks,
"For a delivery service, that seems very, very unpromising."
The Short List
Day to Day
a few months ago consisted of names of failed dot-coms.
Some I recognized, some I didn't,
and some were in that twilight zone of
"Wait, that sounds familiar, what was it again?"
One of the dot-coms that floated in that twilight zone
a group buying site where the price of an item dropped the more
people signed up to buy it.
What they wanted you to think was that the more people who offered
to buy an item, the better the deal the company could negotiate with
Except that's not how it actually worked.
What's my point?
I don't know.
Sometimes I don't have one.
During the development of Windows 95,
everybody was, of course, self-hosted and upgraded the operating
system on a regular basis as new builds came out.
I took it upon myself never to install the operating system twice
the same way.
Each time I ran setup, I would give different answers to the
Maybe this time, I'll leave out Wordpad and bind NetBIOS over TCP/IP
to my Xircom parallel-port network adapter.
Or maybe I wouldn't choose any networking drivers at all during setup
and try to add them later.
Towards the beginning of the project,
nearly every run of setup would run into some strange problem,
and some developer from whatever component I decided to configure
randomly would be in my office at the debugger trying to figure out
(Fortunately, as the project matured, the problems were rarer and rarer.)
I was, you might say, sampling every flavor of dogfood in the store.
I would also do crazy things for nightly stress runs.
My favorite was to run stress over a
direct cable connection.
I don't think it ever occurred to anyone to test DCC quite this way.
When you install Windows on a machine that already has a copy of Windows,
you get the option of performing a "clean" install (installing the
operating system from scratch, ignoring the existing one)
or an "upgrade" install (upgrading the existing operating system to the
And in real life, it turns out,
surveys show that nobody upgrades their servers.
Sure, IT administrators
may get new hardware, they may upgrade the software,
they may even install a new version of the operating system,
but our research says that, to within experimental error,
nobody does an "upgrade install".
They always do a "clean install" and reinstall any applications that
Since this is a server, there aren't many applications that need
to be installed, so reinstalling all the applications
doesn't take quite so long.
What is the lesson here?
You have to
If you're self-hosted on a server build and you install the latest
build via an "upgrade install", you're not really helping to test setup,
no real customer does what you're doing.
This type of
disconnect has historically been a problem in the operating systems group,
where people typically run through the interactive setup
(or if they're really clever, hand it an
to answer the questions automatically),
even though research shows that less than ten percent of all Windows
systems are set up that way.
The vast majority of the systems are installed via a process known as
But inside Microsoft, very few people use this Sysprep install mechanism.
More attention is paid to improving the quality of manual setup
at the expense of Sysprep
because more internal bugs are filed against manual setup
than against Sysprep.
Even though Sysprep method is more commonly used in real life.
In other words, we failed to dogfood setup.
Fortunately, with Windows Vista,
the setup team recognized this disconnect between what gets used
at Microsoft and what gets used in the real world and attacked it
The two setup models have been merged into one.
(And, if you count "clean install" and "upgrade install" as two
different models, which they sort of are, then in fact three setup
models have merged to one.)
The three types of setup (mass-produced, manual clean install,
and manual upgrade install) are now just minor variations on a single
The dogfood is back.
Why is there no all-encompassing superset version of Windows?)
This weekend I saw the latest reinterpretation of Jane Austen's
Pride and Prejudice.
I was introduced to the wondrous world of Jane Austen by the
marvelous BBC adaptation of Pride and Prejudice from 1995.
I found diverting,
but Darcy's "Pemberley" hotel was not as awe-inspiring
as it needed to be for the story to work.
The "Mr. Collins" character was a riot, though.)
I went in with some trepidation, because some
members of the Jane Austen Society of North America
felt that this was the
WORST ADAPTATION EVER.
(Okay, not really, but it was fun to write.)
The best sound bite from the director was his reaction to
people who were all nitpicking over details:
"They can, I dunno, go and jump in the lake."
Was this a backhanded reference to the swoon-inducing
lake scene in the heralded BBC production?
(A scene which, by the way, doesn't exist in the book.)
I enjoyed this adaptation.
Sure it wasn't a literal interpretation,
but if you want a literal interpretation,
go watch Colin Firth again.
(Warning: Spoilers, but I mean, come on, like you don't know
the story backwards and forwards by now!)
Overall, though, I'd give the movie a strong recommendation.
By the way,
the Biography Channel is re-running the BBC Pride and Prejudice
Psst, Biography Channel, news flash:
Pride and Prejudice is not a biography.
Elizabeth Bennett is a fictional character.
[Edit 11am: Fixed spelling of Ms. Knightley's name.]
What most people probably don't know is that
Dr. Watson's name
wasn't originally "Dr. Watson".
The original name of the diagnostic tool was "Sherlock",
whose icon was a lit drop-stem pipe.
I remember chatting about the Doctor with its author,
the late Don Corbitt, whose office was just a few doors down from mine.
In 1991, he had to change the name from "Sherlock" to "Dr. Watson";
I had forgotten why, but
Danny Glasser came to my rescue
and reminded me that there was already a debugging tool called
"Sherlock" that had come out a few years previously.
The name had to change,
and the Doctor stepped in to fill Sherlock's shoes.
The icon was originally a doctor's bag, but it changed to the
stethoscope-wielding general practitioner a few months later.
You should also check out
Matt Pietrek's reminiscences about Dr. Watson.
A note about Don Corbitt.
He was a tall fellow with a deep booming voice,
but he never used it.
Instead, he spoke in a gentle, reassuring tone,
backing it up with code that was always solid.
I consider it an honor to have worked with him.
Taking up the mantle of keeping the Doctor up to date with the
latest forensic techniques,
I updated it (i.e., rewrote it from scratch) for
I was not a member of the Windows 98 team but wrote
the program as a favor to them at great personal cost.
(My then-boss didn't approve of my little side project
and made his displeasure known at my next performance review.)
Larry started with a standard office layout
a fancy-dancy desk chair,
I have opted to modify the standard office layout
by removing items.
First, I got rid of the corner piece,
which is a colossal waste of space
due to its sheer size.
All that space behind the keyboard and monitor
serves only to collect dust.
Out it goes.
Instead, I put the two rectangular tables along the wall
and tucked my computers underneath them.
One LCD monitor and one CRT (each with its own keyboard
and a KVM switchbox and my hardware is all set.
On the occasion that I want to listen to something,
I'll put on headphones.)
Also tucked away is my empty ped, which I tried to get rid of
at the last office move, but which somehow managed to find me.
Maybe I can successfully abandon it at the next office move.
Hanging on the wall is a standard-issue bookshelf.
On the table beneath the bookshelf is where my junk accumulates.
I really should be better about that space.
Against the wall behind me is a standard-issue guest chair.
I got rid of the standard-issue whiteboard, however,
because they are such a hassle.
You'll collaborate with someone and have this awesome diagram
on your whiteboard which you now can't erase because it's
the only record of what you did.
And your colleague can't take the whiteboard out of your office,
so there's a moment of staring and memorization, maybe some
note-taking, and the occasional "Hey, I need to take a look at that
diagram again" visit.
What's worse is that if you leave the diagram up for too long,
it becomes embedded in the whiteboard, and only furious
scrubbing will get it off.
And if somebody else comes in to discuss something, their
first question is, "What can I erase?"
Then you spend the next few seconds deciding, "Do I still need
to keep that?"
My solution is to hang a roll of paper on the wall,
feeding it through an empty picture frame and out the
Whiteboard markers still work great,
and people can come in and draw whatever they want.
After a diagram-fest, you can just take the drawings with you!
And nobody asks "What can I erase?" because you can just tug
on the paper and get a fresh sheet.
The downside is that it looks like a roll of toilet paper sometimes.
The inconvenience of office moves brought me to a realization.
When you're young, you want to have as much stuff as possible.
"The kid who dies with the most toys wins."
As you grow older, you realize that material goods are a burden
and you try to get rid of them in order to simplify your life.
At my last office move, I was able to fit all my non-equipment stuff
into four boxes.
And of those boxes, most of them were dedicated to
the stuff on the bookshelf.
My goal is to get the contents of my office down to one box.
One of my former hallway neighbors was able to fit his entire
office in one box.
Now that's simplification.