They're paying people more for their expertise. Why are we upset about this? This is really a stretch as far as Microsoft hatred goes on Slashdot.
They're looking for retail managers with comparable experience and offering them higher wages. Nobody has ever refuted that Microsoft was a better employer than Apple.
Since Haiku took over ten fucking years just to reach Alpha? Fuck no. Haiku's not going anywhere, but nice to see where your bias lies
Yes, that's the point. Haiku has taken 10 years to reach alpha and has a better shot of being a usable desktop system because it has a vision and a target that will result in a reasonable product.
That's exactly the point of what I said.
Linux has been spinning its wheels on desktop usability for over a decade now by tying itself to failed paradigms, like X and its ill thought out ALSA. The kernel team and Red Hat have long gotten past the illusion that they're making a desktop system- linux is built for servers now.
This argument is extremely weak coming from a freetard. You can't tell me about how rational people think because you have a passionate obsession with free software. It's just a waste.
So the fact that numerous people - myself included - use Linux every day for basic tasks doesn't make it usable? The fact that my somewhat technophobic and highly computer-illiterate father often borrows my linux laptop for browsing the web doesn't make it usable? That my sixty year-old mother has requested that, for any computer I build her, I make sure Linux is installed doesn't make it usable?
That's just talk. I've tried to leave home users with Ubuntu before in the past. There's always something that goes wrong and is absolutely impossible for a home user to solve. It's just too *big* and has too many points of failure without the organized support backend of something like the Windows Platform. Open source offerings will get much better when they simplify and reintegrate.
And now MS has forced so much mis-information into the public mind that teachers confiscate copies of Linux install disks, claiming they are illegal... Best Buy employees are taught that Windows is the only way to go... The public is taught that a machine of a lower-price is better than a Mac - despite the fact that the Mac generally has a better processor, better video card, bigger hard drive and more RAM than the lower-price machine... MS basically does everything it can to keep the public from ever learning the truth about alternatives to its stranglehold on the OS market.
Actually, it's not a conspiracy. At this point, Windows is simply more user friendly and usable. I suspect Haiku will overtake Windows in usability before the Linux desktop does, it just has a broad natural advantage in terms of architecture. You certainly can't take away Linux's server utility, though. It will always be firm in that market.
The moment Linux came even close to being usable, Dell and HP picked it up as options. Those don't do that well on the market. I would say they put exuberant faith in it to offer something like Ubuntu on a consumer machine. It certainly doesn't belong there.
Yes, Linux has historically had problems handling new hardware. But these days it can run a wider range of hardware correctly than Windows can. I don't really even have to research things anymore - if I go to Wal-Mart, Best-Buy or any other big chain store and purchase a piece of hardware, it is almost certain to be supported by Linux. As an example... Two weeks ago I walked into the local Wal-Mart here, purchased a web-cam and an MP3 player without ever doing research about supported hardware or even looking for a "works with linux" stamp on the packaging. I get home and plug the web-cam in - and it works(**). I plug the MP3 players dongle into the device and into the laptop and it shows up. Everything fully supported. In Windows I'd have had to install the drivers and reboot before I could do anything.
I've never owned a machine that worked with Linux without incident. Never. My current laptop, for instance, the Gateway LT3103u, does not work well with Linux at all. Its battery life and power management under Linux are especially dismal- and this is pretty ordinary hardware. It's actually losing quite heavily to Vista on this machine. I find that hilarious.
It sounds like you haven't used a Windows system since Windows 98. I can tell because you mention the system rebooting to install a USB device driver.
Windows users don't have to do research to know if something is supported on their system. Almost any device you buy includes a driver CD. I don't think it's terribly complex. It will even update WHQL drivers through Windows update. On Windows 7, you can basically just rely on Windows to find all its own drivers online.
It's not really the consumer's job to do this, though. Your OEM is supposed to handle all the basic driver packaging for your PC.
Linux TRIES to compete as a consumer product
And it fails. I think Haiku has a better shot of becoming a usable desktop os. It's designed for the desktop, it h
This isn't the sort of attack that would form a botnet.
The time you would waste learning Unix would be so excessive that even a directed assault on your home machine by a team of chinese hackers (which is likely what would exploit this sort of case) resulting in reinstall would cost less time.
This post was about free software. If you don't care about free software, it's your problem. Proprietary software affects you a lot more than your coffee maker. At least it's somewhat like environmental issues. Using proprietary software does harm yourself and everybody, both by giving away your freedom, and by acting against technological advancement. Just ignoring it is not going to make it go away. Of course, much like environmental issues, there are wacky ways to create conscience, and there are reasonable ways to do it, but it doesn't mean it's OK that people don't care.
Computers are just tools. Besides tools, they are consumer products. This culture war is simply absurd-- Linux should have to compete as a consumer product along with everything else. It can have its market share when it's usable. Not before then.
When you install Ubuntu into a dual-boot situation, it asks if you want it to import your entire My Documents folder.
You have to consider that data extends beyond merely the sort you'd store in My Documents. Not all applications follow that proper behavior, beside the fact that a user's application set could be considered part of their data. Many users identify their applications by name, even, not even description or type. It would be safe to say that a user would require a well-written guide with a series of alternatives for popular applications easily available for then. Perhaps Add/Remove Programs should alias keywords connected to applications that its F/OSS options are alternatives to-- if it doesn't already.
To an extent, I agree with you, but you're overstating your case a bit. I'm certainly not happy with the sorry state of F/OSS documentation, but your implication that proprietary software is any better is nonsense. The software written by the companies Joe Sixpack knows the names of--that is, Microsoft, Apple, and Adobe--tends to have built-in help systems. Because those companies can afford to hire someone to write it. The software written by everyone else, proprietary or open source, has half-assed or nonexistant built-in help. Even those three big companies aren't great at it. Their help systems don't answer the questions users actually have, they answer the questions they think users are going to have. The amount of overlap varies wildly from app to app--I find Excel's help system to be extremely useful, and Word's to be a waste of RAM, personally. The wiki approach to documentation is, by definition, a closer match to what users actually need, and part of the point of open source is that the original authors are not the only ones competent to write documentation. The fact that most people's first instinct is to look for a drop-down help menu is simply because that's what they're used to. It doesn't mean it's a better way to do it.
I don't often utilize documentation, but whenever I do it's a pretty quick process. Apple is probably right in making things such that no documentation should be needed, but I don't think the wiki is a strong case against professional documentation. The wiki's in ubuntu should be fully integrated into the help system per application-- the wiki-ized help system should link you up contextually when you try to get help on a certain function. It should be safe to assume internet connectivity at this point.
For most end-user applications, the absolute best in the industry is usually proprietary. That's true. The competing free software tends to do about 80% of what the proprietary solution does. But only the 1% of users who use that particular application at a professional level ever need, or, sometimes, are even capable of understanding, the other 20%. The differences between OO.o Word Processor and MS Word are the things that you don't need unless you're a professional writer/editor/publisher. The differences between OO.o Spreadsheet and MS Excel are the things you don't need unless you're an MBA. The differences between GIMP and Photoshop are the things you don't need unless you're an artist. A lot of people will need the proprietary application in one or two domains, but would never notice the difference anywhere else. But they're paying hundreds and hundreds of dollars for the proprietary solution anyway.
I disagree whole-heartedly. The commercial applications have far more accessible functionality. Microsoft Word 2007, for instance, makes it extremely easy to create a well-formatted and attractive document-- as does Pages. It's hard to make an ugly presentation with Keynote. However, no matter how hard I've tried, I've never been able to make an attractive looking document in OpenOffice- and I used openoffice for years. Its formatting is always just a bit ugly, a bit awkward, and its default content is always a bit lacking. Anything pushed out of the software ju
How is this relevant to a casual home user? Linux has a bevvy of remote vulnerabilities, and yet you as a home user will never be affected by them because nobody wants your documents, your anti-microsoft blog posts, or your porn.
If someone wanted to fire specially crafted TCP packets to take down your mom's computer, then that's their prerogative. Said person could also just throw a brick through her window or something.
So, basically, you're going to take to the streets dead set on destroying peoples' data and wasting their time? Most people have a computing solution that works for them. If they want free software, chances are they will seek it out.
For most people, this whole operation is going to be abstract, confusing, and really unfortunate if they make the mistake of putting the software onto their machines.
Remember: all that silly documentation and those help manuals were written for most users. They require that sort of thing. Most open source solutions are terribly documented It's software where you need to *just know* what's going or hit the forums or wikis. That's unacceptable. If software like OpenOffice was any good whatsoever, companies would brand it and sell the media in stores.
Adapting to a whole new software ecosystem is difficult. It's a terrible time sink that most people don't really have the social motivation for. What's so great about free software? It's free? Is Open Office better then MS Office? No? Is GIMP better than Photoshop or PSP or anything? No? Is Linux easier to use than OEM Windows or Mac? Absolutely not? Wait, why do I care about this again? What if I don't have a fanatical hatred of all things proprietary? What if I am not a freetard, but a productive member of society who needs to use the computer as a tool and not a time wasting obsession? What if I am not into "fighting the power" where "the power" is one of two large software companies that provide a framework to make my home computer usable? What if my computer were like a coffee maker for me, but for email and typing documents and browsing the web?
In short, anyone idealistic enough to run free software is already doing so.
I don't know how else to put it. It seems like Microsoft is coming straight out the gate on the apologetic. What sort of impression is this going to send to people considering investing in the platform? They haven't expressed any clear strategy for a possible addition of Windows Mobile apps in the future, which seems equally stupid.
Do what Apple does- sometimes you just have to lie to make yourself sound impressive!
Let's take a lesson from Apple here: they've been pawning off old technology in Mac OS X as impressive new features for years. Apple knows what the fuck they're doing. The Zune marketing presentation, on the other hand, seems hyper aware of its shortcomings and the marketing response is a hurried explanation for why they aren't competing. "Sorry guys... we'll write a twitter app by the end of the year"...
END OF THE YEAR?! That's like a student project for beginning.NET development. How about they start spitting out some apps fast, and if not, just release a goddamn SDK. You are MICROSOFT, you have Visual Studio, XNA, etc. What the hell are you doing releasing a closed platform? They are competing with the iPod Touch, not the original iPod!
Do you want to know how bad of a release this is? I was going to buy one of these things until today. I assumed they had some clever card up their sleeve they were waiting to unveil at launch... nope... they were avoiding showing the App store because it has like 5 applications.
Do you want to know what I saw when I opened up the Zune software to check the app offerings this morning?... a fucking calculator.
Really? Maybe they can distribute a Hello World app to go with that. This thing makes me want to buy an iPod Touch... and I totally hate Apple.
Maybe Microsoft's approach to threading and scheduling would make more sense to you if it had a pretty icon and a pretentious marketing description attached to it.
So, now we're talking about the fiercely thread-managed CLR environment again, right?
I'm sorry, but Windows just isn't hitting this wall on a comparable desktop context.
My scheduler is managing the 568 threads on my system just fine. I don't see how a dedicated thread pool would drastically reduce this overhead for a common usage scenario.
These articles are likely far more relevant on large super-parallel systems running in a server context. Mac OS X is simply a desktop operating system, so Microsof's interest in PLINQ in.NET likely doesn't translate to some sort of related crisis for desktop users.
How many concurrent threads absolutely does a desktop system need to run? Intelligent scheduling should make this a nonissue and unnoticeable to the average user.
I'm sorry, this is simply an arbitrary optimization for a strictly desktop operating system. I can't see this having any major benefit unless the user's workload becomes more comparable to that of a massively parallel server..NET is used heavily in enterprise servers, so their interest in parallelism is likely directed towards an entirely different technology base.
In a per-process pool-thread setup, a lot of time is spent creating and destroying threads in each processes's pool. Having a global pool means you just keep the optimal number of threads around for the number of CPUs you have.
The operating system should handle that adequately. That's why you're not programming on bare hardware. This happens during program initialization, sure, but its fractions of milliseconds. The applications are not constantly moving or manipulating threads in operation. The performance gain from this would be completely negligible. There are plenty of optimizing benefits within the VCC platform vs. GCC that would outshine this.
Are you saying you can't bog down a Windows machine by creating way too many threads? Thread pools are great and can speed up a lot of tasks, but if every process created it's own thread pool your system would be unusable.
Not unintentionally. Since the applications are allocating memory also, I would say you'd run out of memory long before threads. So, it wouldn't be any more possible than with Mac OS X and GCD.
The Windows scheduler should be able to handle any reasonable load such as this adequately. If you throw asynchronous operations at.NET as such, it will simply handle them about as elegantly as the system has the resources to manage.
.Net's thread pool sizes are managed by each process... so no.
Wait, why would that be a bad thing?
The only benefit to a thread pool is that the threads are pre-allocated for what you're using them for. Per-application thread-pooling is set up as such by design. There is no need for a "global thread pool" because the windows operating system completes these tasks using its scheduler.
There really is no useful application of thread building blocks outside of retro-fitting parallelization in single-threaded applications without thinking too hard.
The GCD model is a time saver for developers and a retro-fitting device, but thread-level optimization potential is lost when you have code switching for thread objects. Thread pools work per-process towards a cooperative scheduling model.
There's no performance case for using something like GCD. It's simply an issue of convenience. This convenience is being brought to.NET 4.0 in case developers should want to utilize it in PLINQ, but there's no reason for a well-tuned application to need it.
Windows doesn't do this because it's retarded. This entire concept is a simplification of a more advanced thread API. It sounds like Apple is advertising a lack of resolution in the ability to manipulate threads. There is likely no performance improvement gained from this behavior, or at least there wouldn't be in a system with an intelligent threading model like Windows... there simply isn't anything to optimize. Associating threads with processes is kind of meaningless because it's just a separation of what memory you use when you run, so the only association is where the thread local data is.
It's just meaningless to move threads between processes, which is why we don't have a global thread pool in Windows and we likely won't be using one in the near future.
This optimization sounds sort of arbitrary...
In.NET in particular, there's already correct behavior implemented for declaring something asynchronous, so it gets implicitly scheduled anyway..NET is not utilized by professional developers right now for legacy reasons, really. You would have to be very careful and have very intricate needs to beat the performance curve on.NET with a native application. The perceived overhead with.NET comes from its sparse use on Windows leading it to be activated and deactivated as applications call upon it.
This feature is irrelevant because there is nothing wrong with Windows' threading on demand model. The technical case is just far too weak.
I highly doubt this. I would say that in the age of multicore, logically separating threads to be managed by a central resource-adaptable API is going to become a lot more popular.
What? You're showing me some random blog by a linux/java advocate comparing a bubblesort across platforms? What does this have to do with writing applications? All you've got here is the efficiency of the JIT compilers when doing exactly the same irrelevant task. This is esoteric and abstract when compared to an application development task, where native functionality needs to be called (windowing, media, databases, etc).NET is not really targeted at major applications. Its a rapid development environment for windows customers, in the same way that large parts of Solaris aren't written in Java and large parts of Mac OS X aren't written in Cocoa.
.Net/Windows creates thread pools per process, which is exactly what all older thread pools do. GCD uses a system-wide thread pooling system which brings the cost of creating threads down to a few instructions.
I am almost positive that.NET's threading pool is at least.NET-wide.
These threading models meant you launched the thread on the alternate CPU and your application was completely in control of the secondary CPU(s), the OS has nothing to do with threading. These threading models existed in Win3.1 via libraries and in MacOS 7.5.
SMP threading(where the OS assigns applications/threads to CPUs) is where OSs actually come into play, and that was only introduced in the NT kernels.
If the UI thread/worker thread model adapted to the SMP threading properly, then I would say the model is multi-threaded. It's not nearly as awkward as UNIX threading. If the model can be adapted from the backend without recompiling the applications, then they're developed properly.
Why couldn't you just say SMP at first? Is it because you were trying to drop in smarmy Mac FUD and just hope that no one knew anything about multi-threaded applications? Calling Windows 95 "single-threaded" and meaning that it's a single processor system seems a bit misleading.
Windows Vista has an aggressive thread pooling API and part of the core of the.NET architecture involves the intelligent pooling of threads.
If you've never heard anyone champion the performance potential of.NET, then you're clearly spending too much time around Apple people. There's nothing new about GCD... it's just Intel's TBB for Mac. I don't see any evidence otherwise.
Apple can continue their game of technical catch-up, but as long as they stay ahead culturally and marketing wise we'll never hear the end of this bs.
The first consumer level version of NeXT was Mac OS X, so even if what you said were true, they would be on equal footing.
Unfortunately, they're not.
Like most Apple people, you're quick to the condescension but not very bright. Windows 3.1 was indeed quite single threaded, but Windows 95 presented a diverse range of multi-threaded models through COM and the Win32 API.
So, multi-threaded application development has been a matter of course on the Windows platform for a quite long time. GCD stands to retro-fit Mac OS X from the 80's to a full-blown 90's theading model.
Modern application development on Windows is supposed to take place using.NET, which marshals and threads on a level quite beyond what OS X can offer.
It's a very nice icon and a riveting marketing description, though. GCD is very modern looking.
To be honest with you, when you reach this level of awesome in your experimentation, you don't even need a premise. The NASA scientists could have simply announced that they did it for the lulz and it would be okay.
You're absolutely right. You could also consider it a reimplementation of Intel's TBB or Thread Building Blocks.
It's really not revolutionary at all... but that is how Apple operates. They reinvent the wheel and claim responsibility for it with incisive and effective marketing at every turn.
Actually, within the Microsoft platform, this sort of thing isn't even necessary because they've been aggressive about multi-threaded applications since the 90's.
I am a little sore that The Longest Journey is still shelved. If this MMO shares any elements, even the general feel of it, then I think it will be very interesting.
I still consider The Longest Journey to be the best adventure game and actually one of the better games I've played in general, if only in terms of story and world.
If you're curious about it, it's really cheap on Steam:
So, in a sense, you as Linux users already have it.
This technology is very valuable to massive single-threaded application such as legacy or poorly-implemented UNIX applications. This shouldn't be necessary on the Microsoft platform, which has been fully multi-threaded as a standard practice since the 90's.
If Apple has made the technology more developer accessible, then this will be a valuable contribution to the Linux platform.
In short, Apple is giving it away because it has no proprietary value. They probably just want free labor for maintaining their fork of TBB.
They're paying people more for their expertise. Why are we upset about this? This is really a stretch as far as Microsoft hatred goes on Slashdot.
They're looking for retail managers with comparable experience and offering them higher wages. Nobody has ever refuted that Microsoft was a better employer than Apple.
But he's right. Linux is really nerdy from a marketing perspective. It comes off sounding inaccessible and just... well... the bad type of geeky.
The problem is that it's generally connected to Linux users.
You, sir, have just reached Internet Enlightenment.
Since Haiku took over ten fucking years just to reach Alpha? Fuck no. Haiku's not going anywhere, but nice to see where your bias lies
Yes, that's the point. Haiku has taken 10 years to reach alpha and has a better shot of being a usable desktop system because it has a vision and a target that will result in a reasonable product.
That's exactly the point of what I said.
Linux has been spinning its wheels on desktop usability for over a decade now by tying itself to failed paradigms, like X and its ill thought out ALSA. The kernel team and Red Hat have long gotten past the illusion that they're making a desktop system- linux is built for servers now.
This argument is extremely weak coming from a freetard. You can't tell me about how rational people think because you have a passionate obsession with free software. It's just a waste.
Have you ever been to the Ubuntu forums?
So the fact that numerous people - myself included - use Linux every day for basic tasks doesn't make it usable? The fact that my somewhat technophobic and highly computer-illiterate father often borrows my linux laptop for browsing the web doesn't make it usable? That my sixty year-old mother has requested that, for any computer I build her, I make sure Linux is installed doesn't make it usable?
That's just talk. I've tried to leave home users with Ubuntu before in the past. There's always something that goes wrong and is absolutely impossible for a home user to solve. It's just too *big* and has too many points of failure without the organized support backend of something like the Windows Platform. Open source offerings will get much better when they simplify and reintegrate.
And now MS has forced so much mis-information into the public mind that teachers confiscate copies of Linux install disks, claiming they are illegal... Best Buy employees are taught that Windows is the only way to go... The public is taught that a machine of a lower-price is better than a Mac - despite the fact that the Mac generally has a better processor, better video card, bigger hard drive and more RAM than the lower-price machine... MS basically does everything it can to keep the public from ever learning the truth about alternatives to its stranglehold on the OS market.
Actually, it's not a conspiracy. At this point, Windows is simply more user friendly and usable. I suspect Haiku will overtake Windows in usability before the Linux desktop does, it just has a broad natural advantage in terms of architecture. You certainly can't take away Linux's server utility, though. It will always be firm in that market.
The moment Linux came even close to being usable, Dell and HP picked it up as options. Those don't do that well on the market. I would say they put exuberant faith in it to offer something like Ubuntu on a consumer machine. It certainly doesn't belong there.
Yes, Linux has historically had problems handling new hardware. But these days it can run a wider range of hardware correctly than Windows can. I don't really even have to research things anymore - if I go to Wal-Mart, Best-Buy or any other big chain store and purchase a piece of hardware, it is almost certain to be supported by Linux. As an example... Two weeks ago I walked into the local Wal-Mart here, purchased a web-cam and an MP3 player without ever doing research about supported hardware or even looking for a "works with linux" stamp on the packaging. I get home and plug the web-cam in - and it works(**). I plug the MP3 players dongle into the device and into the laptop and it shows up. Everything fully supported. In Windows I'd have had to install the drivers and reboot before I could do anything.
I've never owned a machine that worked with Linux without incident. Never. My current laptop, for instance, the Gateway LT3103u, does not work well with Linux at all. Its battery life and power management under Linux are especially dismal- and this is pretty ordinary hardware. It's actually losing quite heavily to Vista on this machine. I find that hilarious.
It sounds like you haven't used a Windows system since Windows 98. I can tell because you mention the system rebooting to install a USB device driver.
Windows users don't have to do research to know if something is supported on their system. Almost any device you buy includes a driver CD. I don't think it's terribly complex. It will even update WHQL drivers through Windows update. On Windows 7, you can basically just rely on Windows to find all its own drivers online.
It's not really the consumer's job to do this, though. Your OEM is supposed to handle all the basic driver packaging for your PC.
Linux TRIES to compete as a consumer product
And it fails. I think Haiku has a better shot of becoming a usable desktop os. It's designed for the desktop, it h
This isn't the sort of attack that would form a botnet.
The time you would waste learning Unix would be so excessive that even a directed assault on your home machine by a team of chinese hackers (which is likely what would exploit this sort of case) resulting in reinstall would cost less time.
Time is the only real valuable resource.
This post was about free software. If you don't care about free software, it's your problem. Proprietary software affects you a lot more than your coffee maker. At least it's somewhat like environmental issues. Using proprietary software does harm yourself and everybody, both by giving away your freedom, and by acting against technological advancement. Just ignoring it is not going to make it go away. Of course, much like environmental issues, there are wacky ways to create conscience, and there are reasonable ways to do it, but it doesn't mean it's OK that people don't care.
Computers are just tools. Besides tools, they are consumer products. This culture war is simply absurd-- Linux should have to compete as a consumer product along with everything else. It can have its market share when it's usable. Not before then.
When you install Ubuntu into a dual-boot situation, it asks if you want it to import your entire My Documents folder.
You have to consider that data extends beyond merely the sort you'd store in My Documents. Not all applications follow that proper behavior, beside the fact that a user's application set could be considered part of their data. Many users identify their applications by name, even, not even description or type. It would be safe to say that a user would require a well-written guide with a series of alternatives for popular applications easily available for then. Perhaps Add/Remove Programs should alias keywords connected to applications that its F/OSS options are alternatives to-- if it doesn't already.
To an extent, I agree with you, but you're overstating your case a bit. I'm certainly not happy with the sorry state of F/OSS documentation, but your implication that proprietary software is any better is nonsense. The software written by the companies Joe Sixpack knows the names of--that is, Microsoft, Apple, and Adobe--tends to have built-in help systems. Because those companies can afford to hire someone to write it. The software written by everyone else, proprietary or open source, has half-assed or nonexistant built-in help. Even those three big companies aren't great at it. Their help systems don't answer the questions users actually have, they answer the questions they think users are going to have. The amount of overlap varies wildly from app to app--I find Excel's help system to be extremely useful, and Word's to be a waste of RAM, personally. The wiki approach to documentation is, by definition, a closer match to what users actually need, and part of the point of open source is that the original authors are not the only ones competent to write documentation. The fact that most people's first instinct is to look for a drop-down help menu is simply because that's what they're used to. It doesn't mean it's a better way to do it.
I don't often utilize documentation, but whenever I do it's a pretty quick process. Apple is probably right in making things such that no documentation should be needed, but I don't think the wiki is a strong case against professional documentation. The wiki's in ubuntu should be fully integrated into the help system per application-- the wiki-ized help system should link you up contextually when you try to get help on a certain function. It should be safe to assume internet connectivity at this point.
For most end-user applications, the absolute best in the industry is usually proprietary. That's true. The competing free software tends to do about 80% of what the proprietary solution does. But only the 1% of users who use that particular application at a professional level ever need, or, sometimes, are even capable of understanding, the other 20%. The differences between OO.o Word Processor and MS Word are the things that you don't need unless you're a professional writer/editor/publisher. The differences between OO.o Spreadsheet and MS Excel are the things you don't need unless you're an MBA. The differences between GIMP and Photoshop are the things you don't need unless you're an artist. A lot of people will need the proprietary application in one or two domains, but would never notice the difference anywhere else. But they're paying hundreds and hundreds of dollars for the proprietary solution anyway.
I disagree whole-heartedly. The commercial applications have far more accessible functionality. Microsoft Word 2007, for instance, makes it extremely easy to create a well-formatted and attractive document-- as does Pages. It's hard to make an ugly presentation with Keynote. However, no matter how hard I've tried, I've never been able to make an attractive looking document in OpenOffice- and I used openoffice for years. Its formatting is always just a bit ugly, a bit awkward, and its default content is always a bit lacking. Anything pushed out of the software ju
How is this relevant to a casual home user? Linux has a bevvy of remote vulnerabilities, and yet you as a home user will never be affected by them because nobody wants your documents, your anti-microsoft blog posts, or your porn.
If someone wanted to fire specially crafted TCP packets to take down your mom's computer, then that's their prerogative. Said person could also just throw a brick through her window or something.
So, basically, you're going to take to the streets dead set on destroying peoples' data and wasting their time? Most people have a computing solution that works for them. If they want free software, chances are they will seek it out.
For most people, this whole operation is going to be abstract, confusing, and really unfortunate if they make the mistake of putting the software onto their machines.
Remember: all that silly documentation and those help manuals were written for most users. They require that sort of thing. Most open source solutions are terribly documented It's software where you need to *just know* what's going or hit the forums or wikis. That's unacceptable. If software like OpenOffice was any good whatsoever, companies would brand it and sell the media in stores.
Adapting to a whole new software ecosystem is difficult. It's a terrible time sink that most people don't really have the social motivation for. What's so great about free software? It's free? Is Open Office better then MS Office? No? Is GIMP better than Photoshop or PSP or anything? No? Is Linux easier to use than OEM Windows or Mac? Absolutely not? Wait, why do I care about this again? What if I don't have a fanatical hatred of all things proprietary? What if I am not a freetard, but a productive member of society who needs to use the computer as a tool and not a time wasting obsession? What if I am not into "fighting the power" where "the power" is one of two large software companies that provide a framework to make my home computer usable? What if my computer were like a coffee maker for me, but for email and typing documents and browsing the web?
In short, anyone idealistic enough to run free software is already doing so.
I don't know how else to put it. It seems like Microsoft is coming straight out the gate on the apologetic. What sort of impression is this going to send to people considering investing in the platform? They haven't expressed any clear strategy for a possible addition of Windows Mobile apps in the future, which seems equally stupid.
Do what Apple does- sometimes you just have to lie to make yourself sound impressive!
Let's take a lesson from Apple here: they've been pawning off old technology in Mac OS X as impressive new features for years. Apple knows what the fuck they're doing. The Zune marketing presentation, on the other hand, seems hyper aware of its shortcomings and the marketing response is a hurried explanation for why they aren't competing. "Sorry guys... we'll write a twitter app by the end of the year"...
END OF THE YEAR?! That's like a student project for beginning .NET development. How about they start spitting out some apps fast, and if not, just release a goddamn SDK. You are MICROSOFT, you have Visual Studio, XNA, etc. What the hell are you doing releasing a closed platform? They are competing with the iPod Touch, not the original iPod!
Do you want to know how bad of a release this is? I was going to buy one of these things until today. I assumed they had some clever card up their sleeve they were waiting to unveil at launch... nope... they were avoiding showing the App store because it has like 5 applications.
Do you want to know what I saw when I opened up the Zune software to check the app offerings this morning? ... a fucking calculator.
Really? Maybe they can distribute a Hello World app to go with that. This thing makes me want to buy an iPod Touch... and I totally hate Apple.
Maybe Microsoft's approach to threading and scheduling would make more sense to you if it had a pretty icon and a pretentious marketing description attached to it.
So, now we're talking about the fiercely thread-managed CLR environment again, right?
I'm sorry, but Windows just isn't hitting this wall on a comparable desktop context.
My scheduler is managing the 568 threads on my system just fine. I don't see how a dedicated thread pool would drastically reduce this overhead for a common usage scenario.
These articles are likely far more relevant on large super-parallel systems running in a server context. Mac OS X is simply a desktop operating system, so Microsof's interest in PLINQ in .NET likely doesn't translate to some sort of related crisis for desktop users.
How many concurrent threads absolutely does a desktop system need to run? Intelligent scheduling should make this a nonissue and unnoticeable to the average user.
I'm sorry, this is simply an arbitrary optimization for a strictly desktop operating system. I can't see this having any major benefit unless the user's workload becomes more comparable to that of a massively parallel server. .NET is used heavily in enterprise servers, so their interest in parallelism is likely directed towards an entirely different technology base.
In a per-process pool-thread setup, a lot of time is spent creating and destroying threads in each processes's pool. Having a global pool means you just keep the optimal number of threads around for the number of CPUs you have.
The operating system should handle that adequately. That's why you're not programming on bare hardware. This happens during program initialization, sure, but its fractions of milliseconds. The applications are not constantly moving or manipulating threads in operation. The performance gain from this would be completely negligible. There are plenty of optimizing benefits within the VCC platform vs. GCC that would outshine this.
Are you saying you can't bog down a Windows machine by creating way too many threads? Thread pools are great and can speed up a lot of tasks, but if every process created it's own thread pool your system would be unusable.
Not unintentionally. Since the applications are allocating memory also, I would say you'd run out of memory long before threads. So, it wouldn't be any more possible than with Mac OS X and GCD.
The Windows scheduler should be able to handle any reasonable load such as this adequately. If you throw asynchronous operations at .NET as such, it will simply handle them about as elegantly as the system has the resources to manage.
.Net's thread pool sizes are managed by each process... so no.
Wait, why would that be a bad thing?
The only benefit to a thread pool is that the threads are pre-allocated for what you're using them for. Per-application thread-pooling is set up as such by design. There is no need for a "global thread pool" because the windows operating system completes these tasks using its scheduler.
There really is no useful application of thread building blocks outside of retro-fitting parallelization in single-threaded applications without thinking too hard.
The GCD model is a time saver for developers and a retro-fitting device, but thread-level optimization potential is lost when you have code switching for thread objects. Thread pools work per-process towards a cooperative scheduling model.
There's no performance case for using something like GCD. It's simply an issue of convenience. This convenience is being brought to .NET 4.0 in case developers should want to utilize it in PLINQ, but there's no reason for a well-tuned application to need it.
Windows doesn't do this because it's retarded. This entire concept is a simplification of a more advanced thread API. It sounds like Apple is advertising a lack of resolution in the ability to manipulate threads. There is likely no performance improvement gained from this behavior, or at least there wouldn't be in a system with an intelligent threading model like Windows... there simply isn't anything to optimize. Associating threads with processes is kind of meaningless because it's just a separation of what memory you use when you run, so the only association is where the thread local data is.
It's just meaningless to move threads between processes, which is why we don't have a global thread pool in Windows and we likely won't be using one in the near future.
This optimization sounds sort of arbitrary...
In .NET in particular, there's already correct behavior implemented for declaring something asynchronous, so it gets implicitly scheduled anyway. .NET is not utilized by professional developers right now for legacy reasons, really. You would have to be very careful and have very intricate needs to beat the performance curve on .NET with a native application. The perceived overhead with .NET comes from its sparse use on Windows leading it to be activated and deactivated as applications call upon it.
This feature is irrelevant because there is nothing wrong with Windows' threading on demand model. The technical case is just far too weak.
Well, threading is a thing of the past.
I highly doubt this. I would say that in the age of multicore, logically separating threads to be managed by a central resource-adaptable API is going to become a lot more popular.
This approach makes sense with desktop/mobile.
CLR performance seems to be comparable to Java's VM. Are any major programs written in .Net? http://dotneverland.blogspot.com/2008/07/yet-another-benchmark-of-clr-vs-jvm.html
What? You're showing me some random blog by a linux/java advocate comparing a bubblesort across platforms? What does this have to do with writing applications? All you've got here is the efficiency of the JIT compilers when doing exactly the same irrelevant task. This is esoteric and abstract when compared to an application development task, where native functionality needs to be called (windowing, media, databases, etc) .NET is not really targeted at major applications. Its a rapid development environment for windows customers, in the same way that large parts of Solaris aren't written in Java and large parts of Mac OS X aren't written in Cocoa.
.Net/Windows creates thread pools per process, which is exactly what all older thread pools do. GCD uses a system-wide thread pooling system which brings the cost of creating threads down to a few instructions.
I am almost positive that .NET's threading pool is at least .NET-wide.
These threading models meant you launched the thread on the alternate CPU and your application was completely in control of the secondary CPU(s), the OS has nothing to do with threading. These threading models existed in Win3.1 via libraries and in MacOS 7.5.
SMP threading(where the OS assigns applications/threads to CPUs) is where OSs actually come into play, and that was only introduced in the NT kernels.
If the UI thread/worker thread model adapted to the SMP threading properly, then I would say the model is multi-threaded. It's not nearly as awkward as UNIX threading. If the model can be adapted from the backend without recompiling the applications, then they're developed properly.
Why couldn't you just say SMP at first? Is it because you were trying to drop in smarmy Mac FUD and just hope that no one knew anything about multi-threaded applications? Calling Windows 95 "single-threaded" and meaning that it's a single processor system seems a bit misleading.
Windows Vista has an aggressive thread pooling API and part of the core of the .NET architecture involves the intelligent pooling of threads.
If you've never heard anyone champion the performance potential of .NET, then you're clearly spending too much time around Apple people. There's nothing new about GCD... it's just Intel's TBB for Mac. I don't see any evidence otherwise.
Apple can continue their game of technical catch-up, but as long as they stay ahead culturally and marketing wise we'll never hear the end of this bs.
The first consumer level version of NeXT was Mac OS X, so even if what you said were true, they would be on equal footing.
Unfortunately, they're not.
Like most Apple people, you're quick to the condescension but not very bright. Windows 3.1 was indeed quite single threaded, but Windows 95 presented a diverse range of multi-threaded models through COM and the Win32 API.
See this archaic whitepaper:
http://www.calsoftlabs.com/whitepapers/multithreading.html
So, multi-threaded application development has been a matter of course on the Windows platform for a quite long time. GCD stands to retro-fit Mac OS X from the 80's to a full-blown 90's theading model.
Modern application development on Windows is supposed to take place using .NET, which marshals and threads on a level quite beyond what OS X can offer.
It's a very nice icon and a riveting marketing description, though. GCD is very modern looking.
To be honest with you, when you reach this level of awesome in your experimentation, you don't even need a premise. The NASA scientists could have simply announced that they did it for the lulz and it would be okay.
I think the public would excuse it.
You're absolutely right. You could also consider it a reimplementation of Intel's TBB or Thread Building Blocks.
It's really not revolutionary at all... but that is how Apple operates. They reinvent the wheel and claim responsibility for it with incisive and effective marketing at every turn.
Actually, within the Microsoft platform, this sort of thing isn't even necessary because they've been aggressive about multi-threaded applications since the 90's.
I am a little sore that The Longest Journey is still shelved. If this MMO shares any elements, even the general feel of it, then I think it will be very interesting.
I still consider The Longest Journey to be the best adventure game and actually one of the better games I've played in general, if only in terms of story and world.
If you're curious about it, it's really cheap on Steam:
http://store.steampowered.com/app/6310/
GCD seems to be little more than an implementation of Intel's Thread Building Blocks adapted to Apple's platform:
http://www.threadingbuildingblocks.org/
So, in a sense, you as Linux users already have it.
This technology is very valuable to massive single-threaded application such as legacy or poorly-implemented UNIX applications. This shouldn't be necessary on the Microsoft platform, which has been fully multi-threaded as a standard practice since the 90's.
If Apple has made the technology more developer accessible, then this will be a valuable contribution to the Linux platform.
In short, Apple is giving it away because it has no proprietary value. They probably just want free labor for maintaining their fork of TBB.