I'm a pretty big Microsoft supporter (yeah, one of like, 3 on this site...I do NOT work for MS however), and even I agree with you. Even if MS won, the process was tempered with. If OOXML is to be an ISO standard, we'll be stuck with it. It has to win fair and square. And if it is good enough to be an ISO standard, it should win, regardless of IBM. If its awful (and in its current state, its probably not so hot), it has to fail, so that MS can go back to the drawing board.
They need to trash the results and start over. As it is, even though OOXML was approved, NO ONE will trust it, because no one know if it actually deserves the spot or not. (And it goes both ways. Its not as simple as "It shouldn't be ISO!").
It takes too long to standardise on something. Once he customer tells you about it, its too late, you lost the contract. So you need to preemptively do it. Thus why its the vendor that would pick. In anticipation of the customer.
Its a bit more than that. He didnt reverse engineer it from scratch. He took the drivers themselves, modified the binaries, and released them, while asking for donations. So basically it was 99% not his work, and he asked for money for it (donations, not actual fees, but still).
Now that may bbe legal in Brazil too, but my point is, reverse engineering is legal in thhe US though (though with certain limitations). Publishing someone else's work with a few hundred bytes of alteration isn't. If he had reversed engineered the drivers and made his own from scratch from what he learned, it would have been totally different (depending on if patents got in the way, of course).
I don't know, as while I don't do audio development, I do have connections in the big name gaming development, and its partly what I was told (the rest is just my personal experience). Its also why an insane amount of games crashes reported tend to be on creative cards.
That said, and feel free to correct me, but I was under the impression that literally what a lot of onboard audio did was: "Process audio in software, output it, thats it" (thus why they work well... since with normal card, the first thing I've always done on XP was turn off hardware acceleration, since it would crash constantly under all Creative cards I tried).
For both audio quality and stability (though who knows if its just people like you who worked around all of the bugs!), the single best sound card I ever had is my current one. Some integrated 7.1 realtek chipset on an Nvidia 680i based board. The worse sound card I ever had was an Audigy 2 ZX. God that thing was god damn horrible.
According to the article, Creative has nothing to steal from him. His drivers didn't add much functionality if any: what he did is unlock them. They are -intentionaly- crippled. Thats why they got pissed off at him.
Depends if its for professional work or not I guess. If its for everyday usage and gaming? Just stick with whatever's on the motherboard. Sound cards have evolved to the point that integrated is probably as good as it gets for watching movies and gaming on anything 7.1 or lower. Now if you have special requirements, I have no clue whatsoever:)
Well, its just my plan.. its not 10$/10gig, since the plan for 100 gigs is like 15$ more than my current one. It doesn't scale linearly right now for the base plans, thus why you won't hear of "prices that high".
The main point however was the strategy, not the actual cost (since unless you're in one of the high tech asian countries, you are getting screwed by your ISP, no matter where you are...)
My ISP does partly that right now (I'm not in the US though). I pay something like 35$ a month, I get 20 gigs at 7mb, with an explicit warning that since its a shared cable, during peek hour I may go down. When it is not peek hour, I cap out my 7mb if the place I'm connected to can output it (which obviously makes sense), during peek hour the worse I've seen (from a reliable server... let say downloading something from java.sun.com) its like 350kbyte/s. If I go over my 20 gig, like 1 cents per megabyte.).
If thats not good enough, they have other plans that go as high as 100 gigs per month or more speed as high as 50 megabit/s (the upload speed is shit on that one though!).
If I think my current speed isn't fast enough, I can up my service to the next step up in speed for 48 hours for 3 to 5$, depending on the difference between the services (to up my 7mb to a 10mb its 3$ for 48 hours).
Its definately not perfect, and that ISP has its own problems with throttling and such, but its still a start in term of flexibility, and its much easier for the ISP to deliver this than something rediculous like "UNLIMITED DOWNLOAD AT 20MB speeds, all the time!". Its definately more honest, at least, and considering the reliability of my connection, they obviously CAN deliver.
I interviewed many people who said they knew C, some of these people had had jobs and were not fresh out of college, I was pretty shocked to find few could write "strcpy".
Honestly, thats almost like asking a particle physics theorist to do a division with large numbers with a pen and paper. They could do it, but its been so freagin long (decades!) that they had to, that they completly forgot. Too busy trying to solve problems that haven't been solved in their own field.
Case in point: My girlfriend (yes yes, I have one) is a software engineer for a company that makes a backoffice dynamic data engine for e-commerce and/or data mining applications. She works pretty close to the bare metal, because they advertise that software as being able to run very complex queries on douzans or hundreds of gigs in a couple of seconds (its used on web pages, so it has to be fast). Very CS-y, and all, she can juggle with C++ and pointers like no one.
On my side, I'm a software developer and architect for corporate applications and ERP systems, though right now I'm working on portfolio management systems for financial companies and banks. The only time since 1995 that I've played with low level stuff is when generating bytecode dynamically to add dynamically typed language-style features (like duck typing) to C# or Java (and even then, its just patching assembly-style codes together, not much CS stuff there, though its a challenge in its own right). Structuring applications to be able to change at a customer's whim, cutting edge software architecture methodologies, trying to integrate disparate environments together... While I used to be quite good at C++ with all of its subtleties, I moved on, and while I can still read it and debug it, I'd be hard pressed to write a full application with it or do my girlfriend's job. In the same way, she'd never dream about doing mine.
What I'm saying is that the world of programming is a lot wider than it was 20 years ago... and its still about solving unsolved problems. Part of these unsolved problems are of the same category as they were in the beginning. That keeps people like you and my girlfriend happy... But there's a whole new world out there, with a lot of new challenges and problems to solve... The pointer arithmetics have been replaced by software design patterns, the memory management has been replaced by SOA, and the problem with managing strings across 3rd party librairies have been replaced with trying to get the difference web service stacks to talk to each other nicely:)
Then someone with a large patent folio to their name would start fearing for their lives... And if many individuals worked on something, how does it work? Its in the name of all the individuals and when they all die its free? What if a company invests 5 billion in some technology's research, put the patent in someone's name, and that person gets a heart attack?
I was one of Vista's early adopter, and unlike many it seems, I loved it from day one, and everything worked fine (I was only test driving it from MSDN, and decided to::gasp:: buy it).
Well, everything worked fine, EXCEPT creative drivers... I had to rely on a crappy crash-prone Beta that didnt support any of the features my card (An Audigy 2 Platinum ZS, so not the cheapest kind). They eventually released drivers that didn't crash, but I had no features... Needless to say, now I have a new sound card, and its NOT a Creative one, and I told everyone I knew never to get a creative card ever again (why would you need it anyway? The only reason to get a fancy sound card these days is for professional work, and Creative isn't the first choice that comes to mind if I want to do professional audio work).
This article shows I was right. Screw Creative, hope they go bankrupt. They make Microsoft's product look like the holy grail of computing.
You forgot #3: They couldnt test the OS with Nvidia stuff, because Nvidia was trailing with their new drivers, so Microsoft made their own drivers, which, while not feature complete (actually very feature deficient), actually worked well, and that, before Nvidia had their own drivers at all. Then, AFTER VISTA's RELEASE, Nvidia FINALLY came out with drivers that worked like crap (on an OS that was out -before- the drivers, mind you). The only place (and it is significant) where MS is to blame is that they agreed to certify such shitty drivers. Nothing more, nothing less.
Of course, the work needs to be thread safe in that example. Thats why I said "lets you run a lot of tasks in parallel right there".
My point was, if you go through a typical everyday business app (since those are probably the most common kind developed these days, or close), you'll find that this situation is more common than not, which was my point. A LOT of loops contain operations without side effects and without shared ressources. Being able to easily handle those net you a large gain on the spot.
Basically, I'm advocating the 80/20 way. Make all of the "obvious" and "simple" scenarios easy, and you'll already get a large performance boost with little effort (its already being done...my parallel loop example can easily be done in virtually all languages, and is already used in many places, and it works quite well).
Then we can attack the harder scenarios that require more than a new language construct.
Not really. The structure of a large system still has to be defined by someone. The key difference is that the architect would get a lot more feedback from his team, and could possibly even farm out high-level pieces of the design to be further architected by other developers.
Note I said software architect, and I specifically stated I was not talking about system architects. Big difference between the two.
And yes application servers DO count. But during one connection, there's a LOT of things that can be split... Especially in these days of clouds and SOA. All the waiting on web services, all of the waiting on databases...its all time wasted. Its fairly simple. Start a worker thread with a callback. Bing bang poof. Sure, its not as ideal as parallelising a functional call, but it is simple, within the grasp of code monkeys, its clean, and it can make a 1 second request become a 0.3 second request.
My point was: parallelism in complex, scientific scenarios is hard. Parallelism in simple, everyday business applications for simple tasks is simple and is where you'll get one of the biggest bangs for your buck, and programmers should at least know the basics of it, to handle these basic scenarios. We're not talking about micro-optimisations here, we're talking a few lines of code to gain a 20-30% in a standard everyday business app just by doing work during idle time and splitting off obviously independent processes.
Well, actually...I think more things can be paralleled than one would think at first glance... The very existance of the foreach loop kindda shows this... Looking at most code I have to work with, 90% of such loops simply do "I'm iterating through the entire list/collection/array and processing only the current element", some simple aggregates (the kind where you can split the task and aggregate the result at the end), etc. Virtually all applications have those, and call them often.
Being able to simply say "the order in which these tasks are made doesn't matter" lets you run a lot of tasks in parallel right there.
Then you have a lot of tasks which do not depend on each other at ALL, but will still wait on each other... Let say a typical MVC web app ala Rail or Strut... you have a lot of ressource handling going on in the view that doesn't even rely on the Model/database whatsoever...and then you have the operation of rendering the model data in the view... so querying the data, and handling the ressources, could be done at the same time, and once both are done, do the actual render. ASP.NET has a decent mechanism for that, but no one uses it.
These are all things that are being worked on (and some already exist but most people ignore them), and can dramatically boost performance of virtually ANY application...but there needs to be a certain awareness... And some of these features are just freagin late (Microsoft is working on PLINQ...ways to make it easy to process data structure in parallel... for example: int[] blah = listOfInts.ForAll( item => item * 2 );... and it will do it in parallel. Seems so obvious, but why hasn't this been around for years in.NET?)
I'd be sceptical of the source of the information too (Intel's blog as you posted), but that doesn't seem that low to me...
The entire hierarchy system in the IT fields has to deal with the painfully obvious fact that less than 1% of programmers know what they're doing: that is, in an ideal scenario, everyone would know what they're doing, and you'd have a FEW hardcore computer scientists to handle the nutso theoritical scenarios (most parallel programming for example can be done with only basic CS knowledge... like, let say, trimming all of the strings in an array...everyday stuff). But thats not how it works: In the current world, you usually have a few douzan coding monkeys with some understanding of the theory (but no clue how to use it), and a few software architects who call the shots (Note i'm talking about software architects...those that work on software design, not system architects).
In an ideal world where programmers know how to do the -basics- of their job, software architects would be an obsolete job, yet they're really not.
Now, thats a side note, but my point is that the typical IT shop hierarchy is MADE with the "all programmers suck" in mind...so it really has to be a problem, and thus the 1% number isn't far fetched.
As for anecdotal evidence... I'm a.NET and Java dev, and those languages, while it could be better, make parallel programming relatively simple (at least, it is definately within the grasp of a code monkey). Yet, I have -never ever ever-seen any async/parallel code in anything but my own code, everywhere I worked (and I'm doing consulting, so I worked in a lot of places in a short amount of time).
The closest to parallel I've seen was people using a queue dispatcher (MSMQ) and have multiple triggers watching the same queue, thus resulting in some kind of parallel execution... thats it though.
So, 1% from my point of view actually seems pretty -high-, as sad as it is.
Indeed. And its why you had to see internal mails to know that MS were saying it was Nvidia's fault. Considering anytime Windows crash, MS gets the blamed (even if a significant amount of times its not Windows' fault directly...Creative, I'm looking at you), if they felt it REALLY wasn't their fault, they would have said it reeeeally quick.
If they didn't, its partly because they took the blame, as they should.
It may be just a joke, but its a very good comparison:) Balmer and Jobs both try to screw their customers as well as they humanly can... the only difference is that Balmer (as opposed to Bill Gates) is completly horrible at it, while Jobs is a master of deceitful marketing (well, I guess marketing in general, since almost by definition, marketing is an attempt to mess with customer's minds...)
Honestly, Jobs would probably be richer than he is now if he had gone in the pure marketing field, instead of in the hardware/software business.
Considering iTune does little to nothing (at least in the problematic parts) that do not have documented, working ways of doing it, I doubt there's a lot. Plus, Windows != Mac: if I tried to do things the Windows way on Mac, things would get weird (and if I remember well, it does happen with Office, and formerly IE on Macs...so I'm not saying MS is any better). Apple is just fairly hard headed.
Of course, not having the source code to iTune, I also may be talking out of my ass...but 2 of the problematic behaviors Ive seen (and were very visible when Vista came out, since obviously, broken ways of coding stuff has a higher risk of breaking with a new OS...happens a lot in the Mac world too):
1) handling of the ipod as a mass storage device. This one is a bit like what you said: Apple insisting oon having things work "its way". All hell breaks loose if you deviate from the iTune UI and do it the way you're supposed to in Windows. That has been mostly fixed since then, but it still has very weird behavior.
2) Handling of the songs on the file system/ipod for DRM purpose. This one is very glitchy, and well, DRMs in general tend to be "sneaky and underhanded", so I'm not suprised. But Apple's way of handling it makes Windows Media Player look like a saint.
Maybe not as easy, but its extremely easy to find the running process and get rid of it on Windows too. The problem is that Apple's software for Windows works almost like a spyware. It has so many entry points, and its so carefully integrated to everything, that getting rid of all its components is quite tough. Its multiple components, not just one, plus it not always running, so....
The tricks would be different, but similar things can be done on OSX too. You just need different tactics, and (almost) no one bothers.
B...b....but Apple is not a monopoly! That means they can and SHOULD do this!!!/sarcasm.
Seriously though, Apple is allowed legaly for said reason, but I never understood why people accept it... I mean, last I checked, when Microsoft -started- doing that crap, they weren't a monopoly either...and look where it got us.
That being said...watching a media player (iTune)conflict with a RAID (I swear Ive seen that happen) is quite amusing... Just exactly WHAT is that stupid thing doing anyway?
I'm a pretty big Microsoft supporter (yeah, one of like, 3 on this site...I do NOT work for MS however), and even I agree with you. Even if MS won, the process was tempered with. If OOXML is to be an ISO standard, we'll be stuck with it. It has to win fair and square. And if it is good enough to be an ISO standard, it should win, regardless of IBM. If its awful (and in its current state, its probably not so hot), it has to fail, so that MS can go back to the drawing board.
They need to trash the results and start over. As it is, even though OOXML was approved, NO ONE will trust it, because no one know if it actually deserves the spot or not. (And it goes both ways. Its not as simple as "It shouldn't be ISO!").
It takes too long to standardise on something. Once he customer tells you about it, its too late, you lost the contract. So you need to preemptively do it. Thus why its the vendor that would pick. In anticipation of the customer.
Its a bit more than that. He didnt reverse engineer it from scratch. He took the drivers themselves, modified the binaries, and released them, while asking for donations. So basically it was 99% not his work, and he asked for money for it (donations, not actual fees, but still).
Now that may bbe legal in Brazil too, but my point is, reverse engineering is legal in thhe US though (though with certain limitations). Publishing someone else's work with a few hundred bytes of alteration isn't. If he had reversed engineered the drivers and made his own from scratch from what he learned, it would have been totally different (depending on if patents got in the way, of course).
I don't know, as while I don't do audio development, I do have connections in the big name gaming development, and its partly what I was told (the rest is just my personal experience). Its also why an insane amount of games crashes reported tend to be on creative cards.
That said, and feel free to correct me, but I was under the impression that literally what a lot of onboard audio did was: "Process audio in software, output it, thats it" (thus why they work well... since with normal card, the first thing I've always done on XP was turn off hardware acceleration, since it would crash constantly under all Creative cards I tried).
For both audio quality and stability (though who knows if its just people like you who worked around all of the bugs!), the single best sound card I ever had is my current one. Some integrated 7.1 realtek chipset on an Nvidia 680i based board. The worse sound card I ever had was an Audigy 2 ZX. God that thing was god damn horrible.
According to the article, Creative has nothing to steal from him. His drivers didn't add much functionality if any: what he did is unlock them. They are -intentionaly- crippled. Thats why they got pissed off at him.
Depends if its for professional work or not I guess. If its for everyday usage and gaming? Just stick with whatever's on the motherboard. Sound cards have evolved to the point that integrated is probably as good as it gets for watching movies and gaming on anything 7.1 or lower. Now if you have special requirements, I have no clue whatsoever :)
Well, its just my plan.. its not 10$/10gig, since the plan for 100 gigs is like 15$ more than my current one. It doesn't scale linearly right now for the base plans, thus why you won't hear of "prices that high".
The main point however was the strategy, not the actual cost (since unless you're in one of the high tech asian countries, you are getting screwed by your ISP, no matter where you are...)
My ISP does partly that right now (I'm not in the US though). I pay something like 35$ a month, I get 20 gigs at 7mb, with an explicit warning that since its a shared cable, during peek hour I may go down. When it is not peek hour, I cap out my 7mb if the place I'm connected to can output it (which obviously makes sense), during peek hour the worse I've seen (from a reliable server... let say downloading something from java.sun.com) its like 350kbyte/s. If I go over my 20 gig, like 1 cents per megabyte.).
If thats not good enough, they have other plans that go as high as 100 gigs per month or more speed as high as 50 megabit/s (the upload speed is shit on that one though!).
If I think my current speed isn't fast enough, I can up my service to the next step up in speed for 48 hours for 3 to 5$, depending on the difference between the services (to up my 7mb to a 10mb its 3$ for 48 hours).
Its definately not perfect, and that ISP has its own problems with throttling and such, but its still a start in term of flexibility, and its much easier for the ISP to deliver this than something rediculous like "UNLIMITED DOWNLOAD AT 20MB speeds, all the time!". Its definately more honest, at least, and considering the reliability of my connection, they obviously CAN deliver.
Independent pro-military groups can have as much fun as they want. The problem happens when public funds are spent, really.
On my side, I'm a software developer and architect for corporate applications and ERP systems, though right now I'm working on portfolio management systems for financial companies and banks. The only time since 1995 that I've played with low level stuff is when generating bytecode dynamically to add dynamically typed language-style features (like duck typing) to C# or Java (and even then, its just patching assembly-style codes together, not much CS stuff there, though its a challenge in its own right). Structuring applications to be able to change at a customer's whim, cutting edge software architecture methodologies, trying to integrate disparate environments together... While I used to be quite good at C++ with all of its subtleties, I moved on, and while I can still read it and debug it, I'd be hard pressed to write a full application with it or do my girlfriend's job. In the same way, she'd never dream about doing mine.
What I'm saying is that the world of programming is a lot wider than it was 20 years ago... and its still about solving unsolved problems. Part of these unsolved problems are of the same category as they were in the beginning. That keeps people like you and my girlfriend happy... But there's a whole new world out there, with a lot of new challenges and problems to solve... The pointer arithmetics have been replaced by software design patterns, the memory management has been replaced by SOA, and the problem with managing strings across 3rd party librairies have been replaced with trying to get the difference web service stacks to talk to each other nicely
Then someone with a large patent folio to their name would start fearing for their lives... And if many individuals worked on something, how does it work? Its in the name of all the individuals and when they all die its free? What if a company invests 5 billion in some technology's research, put the patent in someone's name, and that person gets a heart attack?
Yeah, I see absolutely no problem with that.
I was one of Vista's early adopter, and unlike many it seems, I loved it from day one, and everything worked fine (I was only test driving it from MSDN, and decided to ::gasp:: buy it).
Well, everything worked fine, EXCEPT creative drivers... I had to rely on a crappy crash-prone Beta that didnt support any of the features my card (An Audigy 2 Platinum ZS, so not the cheapest kind). They eventually released drivers that didn't crash, but I had no features... Needless to say, now I have a new sound card, and its NOT a Creative one, and I told everyone I knew never to get a creative card ever again (why would you need it anyway? The only reason to get a fancy sound card these days is for professional work, and Creative isn't the first choice that comes to mind if I want to do professional audio work).
This article shows I was right. Screw Creative, hope they go bankrupt. They make Microsoft's product look like the holy grail of computing.
You forgot #3: They couldnt test the OS with Nvidia stuff, because Nvidia was trailing with their new drivers, so Microsoft made their own drivers, which, while not feature complete (actually very feature deficient), actually worked well, and that, before Nvidia had their own drivers at all. Then, AFTER VISTA's RELEASE, Nvidia FINALLY came out with drivers that worked like crap (on an OS that was out -before- the drivers, mind you). The only place (and it is significant) where MS is to blame is that they agreed to certify such shitty drivers. Nothing more, nothing less.
Of course, the work needs to be thread safe in that example. Thats why I said "lets you run a lot of tasks in parallel right there".
My point was, if you go through a typical everyday business app (since those are probably the most common kind developed these days, or close), you'll find that this situation is more common than not, which was my point. A LOT of loops contain operations without side effects and without shared ressources. Being able to easily handle those net you a large gain on the spot.
Basically, I'm advocating the 80/20 way. Make all of the "obvious" and "simple" scenarios easy, and you'll already get a large performance boost with little effort (its already being done...my parallel loop example can easily be done in virtually all languages, and is already used in many places, and it works quite well).
Then we can attack the harder scenarios that require more than a new language construct.
Note I said software architect, and I specifically stated I was not talking about system architects. Big difference between the two.
And yes application servers DO count. But during one connection, there's a LOT of things that can be split... Especially in these days of clouds and SOA. All the waiting on web services, all of the waiting on databases...its all time wasted. Its fairly simple. Start a worker thread with a callback. Bing bang poof. Sure, its not as ideal as parallelising a functional call, but it is simple, within the grasp of code monkeys, its clean, and it can make a 1 second request become a 0.3 second request.
My point was: parallelism in complex, scientific scenarios is hard. Parallelism in simple, everyday business applications for simple tasks is simple and is where you'll get one of the biggest bangs for your buck, and programmers should at least know the basics of it, to handle these basic scenarios. We're not talking about micro-optimisations here, we're talking a few lines of code to gain a 20-30% in a standard everyday business app just by doing work during idle time and splitting off obviously independent processes.
Well, actually...I think more things can be paralleled than one would think at first glance... The very existance of the foreach loop kindda shows this... Looking at most code I have to work with, 90% of such loops simply do "I'm iterating through the entire list/collection/array and processing only the current element", some simple aggregates (the kind where you can split the task and aggregate the result at the end), etc. Virtually all applications have those, and call them often.
.NET?)
Being able to simply say "the order in which these tasks are made doesn't matter" lets you run a lot of tasks in parallel right there.
Then you have a lot of tasks which do not depend on each other at ALL, but will still wait on each other... Let say a typical MVC web app ala Rail or Strut... you have a lot of ressource handling going on in the view that doesn't even rely on the Model/database whatsoever...and then you have the operation of rendering the model data in the view... so querying the data, and handling the ressources, could be done at the same time, and once both are done, do the actual render. ASP.NET has a decent mechanism for that, but no one uses it.
These are all things that are being worked on (and some already exist but most people ignore them), and can dramatically boost performance of virtually ANY application...but there needs to be a certain awareness... And some of these features are just freagin late (Microsoft is working on PLINQ...ways to make it easy to process data structure in parallel... for example: int[] blah = listOfInts.ForAll( item => item * 2 );... and it will do it in parallel. Seems so obvious, but why hasn't this been around for years in
I'd be sceptical of the source of the information too (Intel's blog as you posted), but that doesn't seem that low to me...
.NET and Java dev, and those languages, while it could be better, make parallel programming relatively simple (at least, it is definately within the grasp of a code monkey). Yet, I have -never ever ever-seen any async/parallel code in anything but my own code, everywhere I worked (and I'm doing consulting, so I worked in a lot of places in a short amount of time).
The entire hierarchy system in the IT fields has to deal with the painfully obvious fact that less than 1% of programmers know what they're doing: that is, in an ideal scenario, everyone would know what they're doing, and you'd have a FEW hardcore computer scientists to handle the nutso theoritical scenarios (most parallel programming for example can be done with only basic CS knowledge... like, let say, trimming all of the strings in an array...everyday stuff). But thats not how it works: In the current world, you usually have a few douzan coding monkeys with some understanding of the theory (but no clue how to use it), and a few software architects who call the shots (Note i'm talking about software architects...those that work on software design, not system architects).
In an ideal world where programmers know how to do the -basics- of their job, software architects would be an obsolete job, yet they're really not.
Now, thats a side note, but my point is that the typical IT shop hierarchy is MADE with the "all programmers suck" in mind...so it really has to be a problem, and thus the 1% number isn't far fetched.
As for anecdotal evidence... I'm a
The closest to parallel I've seen was people using a queue dispatcher (MSMQ) and have multiple triggers watching the same queue, thus resulting in some kind of parallel execution... thats it though.
So, 1% from my point of view actually seems pretty -high-, as sad as it is.
Indeed. And its why you had to see internal mails to know that MS were saying it was Nvidia's fault. Considering anytime Windows crash, MS gets the blamed (even if a significant amount of times its not Windows' fault directly...Creative, I'm looking at you), if they felt it REALLY wasn't their fault, they would have said it reeeeally quick.
If they didn't, its partly because they took the blame, as they should.
I see :) Those guys are really comedy geniuses then, cuz it completly got me :) I'd never have guessed.
hmm? I always thought that the censoring by the network was PART of the joke...
It may be just a joke, but its a very good comparison :) Balmer and Jobs both try to screw their customers as well as they humanly can... the only difference is that Balmer (as opposed to Bill Gates) is completly horrible at it, while Jobs is a master of deceitful marketing (well, I guess marketing in general, since almost by definition, marketing is an attempt to mess with customer's minds...)
Honestly, Jobs would probably be richer than he is now if he had gone in the pure marketing field, instead of in the hardware/software business.
Considering iTune does little to nothing (at least in the problematic parts) that do not have documented, working ways of doing it, I doubt there's a lot. Plus, Windows != Mac: if I tried to do things the Windows way on Mac, things would get weird (and if I remember well, it does happen with Office, and formerly IE on Macs...so I'm not saying MS is any better). Apple is just fairly hard headed.
Of course, not having the source code to iTune, I also may be talking out of my ass...but 2 of the problematic behaviors Ive seen (and were very visible when Vista came out, since obviously, broken ways of coding stuff has a higher risk of breaking with a new OS...happens a lot in the Mac world too):
1) handling of the ipod as a mass storage device. This one is a bit like what you said: Apple insisting oon having things work "its way". All hell breaks loose if you deviate from the iTune UI and do it the way you're supposed to in Windows. That has been mostly fixed since then, but it still has very weird behavior.
2) Handling of the songs on the file system/ipod for DRM purpose. This one is very glitchy, and well, DRMs in general tend to be "sneaky and underhanded", so I'm not suprised. But Apple's way of handling it makes Windows Media Player look like a saint.
Maybe not as easy, but its extremely easy to find the running process and get rid of it on Windows too. The problem is that Apple's software for Windows works almost like a spyware. It has so many entry points, and its so carefully integrated to everything, that getting rid of all its components is quite tough. Its multiple components, not just one, plus it not always running, so....
The tricks would be different, but similar things can be done on OSX too. You just need different tactics, and (almost) no one bothers.
B...b....but Apple is not a monopoly! That means they can and SHOULD do this!!! /sarcasm.
Seriously though, Apple is allowed legaly for said reason, but I never understood why people accept it... I mean, last I checked, when Microsoft -started- doing that crap, they weren't a monopoly either...and look where it got us.
That being said...watching a media player (iTune)conflict with a RAID (I swear Ive seen that happen) is quite amusing... Just exactly WHAT is that stupid thing doing anyway?