Given this is an AC post, it's probably a troll but I'll bite. I disagree with you wholeheartedly.
If you want to use IE, Opera, or Konqueror, good for you. However, I roll my own Mozilla, have several code changes that I wrote (wallet and javascript functionality) and some 3rd party diff patches (spellchecker and menu enhancements). I optimize the hell out of the code using every compiler option available to me and it takes just shy of 20 minutes to compile. The result? My self-built Mozilla puts IE and Opera to shame for speed and flexibility. Memory use is slightly higher (~20M) but for 10M I have the Ferrari of browsers, customized and faster even than Opera 6 when it was at it's peak. On a reasonably fast site like Yahoo, uncached pages render a full second faster than in IE 6.0 (under W98/Win4Lin) and about 1/2 second faster than Opera 6. Now, compiling code is not for everybody but if you know how, you cannot beat Mozilla.
Also, you're confusing contributors and those with CVS write access. AOL controls almost all the CVS write accounts but there are PLENTY of unpaid non-AOL contributors who submit code to be checked-in. While I'm at it, Bugzilla was created because the original Netscape developers hated the 3rd party bug tracking system used there. So, to correct your parting shot: "Bugzilla - because 3rd party closed source bug tracking systems are so crappy."
Now, let me turn the tables. Have you looked at the code? Have you ever compiled the code? If not, then I'd counter that even you don't know why you aren't using Mozilla.
So's pasteurization and the x-ray but I don't see people drinking rancid milk or walking around on broken legs. I realize you were joking but the metric system is just so mathematically right from a programming point of view. I think it's really pathetic that Reagan nixed it's adoption here.
You've obviously never had an atricle published because they DO edit them. Besides, that quote is FROM the article, so call the NYT if you have an issue with it. Also, that would me Mac elitism, Apple is about as Linux friendly as MS is, look at the Linux version of Quicktime if you don't believe me... wait... there is no Linux version of Quicktime.
The exploit involves craking open the console and gaping a bridge with solder. I suspect it's real but the problem is that your warranty is void as soon as you pull the first screw out. They essentially want a signed verion of LILO or GRUB by the sound of it so that users can boot Linux without cracking open the console, flashnig the BIOS, and voiding their warranty. This particular exploit, although more worrisome than mod chips, is not high on MS's alert becuase it involves a mod, namely the drop of solder and flashing the BIOS. MS can probably shrug this one off. The panacea would be the actual cracking of the X-Box signing key so that anybody could sign X-Box software.
I agree with your quantity argument. However, I'd also add that it's EASIER to write virii for Windows therefore there are more of them. The key to writing a virus is knowing the layout of the binary. Since binaries on Linux differ in hardware arch, compiler options, and compiler optimizations, it's exceedingly difficult to assume a single binary memory layout. Combine that with the fact that very little runs as root, so collateral damage/infection is hard to achieve. Under Windows, a single binary image is a valid assumption since nobody but MS compiles the code.
So, is it impossible? No, of course not, it's possible to write a virus for Linux. No software is bug free, and some of these bugs can be exploited regardless of your OS. The catch is that since you'd have to target a particular binary revision with a particular set of compiler settings, the odds of a successful widespread infection on Linux are virtually zero. However, a virus targeted at a particular distro and revision, Lindows 4.0 for example, where the binary can be considered static between boxen and everything runs as root, is possible.
Now before some smart ass says this, yes, overwritting the stack is just one way of writting a virus/worm but it's still the most common form in use. Also, I think virii that just replicate for the sake of replicating are boring and stupid (annoying too). I'm not hoping for a return to destructive virii of old but they required far more creativity and caused far more pain than the net-barf virii we see around these days. A virus that smokes your NTFS partitions is far more disruptive than a virus that clogs up your bandwidth. You can quickly patch one away while the other means significant downtime.
Bullshit! Sony is no angel and they are a fierce competitor however Sony is not by any stretch of the imagination (or definition of the term) a monopoly. Sony has competition in each and every single one of their markets. On the other hand, Microsoft uses underhanded exclusive distribution and "marketing" incentives to shut out their competition. Sony competes based on the merit of their products while Microsoft competes by hijacking the channels of distribution from their competitors. Do you think people dislike Microsoft becuase of their products? No, it's their *tatics* that make them such a distasteful company. If you honestly think Microsoft is not the worst kind of monopoly in the world, it's only because you work there.
That's a LOT more work! However, what your boss says is very true. It's sad but graphic designers DO provide more "selling" power than the quality of the underlying code. People are absolute suckers for buttons and pretty graphics.
Yeah but last I checked there were no QT bindings for Java.:D
For C++ I do like the look of QT (and KDE) more than the look of GTK. I've never seen a QT app on anything other than Linux, I assume it looks indistinguishable under Windows?
Depends on your goals. If you don't want to get into the technically belly of Linux, then Lindows and Xandros are good. If you do want to get into the technicals, then consider RedHat, SuSE, Mandrake, Debian, or Gentoo. As a beginner, I'd recommend RedHat, SuSE, or Mandrake since they strike a balance between ease of use and not burying the guts under too much fluff. If your goals are desktop centric, go with SuSE or Mandrake but if your goals are server centric, go with RedHat. I like SuSE because it's both desktop and server centric. However, if you're looking to acquire more marketable skills for the job market, go with RedHat. After a year or two, look into Gentoo or roll your own distro based on an existing distro. This is when the fun part of Linux starts since you can customize, tweak and tune Linux an infinite number of ways at this point.
Most importantly, go to a book store and purchase a reference book. Learning what things are named and where they are is half the battle when learning Linux.
He's using Eclipse so more than likely he's also using the SWT GUI lib. The "slow and visually buggy" you're referring to is in AWT and much more specifically Swing. It's gotten better in 1.4.2 but the fact is that SWT is the way to go if you're targeting desktop apps since it results in apps that are indistinguishable from native apps in look, feel and speed. The only remaining drawback is the memory overhead but even this can be controlled via careful use of System.gc.
That said, I'm a C++ person myself and totally agree that you can write tighter and faster apps using C/C++. However, if you MUST have a portable *GUI* application (ie. Win and Lin), Java really does make things very very easy for those without C/C++ backgrounds.
Those nForce mobos are a f*ing pain under Linux. I have one and that box in constantly acting squirrelly. The most stable kernel I've found is the original 2.4.21-RC3 that added initial support for the nForce chipset. I'd be hard pressed to recommend it for running Linux... yet. Also, those NICs only work with a binary -only driver at least until somebody reverse engineers that NIC chipset (I think it's based on the RTL hardware, not sure). Anyhow, I'm hoping it stabilizes in the 2.4.22 series because if they worked stably, they would be great values.
The problem is that the term "derived work" is poorly defined. IANAL, but historically, a court will always pick the most narrow definition of such a vague definition to avoid setting unintended precedent. All IBM needs to do is convince the court that the proper definition is constrained to work derived directly from code in Sys V, and that's the end of that. NUMA, RCU, etc are nowhere to be found in the original code so these would be innovations, rather than a derivations. The dictionary is very clear about the distinction between these two. Now, I haven't seen the NUMA or RCU code but I doubt any of the original Sys V code is present anywhere in there.
I didn't think there WAS a difference. In fact, I thought the Blackdown team was the one doing the Linux port for Sun. It would be interesting for somebody who knows "for sure" to chime in on this one.
That's kinda cool but it's XP only and it's too small. I use 17" screens now and I'm considering 21" screens to get some more coding space. Also, since it's not wireless in the sense of "works just like a VGA monitor" it's not quite the solution I'm looking for.
Admittedly, not much, one less set of cables running across my desktop. When I purchased the mouse and keyboard (Logitech combo) I *had* expected to run a much longer monitor cable and move my rack into a closet about 10 feet away, but the pixel-bleed nixed that idea.
As an ex-car pooler, you've got some good points. In my case, it was a 45 mile commute (impressive), and the rational was not so much to avoid traffic but to save money and wear/tear on our cars. We had a special deal where our MTA "leased" a van specifically for pooling (ie. a monthly contract). We'd meet up at a predetermined point in the morning, leave our cars, and pool the rest. The biggest beef was not going in to work mornings, either you are there on time or you drive yourself in. However, leaving work at night was a nightmare. We set a time of 5:15PM and don't think we EVER left at that time. I think we left people stranded twice (after 30-45 minute waits) and there were some spectacular fights as a result. Car pooling takes A LOT of coordination when more than 2 people are in a pool (we had 8). Without a doubt, leaving work on time was the single biggest hassle of the process.
I have 5 machines in my home office, it seems like overkill but I use these to replicate/test deployment environments. I deal with multi-tiered systems for a living and a single machine simply isn't close enough to the "real world" for developing/testing. That said, I'm not crazy about my rack being 6 feet aways from my desk since a) it's noisy and b) it generates heat, but longer monitor cables create pixel bleeding on my LCD so I tolerate it, well, at least until somebody comes out with a wireless monitor to go along with my wireless keyboard and mouse.
Well, in this case, if the package is broken in the first place, then there's going to be a call to support anyhow regardless of whether it's a Zaurus, Palm, or PPC. I don't see how this makes installs any less easy for properly created packages.
Well, although not being able to read it would not help from a debug/improve perspective, at least you could compile it and gain compiler optimizations/improvements.
Anyhow, it's a moot point since obfuscation is a really weak safety mech compared to bin only and the IP holders in question would almost certainly forbid it. I guess one could argue that with bin only releases, one could disassemble the binaries and glean the compiler generated assembly code so the IP is unprotected either way. However, since that assembly code is compiler generated, it's pretty much unintelligible unless you eat, breathe, and crap assembler on the platform in question, so the percentage of folks that can make sense of it is in the <0.0001% range.
"but linux in general is still not as easy to install new programs"
Huh? How hard is typing "rpm -Uvh [path to rpm]"? As for the Zaurus, type "ipkg install [path to ipk]". I fail to see how this qualifies as "not easy", perhaps you're referring to a point-and-click-'cause-shells-are-scary kind of easy.
Now let me make a final point influenced by your post, people always rag about lib deps under Linux. I assume people that echo this sentiment would rather see the ludicrous Win-bloat, where every required lib is redistributed with every piece of software you install, reproduced on Linux. I don't and I'm sure most Linux user don't either. Reality is nobody is forcing you to use Linux, when you go to BestBuy, you're not FORCED to purchase a PC with Linux on it. Everybody appreciates constructive critism, but to unequivocally slam with statements not backed up by fact is useless and, yes, trolling.
I use Linux 100% of the time and I will concede you have a point. You're a little off base on the WineX piece taking "a week" to configure, WineX mainly works as advertised. Also, there are several excellent native games that weren't mentioned such as RTCW-ET and America's Army but, overall, Linux is not a "gamer's platform" as of yet. If you primarily use your PC for gaming, stay with Win98. The problem is that a lot of the current games use DirectX and, although some of these games do run decently under Wine and/or WineX, it's still a Windows only proposition. For Linux to become a mainstream gaming platform, DirectX has to go. However, MS hates to lose and this is one API they've done a good job pushing. DirectX provides a whole gaming API as opposed to OpenGL which is a graphics API. SDL fulfills a similar concept to DirectX for Linux and BioWare used it to port NWN but it remains to be seen if SDL will supplant DirectX, either way it's a tall order to fill.
Yeah, 'cause there's no such things as Windows-zealots right?
Windows has it's selling points, Linux has it's selling points, here's where I draw the lines:
Server: Linux is fantastic as a server OS, it beats any MS server OS 100% of the time. This due to the customizability of the kernel, hardware specific optimizations, and the fact the it runs headless.
Home Use Desktop: Microsoft OSes are fantastic as home desktop OSes, they beat Linux in 95% of home use situations. The only exceptions in favor of Linux is non-game, surf and email purposes and people who code as a hobby.
Corporate Desktop: Linux wins due to security and the homogeneous software environment in corporations. This is not a 100% of the time thing but perhaps in the 75% range due specifically to legacy software availability.
So what's my stance? Linux is great, Windows is great, but at different things. If you want a highly configurable OS that you can tweak and tune to extract all your hardware has to offer, use Linux and don't expect it to be easy. If you want to play Splinter Cell and don't know the difference between a sea shell and a c shell, then don't even look at Linux 'cause you ARE going to get stumped.
The other big problem is one of perception. The vast majority of Windows users (not all) are under the impression that they are technically savy because they know where to click their mouses. Throw them into a DOS shell and they choke. Put them in from of a Linux console and you're likely to hear "What is this???". Conversely, the vast majority of Linux users (not all) are quite techically savy and as such they tend to be elitist (and some are just jerks). This makes for an oil-and-water mix that will ALWAYS exist.
To close back on the post, Windows OSes don't necessarily suck, but low skill Windows-only admins (90%+), give the software the appearance of sucking. It's all in the know-how, and moving a mouse around some neon colored buttons ain't know-how. I also think the majority of Windows-zealots (and there are a buncha them) are specifically from this clueless group of folks.
I assume they're approaching it via the HAL, at least that would appear to be the best way to avoid having to rely on a full VM. The HAL is still used for platform portability at least as late as W2K, given the MS literature.
Given this is an AC post, it's probably a troll but I'll bite. I disagree with you wholeheartedly.
If you want to use IE, Opera, or Konqueror, good for you. However, I roll my own Mozilla, have several code changes that I wrote (wallet and javascript functionality) and some 3rd party diff patches (spellchecker and menu enhancements). I optimize the hell out of the code using every compiler option available to me and it takes just shy of 20 minutes to compile. The result? My self-built Mozilla puts IE and Opera to shame for speed and flexibility. Memory use is slightly higher (~20M) but for 10M I have the Ferrari of browsers, customized and faster even than Opera 6 when it was at it's peak. On a reasonably fast site like Yahoo, uncached pages render a full second faster than in IE 6.0 (under W98/Win4Lin) and about 1/2 second faster than Opera 6. Now, compiling code is not for everybody but if you know how, you cannot beat Mozilla.
Also, you're confusing contributors and those with CVS write access. AOL controls almost all the CVS write accounts but there are PLENTY of unpaid non-AOL contributors who submit code to be checked-in. While I'm at it, Bugzilla was created because the original Netscape developers hated the 3rd party bug tracking system used there. So, to correct your parting shot: "Bugzilla - because 3rd party closed source bug tracking systems are so crappy."
Now, let me turn the tables. Have you looked at the code? Have you ever compiled the code? If not, then I'd counter that even you don't know why you aren't using Mozilla.
So's pasteurization and the x-ray but I don't see people drinking rancid milk or walking around on broken legs. I realize you were joking but the metric system is just so mathematically right from a programming point of view. I think it's really pathetic that Reagan nixed it's adoption here.
You've obviously never had an atricle published because they DO edit them. Besides, that quote is FROM the article, so call the NYT if you have an issue with it. Also, that would me Mac elitism, Apple is about as Linux friendly as MS is, look at the Linux version of Quicktime if you don't believe me ... wait ... there is no Linux version of Quicktime.
The exploit involves craking open the console and gaping a bridge with solder. I suspect it's real but the problem is that your warranty is void as soon as you pull the first screw out. They essentially want a signed verion of LILO or GRUB by the sound of it so that users can boot Linux without cracking open the console, flashnig the BIOS, and voiding their warranty. This particular exploit, although more worrisome than mod chips, is not high on MS's alert becuase it involves a mod, namely the drop of solder and flashing the BIOS. MS can probably shrug this one off. The panacea would be the actual cracking of the X-Box signing key so that anybody could sign X-Box software.
I agree with your quantity argument. However, I'd also add that it's EASIER to write virii for Windows therefore there are more of them. The key to writing a virus is knowing the layout of the binary. Since binaries on Linux differ in hardware arch, compiler options, and compiler optimizations, it's exceedingly difficult to assume a single binary memory layout. Combine that with the fact that very little runs as root, so collateral damage/infection is hard to achieve. Under Windows, a single binary image is a valid assumption since nobody but MS compiles the code.
So, is it impossible? No, of course not, it's possible to write a virus for Linux. No software is bug free, and some of these bugs can be exploited regardless of your OS. The catch is that since you'd have to target a particular binary revision with a particular set of compiler settings, the odds of a successful widespread infection on Linux are virtually zero. However, a virus targeted at a particular distro and revision, Lindows 4.0 for example, where the binary can be considered static between boxen and everything runs as root, is possible.
Now before some smart ass says this, yes, overwritting the stack is just one way of writting a virus/worm but it's still the most common form in use. Also, I think virii that just replicate for the sake of replicating are boring and stupid (annoying too). I'm not hoping for a return to destructive virii of old but they required far more creativity and caused far more pain than the net-barf virii we see around these days. A virus that smokes your NTFS partitions is far more disruptive than a virus that clogs up your bandwidth. You can quickly patch one away while the other means significant downtime.
Bullshit! Sony is no angel and they are a fierce competitor however Sony is not by any stretch of the imagination (or definition of the term) a monopoly. Sony has competition in each and every single one of their markets. On the other hand, Microsoft uses underhanded exclusive distribution and "marketing" incentives to shut out their competition. Sony competes based on the merit of their products while Microsoft competes by hijacking the channels of distribution from their competitors. Do you think people dislike Microsoft becuase of their products? No, it's their *tatics* that make them such a distasteful company. If you honestly think Microsoft is not the worst kind of monopoly in the world, it's only because you work there.
That's a LOT more work! However, what your boss says is very true. It's sad but graphic designers DO provide more "selling" power than the quality of the underlying code. People are absolute suckers for buttons and pretty graphics.
Yeah but last I checked there were no QT bindings for Java.:D
For C++ I do like the look of QT (and KDE) more than the look of GTK. I've never seen a QT app on anything other than Linux, I assume it looks indistinguishable under Windows?
Depends on your goals. If you don't want to get into the technically belly of Linux, then Lindows and Xandros are good. If you do want to get into the technicals, then consider RedHat, SuSE, Mandrake, Debian, or Gentoo. As a beginner, I'd recommend RedHat, SuSE, or Mandrake since they strike a balance between ease of use and not burying the guts under too much fluff. If your goals are desktop centric, go with SuSE or Mandrake but if your goals are server centric, go with RedHat. I like SuSE because it's both desktop and server centric. However, if you're looking to acquire more marketable skills for the job market, go with RedHat. After a year or two, look into Gentoo or roll your own distro based on an existing distro. This is when the fun part of Linux starts since you can customize, tweak and tune Linux an infinite number of ways at this point.
Most importantly, go to a book store and purchase a reference book. Learning what things are named and where they are is half the battle when learning Linux.
He's using Eclipse so more than likely he's also using the SWT GUI lib. The "slow and visually buggy" you're referring to is in AWT and much more specifically Swing. It's gotten better in 1.4.2 but the fact is that SWT is the way to go if you're targeting desktop apps since it results in apps that are indistinguishable from native apps in look, feel and speed. The only remaining drawback is the memory overhead but even this can be controlled via careful use of System.gc.
That said, I'm a C++ person myself and totally agree that you can write tighter and faster apps using C/C++. However, if you MUST have a portable *GUI* application (ie. Win and Lin), Java really does make things very very easy for those without C/C++ backgrounds.
... but Allegro on Windows uses DirectX, so shouldn't the FMV be the same as DX? I can understand it not working as well on non-Win platforms though.
Those nForce mobos are a f*ing pain under Linux. I have one and that box in constantly acting squirrelly. The most stable kernel I've found is the original 2.4.21-RC3 that added initial support for the nForce chipset. I'd be hard pressed to recommend it for running Linux ... yet. Also, those NICs only work with a binary -only driver at least until somebody reverse engineers that NIC chipset (I think it's based on the RTL hardware, not sure). Anyhow, I'm hoping it stabilizes in the 2.4.22 series because if they worked stably, they would be great values.
The problem is that the term "derived work" is poorly defined. IANAL, but historically, a court will always pick the most narrow definition of such a vague definition to avoid setting unintended precedent. All IBM needs to do is convince the court that the proper definition is constrained to work derived directly from code in Sys V, and that's the end of that. NUMA, RCU, etc are nowhere to be found in the original code so these would be innovations, rather than a derivations. The dictionary is very clear about the distinction between these two. Now, I haven't seen the NUMA or RCU code but I doubt any of the original Sys V code is present anywhere in there.
I didn't think there WAS a difference. In fact, I thought the Blackdown team was the one doing the Linux port for Sun. It would be interesting for somebody who knows "for sure" to chime in on this one.
That's kinda cool but it's XP only and it's too small. I use 17" screens now and I'm considering 21" screens to get some more coding space. Also, since it's not wireless in the sense of "works just like a VGA monitor" it's not quite the solution I'm looking for.
Admittedly, not much, one less set of cables running across my desktop. When I purchased the mouse and keyboard (Logitech combo) I *had* expected to run a much longer monitor cable and move my rack into a closet about 10 feet away, but the pixel-bleed nixed that idea.
As an ex-car pooler, you've got some good points. In my case, it was a 45 mile commute (impressive), and the rational was not so much to avoid traffic but to save money and wear/tear on our cars. We had a special deal where our MTA "leased" a van specifically for pooling (ie. a monthly contract). We'd meet up at a predetermined point in the morning, leave our cars, and pool the rest. The biggest beef was not going in to work mornings, either you are there on time or you drive yourself in. However, leaving work at night was a nightmare. We set a time of 5:15PM and don't think we EVER left at that time. I think we left people stranded twice (after 30-45 minute waits) and there were some spectacular fights as a result. Car pooling takes A LOT of coordination when more than 2 people are in a pool (we had 8). Without a doubt, leaving work on time was the single biggest hassle of the process.
I have 5 machines in my home office, it seems like overkill but I use these to replicate/test deployment environments. I deal with multi-tiered systems for a living and a single machine simply isn't close enough to the "real world" for developing/testing. That said, I'm not crazy about my rack being 6 feet aways from my desk since a) it's noisy and b) it generates heat, but longer monitor cables create pixel bleeding on my LCD so I tolerate it, well, at least until somebody comes out with a wireless monitor to go along with my wireless keyboard and mouse.
Well, in this case, if the package is broken in the first place, then there's going to be a call to support anyhow regardless of whether it's a Zaurus, Palm, or PPC. I don't see how this makes installs any less easy for properly created packages.
Well, although not being able to read it would not help from a debug/improve perspective, at least you could compile it and gain compiler optimizations/improvements.
Anyhow, it's a moot point since obfuscation is a really weak safety mech compared to bin only and the IP holders in question would almost certainly forbid it. I guess one could argue that with bin only releases, one could disassemble the binaries and glean the compiler generated assembly code so the IP is unprotected either way. However, since that assembly code is compiler generated, it's pretty much unintelligible unless you eat, breathe, and crap assembler on the platform in question, so the percentage of folks that can make sense of it is in the <0.0001% range.
"but linux in general is still not as easy to install new programs"
Huh? How hard is typing "rpm -Uvh [path to rpm]"? As for the Zaurus, type "ipkg install [path to ipk]". I fail to see how this qualifies as "not easy", perhaps you're referring to a point-and-click-'cause-shells-are-scary kind of easy.
Now let me make a final point influenced by your post, people always rag about lib deps under Linux. I assume people that echo this sentiment would rather see the ludicrous Win-bloat, where every required lib is redistributed with every piece of software you install, reproduced on Linux. I don't and I'm sure most Linux user don't either. Reality is nobody is forcing you to use Linux, when you go to BestBuy, you're not FORCED to purchase a PC with Linux on it. Everybody appreciates constructive critism, but to unequivocally slam with statements not backed up by fact is useless and, yes, trolling.
I use Linux 100% of the time and I will concede you have a point. You're a little off base on the WineX piece taking "a week" to configure, WineX mainly works as advertised. Also, there are several excellent native games that weren't mentioned such as RTCW-ET and America's Army but, overall, Linux is not a "gamer's platform" as of yet. If you primarily use your PC for gaming, stay with Win98. The problem is that a lot of the current games use DirectX and, although some of these games do run decently under Wine and/or WineX, it's still a Windows only proposition. For Linux to become a mainstream gaming platform, DirectX has to go. However, MS hates to lose and this is one API they've done a good job pushing. DirectX provides a whole gaming API as opposed to OpenGL which is a graphics API. SDL fulfills a similar concept to DirectX for Linux and BioWare used it to port NWN but it remains to be seen if SDL will supplant DirectX, either way it's a tall order to fill.
Considering the "Intellect" web site is run on the following:
... I think we know who wears the pants in that (cough) group, otherwise we see AIX or Solaris up there.
Windows 2000 Microsoft-IIS/5.0 20-May-2002
Yeah, 'cause there's no such things as Windows-zealots right?
Windows has it's selling points, Linux has it's selling points, here's where I draw the lines:
Server: Linux is fantastic as a server OS, it beats any MS server OS 100% of the time. This due to the customizability of the kernel, hardware specific optimizations, and the fact the it runs headless.
Home Use Desktop: Microsoft OSes are fantastic as home desktop OSes, they beat Linux in 95% of home use situations. The only exceptions in favor of Linux is non-game, surf and email purposes and people who code as a hobby.
Corporate Desktop: Linux wins due to security and the homogeneous software environment in corporations. This is not a 100% of the time thing but perhaps in the 75% range due specifically to legacy software availability.
So what's my stance? Linux is great, Windows is great, but at different things. If you want a highly configurable OS that you can tweak and tune to extract all your hardware has to offer, use Linux and don't expect it to be easy. If you want to play Splinter Cell and don't know the difference between a sea shell and a c shell, then don't even look at Linux 'cause you ARE going to get stumped.
The other big problem is one of perception. The vast majority of Windows users (not all) are under the impression that they are technically savy because they know where to click their mouses. Throw them into a DOS shell and they choke. Put them in from of a Linux console and you're likely to hear "What is this???". Conversely, the vast majority of Linux users (not all) are quite techically savy and as such they tend to be elitist (and some are just jerks). This makes for an oil-and-water mix that will ALWAYS exist.
To close back on the post, Windows OSes don't necessarily suck, but low skill Windows-only admins (90%+), give the software the appearance of sucking. It's all in the know-how, and moving a mouse around some neon colored buttons ain't know-how. I also think the majority of Windows-zealots (and there are a buncha them) are specifically from this clueless group of folks.
I assume they're approaching it via the HAL, at least that would appear to be the best way to avoid having to rely on a full VM. The HAL is still used for platform portability at least as late as W2K, given the MS literature.