Of course, then an Apple guy stepped up and pointed out the fact that fsync worked exactly as it should, and that MySQL needed to fix their code.
It's nice that MySQL developers went through the trouble to accomodate OS X, but MySQL wasn't broken before they did. Linux applications don't necessarily run on OS X--just like OS X applications don't necessarily run well on Linux, or run at all on Linux. In fact, OS X is full of system-specific (mis-)features portability problems, and most Macintosh software doesn't port to other platforms at all. And Apple is working on increasing the differences with things like Netinfo, HFS+, Spotlight, and init.
Apple likes to claim that OS X is "a better BSD" or "a better Linux", but the fact is that OS X is a different operating system; it isn't even derived from official UNIX source code, and its architecture is radically different from the BSD architecture (let alone Linux).
I'm sorry if Apple's marketing collides with reality, but those are the facts. And the fact that Apple is trying to make the Macintosh into a platform to which everybody can port, but from which nobody can easily port is not a good sign; in fact, it will hurt Apple big time in the long run.
Technology makes it increasingly easy to produce and distribute high-quality content. Just like open source has been threatening and displacing commercial software, open content will be displacing commercial content.
In fact, I very much hope commercial content providers will enforce their copyrights hard and with all technological means available: the harder they make it for people to get the commercial stuff, the more exposure and visibility free content gets.
Even worse, those non-IE browsers make it really hard for police to install spyware and keylogging software on the user's computer. With IE, they just insert a little bit of code into any web page and they are done, but Opera and Firefox put up obstacles to that kind of legitimate law enforcement activity! Evil! Terrorism!
I don't really have any COMPLAINTS - X.org's stuff [...] works quite well for me
I agree, and I think maybe that's where one should leave it for the time being. Even without much acceleration, X.org works well for desktop usage, and you already get all the hardware acceleration for game usage on supported hardware (and, as I understand it, the infrastructure for that is already fairly modular).
Linux desktops really need some time to catch up and clean up. Gnome and KDE have been developed at such a furious pace that there is a lot to clean up, standardize, and reintegrate. Among other things, Gnome and KDE have broken network transparency, preferences, and inter client communication, and those need to be fixed again. X also needs a better client library than Xlib, and I'm not convinced Cairo is even part of that.
If there is anything the server could benefit from, the top items from my point of view would be built-in NX-like compression and server-side SVG. But those are modular add-ons.
But having brains that consistently arrive at completely wrong but nonetheless useful conclusions confers the same advantage.
If something gives consistently useful conclusions, then we call those conclusions "true". And we continue to call them "true" until they are contradicted by facts.
So why believe that our brains are telling us the truth about natural selection?
Because our conclusions about natural selection and the origin of species are consistent with everything else we know about the physical world, because they explain a lot of natural phenomena, and there are no facts to contradict them. Furthermore, there are no other theories that come even close to meeting those criteria. Therefore, scientists consider natural selection to be a correct theory of the origin of species, and they will continue to do so unless observations are made that contradict the theory (which seems highly unlikely at this point).
What IE needs is a plugin for handling the text/html and related types using the Firefox rendering engine. That way, people will get most of the benefits of Firefox, while still not having to learn to click on anything other than the "e".
There were many economical and political reasons. But slavery was a KEY issue, despite many neo-revisionists.
Yes, it was a key issue, but it was a key economic and political issue. Oh, human rights had something to do with it, too, but even raising those issues had only become possible once it had become economically unnecessary and politically expedient for the north. If human labor were still as important for economic success today as it was back then, we'd still have slavery, human rights be damned.
Unpleasant as it is, nations need time to work things out for themselves and to work through various developmental stages. The US itself was historically rather late compared to other nations when it came to human rights and equality, and it is still behind many other nations. The US can see lots of flaws in China, but a holier-than-thou attitude or a verbal lashing isn't going to help the Chinese people either.
Why can't a binary driver be accepted? I understand the implications. But seriously there are times when you need to look at the bigger picture.
Accepted by who? You can release whatever binary drivers you like. X.org probably won't ship them with the server, but that's not stopping nVidia or ATI, and it's not a problem.
You can also plug into, or ship, a commercial server. X.org isn't your only choice, you know, and traditionally, commercial servers have had the best support for accelerated graphics.
IMO, the best way for Linux to make a splash in the desktop is to did what Apple did to BSD: divorce it from the rest of the *nix world by creating their own graphical environment (Aqua) and their own toolkits (Carbon and Cocoa), and by not referring to OS X as a BSD. Imagine a new Linux distribution^W^W Linux-based operating system with a brand spanking new graphic system (no more of that ancient X cruft, something completely different)
People have tried that multiple times: Berlin, GNU Step, etc. If you like, you can essentially get a complete Cocoa/Quartz environment and desktop based on a Linux kernel. None of that has caught on.
I'm sorry, but you are simply mistaken if you think these are technological issues. For practical purposes, X11 can put up windows and buttons as well as Macintosh, and there is no point for Linux to through out X11.
You are also mistaken in your assessment that there is even a problem to be fixed. X11 has been around for 20 years, and it is in very wide use. X11 probably has many times the number of users than Macintosh and many times the amount of software based on it. In fact, a large fraction of Macintosh and Windows users are X11 users. Whatever technical directions X11 needs to go into, Macintosh is not the model to base them on.
X isn't a project at all, it's a protocol. It's a protocol that has been around for many years and that has been implemented indepedently by many vendors.
X.org is one of those implementations. Most of this discussion is about the software architecture of that implementation and related implementations.
Traditionally, MIT X11 and XFree86 (from which X.org is derived) have been the worst of the X11 implementations. If you needed to get a really high performance, high quality X11 implementation, you'd buy a commercial one. But X.org has improved things to the point that it's good enough for most users. On the one hand, that's a shame because it makes commercial X servers less and less profitable, on the other hand, it's good for open source.
To reinforce my point, the major drawback to Linux is simply 'death by committee'.
I have seen this phrase popping up from Mac advocates over and over recently; it seems to be the latest marketing meme from Apple.
In fact, nothing could be further from the truth. Linux isn't designed by committee or anybody else; Linux isn't even an operating system in the sense of OS X, it's a family of operating systems. And what goes into those systems is shaped by market forces and user choice.
Windows and OS X are designed by little self-appointed elites inside Microsoft and Apple; if anything is "designed by committee", it's those systems. Whether that's a good thing is debatable. I believe more in the power of market forces and evolution than despotism, but your preferences may differ.
What Linux needs is for one company and/or person to do the same thing.
There are companies that are doing just that. Have a look at Ubuntu and Linspire, for example.
Otherwise, Linux will always be 2nd or 3rd to something else.
Given Apple's checkered history and modest market share, it doesn't seem like Apple ought to be the model to go for. In any case, we'll take your advice for what it's worth.
Unfortunately, the way I read this article is: 1) Linux Graphics is a bloody mess.
And you think other window systems aren't? Apple tried to redo MacOS multiple times, until they eventually gave up and bought NeXT. Microsoft tried GDI+, then Avalon, and both have had big problems. Reengineering large amounts of code, and augmenting interfaces that have been in use for two decades simply is a hard task. Unlike both Apple and Microsoft, which have solved the problem by starting over (and maintaining old versions for compatibility), X11 has managed to evolve.
2) X is still an embarassment, five years behind (at least) what Quartz and Avalon are capable of.
Quartz didn't even really exist five years ago, it got limited 3D hardware acceleration only recently, and even today, most of it isn't hardware accelerated by default. If you really want a Quartz-like graphics subsystem under X11, there have been multiple implementations of DPS for X11 around for years; it's no coincidence that Linux desktop developers have chosen not to use them.
And Avalon? Avalon has been delayed over and over again. Eventually, it may give you about what Firefox and several other systems already give you on Linux. With Avalon, Microsoft is years behind, not years ahead, the state of the art.
Now, perhaps, X has finally space to really thrive and grow.
X has thrived and grown since its beginning, despite people badmouthing it. See, unlike the stuff Apple or Microsoft put out back then, X11 has actually survived this long, and that's because it works and it can be adapted.
That may have been true 12 years ago, when Windows 3.1 users were just getting used to the idea of more than 256 colors, but that's no longer the case.
X11 has supported OpenGL, transparency, and other modern features for many years. What it hasn't done is support them for regular desktop graphics, but that's because they are a gimmick there. Your desktop doesn't become any more usable or any better for graphics or visualization by having semi-transparent menus or windows that warp. Still, it's a gimmick that X11 now supports.
Ahead? Far ahead? In every aspect of what's in wide use, X is playing catchup,
I challenge you to name significant features where X11 is "playing catchup" relative to Windows or Macintosh. In fact, today, X11 is ahead of Windows and Macintosh in terms of features and functionality of the graphics subsystems.
I think people are going overboard with all this worrying about hardware acceleration and all these other complex additions to the Linux X server. Even before Render and the compositing extensions, X11 was already the window system of choice for high-end graphics workstations. With the recent extensions and RandR, the Linux X server is actually technologically far ahead of Windows and Macintosh again. Please, guys, leave "good enough" alone.
At this point, what Linux and X11 need most is better high-level support: an improved client-side Xlib, improved toolkits, innovative window managers, fixing the network transparency features that Gnome and KDE have broken, standardizing inter-toolkit and inter-client communications again, etc.
Maybe after that, it's worth revisiting two minor points: protocol compression and server-side stored vector graphics.
You're absolutely right: I'm not a "developer" (a term that mostly seems to refer to people like you), I write software professionally. And I have done so since long before the rip-off called "Visual Studio" hit the market. Yes, it undoubtedly surprises you, but we did not hammer code into stone tablets before Visual Studio. Imagine that.
Nature has no reason to favor organisms with brains that yield true information over organisms with brains that yield false but accidentally useful information.
Nature has no reason at all. But having brains that are capable of formulating, testing, and applying scientific theories gives individuals a huge evolutionary advantage because it means those individuals do not have to rely on accidental discoveries anymore.
But really, whether my contrived example is flawless or not is unimportant. It's supposed to illustrate, not demonstrate.
Well, your example illustrates only one point, namely that culture, social behavior, and language enable even individuals incapable of scientific reasoning to benefit from the advances brought about by science.
science deals in probabilities, in its strictist sense.
Yes, I agree. Those probabilities are the "degree of truth" of a scientific theory. But those degrees of truth are objective, based in experiments and observations, not opinion, as the g.p. suggested.
is that many scientists are just like regular people. often times they get caught up in the prevailing prejudices of the times. not all but they are inertial beings.
Yes, scientists are prejudiced and they can be wrong. But there exist scientific theories and there exists objective determinations of their truth value (i.e., probabilities given observations), and those are independent of prejudice or error.
You are talking about backwards compatibility. MacOS X has that via the frameworks versioning. It too works fine and users don't notice.
No, I'm talking about software installation. If I want to run a complex software package on Linux, all I do is select the package in a UI and tell the computer to install it. It will download it, find all the dependencies, and make it all work. It will also keep it updated automatically. On OS X, I have to do most of that by hand.
Yes, those were faults, but they had more to do with the original system being written in the early 1980s for hardware with 128K of RAM than with "10 years of Apple hacking it into unmaintainability". Get a clue.
I was using systems in the early 1980's, multitasking systems with memory protection running in 128k. It wasn't rocket science. A year after Macintosh, Amiga came out with a stellar microkernel-based system that ran on scarcely more powerful hardware than the original Macintosh. Apple had another big opportunity to fix MacOS and make it protected mode and multitasking when they moved to PPC, but they missed that, too. And issues of multitasking aside, HFS was another mess that haunts OS X to this day.
No, Apple neither cares about good systems programming nor do they apparently know much about it. What they are good at is user experience, and that ain't bad. Apple delivers a good implementation of an aging computing paradigm, but they are not the future of computing, not even close.
But once you get into real application functionality, I think the Web is a dangerous place. While desktop apps aren't perfect, the APIs and pre-built UI controls mean that a novice to interaction design can still put together an app whose components have been usability tested and behave in a consistent, expected way.
Controls may be individually tested, but the application frameworks make it far too easy to put them together wrong. In fact, just about every application, including well tested ones, contain serious blunders in how those controls are put together. On the web, it takes a certain amount of effort to break naming, predictable interaction, accessibility, reflowing, and other features that help usability, whereas on desktop applications, that's the default.
Right now, any complex UI controls in HTML must be built from scratch, resulting in some combination of inconsistency, poor usability, and poor functionality.
Well, I think the solution to that is to standardize those complex UI controls. There aren't many that are missing; maybe a browser for hierarchies, a calendar, a spreadsheet, a diagram viewer and editor, and a wysiwyg editor.
In the end, I suspect we both agree that neither Flash nor DHTML/AJAX is an ideal platform for application development. We just disagree about which is the lesser of available evils.
Neither works really well right now. But I think Flash is a dead end, just like the desktop; the paradigm just can't be fixed.
The solution to the limitations of DHTML/Ajax is to add the missing functionality. The end product of that evolution will be something very different from Flash or desktop applications, and it will be a lot better in my opinion.
As Alvin Plantinga has pointed out, any number of false beliefs would accomplish the same thing. For example, if the early primates wanted to be friends with lions, but a few believed that the best way to accomplish this was running away, those with that false belief would be far more likely to pass on their genes.
The scientific theory that these primates had was to run away when they saw a lion, and that was correct and was the part of their mental model corresponding to scientific truth. The other part about "being friends" wasn't a "false belief", it simply failed to be a proper scientific theory at all--it was a conceptualization that fit their (hypothetical) social structure, just like we sometimes talk about elementary particles in physics as if they were purposeful beings.
He goes on to argue that belief in evolution is self-defeating
Tthe evidence for evolution is overwhelming, and there is not a shred of evidence for any alternative origin of modern species. Evolution is beyond the stage of "belief" and has entered the realm of scientific fact. Anybody who talks about it as a "belief" is a crackpot.
Please describe in detail the magical thing that Linux does to solve this problem.
Linux package managers track dependencies among all software packages and ensure that all dependencies you need to run something are installed. If you insist on running something that depends on an old version of a system library, it may even install the old version alongside the new one. The Macintosh equivalent would be that you could run 10.2 and 10.4 simultaneously. And, yes, it works and users don't even notice.
It's the right thing to do. Apple will likely adopt it eventually and then tell everybody how "innovative" they are for doing this.
There are currently several ways to check to see if a facility exists before calling it.
While that kind of adaptivity has its place, you should not have to do that sort of thing for dealing with minor operating system version differences.
By some other means? Please explain this in detail so I will understand why OS X sucks so much.
Oh, stop seeing the world in such black-and-white terms. Just like all other operating systems, OS X is a nice system in some ways, and it sucks in others.
I have been developing professionally for MacOS for ten years.
Then you will recall that Apple basically hacked on MacOS until it became unmaintainable and they had to ditch it. That's why Apple is now based on Mach, BSD, and NeXT, and why people like me are willing to touch it again. Unfortunatly, it looks like history is repeating itself: Apple is busy messing with the design of UNIX and Mach, and in another 10 years, they'll have probably run this OS into the ground as well. Apple knows how to deliver a good user experience, but they have always been lousy at systems software.
Whether anything anyone says is right or wrong, it's a matter of opinion first and foremost.
No, it's not.
Our biology does not provide us
Our biology provides us with excellent truth detectors: throughout most of primate evolution, if you were wrong about whether your food was poisonous or whether there was a lion hiding in the bushes, you didn't get to pass on your genes. You didn't get to debate social relativism with the lion before he made a tasty meal out of you.
Most of science is still ultimately about matters like that, matters that have good answers, at least in principle.
Some science has veered off course, however. Every major scientific discipline (physics, biology, chemistry, etc.) has subareas where people start conflating experimental facts with opinion, aesthetics, and prejudice.
So, scientific truth is not a matter of opinion, but a lot of what is published in science is not about scientific truth.
Although those journals are better than average, they, too, contain a high percentage of papers that are wrong. They aren't usually wrong in the blatantly obvious math-is-incorrect way, but they are often wrong in the interpretation of their results, or their experimental procedure. PAMI, for example, publishes many papers that contain benchmarks that are claimed by the paper to show that one method is better than existing methods but fail to do so.
If you think papers in those journals are mostly correct, you aren't reading critically enough.
Well, I think our difference is that you think that desktop applications on Windows and Macintosh represent the epitome of usability, and I couldn't disagree more. Web technologies still limit somewhat the functionality you can provide easily, but in terms of usability, the Web is in a different league compared to even well-written desktop applications. The kind of ad-hoc desktop applications that clutter our machines today are going to be dead in 20 years.
And don't think I'm blind to the messiness of Ajax or DHTML. But it's no worse than the messiness of MFC or Cocoa--it's just a different kind of messiness. You're going to increasingly see server-side toolkits supporting those technologies, and you are going to worry about it no more than NeXT programmers used to worry about the fact that there was this messy Postscript interpreter running in their GUI.
Of course, then an Apple guy stepped up and pointed out the fact that fsync worked exactly as it should, and that MySQL needed to fix their code.
It's nice that MySQL developers went through the trouble to accomodate OS X, but MySQL wasn't broken before they did. Linux applications don't necessarily run on OS X--just like OS X applications don't necessarily run well on Linux, or run at all on Linux. In fact, OS X is full of system-specific (mis-)features portability problems, and most Macintosh software doesn't port to other platforms at all. And Apple is working on increasing the differences with things like Netinfo, HFS+, Spotlight, and init.
Apple likes to claim that OS X is "a better BSD" or "a better Linux", but the fact is that OS X is a different operating system; it isn't even derived from official UNIX source code, and its architecture is radically different from the BSD architecture (let alone Linux).
I'm sorry if Apple's marketing collides with reality, but those are the facts. And the fact that Apple is trying to make the Macintosh into a platform to which everybody can port, but from which nobody can easily port is not a good sign; in fact, it will hurt Apple big time in the long run.
Technology makes it increasingly easy to produce and distribute high-quality content. Just like open source has been threatening and displacing commercial software, open content will be displacing commercial content.
In fact, I very much hope commercial content providers will enforce their copyrights hard and with all technological means available: the harder they make it for people to get the commercial stuff, the more exposure and visibility free content gets.
Even worse, those non-IE browsers make it really hard for police to install spyware and keylogging software on the user's computer. With IE, they just insert a little bit of code into any web page and they are done, but Opera and Firefox put up obstacles to that kind of legitimate law enforcement activity! Evil! Terrorism!
I don't really have any COMPLAINTS - X.org's stuff [...] works quite well for me
I agree, and I think maybe that's where one should leave it for the time being. Even without much acceleration, X.org works well for desktop usage, and you already get all the hardware acceleration for game usage on supported hardware (and, as I understand it, the infrastructure for that is already fairly modular).
Linux desktops really need some time to catch up and clean up. Gnome and KDE have been developed at such a furious pace that there is a lot to clean up, standardize, and reintegrate. Among other things, Gnome and KDE have broken network transparency, preferences, and inter client communication, and those need to be fixed again. X also needs a better client library than Xlib, and I'm not convinced Cairo is even part of that.
If there is anything the server could benefit from, the top items from my point of view would be built-in NX-like compression and server-side SVG. But those are modular add-ons.
Anybody considering moving to Itanium really can't be taken seriously.
Anyway, it sounds to me like they were using Linux mainly as a bargaining chip with Microsoft.
But having brains that consistently arrive at completely wrong but nonetheless useful conclusions confers the same advantage.
If something gives consistently useful conclusions, then we call those conclusions "true". And we continue to call them "true" until they are contradicted by facts.
So why believe that our brains are telling us the truth about natural selection?
Because our conclusions about natural selection and the origin of species are consistent with everything else we know about the physical world, because they explain a lot of natural phenomena, and there are no facts to contradict them. Furthermore, there are no other theories that come even close to meeting those criteria. Therefore, scientists consider natural selection to be a correct theory of the origin of species, and they will continue to do so unless observations are made that contradict the theory (which seems highly unlikely at this point).
What IE needs is a plugin for handling the text/html and related types using the Firefox rendering engine. That way, people will get most of the benefits of Firefox, while still not having to learn to click on anything other than the "e".
There were many economical and political reasons. But slavery was a KEY issue, despite many neo-revisionists.
Yes, it was a key issue, but it was a key economic and political issue. Oh, human rights had something to do with it, too, but even raising those issues had only become possible once it had become economically unnecessary and politically expedient for the north. If human labor were still as important for economic success today as it was back then, we'd still have slavery, human rights be damned.
Unpleasant as it is, nations need time to work things out for themselves and to work through various developmental stages. The US itself was historically rather late compared to other nations when it came to human rights and equality, and it is still behind many other nations. The US can see lots of flaws in China, but a holier-than-thou attitude or a verbal lashing isn't going to help the Chinese people either.
Why can't a binary driver be accepted? I understand the implications. But seriously there are times when you need to look at the bigger picture.
Accepted by who? You can release whatever binary drivers you like. X.org probably won't ship them with the server, but that's not stopping nVidia or ATI, and it's not a problem.
You can also plug into, or ship, a commercial server. X.org isn't your only choice, you know, and traditionally, commercial servers have had the best support for accelerated graphics.
IMO, the best way for Linux to make a splash in the desktop is to did what Apple did to BSD: divorce it from the rest of the *nix world by creating their own graphical environment (Aqua) and their own toolkits (Carbon and Cocoa), and by not referring to OS X as a BSD. Imagine a new Linux distribution^W^W Linux-based operating system with a brand spanking new graphic system (no more of that ancient X cruft, something completely different)
People have tried that multiple times: Berlin, GNU Step, etc. If you like, you can essentially get a complete Cocoa/Quartz environment and desktop based on a Linux kernel. None of that has caught on.
I'm sorry, but you are simply mistaken if you think these are technological issues. For practical purposes, X11 can put up windows and buttons as well as Macintosh, and there is no point for Linux to through out X11.
You are also mistaken in your assessment that there is even a problem to be fixed. X11 has been around for 20 years, and it is in very wide use. X11 probably has many times the number of users than Macintosh and many times the amount of software based on it. In fact, a large fraction of Macintosh and Windows users are X11 users. Whatever technical directions X11 needs to go into, Macintosh is not the model to base them on.
Right now, X is still one gigantic project
X isn't a project at all, it's a protocol. It's a protocol that has been around for many years and that has been implemented indepedently by many vendors.
X.org is one of those implementations. Most of this discussion is about the software architecture of that implementation and related implementations.
Traditionally, MIT X11 and XFree86 (from which X.org is derived) have been the worst of the X11 implementations. If you needed to get a really high performance, high quality X11 implementation, you'd buy a commercial one. But X.org has improved things to the point that it's good enough for most users. On the one hand, that's a shame because it makes commercial X servers less and less profitable, on the other hand, it's good for open source.
To reinforce my point, the major drawback to Linux is simply 'death by committee'.
I have seen this phrase popping up from Mac advocates over and over recently; it seems to be the latest marketing meme from Apple.
In fact, nothing could be further from the truth. Linux isn't designed by committee or anybody else; Linux isn't even an operating system in the sense of OS X, it's a family of operating systems. And what goes into those systems is shaped by market forces and user choice.
Windows and OS X are designed by little self-appointed elites inside Microsoft and Apple; if anything is "designed by committee", it's those systems. Whether that's a good thing is debatable. I believe more in the power of market forces and evolution than despotism, but your preferences may differ.
What Linux needs is for one company and/or person to do the same thing.
There are companies that are doing just that. Have a look at Ubuntu and Linspire, for example.
Otherwise, Linux will always be 2nd or 3rd to something else.
Given Apple's checkered history and modest market share, it doesn't seem like Apple ought to be the model to go for. In any case, we'll take your advice for what it's worth.
Unfortunately, the way I read this article is:
1) Linux Graphics is a bloody mess.
And you think other window systems aren't? Apple tried to redo MacOS multiple times, until they eventually gave up and bought NeXT. Microsoft tried GDI+, then Avalon, and both have had big problems. Reengineering large amounts of code, and augmenting interfaces that have been in use for two decades simply is a hard task. Unlike both Apple and Microsoft, which have solved the problem by starting over (and maintaining old versions for compatibility), X11 has managed to evolve.
2) X is still an embarassment, five years behind (at least) what Quartz and Avalon are capable of.
Quartz didn't even really exist five years ago, it got limited 3D hardware acceleration only recently, and even today, most of it isn't hardware accelerated by default. If you really want a Quartz-like graphics subsystem under X11, there have been multiple implementations of DPS for X11 around for years; it's no coincidence that Linux desktop developers have chosen not to use them.
And Avalon? Avalon has been delayed over and over again. Eventually, it may give you about what Firefox and several other systems already give you on Linux. With Avalon, Microsoft is years behind, not years ahead, the state of the art.
Now, perhaps, X has finally space to really thrive and grow.
X has thrived and grown since its beginning, despite people badmouthing it. See, unlike the stuff Apple or Microsoft put out back then, X11 has actually survived this long, and that's because it works and it can be adapted.
That may have been true 12 years ago, when Windows 3.1 users were just getting used to the idea of more than 256 colors, but that's no longer the case.
X11 has supported OpenGL, transparency, and other modern features for many years. What it hasn't done is support them for regular desktop graphics, but that's because they are a gimmick there. Your desktop doesn't become any more usable or any better for graphics or visualization by having semi-transparent menus or windows that warp. Still, it's a gimmick that X11 now supports.
Ahead? Far ahead? In every aspect of what's in wide use, X is playing catchup,
I challenge you to name significant features where X11 is "playing catchup" relative to Windows or Macintosh. In fact, today, X11 is ahead of Windows and Macintosh in terms of features and functionality of the graphics subsystems.
I think people are going overboard with all this worrying about hardware acceleration and all these other complex additions to the Linux X server. Even before Render and the compositing extensions, X11 was already the window system of choice for high-end graphics workstations. With the recent extensions and RandR, the Linux X server is actually technologically far ahead of Windows and Macintosh again. Please, guys, leave "good enough" alone.
At this point, what Linux and X11 need most is better high-level support: an improved client-side Xlib, improved toolkits, innovative window managers, fixing the network transparency features that Gnome and KDE have broken, standardizing inter-toolkit and inter-client communications again, etc.
Maybe after that, it's worth revisiting two minor points: protocol compression and server-side stored vector graphics.
You're absolutely right: I'm not a "developer" (a term that mostly seems to refer to people like you), I write software professionally. And I have done so since long before the rip-off called "Visual Studio" hit the market. Yes, it undoubtedly surprises you, but we did not hammer code into stone tablets before Visual Studio. Imagine that.
Nature has no reason to favor organisms with brains that yield true information over organisms with brains that yield false but accidentally useful information.
Nature has no reason at all. But having brains that are capable of formulating, testing, and applying scientific theories gives individuals a huge evolutionary advantage because it means those individuals do not have to rely on accidental discoveries anymore.
But really, whether my contrived example is flawless or not is unimportant. It's supposed to illustrate, not demonstrate.
Well, your example illustrates only one point, namely that culture, social behavior, and language enable even individuals incapable of scientific reasoning to benefit from the advances brought about by science.
science deals in probabilities, in its strictist sense.
Yes, I agree. Those probabilities are the "degree of truth" of a scientific theory. But those degrees of truth are objective, based in experiments and observations, not opinion, as the g.p. suggested.
is that many scientists are just like regular people. often times they get caught up in the prevailing prejudices of the times. not all but they are inertial beings.
Yes, scientists are prejudiced and they can be wrong. But there exist scientific theories and there exists objective determinations of their truth value (i.e., probabilities given observations), and those are independent of prejudice or error.
You are talking about backwards compatibility. MacOS X has that via the frameworks versioning. It too works fine and users don't notice.
No, I'm talking about software installation. If I want to run a complex software package on Linux, all I do is select the package in a UI and tell the computer to install it. It will download it, find all the dependencies, and make it all work. It will also keep it updated automatically. On OS X, I have to do most of that by hand.
Yes, those were faults, but they had more to do with the original system being written in the early 1980s for hardware with 128K of RAM than with "10 years of Apple hacking it into unmaintainability". Get a clue.
I was using systems in the early 1980's, multitasking systems with memory protection running in 128k. It wasn't rocket science. A year after Macintosh, Amiga came out with a stellar microkernel-based system that ran on scarcely more powerful hardware than the original Macintosh. Apple had another big opportunity to fix MacOS and make it protected mode and multitasking when they moved to PPC, but they missed that, too. And issues of multitasking aside, HFS was another mess that haunts OS X to this day.
No, Apple neither cares about good systems programming nor do they apparently know much about it. What they are good at is user experience, and that ain't bad. Apple delivers a good implementation of an aging computing paradigm, but they are not the future of computing, not even close.
But once you get into real application functionality, I think the Web is a dangerous place. While desktop apps aren't perfect, the APIs and pre-built UI controls mean that a novice to interaction design can still put together an app whose components have been usability tested and behave in a consistent, expected way.
Controls may be individually tested, but the application frameworks make it far too easy to put them together wrong. In fact, just about every application, including well tested ones, contain serious blunders in how those controls are put together. On the web, it takes a certain amount of effort to break naming, predictable interaction, accessibility, reflowing, and other features that help usability, whereas on desktop applications, that's the default.
Right now, any complex UI controls in HTML must be built from scratch, resulting in some combination of inconsistency, poor usability, and poor functionality.
Well, I think the solution to that is to standardize those complex UI controls. There aren't many that are missing; maybe a browser for hierarchies, a calendar, a spreadsheet, a diagram viewer and editor, and a wysiwyg editor.
In the end, I suspect we both agree that neither Flash nor DHTML/AJAX is an ideal platform for application development. We just disagree about which is the lesser of available evils.
Neither works really well right now. But I think Flash is a dead end, just like the desktop; the paradigm just can't be fixed.
The solution to the limitations of DHTML/Ajax is to add the missing functionality. The end product of that evolution will be something very different from Flash or desktop applications, and it will be a lot better in my opinion.
As Alvin Plantinga has pointed out, any number of false beliefs would accomplish the same thing. For example, if the early primates wanted to be friends with lions, but a few believed that the best way to accomplish this was running away, those with that false belief would be far more likely to pass on their genes.
The scientific theory that these primates had was to run away when they saw a lion, and that was correct and was the part of their mental model corresponding to scientific truth. The other part about "being friends" wasn't a "false belief", it simply failed to be a proper scientific theory at all--it was a conceptualization that fit their (hypothetical) social structure, just like we sometimes talk about elementary particles in physics as if they were purposeful beings.
He goes on to argue that belief in evolution is self-defeating
Tthe evidence for evolution is overwhelming, and there is not a shred of evidence for any alternative origin of modern species. Evolution is beyond the stage of "belief" and has entered the realm of scientific fact. Anybody who talks about it as a "belief" is a crackpot.
Please describe in detail the magical thing that Linux does to solve this problem.
Linux package managers track dependencies among all software packages and ensure that all dependencies you need to run something are installed. If you insist on running something that depends on an old version of a system library, it may even install the old version alongside the new one. The Macintosh equivalent would be that you could run 10.2 and 10.4 simultaneously. And, yes, it works and users don't even notice.
It's the right thing to do. Apple will likely adopt it eventually and then tell everybody how "innovative" they are for doing this.
There are currently several ways to check to see if a facility exists before calling it.
While that kind of adaptivity has its place, you should not have to do that sort of thing for dealing with minor operating system version differences.
By some other means? Please explain this in detail so I will understand why OS X sucks so much.
Oh, stop seeing the world in such black-and-white terms. Just like all other operating systems, OS X is a nice system in some ways, and it sucks in others.
I have been developing professionally for MacOS for ten years.
Then you will recall that Apple basically hacked on MacOS until it became unmaintainable and they had to ditch it. That's why Apple is now based on Mach, BSD, and NeXT, and why people like me are willing to touch it again. Unfortunatly, it looks like history is repeating itself: Apple is busy messing with the design of UNIX and Mach, and in another 10 years, they'll have probably run this OS into the ground as well. Apple knows how to deliver a good user experience, but they have always been lousy at systems software.
Whether anything anyone says is right or wrong, it's a matter of opinion first and foremost.
No, it's not.
Our biology does not provide us
Our biology provides us with excellent truth detectors: throughout most of primate evolution, if you were wrong about whether your food was poisonous or whether there was a lion hiding in the bushes, you didn't get to pass on your genes. You didn't get to debate social relativism with the lion before he made a tasty meal out of you.
Most of science is still ultimately about matters like that, matters that have good answers, at least in principle.
Some science has veered off course, however. Every major scientific discipline (physics, biology, chemistry, etc.) has subareas where people start conflating experimental facts with opinion, aesthetics, and prejudice.
So, scientific truth is not a matter of opinion, but a lot of what is published in science is not about scientific truth.
Although those journals are better than average, they, too, contain a high percentage of papers that are wrong. They aren't usually wrong in the blatantly obvious math-is-incorrect way, but they are often wrong in the interpretation of their results, or their experimental procedure. PAMI, for example, publishes many papers that contain benchmarks that are claimed by the paper to show that one method is better than existing methods but fail to do so.
If you think papers in those journals are mostly correct, you aren't reading critically enough.
Well, I think our difference is that you think that desktop applications on Windows and Macintosh represent the epitome of usability, and I couldn't disagree more. Web technologies still limit somewhat the functionality you can provide easily, but in terms of usability, the Web is in a different league compared to even well-written desktop applications. The kind of ad-hoc desktop applications that clutter our machines today are going to be dead in 20 years.
And don't think I'm blind to the messiness of Ajax or DHTML. But it's no worse than the messiness of MFC or Cocoa--it's just a different kind of messiness. You're going to increasingly see server-side toolkits supporting those technologies, and you are going to worry about it no more than NeXT programmers used to worry about the fact that there was this messy Postscript interpreter running in their GUI.