USB2 is horribly slow. I connected a USB2 memory stick to copy some files off the system when wireless wasn't working. The new Vista file copy progress dialog displays transfer rate. The fastest it ever got was about 300KB/s!
Not to be too critical, but depending on the memory stick being used that can very well be the limit of the flash memory and not the USB2 drivers.
As a general response, I've upgraded all my Windows systems to the latest beta in the past but really can't get too excited about Vista. The only compelling feature I've seen is DirectX 10.
Microsoft has been saying DX10 would be Vista only for about a year now. I even blogged about it last September. If the gaming community is only just realizing it then they only have themselves to blame because they're a year behind the devlopment community.
There's actually very good technical reasons it can't be back-ported to XP and that's because it's changing the entire paradigm of the way the Windows OS works with the video card. The GPU and video RAM are being treated as OS resources that are time shared and paged in and out in exactly the same way the CPU and main system memory are currently. Simply put, this means at the very basic level that the driver interface (WVDDM) for the video cards is very different, and much thinner but as it is a new driver model, XP won't be able to load it.
So, game development companies are left with the decisions of whether to use DX10 which has a bunch of new features (general purpose geometry shaders that can create and destroy primitives in the pipeline), or maximize compatibility and shoot for DX9 which is being effectively frozen.
The bigger issue for most is that OpenGL becomes a "second class citizen" on Vista as any use of it outside full screen rendering effectively turns off the entire Aero interface. Users are going to notice this, and apps using OpenGL will get bad feedback for "breaking the interface when they run".
Technically, anyone declassifying information has to go through the ISOO (Information Security Oversight Office) before it is actually declassified (Section 5 of the linked EO).
The President certainly has the *authority* to declassify whatever the hell he wants. The question is only on what procedures he needs to follow when doing so. A full reading of EO 12356 seems to indicate it's more complex than just "saying it's declassified" but I'm no lawyer so I'm not about to give any definitive answer. I strongly suspect it depends on the source of the original classification as manditory review (sec 3.4) may apply also.
Actually, the classification system was created by Executive Order, not by legislation. The President most certainly does have the right to change EOs at a whim.
The question of whether the President is subject to his own EOs is a more interesting one, to which the answer seems to be both "yes" and "no" depending on which case history you look at.
There is no question that open source software itself can be at least as reliable as closed source software (Firefox, Apache, Linux, MySQL etc.)
However, the development process and delivery process is nowhere near as reliable or dependable. While closed source software certainly slips ship dates with alarming regularlity the only real metric most open source software can give for a release is "when it's done". If you have customers waiting, this is frequently not acceptable.
So - MS's claim on the software itself is obviously false. On the development process, it's probably fairly true.
How is this surprising in any way? Microsoft is simply making sure Windows is a good platform (or client in the case of Samba) for these rather successful OSS applications. Especially in the case of JBoss, Microsoft isn't naive enough to imagine they can take over the J2EE world with.NET so they want to make damn sure there's no reason for companies to switch off Windows boxes when using it.
In any case, their interop labs aren't anything new. They were talking about interop and the tight communication they had with Apache and JBoss at last year's PDC in LA and were more than happy to demo all sorts of interop scenarios at their own premiere developer event.
the xbox360 premium's market price was $800-1000 on ebay for the first 5 months
There really weren't that many that sold for that sort of price on eBay, compared to the number that sold for retail price. If Sony sells PS3s to everyone that was willing to pay $800-$1000 for an X360 then that leaves 3,995,000 sitting on shelves - not really a good launch.
$600 is too high, in my opinion. $400 was even pushing the envelope on the X360 but they were lucky to have no real competition at the time. The PS3 coming out with Wii and X360+HDDVD is really going to be a difficult sell for all those Christmas shoppers on relatively limited budgets.
Ah, but you are still incorrect. To gain the advantage of OSS over proprietary, -one- user, -anywhere-, must do the things you list. At that point, the fixed version can easily and legally be made available.
Absolutely, and I'm not disagreeing with that. Remember, my point is the "source code availability" argument is much, much weaker than the "it's free like beer" argument, which is the end result of your point above. Not that a user somewhere can fix it (with proprietary software, the analog is a user somewhere will have enough financial impact to request a change), but that the fix or modification can be made available free of charge - something that is unlikely with proprietary software.
On the other hand, a "repository" system can easily place the fixed version as the next upgrade-the user just clicks the "get upgrades" button, gets the fixed copy, and all of a sudden the problem's gone.
You mean like "Windows Update" or "Software Updates" in OS X? The only difference with them is you don't get major version releases for free (like beer).
Again, your argument boils down to the far stronger "free like beer" case for end users, which was my original point.
Unless the developers are an unregulated monopoly or the users don't know enough or are too locked in to switch. Did you -finish- that book, or are you just picking the parts that support your arguments?
Yes, of course I finished the book. Now, please point to the part where you were only arguing against proprietary software made by an unregulated monopoly. I'm talking about all proprietary software. Monopoly and antitrust legislation are a completely separate issue and one that I think is critical to keeping a healthy competitive environment alive.
In a competitive environment where users can switch suppliers, it is very much in the interests of the suppliers to keep the customers happy. Talk about "consumers being at the mercy of suppliers" is blatantly ridiculous in the typical scenario.
Great! I'll take one copy of Windows, then, source code included. I'll just email Microsoft today, I'm sure they'll be happy to accommodate.
Oh, look. Sarcasm. I thought you wanted to argue seriously. Apologies for my misunderstanding.
You're incorrect anyway - Windows source licenses are available for the right money and NDA. Of course, if you want to argue the "free as beer" line by saying you don't have the cash for that, then I point you (again) to my original point that it's the sticker price that is the killer feature of OSS, not the source code.
How many proprietary programs contain adware, spyware, and other unwanted "features"? How many FOSS programs do?
Irrelavent. You clearly didn't read my statement, noting the part where it says "if that's what it takes to make the sale". Obviously the adware/spyware etc. are in because their absence isn't required to make the sale. See how it works? No one is forcing you or anyone else to use those things.
As to your statement that most is proprietary, I would agree, though I likely would not say 99% (if the metric is usage rather then simple number of programs).
I was talking all software, not just PC based. Your typical commoidty software is cell phones, car computers, microwaves, VCRs, DVD Players, Gaming consoles, etc. PCs are really at the outer edge of commodity. The closer you go to a true commodity, the less source is available (at least at the moment) because to make that source available cuts into the very slim profit margins in the commodity business when your competitors can reverse engineer your product from it.
[I can take this offline if you want - interesting discussion but posting on a day old slashdot topic feels kinda obcessive]
Firefox is an excellent example of things being better in OSS, but it's because it offers improved functionality with a better end-user experience right out of the box. If more OSS apps paid this much attention to the out-of-box experience and user interface then Microsoft would die in a hot second.
What I really want is some way to share my calender, contacts, tasks etc. through my mail client in the same way Outlook does against Exchange Server. I hate the fact that despite IMAP being able to offer me the same folder view of my mail on lots of different machines (and I routinely use 3 or more at home before I even get to work), I have to keep contacts and calenders in sync because Thunderbird stores them locally.
No - I don't want a magic "sync" button. I want the whole thing seamlessly stored on the server along with my mail store. This is the single compelling feature of Outlook/Exchange for me and I really, really, really don't want to be forced down that road for a home network.
The problem with the argument is not that it's not relavent for a small section of the population, but that it's not relavent beyond that small section. To gain the advantage of OSS over a closed source system the user has to:
i) Be technically savvy enough to notice there's a problem and correctly identify which piece of software they are using is the problem (this eliminates 90% of the computer using population). ii) Be even more technically competent to find the exact cause of the problem, or be able to contact someone who does. iii) Understand the benefits and costs of departing from the developer's maintained source tree.
Note that for a closed source application that has undergone and continues to undergo extensive third party source examination (such as Windows) many of the OSS arguments fall flat in this regard as being far less relavent than the sticker price.
Note your arguments are full of "any user can" or "any developer can", not "a user will" or "a developer will". That's the weakness inherent in the argument.
Now, on the proprietary side, any good capitalist/libertarian will happily tell you that an unhappy customer is a bad thing and there is commercial pressure on the system developer to *not* place their customers in a position where they are forced into looking for alternatives. This "invisible hand" effectively also places the developers at the mercy of the customers, while the customers are in turn at the mercy of those developers. It's a rather simple positive feedback loop.
So, while the OSS side definitely improves the opportunity for users to identify and fix troublesome code the proprietary side trades this for the incentive for the company to provide code that does not annoy the customer, right down to the point of offering the customers source code if that's what it takes to make the sale.
As for the second quote of mine, you need to look back at the parent post who was stating that *all* commodity software would become open source. In light of that context, your response is senseless as I happily point out that the overwhelming majority (well over 99%) of all commodity software is proprietary and is unlikely to change in the foreseeable future.
The biggest reason MS got as large as it is was the fact that it was so damn cheap compared to competitors (at least for sticker price). Calling it "overpriced" is really a massively relative term - one of the best things they did was turning the PC from the specialist tool IBM wanted it to be into the commodity we have today. Bloated and insecure I'll go for, but to be somewhat fair on the "insecure" line - much of that is because it's in the hands of end users who leave their windows open for the cats to get in and out and the spare keys under the mat.
Installing XP is definitely still a reboot-fest (thanks to no "unlink" semantics on delete in the kernel) but I have no idea why Explorer was freezing on you so often. That's honestly pretty atypical behavior. Sounds like you have some screwy name resolution problems on your local net or something (the usual reason for Explorer hanging for a long time).
The whole "you don't know what's going on" argument is really pretty lame. No one has enough time to go through the 6 million lines of code in the Linux kernel to assure themselves that nothing funky is going on, much less do any sort of covert channel analysis. It comes down to a matter of trust - you obviously trust the people that have looked over their specific portions of the Linux codebase and people that run Windows are implicitly trusting Microsoft and the hundreds (maybe thousands) of third party individuals and organizations that have looked over the Windows codebase.
To put it simply, unless you've looked over every line of the memory manager in Linux you're no more sure that it's not snarfing your passwords from the buffer cache than you are unsure the MS code is snarfing your passwords with the indexing service. It's simply a matter of trust.
I find it exceptionally unlikely that commodity software will ever be open source. That's zealot speak. The real trick for commodity software is keeping the price lower than the competition - one way to do that is use OSS and roll your development into the product for your competitors to use. Another way is to eat the dev costs on a closed source product and protect that from competitors. Both are valid models and both can be competitive.
By using *any* software, OSS or proprietary, you're putting yourself at the mercy of whatever development resources are working on that software, especially if you're not a developer yourself. Philosophy is great and all, but the real end-user benefit of OSS is the sticker cost.
As an aside, I think the zealots talking about the difference between proprietary software and OSS in terms of philosophy are doing more damage than good nowdays in terms of Linux market penetration. Cost/benefit analysis is where it's at. If you can't show that then all your philosophy is about as useful as a political speech in a boardroom.
I agree, but if you look at worldwide trends, most of the migration away from Microsoft is outside of the US. In any case, I wasn't really profiling a large group of people for loving MS because it's a successful American company but I definitely know a few that think Gates is somewhat close to God for his "business acumen"...
Anyone who has worked with, e.g., MS Word documents on more than one system knows that "What You See" may not be "What Your Colleague Gets". I have had personal experience with MS Word documents that have displayed different formats, line and page breaks on different systems with identical versions of MS Word.
Not wanting to defend MS Word (it's a bloated mess), but this is actually your mistake for thinking Word is a page layout program. It isn't. It reformats the text based on your default printer settings so all those people who just hit "Enter" a lot to get to the next page are really screwing themselves over.
If you want consistent page layout from Microsoft, use Publisher. That's what it's there for.
I fully believe that everyone out there really wants to break away from Microsoft...
Actually, I disagree. Most people don't actually care. There's even a hell of a lot out there that actually love Microsoft products (they're an American company, wave flag, etc.), and another very large set that just likes the idea that a single source solution tends to play pretty well with itself.
Part of the problem for the alternate systems is to actually convince people that the MS monopoly is bad for them.
I see your point. My argument there is once you've reached the application level you describe then things are no longer "realtime". The primary reason for using RTOS is the guaranteed interrupt response time, which means driver code. Once you get away from guaranteed times then you're absolutely correct - things look pretty normal.
The HT+Multicore bit was more referring to going more and more mainstream, not that there weren't systems out there already.
That's all very well, but don't forget that that SIMD engine is already busy rendering scenes. I'd hate to have to choose between nice visuals anda decent frame rate, good Physics and a decent frame rate, or nice visuals and good physics and a sucky frame rate.
So what's the point of putting a totally incompatible SIMD engine in there then? Put in something that can be used to improve frame rate all the time, not just when you happen to need physics calcs for that explosion you just triggered. In short, the GPU is a very smart SIMD engine so why put a second rate SIMD engine beside it on a slow bus?
I'm saying this will be short lived as the direction DirectX is taking is turning the GPU into something more general purpose than a graphics rendering engine. One of the stock SDK examples for DX10 is literally an entire particle engine with physics running on the GPU with zero CPU load. This type of thing is far more likely to snowball into more and more power on the GPUs for doing this sort of thing, leaving the PhysX type cards in the same area Weitek processors and add-on FPUs went.
A lot of non-RT systems have protection against priority inversion, doing funky things like boosting priority of threads that haven't been run for a while and other good stuff that goes against the stict priority ordering your typical RTOS will enforce.
I have no idea why you mentioned deadlocks, but I figure it's because you didn't understand my statement on waiting forever on an object. On a typical RTOS you just can't do that. This has nothing to do with deadlocking, this has to do with how long you can wait around for something to happen - especially if you are holding a spinlock. Try it for yourself some day: grab a kernel resource and do a while(i++);. Then do the same thing on a true hard RTOS and see the difference.
There is something "magic" about RTOSes and it's the very definition of them: they are *deterministic* in their response to input. This places all sorts of restrictions all through your code and if you aren't aware of them then you're going to get some crazy buggy software in all sorts of non obvious ways.
On a true hard RTOS, you have to worry about all sorts of artifacts like priority inversion, not holding exclusive locks for non-deterministic lengths of time and other stuff like that. With a general purpose operating system, it's discouraged but the system will let you do it.
The fact that you can't wait on stuff for too long adds a whole bunch of complexity to your processing - mainly in the error handling and timeout handling code where you have to decide how to handle errors in what is very likely an unattended environment.
No. The definition of hard realtime is all about maximum latency, not consistency. While it is certainly advantageous to be consistent, as long as you are deterministically better than your maximum defined latency then you are hard realtime.
I challenge you to find any definition of hard realtime that talks about consistency and not deterministic maximum response time.
Not to be too critical, but depending on the memory stick being used that can very well be the limit of the flash memory and not the USB2 drivers.
As a general response, I've upgraded all my Windows systems to the latest beta in the past but really can't get too excited about Vista. The only compelling feature I've seen is DirectX 10.
Hey - thanks for the correction and link. :)
Microsoft has been saying DX10 would be Vista only for about a year now. I even blogged about it last September. If the gaming community is only just realizing it then they only have themselves to blame because they're a year behind the devlopment community.
There's actually very good technical reasons it can't be back-ported to XP and that's because it's changing the entire paradigm of the way the Windows OS works with the video card. The GPU and video RAM are being treated as OS resources that are time shared and paged in and out in exactly the same way the CPU and main system memory are currently. Simply put, this means at the very basic level that the driver interface (WVDDM) for the video cards is very different, and much thinner but as it is a new driver model, XP won't be able to load it.
So, game development companies are left with the decisions of whether to use DX10 which has a bunch of new features (general purpose geometry shaders that can create and destroy primitives in the pipeline), or maximize compatibility and shoot for DX9 which is being effectively frozen.
The bigger issue for most is that OpenGL becomes a "second class citizen" on Vista as any use of it outside full screen rendering effectively turns off the entire Aero interface. Users are going to notice this, and apps using OpenGL will get bad feedback for "breaking the interface when they run".
[i]I mean, seriously. When I call someone long distance, I pay the bill. They don't typically bill the person I'm calling, too.[/i]
You don't call many cell phones, I take it?
Technically, anyone declassifying information has to go through the ISOO (Information Security Oversight Office) before it is actually declassified (Section 5 of the linked EO).
The President certainly has the *authority* to declassify whatever the hell he wants. The question is only on what procedures he needs to follow when doing so. A full reading of EO 12356 seems to indicate it's more complex than just "saying it's declassified" but I'm no lawyer so I'm not about to give any definitive answer. I strongly suspect it depends on the source of the original classification as manditory review (sec 3.4) may apply also.
Actually, the classification system was created by Executive Order, not by legislation. The President most certainly does have the right to change EOs at a whim.
The question of whether the President is subject to his own EOs is a more interesting one, to which the answer seems to be both "yes" and "no" depending on which case history you look at.
There is no question that open source software itself can be at least as reliable as closed source software (Firefox, Apache, Linux, MySQL etc.)
However, the development process and delivery process is nowhere near as reliable or dependable. While closed source software certainly slips ship dates with alarming regularlity the only real metric most open source software can give for a release is "when it's done". If you have customers waiting, this is frequently not acceptable.
So - MS's claim on the software itself is obviously false. On the development process, it's probably fairly true.
How is this surprising in any way? Microsoft is simply making sure Windows is a good platform (or client in the case of Samba) for these rather successful OSS applications. Especially in the case of JBoss, Microsoft isn't naive enough to imagine they can take over the J2EE world with .NET so they want to make damn sure there's no reason for companies to switch off Windows boxes when using it.
In any case, their interop labs aren't anything new. They were talking about interop and the tight communication they had with Apache and JBoss at last year's PDC in LA and were more than happy to demo all sorts of interop scenarios at their own premiere developer event.
the xbox360 premium's market price was $800-1000 on ebay for the first 5 months
There really weren't that many that sold for that sort of price on eBay, compared to the number that sold for retail price. If Sony sells PS3s to everyone that was willing to pay $800-$1000 for an X360 then that leaves 3,995,000 sitting on shelves - not really a good launch.
$600 is too high, in my opinion. $400 was even pushing the envelope on the X360 but they were lucky to have no real competition at the time. The PS3 coming out with Wii and X360+HDDVD is really going to be a difficult sell for all those Christmas shoppers on relatively limited budgets.
The JRE is part of the JDK.
Ah, but you are still incorrect. To gain the advantage of OSS over proprietary, -one- user, -anywhere-, must do the things you list. At that point, the fixed version can easily and legally be made available.
Absolutely, and I'm not disagreeing with that. Remember, my point is the "source code availability" argument is much, much weaker than the "it's free like beer" argument, which is the end result of your point above. Not that a user somewhere can fix it (with proprietary software, the analog is a user somewhere will have enough financial impact to request a change), but that the fix or modification can be made available free of charge - something that is unlikely with proprietary software.
On the other hand, a "repository" system can easily place the fixed version as the next upgrade-the user just clicks the "get upgrades" button, gets the fixed copy, and all of a sudden the problem's gone.
You mean like "Windows Update" or "Software Updates" in OS X? The only difference with them is you don't get major version releases for free (like beer).
Again, your argument boils down to the far stronger "free like beer" case for end users, which was my original point.
Unless the developers are an unregulated monopoly or the users don't know enough or are too locked in to switch. Did you -finish- that book, or are you just picking the parts that support your arguments?
Yes, of course I finished the book. Now, please point to the part where you were only arguing against proprietary software made by an unregulated monopoly. I'm talking about all proprietary software. Monopoly and antitrust legislation are a completely separate issue and one that I think is critical to keeping a healthy competitive environment alive.
In a competitive environment where users can switch suppliers, it is very much in the interests of the suppliers to keep the customers happy. Talk about "consumers being at the mercy of suppliers" is blatantly ridiculous in the typical scenario.
Great! I'll take one copy of Windows, then, source code included. I'll just email Microsoft today, I'm sure they'll be happy to accommodate.
Oh, look. Sarcasm. I thought you wanted to argue seriously. Apologies for my misunderstanding.
You're incorrect anyway - Windows source licenses are available for the right money and NDA. Of course, if you want to argue the "free as beer" line by saying you don't have the cash for that, then I point you (again) to my original point that it's the sticker price that is the killer feature of OSS, not the source code.
How many proprietary programs contain adware, spyware, and other unwanted "features"? How many FOSS programs do?
Irrelavent. You clearly didn't read my statement, noting the part where it says "if that's what it takes to make the sale". Obviously the adware/spyware etc. are in because their absence isn't required to make the sale. See how it works? No one is forcing you or anyone else to use those things.
As to your statement that most is proprietary, I would agree, though I likely would not say 99% (if the metric is usage rather then simple number of programs).
I was talking all software, not just PC based. Your typical commoidty software is cell phones, car computers, microwaves, VCRs, DVD Players, Gaming consoles, etc. PCs are really at the outer edge of commodity. The closer you go to a true commodity, the less source is available (at least at the moment) because to make that source available cuts into the very slim profit margins in the commodity business when your competitors can reverse engineer your product from it.
[I can take this offline if you want - interesting discussion but posting on a day old slashdot topic feels kinda obcessive]
Firefox is an excellent example of things being better in OSS, but it's because it offers improved functionality with a better end-user experience right out of the box. If more OSS apps paid this much attention to the out-of-box experience and user interface then Microsoft would die in a hot second.
Now there's something I do have to weigh in on!
What I really want is some way to share my calender, contacts, tasks etc. through my mail client in the same way Outlook does against Exchange Server. I hate the fact that despite IMAP being able to offer me the same folder view of my mail on lots of different machines (and I routinely use 3 or more at home before I even get to work), I have to keep contacts and calenders in sync because Thunderbird stores them locally.
No - I don't want a magic "sync" button. I want the whole thing seamlessly stored on the server along with my mail store. This is the single compelling feature of Outlook/Exchange for me and I really, really, really don't want to be forced down that road for a home network.
The problem with the argument is not that it's not relavent for a small section of the population, but that it's not relavent beyond that small section. To gain the advantage of OSS over a closed source system the user has to:
i) Be technically savvy enough to notice there's a problem and correctly identify which piece of software they are using is the problem (this eliminates 90% of the computer using population).
ii) Be even more technically competent to find the exact cause of the problem, or be able to contact someone who does.
iii) Understand the benefits and costs of departing from the developer's maintained source tree.
Note that for a closed source application that has undergone and continues to undergo extensive third party source examination (such as Windows) many of the OSS arguments fall flat in this regard as being far less relavent than the sticker price.
Note your arguments are full of "any user can" or "any developer can", not "a user will" or "a developer will". That's the weakness inherent in the argument.
Now, on the proprietary side, any good capitalist/libertarian will happily tell you that an unhappy customer is a bad thing and there is commercial pressure on the system developer to *not* place their customers in a position where they are forced into looking for alternatives. This "invisible hand" effectively also places the developers at the mercy of the customers, while the customers are in turn at the mercy of those developers. It's a rather simple positive feedback loop.
So, while the OSS side definitely improves the opportunity for users to identify and fix troublesome code the proprietary side trades this for the incentive for the company to provide code that does not annoy the customer, right down to the point of offering the customers source code if that's what it takes to make the sale.
As for the second quote of mine, you need to look back at the parent post who was stating that *all* commodity software would become open source. In light of that context, your response is senseless as I happily point out that the overwhelming majority (well over 99%) of all commodity software is proprietary and is unlikely to change in the foreseeable future.
The biggest reason MS got as large as it is was the fact that it was so damn cheap compared to competitors (at least for sticker price). Calling it "overpriced" is really a massively relative term - one of the best things they did was turning the PC from the specialist tool IBM wanted it to be into the commodity we have today. Bloated and insecure I'll go for, but to be somewhat fair on the "insecure" line - much of that is because it's in the hands of end users who leave their windows open for the cats to get in and out and the spare keys under the mat.
Installing XP is definitely still a reboot-fest (thanks to no "unlink" semantics on delete in the kernel) but I have no idea why Explorer was freezing on you so often. That's honestly pretty atypical behavior. Sounds like you have some screwy name resolution problems on your local net or something (the usual reason for Explorer hanging for a long time).
The whole "you don't know what's going on" argument is really pretty lame. No one has enough time to go through the 6 million lines of code in the Linux kernel to assure themselves that nothing funky is going on, much less do any sort of covert channel analysis. It comes down to a matter of trust - you obviously trust the people that have looked over their specific portions of the Linux codebase and people that run Windows are implicitly trusting Microsoft and the hundreds (maybe thousands) of third party individuals and organizations that have looked over the Windows codebase.
To put it simply, unless you've looked over every line of the memory manager in Linux you're no more sure that it's not snarfing your passwords from the buffer cache than you are unsure the MS code is snarfing your passwords with the indexing service. It's simply a matter of trust.
I find it exceptionally unlikely that commodity software will ever be open source. That's zealot speak. The real trick for commodity software is keeping the price lower than the competition - one way to do that is use OSS and roll your development into the product for your competitors to use. Another way is to eat the dev costs on a closed source product and protect that from competitors. Both are valid models and both can be competitive.
By using *any* software, OSS or proprietary, you're putting yourself at the mercy of whatever development resources are working on that software, especially if you're not a developer yourself. Philosophy is great and all, but the real end-user benefit of OSS is the sticker cost.
As an aside, I think the zealots talking about the difference between proprietary software and OSS in terms of philosophy are doing more damage than good nowdays in terms of Linux market penetration. Cost/benefit analysis is where it's at. If you can't show that then all your philosophy is about as useful as a political speech in a boardroom.
I agree, but if you look at worldwide trends, most of the migration away from Microsoft is outside of the US. In any case, I wasn't really profiling a large group of people for loving MS because it's a successful American company but I definitely know a few that think Gates is somewhat close to God for his "business acumen"...
You make an excellent point. Thanks!
Not wanting to defend MS Word (it's a bloated mess), but this is actually your mistake for thinking Word is a page layout program. It isn't. It reformats the text based on your default printer settings so all those people who just hit "Enter" a lot to get to the next page are really screwing themselves over.
If you want consistent page layout from Microsoft, use Publisher. That's what it's there for.
Actually, I disagree. Most people don't actually care. There's even a hell of a lot out there that actually love Microsoft products (they're an American company, wave flag, etc.), and another very large set that just likes the idea that a single source solution tends to play pretty well with itself.
Part of the problem for the alternate systems is to actually convince people that the MS monopoly is bad for them.
I see your point. My argument there is once you've reached the application level you describe then things are no longer "realtime". The primary reason for using RTOS is the guaranteed interrupt response time, which means driver code. Once you get away from guaranteed times then you're absolutely correct - things look pretty normal.
So what's the point of putting a totally incompatible SIMD engine in there then? Put in something that can be used to improve frame rate all the time, not just when you happen to need physics calcs for that explosion you just triggered. In short, the GPU is a very smart SIMD engine so why put a second rate SIMD engine beside it on a slow bus?
I'm saying this will be short lived as the direction DirectX is taking is turning the GPU into something more general purpose than a graphics rendering engine. One of the stock SDK examples for DX10 is literally an entire particle engine with physics running on the GPU with zero CPU load. This type of thing is far more likely to snowball into more and more power on the GPUs for doing this sort of thing, leaving the PhysX type cards in the same area Weitek processors and add-on FPUs went.
I used to write assembly code. Now I usually just read it trying to figure out why code breaks when I turn the compiler optimizations on. :(
A lot of non-RT systems have protection against priority inversion, doing funky things like boosting priority of threads that haven't been run for a while and other good stuff that goes against the stict priority ordering your typical RTOS will enforce.
I have no idea why you mentioned deadlocks, but I figure it's because you didn't understand my statement on waiting forever on an object. On a typical RTOS you just can't do that. This has nothing to do with deadlocking, this has to do with how long you can wait around for something to happen - especially if you are holding a spinlock. Try it for yourself some day: grab a kernel resource and do a while(i++);. Then do the same thing on a true hard RTOS and see the difference.
There is something "magic" about RTOSes and it's the very definition of them: they are *deterministic* in their response to input. This places all sorts of restrictions all through your code and if you aren't aware of them then you're going to get some crazy buggy software in all sorts of non obvious ways.
On a true hard RTOS, you have to worry about all sorts of artifacts like priority inversion, not holding exclusive locks for non-deterministic lengths of time and other stuff like that. With a general purpose operating system, it's discouraged but the system will let you do it.
The fact that you can't wait on stuff for too long adds a whole bunch of complexity to your processing - mainly in the error handling and timeout handling code where you have to decide how to handle errors in what is very likely an unattended environment.
No. The definition of hard realtime is all about maximum latency, not consistency. While it is certainly advantageous to be consistent, as long as you are deterministically better than your maximum defined latency then you are hard realtime.
I challenge you to find any definition of hard realtime that talks about consistency and not deterministic maximum response time.