Home
Archives
About us...
Advertising
Contacts
Site Map
 

ruby in steel

 

Visit the Bytegeist Archives...

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!

Bytegeist Archives

 


Home | Archives | Contacts

Copyright © 2006 Dark Neon Ltd. :: not to be reproduced without permission