What is the big problem you see with installing software on Ubuntu?
I already covered that. A lot of software is not distributed in that format because a lot of Linux distros don't use.deb. Further, because repositories are not easy for commercial software developers with legal reasons to maintain their own distribution channels and because package managers can't handle sales and registration of commercial software, commercial developers have real incentive to go with prepackaged installers that do handle these, which mean they distribute using binary installers which means you end up having to manage application installs and updates in at least three different ways on your system, a huge usability problem. Current packages also don't allow for installation from another, existing computer while maintaining registration info, especially if it is from a different platform.
Running software from a flash drive is no problem whatsoever as long as the software is configured to either save all configuration data to that drive or to the user home directory or any other user-writable location.
The problem is, software is not so configured by default so end users try to use it and it fails. For more advanced users, you still have to install multiple copies of the software because you need a separate instance for each platform, one of the items the proposed changes would solve.
Installing 'commercial software' is no different from installing any other software.
Commercial, especially closed source app developers have different than OSS projects. That has been largely ignored in the creation of package managers and the result is predictable and bad for users.
The fact that some commercial software suppliers have chosen to ignore the debian package format and supplies the software in some other form (shell archive, zip or tar file, executable installer...) is a problem with those suppliers, not with Ubuntu.
This is why Apple crushes Linux desktop system providers. I, as a user, don't give a rat's ass if it is Canonical's fault or Adobe's. I just want someone to step up and make sure the end user experience is decent. Blaming the other guy doesn't help me. Developers will do what they think is best for them and if Canonical wants an OS that is useable and works they need to provide motivation to developers. They actually are stepping up in this regard and building a commercial software store into the new package manager to try to solve this problem, but it remains to be seen if they will do it well.
There is no reason whatsover why the deb (or rpm or whatever) package format can not be used for commercial software.
Sure there is, it is inconvenient and doesn't make developers the most amount of money. They have to run a separate server just to offer updates and another to do license validation. It's a lot cheaper and easier just to use one of the off the shelf binary installer packages and the service offerings that go with it. Current package managers combined with the.deb format, don't meet their needs.
On my mac, I just download the app. Run it. If the app supports auto updating, it just hooks in on first run.
The problem with OS X's lack of package management is there is no central service for auto-updating third party apps, so many don't do auto updating and the others are connecting willy nilly at random times to random places, making security management and application level firewalling to prevent trojans and spyware much more difficult.
When I want to uninstall it, I just delete it and it cleans itself up on its own, sometimes not completely until next login.
Except this only works for applications that don't need to install kernel modules or which are CLI only or most Linux/BSD ports. Additionally, applications don't completely delete themselves on uninstallation. They often leave behind config files, which is useful in some instances, but without a package manager there is no simple "clean uninstall" option.
A package manager is nice for finding apps however, but trying to say that Apples system is bad in comparison is just silly.
The system in OS X is nice in many ways, but still lacking in some ways where Linux has an advantage. Both could be improved by adopting more from one another.
When you get a bunch of commercial vendor together, putting them all on the same 'repository' gets to be a bitch, they fight too much.
There are a lot of incentives for commercial software providers to not make use of repositories on Linux, but that does not mean they are inherently problematic for commercial software. The iPhone app store, for example, is a commercial software repository that not only works for vendors, but gives vendors incentive to develop for the platform.
You can't compare Linux package managers which are practically designed to be anti-commercial to a commercial environment.
But you can compare them to commercial repositories. For example, Ubuntu just introduced a new package manager in the latest RC and part of the roadmap is to include iPhone app store style commercial software, including a central mechanism for selling software. Ubuntu isn't there yet and can use a lot of improvement in that regard... but OS X can use the same. A lot of users would like a central app store application for OS X that plugs into a decentralized network of repositories, basically something that works like the iPhone store for end users, but offers the freedom of the current system for developers along with giving developers a place to advertise, sell, register, and update their applications. This is useful to end users as well for the ability to handle application specific tasks from a central location (like clean uninstall, updates, and security sandboxing).
Linux doesn't need fat binaries because the package manager automatically installs the binaries that are appropriate for the machine.
I wish. I installed a wikimedia server a few weeks ago. Gee it's OSS but not in the package manager. Well lets spend half an hour futzing with the CLI again. Oh, and commercial, closed source software needed to do my job, not in any repositories even if it is freeware because there's no easy way to host those repositories and download from a Web site across package managers. Again, I'm running binary installers and trying to pick from eight of them for different architectures. Gee it sure would be nice to install an application on a network drive and let the whole lab get to it from their laptops when they're in. Oh, but then I need to install multiple copies and hope users know what architecture they're using. Installation on a flash drive that I can stick into multiple machines, no luck there either. Want to upgrade my laptop to a new one with a new architecture, oh joy I get to re-download and dig up registration codes for all my applications that aren't in the repository because I can't transfer them because they don't support my new machine.
OS X needs fat binaries because it doesn't have package management.
Linux needs fat binaries both because their package management is insufficient and because they need it to support other use cases unrelated to package management.
I wish people would stop trying to bring OS X (mis)features over to Linux. If I wanted to use OS X, I'd already be using it.
I wish Linux devs would get over their Not Invented Here syndrome and start to copy the really cool stuff from OS X that I miss when I'm using my Linux machine. I wish Apple would copy some more of the stuff from Linux too, but at least they're steadily pulling in more and more and every release those deficiencies get smaller. A whole decade after OS X added system services and Linux still has nothing to fill that hole. That's just sad.
This is a terrible example, because this *particular* example relieves the need for anyone to run a company, work at a company, or buy anything from a company. Food, clothing, people, pets, shelter, medicine... anything could be duplicated.
Not really. Could duplicating matter duplicate services? Cooking, cleaning, waste disposal, massage therapy? It would change a lot, but not eliminate want or value to everything.
Such a machine would reset our entire society -- and it should.
But such technology exists for intellectual property but did not reset our society, we just passed laws to restrict it. We'd probably do the same with this new invention, since those in power have vested interest in the status quo.
But you're missing the point. I did not mention this as a way to fantasize about utopia, but as an example that exposes the fundamental principals upon which this discussion needs to be based.
The actual issue with intangible property is that by taking it and not complying with the terms of the rights owners, in the process reducing or eliminating return from said property, the motivation for the rights owners to continue to produce these things for society is damaged, and consequently, society is damaged (and will inevitably develop a means of recourse.)
Ahh, but is society really damaged and what is the optimal amount and duration for IP rights to maximize the benefit to society? If copyright terms were 5 years long, would creators produce more or less and would society benefit more or less? When you consider it in practical terms like this, you're discussing maximizing benefit to society which is how copyright fundamentally differs from theft. We don't consider laws that say how much people can steal from others to maximize the benefit to society.
All the excuses in the world cannot get around this; and that is why it is wrong. It does real harm. Directly to the property owner, and indirectly, but very broadly, to the rest of society.
I'm not at all convinced our current copyright laws (for example) aren't doing more harm to society that good, but that's not the point I was making. The point I was making is that it is a fundamentally different argument than with theft. Copyright is not inherently beneficial. You could write copyright laws that say only the original creator can ever make copies and only then using a pen and paper and it would be more restrictive and everyone would suffer. The debate people should be having is what is the optimal copyright law.
But if you elect to take property / rights that is offered in exchange for some fee or service you decline to provide, you're an antisocial, simple-minded scumbag.
That's simply your moral opinion though. I could argue that if you married a person of a different race many years ago you're an antisocial, simple-minded scumbag. Many people back in the day said that and worse. It doesn't make them right. The law is not always right. For example, I made an illegal copy of a book once. It was a short book, about 50 years old, and out of print. As far as I know, no other copies exist. It was written by my grandmother, but she transferred the copyright to a publishing house and no one is sure who holds the rights now. It is one of two companies both of whom offer print on demand, but at fees far higher than I can afford (thousands of dollars) Further, they don't have any copies of it so I'd have to give the one copy I found to them the be cut apart in order to get a legal copy made. I made a copy to preserve the work, part of the original intention of copyright, but illegal since the 70's under our current laws. so now you're telling me I'm antisocial, simple-minded, and a scumbag huh? Well I guess we have a difference of moral values.
People who create - music, art, software - are of much greater value to society than people who steal...
Your argument and the suppositions that it is based on are ridiculous. A world in which a device existed that could make a copy of any object for free would be *radically* different than ours.
Yes, just as the world we live in where we can instantly make copies of intellectual property is radically different than the one people lived in a hundreds of years ago.
In such a world scarcity of resources would be virtually completely eliminated and poverty, business and the economic class divides would be non existent.
First, real estate and services would still be scarce resources so there would still be a divide. Second, I doubt things would change as radically as you think, since they did not change as radically when intellectual property became copyable for free. We just imposed laws to make it unfree and maintain the status quo.
It would literally be a utopia.
Hardly.
So basically you are making a long winded, bullshit argument based on an impossible device that would create a utopian world far different from reality.
No, I presented an improbable analogy meant to show the fundamental principals being discussed. Since you are too close minded to consider it, however, you won't look at what those principals are and remain unenlightened. Good job.
No, it makes scarcity in physical good only artificial as it is in intellectual property today. Today you still need to hire someone to create the original work before it can be copied and the same would be true for physical goods.
Under your example, the *only* thing that costs time is development of initial copies - *everything* is copyable for free, which means that the creator of something does need to buy anything.
I'm not sure I understand you. In terms of creating physical goods, yes, but in absolute terms, no. Real estate and services would still cost money and be scare in the example I provide.
That's a fundamental shift, that makes your example unrelated to the case you're trying to prove.
Actually it's making physical goods more similar to intellectual property as a way of showing the fundamental principals of the debate by means of analogy. Showing the fundamental principals is vital to any discussion that will actually be of any use.
The data section might be shared (it can't be in the general case because of issues such as endianness). If it is then this might buy you 25% on the scale factor, but it doesn't change the fact that this technique is ultimately non-scalable.
This varies greatly depending upon the application type. I just looked. For example, Firefox only shares about 4% of the application resources between binaries and the rest is compiled into each one and duplicated. Frontrow, on the other hand has about 90% of the application bundle made up of shared resources and only 10% is made up of the different binaries so you're only increasing the size of the application a few percent for every platform supported.
Given the fact that disk is so cheap and plentiful these days, I don't see that as much of an argument against a more flexible and robust system for cross platform software. In an absolute worse case scenario, you can always have a setting that prunes all the other binaries on install if you have a very disk constrained machine and all you've lost is a bit of bandwidth.
So, besides the empty "but Apple has them" rational, exactly what drives the need for universal binaries on linux?
I have two computers both running the same OS, but only one license for a vital closed source software application. I want to be able to run that application on both my computers and on the computer at school running the same OS, but where I don't have permissions to install software. With OS X, I can drop the.app bundle on a flash drive and run it directly from there on all three different architectures and I don't need a special "mobile" version of the software. With Linux, my best real bet is to install that same application in a VM, install the VM on the flash drive and try to get the same VM manager installed on all the machines. That's a serious lose for Linux.
On OS X a friend I was IM'ing asked what was the best software for a given task. He was running a different architecture, but also using OS X. I dragged the.app bundle into the chat, it transferred and he double clicked it. Problem solved. I might mention, this was closed source freeware, no longer being distributed by the developer. With Linux, well the installer for the software could theoretically still be on my machine, depending upon how it was installed and I could have zipped it up and IM'd that, but he'd have to know how to use it and it would not have been for the right architecture. That's another lose for Linux.
When I buy a new computer I usually use a program or built in system to automatically transfer all my files, settings, and applications from my old computer onto the new one. In OS X, this transfer happens over Firewire and is nicely polished. This includes all my closed source software programs as well as OSS. If the two machines are for different architectures, it doesn't matter, because the application bundles include versions for both. If I try the same thing on Linux, I have to hunt down new installers for all the closed source applications and then install them and then re-register the authentication codes from my little black book of codes. It's a whole lot more work and another "lose" for Linux.
Do you ever run software off of a network drive shared by multiple systems? Do you know the architecture of all the systems that will be accessing that application beforehand? On Linux, you need to install separate versions and the end user has to know what architecture the system they're using is running. Another lose for Linux.
When I'm running a laptop with limited hard disk space and I am running out of space, Linux uses less space because the actually binaries for applications are only for the platform I'm on. With OS X I have to go out of my way to run a program that will prune the unneeded binaries to conserve space. That is a win for Linux.
Hopefully you are now enlightened as to several of the ways multiple platform binaries used on OS X provide advantages over Linux which lacks that ability as well as the one case I can think of where it provides a drawback.
The whole Linux distribution and installation system (such as, with apt-get) is great for setting up a server, but it's very awkward and unnatural for desktop apps. Apple is far ahead in that respect, and I see no reason why Linux shouldn't follow their lead.
You've got to be kidding? Super-easy installation and automatic security updates for all applications is 'awkward'?
Neither Linux on the desktop nor OS X is perfect when it comes to software installation and both should borrow from the other. Right now Ubuntu, probably the front runner for usability in desktop Linux, still has multiple programs used to manage packages and fails to handle installation from Web sites or disks well. It cannot run application off a flash drive easily and reliably, and frankly it sucks for installation of commercial software. A lot of commercial and noncommercial software is simply not in the repositories and I end up running a binary installer by hand or I have to resort to complex CLI copy and paste in order to get what I want running. But they're working on it and the new RC has a new package manager they eventually intend to solve some of these problems. Both OpenStep and multiple binaries would further the goal of having more usable application installation. For example, one could install an application on a flash drive then plug that drive into multiple computers with different architectures and run it without having to install it on the machines themselves (which is often not even an option).
If I understood you correctly, your suggestion is that desktop software should be hard to find, it should be installed from whatever website I happen to ultimately find and it shouldn't automatically get security updates. Sounds fabulous.
Like it or not, regardless of the platform I'm running, when I want new software I usually turn to Google. I read Web pages and reviews and comparisons and look at the developer's Web site. It follows then that an easier workflow is to directly install from a Web site by clicking a link in the Web browser. Ideally, this link should be a link to a software repository that will pull the application into my package manager and this is possible in some package managers but almost never used because there is not a single standard for package management on Linux. A less useful workflow is what I normally use. That is, I go through the process of deciding what software I want to use by looking at Web pages, then I open my package manager and copy and paste the name into the package manager. Then I sometimes find it and install from there with only on wasted step, but often I don't find it so I go back to my browser and install by hand using whatever method is necessary.
In short, there's a lot of room for improvement and multiple binaries are one way to make an improvement for desktop use, but which may well never happen because Linux development is still dominated by the server role.
"Free means both "gratis" and "libre". So if you're going to quibble, you should say he used "free" as meaning "libre" instead of free as meaning "gratis".
But... "compiling for your platform" is just another way to install software. You could wrap this in a little application (call it "setup"), where you click "Next >" several times, and as a result you have a binary for your platform.
While I agree adding a location for source in a.app bundle and letting package managers automatically compile them as part of the installation is a promising idea, I don't think it removes the need for multiple pre-compiled binaries since users won't necessarily have access to the best compiler for a given application and platform. Also, it is often useful to install from another system or run apps from a network drive or flash drive where you don't want to install it onto the system just run it without being locked to a single platform.
Further, if a user has to click "Next>" several times in order to perform a single action (installation) your UI design has failed. Click once or drag and drop should be the norm for application installation. Why would you want to pester the user uselessly?
That's true. It's just that you said "a few, small hardware vendors". I guess what you really want is "a few, big hardware vendors".
We're just using relative terms in different contexts. When I said small, I was thinking in terms of market share, like Samsung with a few percent of the laptop market, or Toshiba with 4%. Not "System 76" with market share so small it can't really be measured and has no noticeable effect upon the overall market.
But in terms of how you're viewing hardware vendors, maybe they'd be termed "medium".
Others have already gotten into a long point by point discussion here, probably with no real change in your opinions. Instead, I'd like you to consider a scenario. Suppose tomorrow I invented a device that allowed a person to instantly copy matter, exactly. Point it at a car and poof, two cars. Point it at a brick of gold and poof to gold bars. I think this invention is too important to patent so I release it free to the world.
First, is instantly copying things inherently unethical or evil or is it a great technological achievement that moves our society forward and can be used for good or ill? This device could drive large numbers of companies out of business, companies who invested a lot of money in those businesses. Does that mean they are entitled to a return when technology moves forward and the government should restrict technology legally to protect profits?
Assuming you agree copying is not inherently evil, then surely any laws regarding it (physical or intangible) should be written to benefit society as a whole, as the original copyright laws were. After all, no one has an inherent right not to have their property copied, at least not according to any human rights organization I've ever heard of.
Suppose all the big companies lobby congress and ban this technology. Does that make using it immoral or unethical? Should we be banned from copying food for the starving to protect the profits of industrial farm corporations? I mention all this because copyright is not some natural right, like freedom of speech. It is actually an artificially imposed limit on free speech implemented in an attempt to create a greater good for the people. As such we should always be questioning the balance of power these laws create, rather than viewing them as absolute principals as we do free speech. Likewise we should maintain in our minds the fundamental distinction between copyright violation and theft because one is a violation of a natural right and one is a violation of a law that restricts a natural right on behalf of society in an attempt engineer greater innovation. Comparing it to theft, erases that important distinction and muddies the waters of this very important debate.
True, but none big enough to have any significant marketing or even to get a deal to sell in normal retail stores. Dell, of course offers Ubuntu as an option on some machines, but those machines are designed primarily for Windows and it shows in the driver problems many users still report, problems Dell would not tolerate when building a Windows version of the same system.
For example, if you buy a Dell system with Ubuntu preinstalled, I think you will find it will "just work".
Exactly.. if you buy hardware from a vendor that has official Linux support, you'd get a system that "just works"
Whereas, when you buy hardware from Sun, Apple, or IBM, you get a system that "works really damn well".
I think you're missing the point. For a fair comparison, you need to buy a computer that comes with Ubuntu pre-installed as the only OS and the OS the computer was designed and tested to work with. It can have Windows as an optional install after the fact or something, but buying a machine where Dell has done a little bit of testing to try to expand it into the Linux using market, but are still primarily selling that hardware as a Windows box does not cut it.
Even Microsoft does SAN management better than Linux, and they don't have strong ties to any particular storage vendor.
Here's where you're wrong. Microsoft doesn't do SAN management better than Canonical. SAN makers may make their SAN offerings work better with Windows because that is their primary market. The main problem Linux developers face is the ecosystem in which they are trying to compete. This is important to recognize because it strongly influences how Linux needs to be developer differently from Windows and what else needs to happen other than just the OS component.
Apple succeeds because they target the entire user experience and don't pass the buck when there is a failing by blaming it on people who make the hardware or who make applications or who provide services. If no one else will do it acceptably, Apple will do it themselves. With Linux, it is even more important to make sure there is a complete vertical stack for end users. I think Canonical gets this to some extent and are trying, as they are providing in the cloud services and starting to develop an app store model for commercial offerings on Ubuntu. They still need to get those things working, woo application developers, and find strong hardware partners.
Not many people are talking about the features. Number one on my list is the "Ubuntu Software Center" which is the initial version of what they plan to use as a centralized package manager and application store. The intention is for it to be the one and only location for software install, uninstall, and update. I've always felt package management was one area where Linux could really kick everyone else's butt if they could just polish it up, unify package types, and extend it to work with all software including commercial offerings. Maybe this will eventually morph into that.
I think it started as an attempt to merge the different package managers in use (currently spread across Add/Remove Applications, Synaptic Package Manager, Update Manager, Computer Janitor, and Software Sources applications). Then someone got the idea of copying the iPhone store, which fills a huge hole in Linux usability if they do it right. The only real question is how well they do it and how forward looking they are. The docs mention the potential of installing Windows apps into WINE using a later version of this manager, so maybe they're serious.
The other features that seem important here are the usability testing fixes from the extensive audit ongoing, the online services integration, the new default IM client, and the fixes for the audio system. It looks like they're really making some progress at least. Now if only they could get a few, small hardware vendors interested in selling cheap Linux boxes with it pre-installed and nicely tweaked for their hardware.
Right. So, the theory that Apple is going to implement the patent is supported by the facts that 1) they got the patent and 2) they have patents that they've implemented.
You're still committing a logical fallacy. By the same logic there is support for Apple implementing parental codes in Quicktime because that patent is number 4,930,158 and Apple has implemented other patents that start with "4". Just because one has correlated with the other in a past instance does not imply one will likely follow from the other. For that you need to show an overall correlation of factors and test for causation.
Heck for that matter all things will either happen or they won't happen so by your logic that is support for the fact that monkeys will fly out of your butt within the next 25 minutes. In short, you're using the term "support" in a different way that is normal for logical or rhetorical conversation.
..so software that creates unwanted advertising pop-ups is called "malware" and the authors of such are prosecuted...
It's only called malware and prosecuted if it is deceptively marketed. If you offer a software package designed to show people ads and are upfront about that and it is what users want or it offers a benefit in addition to the ads which users feel outweighs the cost of seeing ads then it is not malware at all. For example, lots of Web apps are partly or completely subsidized by advertising and are not malware.
...but then someone decides to write an operating system that does that by design!?
Maybe, but if someone does then you are free to buy it or not and so long as they are not deceptively marketing it, it is certainly not illegal. A lot of people would probably be willing to go for a free copy of Windows 7 that came with ads built in, especially in poorer areas of the world.
No fucking way, not even if the OS is free would I put up with that shit!
Yeah, you and a huge chunk of the consumer market is uninterested in such an offering. I know I'm not. I plan on not buying/acquiring it and letting other people do whatever they want.
First, that Apple plans to implement this patent in their own products.
The fact that Apple got a patent supports the assumption that they plan to implement it.
Actually it does not. That's called a non sequitur. Just because they patent something does not imply they are going to implement it as evidenced by the many patents they file which never see implementation. It simply sparks speculation that they might implement it, which is not the same thing.
That doesn't imply that every operating system will have advertising.
True, but irrelevant, since the original assertion was they could avoid OS's with built in advertising by simply avoiding Apple products.
This just shows the utter hypocrisy of the libertarians. I've said all along that libertarians really want corporate feudalism...
I disagree. I know a lot of libertarians and they mostly seem to want a healthy market for small business and greatly reduced amounts of government interference in both the economy and everything else. The problem being, in general they don't have a real grasp of economics and they think the latter will magically bring about the former. They also seem to think that a limited amount of reform in the direction they desire will do anything but make the situation worse by removing constraints that keep in check the worst results of other government interference (e.g. banishing restrictions on corporations without getting rid of corporations which are themselves legal entities created by government interference).
Libertarians, in general, feel they are superior to everyone else.
Libertarians feel this way as opposed to Republicans or Democrats or the National Alliance? In general most people seem to think they're better than everyone else but libertarians no more so than any other political entity.
Seriously. I hope Jobs all the best in this patent pursuit. If Apple succeeds, then I can avoid occurrences of this amazingly offensive idea by the simple expedient of avoiding Apple operating systems, a course of action I'm already pretty much committed to for ample reasons of Apple's corporate citizenship and customer relations.
Your theory is flawed because it is based upon two unsupported assumptions. First, that Apple plans to implement this patent in their own products. Second, that Apple won't license this patent to other companies.
People tend to forget that logic is just a set of rules.
Logic is a set of rules, or more truly a class of rulesets. It can be applied usefully or poorly.
If you load it up with bad data, especially data that is driven by pure emotions...
How can data be driven by emotions? I'm not sure I even understand what you're trying to say.
Logic works very well when applied as a formalized method for decision making. It helps to mitigate some of the emotionally driven flaws in decision making. Logic can also be used, after the decision, as a way to provide a reasonable sounding justification for why a decision was made. For pretty much everyone I've ever met (myself included), it is applied as a blend of these two.
A good example is the scientific method. It is a formalized, logical method of forming an opinion and as a result can create differing results over time as more data is gathered. You can apply this method to decide if the planet is warming and what is the most likely cause and what the likely results are and what can be done to change that. Alternately, people can decide one way or the other based upon a decision making method that is not logical and formalized and emotions and logical flaws are much more likely to result in the incorrect opinion being formed. At this point, people can still effectively employ logical rules to defend the decision, but that's all it is, a logical defense of an arbitrary opinion, unless an individual is willing to go back and actually apply the scientific method anew,
The interesting part of this research is it shows how our brains are hardwired to tend not to do that and how other, seemingly unrelated decisions can sabotage our ability to make correct decisions, making formalized methods even more critical to effective decision making.
Much of what the GCD descriptions seem is "let's compare this well designed system to a badly designed system, and by implication presume that all threading schedulers are also badly designed".
That was not my intention, but I can see where you'd get that idea from my oversimplification. I was trying to point out a couple of main points. One, GDC is a thread pool that is aware of all the threads from the OS and all the apps and the available hardware resources before threads are created. Two, GDC enables developers to easily make their existing applications more fine grained tasks with little work.
Essentially you're going from very coarse grained parallelism to a finer grained parallelism. which gives more flexibility. But people have been doing this stuff and dealing with its problems for decades.
Absolutely, they have, but in actual practice without really using the two items I mention above. Theoretically it would be great if each app developer wrote perfect programs with tasks broken up just right for performance on a system. Realistically, they haven't had very easy to use libraries and systems to do this. A big part of what makes GDC actually useful is the really, really simple syntax for modifying existing programs.
Um, no. At least Linux gives I/O-bound threads higher priority than CPU-bound threads, so that when a thread that is blocked waiting for I/O has some data to process, it preempts any running CPU-bound thread.
Okay, that was an oversimplification. The point being, the app doesn't have information about the system it is running on unless it does complex polling and it doesn't have information about the OS and other application's threads, to schedule them based upon need without creating threads that only increase management overhead.
Is this just apple "inventing" kernel level threads or is it something new?
This is Apple making optimization of threading to multiple cores and GPU's easy for developers. This is a library to take work off the shoulders of developers for making faster, more efficient programs by letting developers chunk up their app and letting the OS (which has more information) make choices for the applications as to what becomes a thread. It is not a fundamental architecture change or anything new on the level you're talking about.
What is the big problem you see with installing software on Ubuntu?
I already covered that. A lot of software is not distributed in that format because a lot of Linux distros don't use .deb. Further, because repositories are not easy for commercial software developers with legal reasons to maintain their own distribution channels and because package managers can't handle sales and registration of commercial software, commercial developers have real incentive to go with prepackaged installers that do handle these, which mean they distribute using binary installers which means you end up having to manage application installs and updates in at least three different ways on your system, a huge usability problem. Current packages also don't allow for installation from another, existing computer while maintaining registration info, especially if it is from a different platform.
Running software from a flash drive is no problem whatsoever as long as the software is configured to either save all configuration data to that drive or to the user home directory or any other user-writable location.
The problem is, software is not so configured by default so end users try to use it and it fails. For more advanced users, you still have to install multiple copies of the software because you need a separate instance for each platform, one of the items the proposed changes would solve.
Installing 'commercial software' is no different from installing any other software.
Commercial, especially closed source app developers have different than OSS projects. That has been largely ignored in the creation of package managers and the result is predictable and bad for users.
The fact that some commercial software suppliers have chosen to ignore the debian package format and supplies the software in some other form (shell archive, zip or tar file, executable installer...) is a problem with those suppliers, not with Ubuntu.
This is why Apple crushes Linux desktop system providers. I, as a user, don't give a rat's ass if it is Canonical's fault or Adobe's. I just want someone to step up and make sure the end user experience is decent. Blaming the other guy doesn't help me. Developers will do what they think is best for them and if Canonical wants an OS that is useable and works they need to provide motivation to developers. They actually are stepping up in this regard and building a commercial software store into the new package manager to try to solve this problem, but it remains to be seen if they will do it well.
There is no reason whatsover why the deb (or rpm or whatever) package format can not be used for commercial software.
Sure there is, it is inconvenient and doesn't make developers the most amount of money. They have to run a separate server just to offer updates and another to do license validation. It's a lot cheaper and easier just to use one of the off the shelf binary installer packages and the service offerings that go with it. Current package managers combined with the .deb format, don't meet their needs.
On my mac, I just download the app. Run it. If the app supports auto updating, it just hooks in on first run.
The problem with OS X's lack of package management is there is no central service for auto-updating third party apps, so many don't do auto updating and the others are connecting willy nilly at random times to random places, making security management and application level firewalling to prevent trojans and spyware much more difficult.
When I want to uninstall it, I just delete it and it cleans itself up on its own, sometimes not completely until next login.
Except this only works for applications that don't need to install kernel modules or which are CLI only or most Linux/BSD ports. Additionally, applications don't completely delete themselves on uninstallation. They often leave behind config files, which is useful in some instances, but without a package manager there is no simple "clean uninstall" option.
A package manager is nice for finding apps however, but trying to say that Apples system is bad in comparison is just silly.
The system in OS X is nice in many ways, but still lacking in some ways where Linux has an advantage. Both could be improved by adopting more from one another.
When you get a bunch of commercial vendor together, putting them all on the same 'repository' gets to be a bitch, they fight too much.
There are a lot of incentives for commercial software providers to not make use of repositories on Linux, but that does not mean they are inherently problematic for commercial software. The iPhone app store, for example, is a commercial software repository that not only works for vendors, but gives vendors incentive to develop for the platform.
You can't compare Linux package managers which are practically designed to be anti-commercial to a commercial environment.
But you can compare them to commercial repositories. For example, Ubuntu just introduced a new package manager in the latest RC and part of the roadmap is to include iPhone app store style commercial software, including a central mechanism for selling software. Ubuntu isn't there yet and can use a lot of improvement in that regard... but OS X can use the same. A lot of users would like a central app store application for OS X that plugs into a decentralized network of repositories, basically something that works like the iPhone store for end users, but offers the freedom of the current system for developers along with giving developers a place to advertise, sell, register, and update their applications. This is useful to end users as well for the ability to handle application specific tasks from a central location (like clean uninstall, updates, and security sandboxing).
Linux doesn't need fat binaries because the package manager automatically installs the binaries that are appropriate for the machine.
I wish. I installed a wikimedia server a few weeks ago. Gee it's OSS but not in the package manager. Well lets spend half an hour futzing with the CLI again. Oh, and commercial, closed source software needed to do my job, not in any repositories even if it is freeware because there's no easy way to host those repositories and download from a Web site across package managers. Again, I'm running binary installers and trying to pick from eight of them for different architectures. Gee it sure would be nice to install an application on a network drive and let the whole lab get to it from their laptops when they're in. Oh, but then I need to install multiple copies and hope users know what architecture they're using. Installation on a flash drive that I can stick into multiple machines, no luck there either. Want to upgrade my laptop to a new one with a new architecture, oh joy I get to re-download and dig up registration codes for all my applications that aren't in the repository because I can't transfer them because they don't support my new machine.
OS X needs fat binaries because it doesn't have package management.
Linux needs fat binaries both because their package management is insufficient and because they need it to support other use cases unrelated to package management.
I wish people would stop trying to bring OS X (mis)features over to Linux. If I wanted to use OS X, I'd already be using it.
I wish Linux devs would get over their Not Invented Here syndrome and start to copy the really cool stuff from OS X that I miss when I'm using my Linux machine. I wish Apple would copy some more of the stuff from Linux too, but at least they're steadily pulling in more and more and every release those deficiencies get smaller. A whole decade after OS X added system services and Linux still has nothing to fill that hole. That's just sad.
This is a terrible example, because this *particular* example relieves the need for anyone to run a company, work at a company, or buy anything from a company. Food, clothing, people, pets, shelter, medicine... anything could be duplicated.
Not really. Could duplicating matter duplicate services? Cooking, cleaning, waste disposal, massage therapy? It would change a lot, but not eliminate want or value to everything.
Such a machine would reset our entire society -- and it should.
But such technology exists for intellectual property but did not reset our society, we just passed laws to restrict it. We'd probably do the same with this new invention, since those in power have vested interest in the status quo.
But you're missing the point. I did not mention this as a way to fantasize about utopia, but as an example that exposes the fundamental principals upon which this discussion needs to be based.
The actual issue with intangible property is that by taking it and not complying with the terms of the rights owners, in the process reducing or eliminating return from said property, the motivation for the rights owners to continue to produce these things for society is damaged, and consequently, society is damaged (and will inevitably develop a means of recourse.)
Ahh, but is society really damaged and what is the optimal amount and duration for IP rights to maximize the benefit to society? If copyright terms were 5 years long, would creators produce more or less and would society benefit more or less? When you consider it in practical terms like this, you're discussing maximizing benefit to society which is how copyright fundamentally differs from theft. We don't consider laws that say how much people can steal from others to maximize the benefit to society.
All the excuses in the world cannot get around this; and that is why it is wrong. It does real harm. Directly to the property owner, and indirectly, but very broadly, to the rest of society.
I'm not at all convinced our current copyright laws (for example) aren't doing more harm to society that good, but that's not the point I was making. The point I was making is that it is a fundamentally different argument than with theft. Copyright is not inherently beneficial. You could write copyright laws that say only the original creator can ever make copies and only then using a pen and paper and it would be more restrictive and everyone would suffer. The debate people should be having is what is the optimal copyright law.
But if you elect to take property / rights that is offered in exchange for some fee or service you decline to provide, you're an antisocial, simple-minded scumbag.
That's simply your moral opinion though. I could argue that if you married a person of a different race many years ago you're an antisocial, simple-minded scumbag. Many people back in the day said that and worse. It doesn't make them right. The law is not always right. For example, I made an illegal copy of a book once. It was a short book, about 50 years old, and out of print. As far as I know, no other copies exist. It was written by my grandmother, but she transferred the copyright to a publishing house and no one is sure who holds the rights now. It is one of two companies both of whom offer print on demand, but at fees far higher than I can afford (thousands of dollars) Further, they don't have any copies of it so I'd have to give the one copy I found to them the be cut apart in order to get a legal copy made. I made a copy to preserve the work, part of the original intention of copyright, but illegal since the 70's under our current laws. so now you're telling me I'm antisocial, simple-minded, and a scumbag huh? Well I guess we have a difference of moral values.
People who create - music, art, software - are of much greater value to society than people who steal...
Your argument and the suppositions that it is based on are ridiculous. A world in which a device existed that could make a copy of any object for free would be *radically* different than ours.
Yes, just as the world we live in where we can instantly make copies of intellectual property is radically different than the one people lived in a hundreds of years ago.
In such a world scarcity of resources would be virtually completely eliminated and poverty, business and the economic class divides would be non existent.
First, real estate and services would still be scarce resources so there would still be a divide. Second, I doubt things would change as radically as you think, since they did not change as radically when intellectual property became copyable for free. We just imposed laws to make it unfree and maintain the status quo.
It would literally be a utopia.
Hardly.
So basically you are making a long winded, bullshit argument based on an impossible device that would create a utopian world far different from reality.
No, I presented an improbable analogy meant to show the fundamental principals being discussed. Since you are too close minded to consider it, however, you won't look at what those principals are and remain unenlightened. Good job.
Your scenario removes scarcity from the equation.
No, it makes scarcity in physical good only artificial as it is in intellectual property today. Today you still need to hire someone to create the original work before it can be copied and the same would be true for physical goods.
Under your example, the *only* thing that costs time is development of initial copies - *everything* is copyable for free, which means that the creator of something does need to buy anything.
I'm not sure I understand you. In terms of creating physical goods, yes, but in absolute terms, no. Real estate and services would still cost money and be scare in the example I provide.
That's a fundamental shift, that makes your example unrelated to the case you're trying to prove.
Actually it's making physical goods more similar to intellectual property as a way of showing the fundamental principals of the debate by means of analogy. Showing the fundamental principals is vital to any discussion that will actually be of any use.
The data section might be shared (it can't be in the general case because of issues such as endianness). If it is then this might buy you 25% on the scale factor, but it doesn't change the fact that this technique is ultimately non-scalable.
This varies greatly depending upon the application type. I just looked. For example, Firefox only shares about 4% of the application resources between binaries and the rest is compiled into each one and duplicated. Frontrow, on the other hand has about 90% of the application bundle made up of shared resources and only 10% is made up of the different binaries so you're only increasing the size of the application a few percent for every platform supported.
Given the fact that disk is so cheap and plentiful these days, I don't see that as much of an argument against a more flexible and robust system for cross platform software. In an absolute worse case scenario, you can always have a setting that prunes all the other binaries on install if you have a very disk constrained machine and all you've lost is a bit of bandwidth.
So, besides the empty "but Apple has them" rational, exactly what drives the need for universal binaries on linux?
I have two computers both running the same OS, but only one license for a vital closed source software application. I want to be able to run that application on both my computers and on the computer at school running the same OS, but where I don't have permissions to install software. With OS X, I can drop the .app bundle on a flash drive and run it directly from there on all three different architectures and I don't need a special "mobile" version of the software. With Linux, my best real bet is to install that same application in a VM, install the VM on the flash drive and try to get the same VM manager installed on all the machines. That's a serious lose for Linux.
On OS X a friend I was IM'ing asked what was the best software for a given task. He was running a different architecture, but also using OS X. I dragged the .app bundle into the chat, it transferred and he double clicked it. Problem solved. I might mention, this was closed source freeware, no longer being distributed by the developer. With Linux, well the installer for the software could theoretically still be on my machine, depending upon how it was installed and I could have zipped it up and IM'd that, but he'd have to know how to use it and it would not have been for the right architecture. That's another lose for Linux.
When I buy a new computer I usually use a program or built in system to automatically transfer all my files, settings, and applications from my old computer onto the new one. In OS X, this transfer happens over Firewire and is nicely polished. This includes all my closed source software programs as well as OSS. If the two machines are for different architectures, it doesn't matter, because the application bundles include versions for both. If I try the same thing on Linux, I have to hunt down new installers for all the closed source applications and then install them and then re-register the authentication codes from my little black book of codes. It's a whole lot more work and another "lose" for Linux.
Do you ever run software off of a network drive shared by multiple systems? Do you know the architecture of all the systems that will be accessing that application beforehand? On Linux, you need to install separate versions and the end user has to know what architecture the system they're using is running. Another lose for Linux.
When I'm running a laptop with limited hard disk space and I am running out of space, Linux uses less space because the actually binaries for applications are only for the platform I'm on. With OS X I have to go out of my way to run a program that will prune the unneeded binaries to conserve space. That is a win for Linux.
Hopefully you are now enlightened as to several of the ways multiple platform binaries used on OS X provide advantages over Linux which lacks that ability as well as the one case I can think of where it provides a drawback.
The whole Linux distribution and installation system (such as, with apt-get) is great for setting up a server, but it's very awkward and unnatural for desktop apps. Apple is far ahead in that respect, and I see no reason why Linux shouldn't follow their lead.
You've got to be kidding? Super-easy installation and automatic security updates for all applications is 'awkward'?
Neither Linux on the desktop nor OS X is perfect when it comes to software installation and both should borrow from the other. Right now Ubuntu, probably the front runner for usability in desktop Linux, still has multiple programs used to manage packages and fails to handle installation from Web sites or disks well. It cannot run application off a flash drive easily and reliably, and frankly it sucks for installation of commercial software. A lot of commercial and noncommercial software is simply not in the repositories and I end up running a binary installer by hand or I have to resort to complex CLI copy and paste in order to get what I want running. But they're working on it and the new RC has a new package manager they eventually intend to solve some of these problems. Both OpenStep and multiple binaries would further the goal of having more usable application installation. For example, one could install an application on a flash drive then plug that drive into multiple computers with different architectures and run it without having to install it on the machines themselves (which is often not even an option).
If I understood you correctly, your suggestion is that desktop software should be hard to find, it should be installed from whatever website I happen to ultimately find and it shouldn't automatically get security updates. Sounds fabulous.
Like it or not, regardless of the platform I'm running, when I want new software I usually turn to Google. I read Web pages and reviews and comparisons and look at the developer's Web site. It follows then that an easier workflow is to directly install from a Web site by clicking a link in the Web browser. Ideally, this link should be a link to a software repository that will pull the application into my package manager and this is possible in some package managers but almost never used because there is not a single standard for package management on Linux. A less useful workflow is what I normally use. That is, I go through the process of deciding what software I want to use by looking at Web pages, then I open my package manager and copy and paste the name into the package manager. Then I sometimes find it and install from there with only on wasted step, but often I don't find it so I go back to my browser and install by hand using whatever method is necessary.
In short, there's a lot of room for improvement and multiple binaries are one way to make an improvement for desktop use, but which may well never happen because Linux development is still dominated by the server role.
They clearly meant free, not gratis.
"Free means both "gratis" and "libre". So if you're going to quibble, you should say he used "free" as meaning "libre" instead of free as meaning "gratis".
But... "compiling for your platform" is just another way to install software. You could wrap this in a little application (call it "setup"), where you click "Next >" several times, and as a result you have a binary for your platform.
While I agree adding a location for source in a .app bundle and letting package managers automatically compile them as part of the installation is a promising idea, I don't think it removes the need for multiple pre-compiled binaries since users won't necessarily have access to the best compiler for a given application and platform. Also, it is often useful to install from another system or run apps from a network drive or flash drive where you don't want to install it onto the system just run it without being locked to a single platform.
Further, if a user has to click "Next>" several times in order to perform a single action (installation) your UI design has failed. Click once or drag and drop should be the norm for application installation. Why would you want to pester the user uselessly?
That's true. It's just that you said "a few, small hardware vendors". I guess what you really want is "a few, big hardware vendors".
We're just using relative terms in different contexts. When I said small, I was thinking in terms of market share, like Samsung with a few percent of the laptop market, or Toshiba with 4%. Not "System 76" with market share so small it can't really be measured and has no noticeable effect upon the overall market.
But in terms of how you're viewing hardware vendors, maybe they'd be termed "medium".
Others have already gotten into a long point by point discussion here, probably with no real change in your opinions. Instead, I'd like you to consider a scenario. Suppose tomorrow I invented a device that allowed a person to instantly copy matter, exactly. Point it at a car and poof, two cars. Point it at a brick of gold and poof to gold bars. I think this invention is too important to patent so I release it free to the world.
First, is instantly copying things inherently unethical or evil or is it a great technological achievement that moves our society forward and can be used for good or ill? This device could drive large numbers of companies out of business, companies who invested a lot of money in those businesses. Does that mean they are entitled to a return when technology moves forward and the government should restrict technology legally to protect profits?
Assuming you agree copying is not inherently evil, then surely any laws regarding it (physical or intangible) should be written to benefit society as a whole, as the original copyright laws were. After all, no one has an inherent right not to have their property copied, at least not according to any human rights organization I've ever heard of.
Suppose all the big companies lobby congress and ban this technology. Does that make using it immoral or unethical? Should we be banned from copying food for the starving to protect the profits of industrial farm corporations? I mention all this because copyright is not some natural right, like freedom of speech. It is actually an artificially imposed limit on free speech implemented in an attempt to create a greater good for the people. As such we should always be questioning the balance of power these laws create, rather than viewing them as absolute principals as we do free speech. Likewise we should maintain in our minds the fundamental distinction between copyright violation and theft because one is a violation of a natural right and one is a violation of a law that restricts a natural right on behalf of society in an attempt engineer greater innovation. Comparing it to theft, erases that important distinction and muddies the waters of this very important debate.
True, but none big enough to have any significant marketing or even to get a deal to sell in normal retail stores. Dell, of course offers Ubuntu as an option on some machines, but those machines are designed primarily for Windows and it shows in the driver problems many users still report, problems Dell would not tolerate when building a Windows version of the same system.
For example, if you buy a Dell system with Ubuntu preinstalled, I think you will find it will "just work".
Exactly.. if you buy hardware from a vendor that has official Linux support, you'd get a system that "just works" Whereas, when you buy hardware from Sun, Apple, or IBM, you get a system that "works really damn well".
I think you're missing the point. For a fair comparison, you need to buy a computer that comes with Ubuntu pre-installed as the only OS and the OS the computer was designed and tested to work with. It can have Windows as an optional install after the fact or something, but buying a machine where Dell has done a little bit of testing to try to expand it into the Linux using market, but are still primarily selling that hardware as a Windows box does not cut it.
Even Microsoft does SAN management better than Linux, and they don't have strong ties to any particular storage vendor.
Here's where you're wrong. Microsoft doesn't do SAN management better than Canonical. SAN makers may make their SAN offerings work better with Windows because that is their primary market. The main problem Linux developers face is the ecosystem in which they are trying to compete. This is important to recognize because it strongly influences how Linux needs to be developer differently from Windows and what else needs to happen other than just the OS component.
Apple succeeds because they target the entire user experience and don't pass the buck when there is a failing by blaming it on people who make the hardware or who make applications or who provide services. If no one else will do it acceptably, Apple will do it themselves. With Linux, it is even more important to make sure there is a complete vertical stack for end users. I think Canonical gets this to some extent and are trying, as they are providing in the cloud services and starting to develop an app store model for commercial offerings on Ubuntu. They still need to get those things working, woo application developers, and find strong hardware partners.
Not many people are talking about the features. Number one on my list is the "Ubuntu Software Center" which is the initial version of what they plan to use as a centralized package manager and application store. The intention is for it to be the one and only location for software install, uninstall, and update. I've always felt package management was one area where Linux could really kick everyone else's butt if they could just polish it up, unify package types, and extend it to work with all software including commercial offerings. Maybe this will eventually morph into that.
I think it started as an attempt to merge the different package managers in use (currently spread across Add/Remove Applications, Synaptic Package Manager, Update Manager, Computer Janitor, and Software Sources applications). Then someone got the idea of copying the iPhone store, which fills a huge hole in Linux usability if they do it right. The only real question is how well they do it and how forward looking they are. The docs mention the potential of installing Windows apps into WINE using a later version of this manager, so maybe they're serious.
The other features that seem important here are the usability testing fixes from the extensive audit ongoing, the online services integration, the new default IM client, and the fixes for the audio system. It looks like they're really making some progress at least. Now if only they could get a few, small hardware vendors interested in selling cheap Linux boxes with it pre-installed and nicely tweaked for their hardware.
Right. So, the theory that Apple is going to implement the patent is supported by the facts that 1) they got the patent and 2) they have patents that they've implemented.
You're still committing a logical fallacy. By the same logic there is support for Apple implementing parental codes in Quicktime because that patent is number 4,930,158 and Apple has implemented other patents that start with "4". Just because one has correlated with the other in a past instance does not imply one will likely follow from the other. For that you need to show an overall correlation of factors and test for causation.
Heck for that matter all things will either happen or they won't happen so by your logic that is support for the fact that monkeys will fly out of your butt within the next 25 minutes. In short, you're using the term "support" in a different way that is normal for logical or rhetorical conversation.
..so software that creates unwanted advertising pop-ups is called "malware" and the authors of such are prosecuted...
It's only called malware and prosecuted if it is deceptively marketed. If you offer a software package designed to show people ads and are upfront about that and it is what users want or it offers a benefit in addition to the ads which users feel outweighs the cost of seeing ads then it is not malware at all. For example, lots of Web apps are partly or completely subsidized by advertising and are not malware.
...but then someone decides to write an operating system that does that by design!?
Maybe, but if someone does then you are free to buy it or not and so long as they are not deceptively marketing it, it is certainly not illegal. A lot of people would probably be willing to go for a free copy of Windows 7 that came with ads built in, especially in poorer areas of the world.
No fucking way, not even if the OS is free would I put up with that shit!
Yeah, you and a huge chunk of the consumer market is uninterested in such an offering. I know I'm not. I plan on not buying/acquiring it and letting other people do whatever they want.
First, that Apple plans to implement this patent in their own products.
The fact that Apple got a patent supports the assumption that they plan to implement it.
Actually it does not. That's called a non sequitur. Just because they patent something does not imply they are going to implement it as evidenced by the many patents they file which never see implementation. It simply sparks speculation that they might implement it, which is not the same thing.
That doesn't imply that every operating system will have advertising.
True, but irrelevant, since the original assertion was they could avoid OS's with built in advertising by simply avoiding Apple products.
This just shows the utter hypocrisy of the libertarians. I've said all along that libertarians really want corporate feudalism...
I disagree. I know a lot of libertarians and they mostly seem to want a healthy market for small business and greatly reduced amounts of government interference in both the economy and everything else. The problem being, in general they don't have a real grasp of economics and they think the latter will magically bring about the former. They also seem to think that a limited amount of reform in the direction they desire will do anything but make the situation worse by removing constraints that keep in check the worst results of other government interference (e.g. banishing restrictions on corporations without getting rid of corporations which are themselves legal entities created by government interference).
Libertarians, in general, feel they are superior to everyone else.
Libertarians feel this way as opposed to Republicans or Democrats or the National Alliance? In general most people seem to think they're better than everyone else but libertarians no more so than any other political entity.
Seriously. I hope Jobs all the best in this patent pursuit. If Apple succeeds, then I can avoid occurrences of this amazingly offensive idea by the simple expedient of avoiding Apple operating systems, a course of action I'm already pretty much committed to for ample reasons of Apple's corporate citizenship and customer relations.
Your theory is flawed because it is based upon two unsupported assumptions. First, that Apple plans to implement this patent in their own products. Second, that Apple won't license this patent to other companies.
People tend to forget that logic is just a set of rules.
Logic is a set of rules, or more truly a class of rulesets. It can be applied usefully or poorly.
If you load it up with bad data, especially data that is driven by pure emotions...
How can data be driven by emotions? I'm not sure I even understand what you're trying to say.
Logic works very well when applied as a formalized method for decision making. It helps to mitigate some of the emotionally driven flaws in decision making. Logic can also be used, after the decision, as a way to provide a reasonable sounding justification for why a decision was made. For pretty much everyone I've ever met (myself included), it is applied as a blend of these two.
A good example is the scientific method. It is a formalized, logical method of forming an opinion and as a result can create differing results over time as more data is gathered. You can apply this method to decide if the planet is warming and what is the most likely cause and what the likely results are and what can be done to change that. Alternately, people can decide one way or the other based upon a decision making method that is not logical and formalized and emotions and logical flaws are much more likely to result in the incorrect opinion being formed. At this point, people can still effectively employ logical rules to defend the decision, but that's all it is, a logical defense of an arbitrary opinion, unless an individual is willing to go back and actually apply the scientific method anew,
The interesting part of this research is it shows how our brains are hardwired to tend not to do that and how other, seemingly unrelated decisions can sabotage our ability to make correct decisions, making formalized methods even more critical to effective decision making.
Much of what the GCD descriptions seem is "let's compare this well designed system to a badly designed system, and by implication presume that all threading schedulers are also badly designed".
That was not my intention, but I can see where you'd get that idea from my oversimplification. I was trying to point out a couple of main points. One, GDC is a thread pool that is aware of all the threads from the OS and all the apps and the available hardware resources before threads are created. Two, GDC enables developers to easily make their existing applications more fine grained tasks with little work.
Essentially you're going from very coarse grained parallelism to a finer grained parallelism. which gives more flexibility. But people have been doing this stuff and dealing with its problems for decades.
Absolutely, they have, but in actual practice without really using the two items I mention above. Theoretically it would be great if each app developer wrote perfect programs with tasks broken up just right for performance on a system. Realistically, they haven't had very easy to use libraries and systems to do this. A big part of what makes GDC actually useful is the really, really simple syntax for modifying existing programs.
Um, no. At least Linux gives I/O-bound threads higher priority than CPU-bound threads, so that when a thread that is blocked waiting for I/O has some data to process, it preempts any running CPU-bound thread.
Okay, that was an oversimplification. The point being, the app doesn't have information about the system it is running on unless it does complex polling and it doesn't have information about the OS and other application's threads, to schedule them based upon need without creating threads that only increase management overhead.
Is this just apple "inventing" kernel level threads or is it something new?
This is Apple making optimization of threading to multiple cores and GPU's easy for developers. This is a library to take work off the shoulders of developers for making faster, more efficient programs by letting developers chunk up their app and letting the OS (which has more information) make choices for the applications as to what becomes a thread. It is not a fundamental architecture change or anything new on the level you're talking about.