bitwise technical
editor Dermot
Hogan has managed and developed global risk
management systems for several major international
banks and financial institutions. He is currently
developing a Visual Studio IDE for Ruby programming.
This month Bytegeist fesses
up to a dreadful secret...
SEDUCED BY THE DARK SIDE...
I have confession to make: I’m
a secret admirer of Microsoft. I know - it’s a
shameful thing to have to say, but there it is. I realize
that this will have shredded any credibility (such as
it was) that I might have had and I’ve
resolved to join Microsoft Anonymous to help rid myself
of this foul affliction. But the plain fact of the
matter is that I genuinely think that Microsoft produces
pretty good software. In the spirit of openness, let
me explain how I got myself into this dreadful position...
Start off with the US Government’s lawsuit against
Microsoft. This was supposedly about Microsoft using
its monopoly position to destroy its competitors. Namely
Netscape. I had some nagging doubts about this at the
time. It always seemed to me that there was a case to
answer that Microsoft had to stop behaving like it was
a garage startup when it was, in fact, a multi-billion
dollar corporation. There’s a certain maturity
required here and Microsoft, and Mr Gates in particular,
didn’t have it. But Netscape was the author of
much of its own misfortunes. Its software was in such
a poor state that it had to be completely rewritten by
Mozilla. Microsoft’s Internet Explorer (for all
its many, many faults) was simply better than Netscape.
"All this time, I’d
been using Microsoft operating systems - and they
were getting better! I
was clearly being sucked ever deeper in to the Microsoft
evil empire..."
The charge of bundling also seemed to me to be a bit
flimsy. If it had stuck, Microsoft would have been prevented
from improving its OS. It’s a bit like saying to
a car manufacturer that they can’t make their own
engines. In Europe, we’re now in the ludicrous
position of the European Commission (famed for its entrepreneurial attitude
to its expense accounts) forcing Microsoft to produce
a version of Windows (Windows N) without the Windows
Media player. You can now rush out and buy this wonderful
product. It’s the only Windows product we know
the sales of – which are zero, zilch, a cricketing
duck. And why? - because it costs exactly the same as ‘normal’ Windows.
So why would anyone with an IQ somewhere above zero buy
it? You might think that someone would have spotted that – but
not the brilliant European Commission. Strange people.
The Joys of Linux...
All this time, I’d been using Microsoft operating
systems. Gradually, it dawned on me that these were getting
better – I was clearly being sucked ever deeper
in to the Microsoft evil empire. At one point I did have
a Linux PC. But apart from recompiling the Linux kernel
a few times, there was nothing much I could do with it.
At last, I gave into temptation, reformatted the hard
disk and installed NT4. Over the last few years, I’ve
been using first Windows 2000 and now Windows XP. Bizarrely,
I seem to have failed to notice the 'well known' poor
quality of Windows XP - because I haven’t
had a single crash (apart from developing my device drivers)
in the last few years. Not one. Windows XP is rock solid.
Worse, I’d been secretly using Microsoft development
software – the infamous Visual Studio. Once you
start using that, you’re doomed. Doomed to using
a good quality, largely bug free, productive software
development tool. The slippery slope indeed. Then came
Visual Studio 2005. There have been reports that some
users have had adverse side-effects from using this product:
random crashes, that sort of thing. For me, though, with
the new Visual Studio SDK, the ‘high’ has
been wonderful. I just can’t get enough of Visual
Studio 2005. I’m hooked – and you get an
even better ‘rush’ if you combine it with
an extra GB or so of memory.
My latest ‘fix’ is the Team Foundation Server.
After a hard day installing and re-installing the TFM
(hint: follow the instructions exactly on a clean system),
I can report that the thing works as advertised. No crashes,
glitches or unexpected behaviour. It just works. As does
SourceSafe – at long last, a usable source control
system from Microsoft. It’s a pity it’s only
taken the best part of a decade.
It’s true that there are things that dampen my
Panglossian optimism that everything is for the best
in the best possible Microsoft world. Microsoft has had
a pretty bad time in the press recently by having to
slip Vista. But who cares? PC shipments run at 250
million or so units per year.
And they ship (for the most part – the ‘missing’ parts
being Russia and China which seem to have one Windows
license between them) with a Microsoft OS. It doesn’t
matter to Microsoft’s bottom line whether the cost,
to an OEM, is a $50 XP license or a $50 Vista one. People
are not to upgrade in large numbers to Vista for the
simple reason that XP is good enough. I’ll repeat
the blindingly obvious again just for the SlashDot hard
of hearing: Windows XP is rock solid.
However, it has to be said that shipping an operating
system that is three years late and without a whole raft
of goodies that were initially promised isn’t good.
Put it another way, it’s dreadful. Shipping anything
that late and many billions over budget will have consequences;
and consequences there already seem to be in Microsoft
senior management.
Vistas New...
But in spite of all the gloom and imminent predictions
of Microsoft being annihilated by teams of ninja Linux
programmers, you can see signs of lessons being learnt.
There’s a fascinating (to operating system maniacs
like me) video on
Microsoft’s Channel 9 concerning
the Vista kernel.
It’s an interview with Rob Short, a senior NT architect,
and several more junior architects. It covers quite a
wide range of topics from heap fragmentation algorithms
to user mode device drivers. It’s about an hour
long and (to me) well worth the time spent watching it.
Several point came over to me while viewing. The first
one was the enormous complexity of the Windows kernel.
There are 5,500 binaries (dlls and the like) with over
100,000 connections between them. By any stretch, that
is far, far too many. The architects recognised this
and were taking steps to ‘layer’ the kernel
into a set of ‘micro-kernel’ type divisions.
There’s a good discussion on layering here.
"You can get almost anything
into a PC if you are prepared get your hands dirty.
One downside is that the operating system is far,
far more vulnerable to poorly coded drivers..."
Secondly, the chief honcho, Rob Short, recognised that
getting Windows to cover everything from a datacentre
server to a “telephone” was, shall we say,
difficult. Further, it was the telephone that was the
complicated bit. This rung a bell, so to speak. I’ve
found this to be the case as well. When I was designing
client server dealing systems in the mid-80s, I found
exactly the same; the server was a breeze, but it was
the bit with the human being on the end of it that was
tricky (to say the least). This is fundamentally why
Linux has failed to take off on the desktop. A Linux
server is trivial. A Linux desktop with Aunt Maude trying
to connect the toaster to the COM port is different order
of complexity; and this is not the kind of problem, it
seems, that that the Linux community has much interest
in dealing with.
As an aside, it’s interesting to note how Microsoft
and Apple have tackled the same problem. With Apple,
what can you can plug into your Mac is limited – but
it works. It works because Apple keep control of what
you can do. Microsoft on the other hand is far more open.
You can get almost anything into a PC if you are prepared
get your hands dirty. One downside is that the operating
system is far, far more vulnerable to poorly coded drivers.
I would guess that’s the reason for having user-mode
drivers in Vista (they’ve been around in Linux
for some time). Another downside is that you have to
carry a whole raft of legacy code with you for connecting
last year’s toasters.
And on that theme, there was a nice comment about backward
compatibility. Rob Short quoted Microsoft’s Chief
Architect (you could hear the capitalization!): “when
you break compatibility, you throw away an asset”.
It is very difficult to move forward if you have to keep
everything working – but you have to do it. It’s
a pity no one reminded the Visual Basic team of Mr Gates’ dictum.
But apart from Vista (admittedly a bit like saying “apart
from that, how was the play Mrs. Lincoln?”), I
simply think Microsoft software is pretty good. For the
most part it works as advertised: it does what it says
on the tin. Could it be better? Yes, of course. Could
it be cheaper? That would be nice. I’m sure competition
from Google or Linux or whatever will do that in its
own good time.
At the core, though, Microsoft is an organisation devoted
to making money. This is called capitalism, and while
it’s probably not the best system that could be
invented for improving the lot of humankind, it’s
a hell of a lot better than any of the others that have
been tried. In passing, I’d also note that Mr Gates
has devoted a considerable slice of his ‘ill-gotten’ gains
to medical charities, including a few hundred million
to malaria research. This is an area which is much neglected
by the normal ‘big pharma’ companies because
of the unfortunate fact that the people who get it (and
all too often die from it) are too poor to buy any drugs.
It would seem that Mr Gates is adhering to Carnegie’s
saying “The man who dies rich dies in disgrace.” (the
true quote is a little more complicated – see here).
I can’t say I’ve noticed anyone in the open
software movement doing anything similar.
But I’ll have to wrap this up for now – I
just must get my next fix of Visual Studio!