But you can't compare two languages with Java, which is a platform (which happens to include a language as part of it).
There are Free implementations of the Java language, but not the Java platform. And given that Sun can change the Java platform on a whim, there isn't likely to be.
Java has standards sponsored in an open forum. Is that not open as well?
No. Only one vote really counts in that forum: Sun's. Everyone else is there at Sun's pleasure. If AT&T and Bjarne Strostrup wanted to change C++ in arbitrary ways, they could not (without passing an industry-wide vote). Java is a trademark, C/C++ aren't.
So what exactly do the open source advocates want from Sun?
Nothing, really. This issue is Sun's problem, more than anyone else's. Java is Sun's baby. They want everyone to use it. Supposedly, they encourage the distribution of JVMs far and wide. It certainly weakens their "run anywhere" advertising claim if substantial numbers of PCs are without a JVM. (For example, I've noticed that more web browsers are able to play Flash than Java applets).
But yet, they don't allow Java to be installed with free linux distributions. That prohibition is bizarre, counterproductive, and boarderline hypocritical. Honestly, if they want Java applications to eventually compete with Windows apps, they'll need to enable customers to run Java apps on cheap hardware without paying the Microsoft tax. That means free Linux distribs with included JVMs.
To the extent a nebulous group like the "open source community" has an opinion, they're probably happy writing in C++ and Perl. Why would they wish to go through the huge effort you're suggesting merely to help Sun publicize their pet language, when Sun could resolve it in an instant by erasing 5 lines of license?
For instance, debian ships gcj and that is supposedly java, and also supposedly free right?
It isn't a JVM, though, so it does no good for allowing a user to quickly run a downloaded Java app. (To quickly test if gcj is "Java", go download a program which runs with "Java". Can gcj run it? No.)
Additionally, GCJ is really more of an implementation of the Java language than the Java standard library (those two things are often not sufficiently understood as distinct). The Java stdlib is enormous, and not quite frozen either. It'd take a lot of effort for reimplementations to even get full feature coverage, not to mention bug-for-bug compatibility.
"Java" is much to vague a word for this discussion.
Java is an adequately precise word. (It's a trademark of Sun Microsystems, so they can choose what it means). It means not just the compiler (which gcj replaces), but the JVM and standard classes (importantly including Swing) as well.
The license you just quoted certainly does prohibit redistribution as a desktop Linux OS would wish to.
Quoting from what you quoted: B(i) "you distribute the Software complete and unmodified... and only bundled as part of, and for the sole purpose of running, your Programs,
Once again, "for the sole purpose of running, your Programs". Meaning the Java can only be included to run Java programs included with the Linux distribution, whereas in reality it would be desired as a way to run independently-distributed stuff that may be installed later.
learning STUPID USELESS DRILLS in grade school is something that the education profession should be UTTERLY ASHAMED of. Why do students not learn about set theory and relationships early on?
Decades ago, people with those kinds of opinions experimentally reformed elementary education.
It was called "New Math", and it was a fiasco. (link has a strong negative bias)
It turns out that for most students, addition and multiplication are all they'll really need, and set theory is wasted on them.
Except that EBXML is not a specification from a recognized standards-body. So it's worthless as a means to communicate between independently-written software.
Even if by a miracle EBXML gets standardized quickly, it'll be too late. XML is out there now, getting more entrenched everyday. If a system reports that it accepts input as SVG files, I won't be able to trust that it won't choke on an SVG stored in EBXML.
But most XML is never touched by a human editor. There is no technical reason for storing XML as very verbose text
Which is why binary-storage like EBXML should've always been part of the XML specification itself. But it wasn't, and now we can't rewrite history.
For some files, parsing is 80% of the access time.
Traversing down into the tree is still going to be logarithmic time, at best
No, logarithmic is more like a worst case. Depending on the nature of the data, the time could be linear. Nobody said the information was actually tree-like. Many XML files, for example, are the equivalent of a flat-file database: one record per block, with no parent-child relationship amoung those records. That data could be accessed in linear time, if stored in a non-XML-like form.
However, if "all" it did was improve the performance to log time, that'd be wonderful. The rule of thumb for many purposes is that log time is just as good as constant time (which itself is nearly as good as zero-time). If I scan a page and trace it into an SVG file with 50000 line elements, the the mean access time via XML is 25000. But if performance were somehow logarithmic, the time would be just 15. (That's CS 102, "The value of logs")
That's assuming you work directly with the data in serialized form, though, which is not generally a realistic assumption.
No. You just used "serialized" to mean "as stored persistently", but that's not necessarily true. There are non-serial ways to store something that avoid the performance hits of (de)serialization.
Any application using XML data interactively is going to parse the file _once_, into an AST,
That reinforces my point that XML is an inefficient format.
You are prehaps arguing that the inefficiency doesn't matter, because the application can precompute a more efficient local representation. But there's several problems with that position.
Replication of programmer effort.
Increased startup time (precaching is non-free)
Most importantly, the assumption that the images contained in the SVG files are rarely changing is untrue. It (initially) holds true for the icons in your desktop theme, but not for much else (web pages, and streaming remote GUIs!!).
The closer the system comes to following the UNIX philosopy, the smaller individual "applications" will be. Therefore the cost of XML<->AST conversion (which is performed at each application boundary) grows larger the more componentized the system is.
It is, however, too late to amend the XML specification to address those concerns, so an optimizied local format is the best an application can do.
XDR is primarily used for situations where serialization/deserialization costs dominate
I've worked with XML datafiles that are 100s of megabytes, and even though the data is all local, it'd still be nice to have a binary representation so records towards the end can be reached without going through the whole thing first.
(If I assumed the XML was written by a trusted programs, I could make assumptions beyond what the standard specifies, and skip over parsing some sections I trust to be uninteresting. But that would violate the specification, and could break if someone replaced the file with another bit of valid XML)
Care to expand on that? The government has no relationship to commercial loyalty cards, except that it has refrained from outlawing them (which would be a violation of rights to free association and free speech)
For more fun, collect RFIDs from products you did pay for... then bring them back into the store and sprinkle them through the pockets of garments and other hideyplaces.
Now future customers can pay for your stuff a 2nd time.
where could you get a modern vector display nowadays
A few posts have commented that vector-displays would be good to use with SVG-based desktops. They're probably all joking, because there is no such thing as a modern vector-graphics display, and if it did exist, it would be inapplicable.
Vector displays can only draw the actual vectors, which are just straight lines. Vector graphics consist of more than just vectors, and actually includes a full set of primitives whose positions are merely defined by vectors.
Even a simple filled triangle (surely one of the most common elements of existing SVG files) is beyond the capability of a vector display, unless it emulated a raster display to draw the shape as a series of scanlines.
It's true that SVG (and XML in general) compresses well using normal Lempel-Ziv techniques.
But that only solves part of the problem, and isn't enough to make XML efficient for an integral part of interactive computer systems (where speed is crucial).
Normal XML is already slower than a binary format, because you must parse through the whole thing to reach the middle (linear time) versus jumping to an offset in the file (constant time). Adding compression to the mix makes that even worse, as now you've got to do the whole unpacking before the data can be read.
So although ZIP mostly solves the XML storage-size problem, it worsens the already bad XML access-time issue.
It's truely unfortunate that the XML standard didn't include some recommended/authoritative way to transform an XML file into a platform-dependent binary. Or even a defined mapping from XML into an XDR-like layout would be useful.
a lot of tasks would be ten times quicker if shown in 3D. Setting up print ques, or networks would be a snap, if everything was shown in 3D and you could see when things were not connected
This is one of many comments that have claimed 3D data is somehow easier or more natural for humans to understand.
Are they all weak jokes? Or do these posters truely not have any experience with actual humans?
Human mentality is actually biased towards 2D thinking. Their early evolutionary advantage was travelling across the surface of the earth, which is a 2 dimensional routing problem. Before humans can understand a concept, they try to project it onto a plane.
Just do your own experiment. Grab a few humans and run them first through a 2D labyrinth, and then through a 3D maze. Which one can they solve faster?
Watching heavy network traffic move, or being able to tell which e-mail server, router, or switch just died simply by watching it change colour on the network map would really help a lot of people.
Nothing in that has any connection to 3D. It's about coloring, not dimensionality.
while Gnutella does, yet gets derided as inferior.
Gnutella's greatest flaws are not in how it downloads files, but in how it searches for them. (Indeed, typical Gnutella users have gotten 90% of their bandwidth used for other people's searches while the attempt to download). Frankly, as long as Gnutella's searching is so devastating to system performance, its downloading efficiency is just irrelevant.
BitTorrent avoids that problem by only addressing a smaller scope. Instead of handling searching and downloading, it only downloads, and leaves the searching up to external software (such as HTTP servers)
This speaks to a weakness in the torrent architecture.
Not really.
If, instead, they did a random offset rotational down load
Impossible to enforce. The server doesn't know what portions of the file a client has. It must trust the client to tell it. Therefore an arch whose performance depending upon downloads starting from non-beginning would be vulnerable to modified clients
But even if it were enforceable, it wouldn't help anyhow... clients would still tend to disconnect once they have 100% of the file. That's just unavoidable- the server cannot coerce help from a client which doesn't need anything from it.
Instead, bittorrent actually functions this way: clients with partial files are encouraged to share with other downloaders, because when those others report to the server that they got valid data chunks from someone, he'll get preference from the server.
(Yes, that could be spoofed too. But if you have control of multiple machines and want to accelerate your download, you may as well just download on all of them.)
Most of the technology we have today is the direct result of, or significantly improved by the space race.
Your whole argument is based on the flawed assumption that "manned space flight" is an integral part of the "space race". That was true prior to the computer age circa 1985, but is no longer the case.
Bigger challenges lead to bigger innovations.
The most useful innovation we look forward to on earth is computer programming and artificial intelligence techniques powerful enough to solve the "8 minute lag" problem.
Look at it this way: If we had robots capable enough to explore Mars semi-autonomously, how many humans on earth would stand to benefit from that advance? Compare that to the amount of use a normal citizen is likely to get from a Martian habitation module, and you'll see where the best investment is.
He tries to project and image of a "small-government" President? Since when?
Every time he proposes another huge tax cut! The idea is supposed to be that tax cuts will mean there's no money to support a big government, so it'll naturally shrink down.
Of course, the ability to run a deficiet completely destroys that theory, but apparently Bush's supporters don't look close enough to notice.
So the US is left to choose between a "tax and spend" Democrat or a "spend and pray" Republican.
This reminds me of the other election which created a President Bush: the candidate who swore "Read my lips, no new taxes" was elected, even though he was lying. The power of wishful thinking.
The C and C++ languages aren't "open" either.
They absolutely, completely are open.
But you can't compare two languages with Java, which is a platform (which happens to include a language as part of it).
There are Free implementations of the Java language, but not the Java platform. And given that Sun can change the Java platform on a whim, there isn't likely to be.
Java has standards sponsored in an open forum. Is that not open as well?
No. Only one vote really counts in that forum: Sun's. Everyone else is there at Sun's pleasure. If AT&T and Bjarne Strostrup wanted to change C++ in arbitrary ways, they could not (without passing an industry-wide vote). Java is a trademark, C/C++ aren't.
Sure, it would be a bit untraditional to open source a product and at the same time forbid forking, but certainly not impossible.
It would be completely impossible for all normal definitions of "open source".
Only a non-open process like "Shared Source" or "disclosed source" could forbid forking.
I'm not aware of any forks that are published in other ways right now
This is a fork of Linux. (And an illegal one, at that). Other PDA developers distribute GPL-compliant forks too.
If 1% of Indians get a killer education, that's a million people. If 1% of those Indians study computer science, that's 100,000 people.
If you study geography, you'd know that 1% of Indians is 10 million. (1% of USians is 3 million)
And if you study a little math, 1% of one million is 10,000.
But those two errors cancel out, giving you the right 100,000 in the end.
So distribute it with the JRE.
Translation: Add 35 megabytes to the size of every download.
So what exactly do the open source advocates want from Sun?
Nothing, really. This issue is Sun's problem, more than anyone else's. Java is Sun's baby. They want everyone to use it. Supposedly, they encourage the distribution of JVMs far and wide. It certainly weakens their "run anywhere" advertising claim if substantial numbers of PCs are without a JVM. (For example, I've noticed that more web browsers are able to play Flash than Java applets).
But yet, they don't allow Java to be installed with free linux distributions. That prohibition is bizarre, counterproductive, and boarderline hypocritical. Honestly, if they want Java applications to eventually compete with Windows apps, they'll need to enable customers to run Java apps on cheap hardware without paying the Microsoft tax. That means free Linux distribs with included JVMs.
To the extent a nebulous group like the "open source community" has an opinion, they're probably happy writing in C++ and Perl. Why would they wish to go through the huge effort you're suggesting merely to help Sun publicize their pet language, when Sun could resolve it in an instant by erasing 5 lines of license?
For instance, debian ships gcj and that is supposedly java, and also supposedly free right?
It isn't a JVM, though, so it does no good for allowing a user to quickly run a downloaded Java app. (To quickly test if gcj is "Java", go download a program which runs with "Java". Can gcj run it? No.)
Additionally, GCJ is really more of an implementation of the Java language than the Java standard library (those two things are often not sufficiently understood as distinct). The Java stdlib is enormous, and not quite frozen either. It'd take a lot of effort for reimplementations to even get full feature coverage, not to mention bug-for-bug compatibility.
"Java" is much to vague a word for this discussion.
Java is an adequately precise word. (It's a trademark of Sun Microsystems, so they can choose what it means). It means not just the compiler (which gcj replaces), but the JVM and standard classes (importantly including Swing) as well.
The license does not prohibit redistribution.
... and only bundled as part of, and for the sole purpose of running, your Programs,
The license you just quoted certainly does prohibit redistribution as a desktop Linux OS would wish to.
Quoting from what you quoted: B(i) "you distribute the Software complete and unmodified
Once again, "for the sole purpose of running, your Programs". Meaning the Java can only be included to run Java programs included with the Linux distribution, whereas in reality it would be desired as a way to run independently-distributed stuff that may be installed later.
I wonder if it will be possible to download that version of Linux somewhere so that I may install it on my current PDA?
You should probably only try that after downloading some of the 3+ existing PDA versions of Linux.
learning STUPID USELESS DRILLS in grade school is something that the education profession should be UTTERLY ASHAMED of. Why do students not learn about set theory and relationships early on?
Decades ago, people with those kinds of opinions experimentally reformed elementary education.
It was called "New Math", and it was a fiasco.
(link has a strong negative bias)
It turns out that for most students, addition and multiplication are all they'll really need, and set theory is wasted on them.
But there's no reason to not use it elsewhere.
Except that EBXML is not a specification from a recognized standards-body. So it's worthless as a means to communicate between independently-written software.
Even if by a miracle EBXML gets standardized quickly, it'll be too late. XML is out there now, getting more entrenched everyday. If a system reports that it accepts input as SVG files, I won't be able to trust that it won't choke on an SVG stored in EBXML.
But most XML is never touched by a human editor. There is no technical reason for storing XML as very verbose text
Which is why binary-storage like EBXML should've always been part of the XML specification itself. But it wasn't, and now we can't rewrite history.
For some files, parsing is 80% of the access time.
Traversing down into the tree is still going to be logarithmic time, at best
No, logarithmic is more like a worst case. Depending on the nature of the data, the time could be linear. Nobody said the information was actually tree-like. Many XML files, for example, are the equivalent of a flat-file database: one record per block, with no parent-child relationship amoung those records. That data could be accessed in linear time, if stored in a non-XML-like form.
However, if "all" it did was improve the performance to log time, that'd be wonderful. The rule of thumb for many purposes is that log time is just as good as constant time (which itself is nearly as good as zero-time). If I scan a page and trace it into an SVG file with 50000 line elements, the the mean access time via XML is 25000. But if performance were somehow logarithmic, the time would be just 15. (That's CS 102, "The value of logs")
That's assuming you work directly with the data in serialized form, though, which is not generally a realistic assumption.
No. You just used "serialized" to mean "as stored persistently", but that's not necessarily true. There are non-serial ways to store something that avoid the performance hits of (de)serialization.
Any application using XML data interactively is going to parse the file _once_, into an AST,
That reinforces my point that XML is an inefficient format.
You are prehaps arguing that the inefficiency doesn't matter, because the application can precompute a more efficient local representation. But there's several problems with that position.
It is, however, too late to amend the XML specification to address those concerns, so an optimizied local format is the best an application can do.
XDR is primarily used for situations where serialization/deserialization costs dominate
I've worked with XML datafiles that are 100s of megabytes, and even though the data is all local, it'd still be nice to have a binary representation so records towards the end can be reached without going through the whole thing first.
(If I assumed the XML was written by a trusted programs, I could make assumptions beyond what the standard specifies, and skip over parsing some sections I trust to be uninteresting. But that would violate the specification, and could break if someone replaced the file with another bit of valid XML)
Refusing to outlaw the exchange of lawfully-obtaining information can be in no way consider "active" consent.
with the government's active consent.
Care to expand on that? The government has no relationship to commercial loyalty cards, except that it has refrained from outlawing them (which would be a violation of rights to free association and free speech)
For more fun, collect RFIDs from products you did pay for... then bring them back into the store and sprinkle them through the pockets of garments and other hideyplaces.
Now future customers can pay for your stuff a 2nd time.
where could you get a modern vector display nowadays
A few posts have commented that vector-displays would be good to use with SVG-based desktops. They're probably all joking, because there is no such thing as a modern vector-graphics display, and if it did exist, it would be inapplicable.
Vector displays can only draw the actual vectors, which are just straight lines. Vector graphics consist of more than just vectors, and actually includes a full set of primitives whose positions are merely defined by vectors.
Even a simple filled triangle (surely one of the most common elements of existing SVG files) is beyond the capability of a vector display, unless it emulated a raster display to draw the shape as a series of scanlines.
It's true that SVG (and XML in general) compresses well using normal Lempel-Ziv techniques.
But that only solves part of the problem, and isn't enough to make XML efficient for an integral part of interactive computer systems (where speed is crucial).
Normal XML is already slower than a binary format, because you must parse through the whole thing to reach the middle (linear time) versus jumping to an offset in the file (constant time). Adding compression to the mix makes that even worse, as now you've got to do the whole unpacking before the data can be read.
So although ZIP mostly solves the XML storage-size problem, it worsens the already bad XML access-time issue.
It's truely unfortunate that the XML standard didn't include some recommended/authoritative way to transform an XML file into a platform-dependent binary. Or even a defined mapping from XML into an XDR-like layout would be useful.
a lot of tasks would be ten times quicker if shown in 3D. Setting up print ques, or networks would be a snap, if everything was shown in 3D and you could see when things were not connected
This is one of many comments that have claimed 3D data is somehow easier or more natural for humans to understand.
Are they all weak jokes? Or do these posters truely not have any experience with actual humans?
Human mentality is actually biased towards 2D thinking. Their early evolutionary advantage was travelling across the surface of the earth, which is a 2 dimensional routing problem. Before humans can understand a concept, they try to project it onto a plane.
Just do your own experiment. Grab a few humans and run them first through a 2D labyrinth, and then through a 3D maze. Which one can they solve faster?
Watching heavy network traffic move, or being able to tell which e-mail server, router, or switch just died simply by watching it change colour on the network map would really help a lot of people.
Nothing in that has any connection to 3D. It's about coloring, not dimensionality.
I find it very dishonest that you claim Realmedia players are not available for Linux and Solaris.
while Gnutella does, yet gets derided as inferior.
Gnutella's greatest flaws are not in how it downloads files, but in how it searches for them. (Indeed, typical Gnutella users have gotten 90% of their bandwidth used for other people's searches while the attempt to download). Frankly, as long as Gnutella's searching is so devastating to system performance, its downloading efficiency is just irrelevant.
BitTorrent avoids that problem by only addressing a smaller scope. Instead of handling searching and downloading, it only downloads, and leaves the searching up to external software (such as HTTP servers)
This speaks to a weakness in the torrent architecture.
Not really.
If, instead, they did a random offset rotational down load
Impossible to enforce. The server doesn't know what portions of the file a client has. It must trust the client to tell it. Therefore an arch whose performance depending upon downloads starting from non-beginning would be vulnerable to modified clients
But even if it were enforceable, it wouldn't help anyhow... clients would still tend to disconnect once they have 100% of the file. That's just unavoidable- the server cannot coerce help from a client which doesn't need anything from it.
Instead, bittorrent actually functions this way: clients with partial files are encouraged to share with other downloaders, because when those others report to the server that they got valid data chunks from someone, he'll get preference from the server.
(Yes, that could be spoofed too. But if you have control of multiple machines and want to accelerate your download, you may as well just download on all of them.)
require big muscles on the hand just to work full day
This is technically known as gorilla-arm syndrome.
Rather, they're given a set of loose instructions and the computers on board figure out how to execute them best.
That is a completely inaccurate description. The word "loose" just doesn't apply. The instructions transmitted are highly detailed.
The messages compose a timeline of procedures at millisecond resolution and 1 degree accuracy.
Most of the technology we have today is the direct result of, or significantly improved by the space race.
Your whole argument is based on the flawed assumption that "manned space flight" is an integral part of the "space race". That was true prior to the computer age circa 1985, but is no longer the case.
Bigger challenges lead to bigger innovations.
The most useful innovation we look forward to on earth is computer programming and artificial intelligence techniques powerful enough to solve the "8 minute lag" problem.
Look at it this way: If we had robots capable enough to explore Mars semi-autonomously, how many humans on earth would stand to benefit from that advance? Compare that to the amount of use a normal citizen is likely to get from a Martian habitation module, and you'll see where the best investment is.
He tries to project and image of a "small-government" President? Since when?
Every time he proposes another huge tax cut! The idea is supposed to be that tax cuts will mean there's no money to support a big government, so it'll naturally shrink down.
Of course, the ability to run a deficiet completely destroys that theory, but apparently Bush's supporters don't look close enough to notice.
So the US is left to choose between a "tax and spend" Democrat or a "spend and pray" Republican.
This reminds me of the other election which created a President Bush: the candidate who swore "Read my lips, no new taxes" was elected, even though he was lying. The power of wishful thinking.