Saturday, January 28, 2006

Hasta la Vista, Windows

There is a lot of speculation about the coming of Microsoft's Vista. I want to contribute some speculations of my own to the pool:

Vista is not going to be a smash such as Windows 95 was, but something that markets will grow used to, such as happened with XP, because of similar reasons. It can't be any other way, because Vista is going to be a complicated, buggy and unstable Operating System at the beginning. As long as enough early adopters and Microsoft junkies are able to catch the bugs and Microsoft to employ legions of programmers to patch them, it will be improving until becoming mainstream usable, emulating what happened with Windows XP, Me, 2000, 98SE, and 98. Windows 95 was also very-very buggy at the beginning, until Windows 95 950B, but it was such a huge improvement over Windows 3.11 that it became an instant success.

The problem of Bugs and Microsoft has its roots in their oblivious disregard of good software engineering practices. If you look at DOS you would see a bad design of an extension for CP/M. Windows was an awfully preposterous bad copy of ideas that were circulating in the mid 80's, and substantially was a tower of patches over patches on top of DOS. Windows 95 and the Windows 32 Bit API was certainly an improvement, a serious attemp at simplification, but first, they inherited too much from the 16 Bit API; and the whole thing went the path of inconsistency because of the fundamental design problems of Windows 95 that didn't allow it to well-behave as an API for Windows NT would have demanded, so there was this fork between the Windows 32 API for Windows 95/98/Me and NT3.51/4/2000/Xp. As a matter of fact, that's what prevented Windows 2000 to be the real convergence between the branch of 95 and the branch of NT. Windows XP wasn't either, but by 2001 the stentch of Me was so bad that Microsoft allowed the branch to die.

Since the Operating System is so badly designed, so inadequate, some applications have to implement Operating System services themselves, and that lead to the problem of inconsistencies and mesmerizing bugs. For instance, where I work, six months ago we set up 100 recycled computers with a fresh install of Windows 2000 and Office Xp to serve as Internet/Word Processing/Presentation/Spreadsheet computers. For those computers we installed everything, Windows, updates, antivirus, anti spyware, etc. But soon enough the users began to report that the computers froze whenever they tried to save a file to diskette directly from one of the MS Office applications. We lost an inordinate amount of time trying to identify what seemed to be a virus, or spyware, until we realized in dismay that it was a bug the Windows Update Rollout 1 of Service Pack 4 for Windows 2000 introduced. It seems that Office doesn't use the operating system to deal with diskettes, but assumes directly the diskette management. That's preposterous, but very Windows-Style.

So, there are zillions of applications that misbehave in that fashion, thus, it will take months and years to make them work in an improved Operating System at 64 bits. It is not simply a matter of developing the Operating System and supporting all of the old API, but of getting the bugs reports to open new holes in the new OS so that the old applications can plug into those holes and run. Of course, some years down the road, the holes are still there, but it is malware what plugs into them, and the system is a nightmare of insecurity, until Microsoft decides that enough is enough and releases a Service Pack that cures some of those holes (while opening others, of course). That's what Microsoft has been doing ever since DOS 3.0.

What is the end result? -- Bloatware.

To use an analogy with cars, to carry all that bloatware, it would be needed an engine as powerful as a train, but in the envelope of a sports car. Only an AMD64 would be able to pull that trick off.

Friday, January 27, 2006

Good News for AMD investors

Intel is not getting it. The parents of Itanium, the mutant architecture, have decided to toss some 10 billion dollars to try to increase adoption. That is excellent news for AMD investors because there is no way under the sun to make that dead horse run, and if possible, even more field will be left open for AMD's products to colonize the server market. Tom Kilroy, general manager of Intel's Digital Enterprise Group, is quoted in that article saying that "This is a $140 billion opportunity on hardware. It's dwarfed by the opportunity in software and services on top of that". Well, if I am right, a quite significant part of those 10 billions will definitively go to waste (sorry for HP about that), but more importantly, AMD, which has the absolute best products for the $140+ billion market, will have the best opportunities.

[Update Saturday 28 #1] To exemplify how the Itanic performs in the market, take a look at the last paragraph in this link:

"According to IDC, unit sales of Itanium-based systems totaled less than 9,000 in the third quarter of 2005. Compared to the x86 server market, these numbers are worse than terrible. [Although competing in revenue and growing faster than Sun Sparc and IBM's Power,] this may all be a moot point if Opteron-class x86-64 hardware winds up dominating the server market. Will Intel continue to chase its proverbial white whale?" [End of Update #1]

I studied in depth the Itanium architecture while it was called IA-64 six years ago. While fascinating, with very good ideas, there are there too many mistakes at all levels, making it quirky, complex. I feel ashamed to have expent months studying it on my spare time without ever realizing that it was a dead end. I now feel thrilled that my understanding of the futility of those long hours expent in the Itanic are paying off, because I have the detailed knowledge to understand why it is futile to try to push that abortion of µ-proc arch. One of the problems with the Itanic is that it is unnecessarily disrruptive. As Linus Torvalds was quoted in 2003 by "The Inquirer", Intel, doing the Itanic, "threw out all the good parts of the x86 because people thought those parts were ugly. They aren't ugly, they're the 'charming oddity' that makes it do well". In comparison, it took me three days to grasp AMD64, clean, lean and mean arch. Of course, it has its limitations, but it has "the charm" that makes it work. I feel confident that if AMD keeps working with the same daring creativity as in AMD64, Direct Connect/Hypertransport, Multi Cores, then the extensions for virtualization (Pacifica) and the evolution of the architecture will take it to new heights that will be banned for good to Intel.

In any case, just like another quotation by "The Inquirer" of Linus, "The [Itanic] is a failure on so many levels. Let me count the ways" makes me think about something that I have understood ever since I became an engineer: Engineering companies must, by all means, be run by engineers. When that is not the case, then it happens that something fairly obvious a failure, such as the Itanic, instead of being terminated, endures a lingering existence that sucks resources from its company because no one at the top management has the technical criteria to say when enough is enough. [Update Saturday 28 #2] Even Hewlett Packard, one of the parents of the "creature" is allowing it to die, they even won't do any more Itanium workstations [End of Update #2]. It is so easy to understand how marketroids such as Otellini and his predecessors who couldn't realize that they have a carcass of an architecture, were capable to delay a real 64 bit improvement to x86, to open the door to AMD to come out with AMD64, to cripple their 32 bit product lines with stupidities such as PAE (Page Address Extension) done to give the Itanic another chance, only to succumb to Microsoft pressure to get in line with AMD64 once the omnipotent software house decided that it was the path to be followed.


My understanding of the Itanium arch. tells me that the very best and brightest of Intel designers are there, but in a futile effort to make the dead horse run. No wonder they only have advantage in the "brute force" of going to the 45 nanometers.

But the 45 nanometers is not the solution to Intel's problems. Despite what some ignorant "analysts" say, at the sub 100 nm scale, the power consumption problems are going to become worse, and may cancel any performance gains such as it is happening with the Core Duo (Yonah), the "Dual Dissapointers", and other 65 nm offerings that are squarely out performed by AMD's 90 nm products. This thing of the advantage in miniaturization is smelling more and more as a simple marketing ploy to instill confidence in partners and customers than a real technical advantage.

Thus Intel's engineering is in confusion and disarray. Maybe it will take more than two years to see something interesting coming out of Intel. Where would AMD be by that time?

On the other hand, the Silicon On Insulator tech, SOI, disdained by Intel, but featured by AMD, is becoming a very interesting potential advantage for AMD. If it is true that the zero-capacitor DRAM deal they signed with Innovative Silicon will give AMD the opportunity to cuadruple cache memories, I honestly can't imagine how "internet-quick" AMD is going to overtake the whole µ-proc market.

On the mean time, every company that is in partnership with AMD is doing excellent both in the market and stocks: Rambus, Soitec, Chartered, Innovative Silicon have all jumped ahead as a direct result of a deal with AMD, and perhaps even Broadcom (confirmation in the works) are doing great. Whereas Apple is next to dissapointing, and I guess that Dell would too.

Does anyone want to buy Dell $30 puts for February?

Sunday, January 08, 2006

Initial Post

Just to let everybody know that this Blog is alive