As I understand it,.NET has good support for dynamic languages like Ruby and Python via special dynamic opcode support. Java doesn't have that yet, but should have a dynamic method call opcode real soon now. Yes, Dynamic languages like Jython already run, and pretty well, but reflection (the obvious way to do a dynamic call) is slow, and machinery to cache and/or avoid it is ugly. Having a dynamic method call opcode that puts all that in the JVM and works for many dynamic lanuages would be an improvement.
The legal MS extensions to Java, the ones in the com.ms.* packages, were fine (well, except for the Morgan Stanley company having their standard java package prefix usurped), and were not what the lawsuit was about. They created Java applications superbly integrated with Windows - but not portable to any other platform, and were perfectly legal. That should have been enough lock in for even Microsoft. But that wasn't good enough for them.
The lawsuit was about their extensions to the java.* core packages - which were expressly forbidden in the license. The license was an actual signed contract. Microsoft tried to argue in court that the contract only applied to Java 1.0, and they could do whatever they wanted with future versions. The court didn't agree.
Having the core Java packages unpolluted is important for making it simple to ensure your application is run anywhere. (Well, except for bugs in native libraries or JVM.) To undo the damage, Sun ended up having to create the 100% Pure Java campaign with a program to check for core extensions.
It is really unfortunate. That was a good solution for all concerned (breaking up Microsoft). Having separate application and OS divisions would at least keep the OS division [more] honest. You would still have the Office monopoly and associated un-archivable file format problems.
I admit to voting for Bush, but I am voting for Ron Paul this time - even if it means a write in.
To the best of my knowledge, the split ordered by judge Jackson was never carried out - because he made unwise comments in public in a moment of anger over Microsoft behavior.
I am very anti-drugs and anti-porn, but these attempts to censor the internet are just stupid (or evil). Even with drugs, attempts to censor substances that might be abused is pointless. If you can't get cocaine (a substance quite healthful and safe in the very small naturally occurring quantities found in coca leaves), there are the other spices in the spice rack (I have a friend who blew her mind abusing nutmeg), or you can pick green mulberries (which are hallucinogenic). Our heighborhood is awash in green mulberries this time of year. Chop down all the trees! Think of the children!
The censorship of marijuana is especially ridiculous. In addition to being a *highly* useful plant for a host of purposes not involving getting stoned (which I consider abuse), it is so pervasive here in Virginia that police stations can't keep it from growing wild at their stations. Absolutely *anyone* could be charged with "production" of marijuana and their property seized at the whim of an officer.
The situation with porn is the same. The abuse makes the porn. Broadcast TV could be reasonably censored because the amount of content was small, and personally reviewed. I.e., a human made the judgment call as to whether a scene would "cause someone to stumble" I Cor 8:4-13. The best that can be done on the internet is to have a blacklist of truly evil IPs.
Thank you. That was more than I wanted to know (but still interesting). But the simple take home lesson for laymen (from your post and others) is that the question has come up (and I am not the first to mistakenly or deliberately make the treaty trump card interpretation - it seems to come up "regularly"), and the courts have so far decided that treaties are on the same level with federal law, and do not trump the federal constitution.
Does this mean that someone could challenge a treaty on the basis of constitutionality?
We had a client that insisted on using trivial passwords. The CEO said he wanted trivial passwords or we were fired as consultants. His main reason was that he wanted any employee to be able to use any other employees account (no, having the ability for an admin to reset a password wasn't good enough). I compromised by allowing trivial passwords only on the local LAN. Any remote access required real passwords. The psychology worked pretty well - having remote access was associated with being a power user, able to handle advanced passwords. Not perfect, but a good compromise. The CEO wasn't a power user, and fortunately had no interest in remote access.
They are really non-blocking, and use a standard Java API - the java.util.concurrent.atomic package. The description of the package indicates it was intended as the low level basis for non-blocking data structures. While most JVMs are written largely in C, the Java code gets compiled to machine language. Standard packages do not have to be implemented via JNI, and can be implemented directly by the JVM - just like GNU C implements many standard C library functions directly in the compiler for performance. In fact, java.util.concurrent.atomic would be a poor choice for implementing via JNI because the transition between C and Java code that happens on every JNI call would defeat the high performance purpose of the package.
Yes, Java didn't surpass, but was competitive with C++ many years ago - at least as far as CPU goes. In fact, if you use gcj, you'll find that Java performance is *very* similar to C++:-). For the IBM JVM, the turning point was JDK 1.1.6. I think having each thread allocate blocks of memory to dish out without lock contention was a big part of it. One interesting benchmark was this.
Now, before you C/C++ or Java fanboys get too excited, the absolute hands down fastest language on most of the benchmarks was LISP (I think it was Common LISP). I don't use LISP because I hate the syntax (and LISP fanboys regard it as a requirement of club membership that you like it). But the performance is quite impressive (with GC too), and that's what I would look into if I needed top performance from a high level language. Eat your heart out C++.
I use Java quite a bit, and the biggest drawback performance wise is the amount of memory chewed up by the GC schemes and JIT. It is otherwise quite fast. I often turn off JIT to save memory (at the expense of CPU), and I would like to see options to use a GC algorithm that minimizes memory consumption (at the expense of CPU).
That is a good hypothesis. I have unusually sensitive hearing. I cannot use power tools without hearing protection. I cannot enjoy concerts at normal volume level. I can't stand noisy computers (give me quiet over a another Ghz any day). It will require some thought to set up a reasonably controlled experiment (e.g. me not knowing whether the switch is actually thrown).
A dowsing rod doesn't actually detect anything (even according to practitioners) - it is simply a device to magnify subconscious body language of the operator. The theory is that the human operator detects water via poorly understood senses below conscious awareness. Some dowsers don't bother with the rods, claiming to have trained themselves to become more aware of these senses.
I know I "see" something like a flash of light whenever someone turns on a fluorescent light with magnetic ballast in another room - so I don't think the idea of additional senses is completely crazy.
This was a most enlightening reply to my post. Apparently, I am not the only one to have read Article 6 the way I did - but there is court precedence for a less disturbing interpretation. Which is some comfort, anyway.
So you are saying our liberty ultimately hinges on the binding precedence of "or" vs "of"? I.e., is it "(the Constitution) or (laws of any State)" or is it "the (Constitution or laws) of any State". In my 49 years as a native English speaker, "of" has always taken precedence over "or". But maybe things were different in the 1700's.
Article VI:...and all treaties made, or which shall be made, under the authority of the United States, shall be the supreme law of the land; and the judges in every state shall be bound thereby, anything in the Constitution or laws of any State to the contrary notwithstanding. Any provision of the constitution can be done away with by getting 51 Senators and the President to sign a treaty. Failing that, you can get 5 judges to interpret it away (as in the recent decision allowing states to seize private property for any economic purpose).
was studying passenger jets, not Al Qaida literature. The real terrorists plotting a crime have already been recruited, and don't need to read any more Al Qaida stuff. Arresting someone for reading Al Qaida stuff is at best a "pre-crime": they might be converted and decide to commit crimes in the future so we have to stop them now. More likely, this is another case of panicked stupidity causing the innocent to suffer.
You don't have to rely on Moses. Other major civilizations, like Babylon, had similar codes. Thou shalt not steal (for some definition of steal), thou shalt not murder (for some definition of murder), and thou shalt not commit adultery (for some definition of adultery) are pretty universal.
The real issue is whether running your own software on a device you purchased is "stealing". Now if you were only *renting* your PS3, I could understand the seller getting upset with you running your own code. But people have to wake up and realize they are not really "buying" a device when they can only use it in the manner designated by the "seller". My solution is to campaign for the laws against false advertising to be enforced against such transactions.
We could combat these ISPs with a Consumer Reports approach. Develop a measuring methodology and put real world results for various tasks on a web page. Comcast advertising says "5 Mbit down"? Check the web page for what you *really* get for BitTorrent, HTTP download, and other common applications. If the measuring tool is easy to install and use, people could submit their own results - kind of like gasbuddy.com. Measurements would include the time it was taken, so that day vs night performance can be compared. Maps could show geographic areas where service is slow or fast.
I have Cox Home internet service in Northern Virginia, and I haven't had any problem. My contract limits me to 40Gbyte down and 10 Gbyte up per month - which I track using vnstat. After that, they could start throttling or even terminate me. My only complaint is that they don't make your current monthly bandwidth used available online. They want Joe Sixpack to always be frugal for fear of going over.
Furthermore, our Cox business internet (3Mbit symmetrical optical fiber) has no monthly bandwidth limits or throttling. I use it heavily for remote backups of clients, and haven't had any complaints from Cox.
If I decide to buy a pocketknife to go camping with should I have to pass a quiz about all the dangers I can do by using a pocketknife? No, but you do have to pass a quiz to get a drivers license, or fishing license, or hunting license (or to buy a gun). You have to pass a rather extensive quiz to fly an airplane or practice medicine publicly.
So is P2P a knife or a gun? Well, if HTTP is walking, then I would put P2P as a bicycle, but definitely not an automobile. Persecution of protocols is ridiculous anyway. P2P clients will just have to have a library of protocol plugins, and keep trying them (and port variations) until they find one the ISP is not blocking. That is what happens anyway on a manual basis.
It doesn't work unless you run an OS that tries to execute everything in sight with admin privileges. I have no idea why anyone would use such an OS, but it seems to be wildly popular nonetheless.
Well, the "auto-templates" do look a lot like that. But most of the modules use manually written templates with CSS stylesheets designed with DreamWeaver. The green screen data fields are mapped to HTML INPUT fields.
We have code from 1970's still in production. It was written for a Virtual Machine system called EDX for the IBM Series/1. The actual Series/1 hardware began to be replaced in the 1990's. Software written for the VM was instantly ported by porting EDX. We went with a Unix based port that ran on AIX, and now Linux. When Java came out in 1996, I wrote an API to allow EDX and Java code to invoke each other. The plan was to gradually replace all the EDX code (which was limited by a 16-bit address space among other things). 10 years later, there is a lot of new Java code integrated with the system, but very little rewriting. Last year, I added a web interface that maps the green screen UI to HTML. Customers like that much better because "we finally went to Windows".[*] Never mind that a web UI is actually more cumbersome than a curses interface for straight data entry (and a few users realize that).
[*] CentOS and Fedora desktops also evoke "you run Windows!" I used to correct them. But now I don't bother. Among the forces working against MS is trademark dilution. Customers may insist on "Windows", but they actually mean the UI paradigm pioneered at Xerox, not necessarily the MS brand. Of course, they quickly attach to the brand as soon as they need to run a 3rd party application. MS needs those 3rd party developers.
As I understand it, .NET has good support for dynamic languages like Ruby and Python via special dynamic opcode support. Java doesn't have that yet, but should have a dynamic method call opcode real soon now. Yes, Dynamic languages like Jython already run, and pretty well, but reflection (the obvious way to do a dynamic call) is slow, and machinery to cache and/or avoid it is ugly. Having a dynamic method call opcode that puts all that in the JVM and works for many dynamic lanuages would be an improvement.
The legal MS extensions to Java, the ones in the com.ms.* packages, were fine (well, except for the Morgan Stanley company having their standard java package prefix usurped), and were not what the lawsuit was about. They created Java applications superbly integrated with Windows - but not portable to any other platform, and were perfectly legal. That should have been enough lock in for even Microsoft. But that wasn't good enough for them.
The lawsuit was about their extensions to the java.* core packages - which were expressly forbidden in the license. The license was an actual signed contract. Microsoft tried to argue in court that the contract only applied to Java 1.0, and they could do whatever they wanted with future versions. The court didn't agree.
Having the core Java packages unpolluted is important for making it simple to ensure your application is run anywhere. (Well, except for bugs in native libraries or JVM.) To undo the damage, Sun ended up having to create the 100% Pure Java campaign with a program to check for core extensions.
It is really unfortunate. That was a good solution for all concerned (breaking up Microsoft). Having separate application and OS divisions would at least keep the OS division [more] honest. You would still have the Office monopoly and associated un-archivable file format problems.
I admit to voting for Bush, but I am voting for Ron Paul this time - even if it means a write in.
To the best of my knowledge, the split ordered by judge Jackson was never carried out - because he made unwise comments in public in a moment of anger over Microsoft behavior.
I am very anti-drugs and anti-porn, but these attempts to censor the internet are just stupid (or evil). Even with drugs, attempts to censor substances that might be abused is pointless. If you can't get cocaine (a substance quite healthful and safe in the very small naturally occurring quantities found in coca leaves), there are the other spices in the spice rack (I have a friend who blew her mind abusing nutmeg), or you can pick green mulberries (which are hallucinogenic). Our heighborhood is awash in green mulberries this time of year. Chop down all the trees! Think of the children!
The censorship of marijuana is especially ridiculous. In addition to being a *highly* useful plant for a host of purposes not involving getting stoned (which I consider abuse), it is so pervasive here in Virginia that police stations can't keep it from growing wild at their stations. Absolutely *anyone* could be charged with "production" of marijuana and their property seized at the whim of an officer.
The situation with porn is the same. The abuse makes the porn. Broadcast TV could be reasonably censored because the amount of content was small, and personally reviewed. I.e., a human made the judgment call as to whether a scene would "cause someone to stumble" I Cor 8:4-13. The best that can be done on the internet is to have a blacklist of truly evil IPs.
Thank you. That was more than I wanted to know (but still interesting). But the simple take home lesson for laymen (from your post and others) is that the question has come up (and I am not the first to mistakenly or deliberately make the treaty trump card interpretation - it seems to come up "regularly"), and the courts have so far decided that treaties are on the same level with federal law, and do not trump the federal constitution.
Does this mean that someone could challenge a treaty on the basis of constitutionality?
We had a client that insisted on using trivial passwords. The CEO said he wanted trivial passwords or we were fired as consultants. His main reason was that he wanted any employee to be able to use any other employees account (no, having the ability for an admin to reset a password wasn't good enough). I compromised by allowing trivial passwords only on the local LAN. Any remote access required real passwords. The psychology worked pretty well - having remote access was associated with being a power user, able to handle advanced passwords. Not perfect, but a good compromise. The CEO wasn't a power user, and fortunately had no interest in remote access.
They are really non-blocking, and use a standard Java API - the java.util.concurrent.atomic package. The description of the package indicates it was intended as the low level basis for non-blocking data structures. While most JVMs are written largely in C, the Java code gets compiled to machine language. Standard packages do not have to be implemented via JNI, and can be implemented directly by the JVM - just like GNU C implements many standard C library functions directly in the compiler for performance. In fact, java.util.concurrent.atomic would be a poor choice for implementing via JNI because the transition between C and Java code that happens on every JNI call would defeat the high performance purpose of the package.
Yes, Java didn't surpass, but was competitive with C++ many years ago - at least as far as CPU goes. In fact, if you use gcj, you'll find that Java performance is *very* similar to C++ :-). For the IBM JVM, the turning point was JDK 1.1.6. I think having each thread allocate blocks of memory to dish out without lock contention was a big part of it. One interesting benchmark was this.
Now, before you C/C++ or Java fanboys get too excited, the absolute hands down fastest language on most of the benchmarks was LISP (I think it was Common LISP). I don't use LISP because I hate the syntax (and LISP fanboys regard it as a requirement of club membership that you like it). But the performance is quite impressive (with GC too), and that's what I would look into if I needed top performance from a high level language. Eat your heart out C++.
I use Java quite a bit, and the biggest drawback performance wise is the amount of memory chewed up by the GC schemes and JIT. It is otherwise quite fast. I often turn off JIT to save memory (at the expense of CPU), and I would like to see options to use a GC algorithm that minimizes memory consumption (at the expense of CPU).
That is a good hypothesis. I have unusually sensitive hearing. I cannot use power tools without hearing protection. I cannot enjoy concerts at normal volume level. I can't stand noisy computers (give me quiet over a another Ghz any day). It will require some thought to set up a reasonably controlled experiment (e.g. me not knowing whether the switch is actually thrown).
A dowsing rod doesn't actually detect anything (even according to practitioners) - it is simply a device to magnify subconscious body language of the operator. The theory is that the human operator detects water via poorly understood senses below conscious awareness. Some dowsers don't bother with the rods, claiming to have trained themselves to become more aware of these senses.
I know I "see" something like a flash of light whenever someone turns on a fluorescent light with magnetic ballast in another room - so I don't think the idea of additional senses is completely crazy.
This was a most enlightening reply to my post. Apparently, I am not the only one to have read Article 6 the way I did - but there is court precedence for a less disturbing interpretation. Which is some comfort, anyway.
So you are saying our liberty ultimately hinges on the binding precedence of "or" vs "of"? I.e., is it "(the Constitution) or (laws of any State)" or is it "the (Constitution or laws) of any State". In my 49 years as a native English speaker, "of" has always taken precedence over "or". But maybe things were different in the 1700's.
was studying passenger jets, not Al Qaida literature. The real terrorists plotting a crime have already been recruited, and don't need to read any more Al Qaida stuff. Arresting someone for reading Al Qaida stuff is at best a "pre-crime": they might be converted and decide to commit crimes in the future so we have to stop them now. More likely, this is another case of panicked stupidity causing the innocent to suffer.
Maybe EDE is a better GUI for OLPC. Starting the GUI instantly would be nice (takes about 10 seconds to restart sugar).
The real issue is whether running your own software on a device you purchased is "stealing". Now if you were only *renting* your PS3, I could understand the seller getting upset with you running your own code. But people have to wake up and realize they are not really "buying" a device when they can only use it in the manner designated by the "seller". My solution is to campaign for the laws against false advertising to be enforced against such transactions.
Actually, pay per purchase would go a long way to solving the problem with click monkeys. Google should look into it.
That's great if you have DSL. Or is the name misleading?
We could combat these ISPs with a Consumer Reports approach. Develop a measuring methodology and put real world results for various tasks on a web page. Comcast advertising says "5 Mbit down"? Check the web page for what you *really* get for BitTorrent, HTTP download, and other common applications. If the measuring tool is easy to install and use, people could submit their own results - kind of like gasbuddy.com. Measurements would include the time it was taken, so that day vs night performance can be compared. Maps could show geographic areas where service is slow or fast.
Furthermore, our Cox business internet (3Mbit symmetrical optical fiber) has no monthly bandwidth limits or throttling. I use it heavily for remote backups of clients, and haven't had any complaints from Cox.
So is P2P a knife or a gun? Well, if HTTP is walking, then I would put P2P as a bicycle, but definitely not an automobile. Persecution of protocols is ridiculous anyway. P2P clients will just have to have a library of protocol plugins, and keep trying them (and port variations) until they find one the ISP is not blocking. That is what happens anyway on a manual basis.
It doesn't work unless you run an OS that tries to execute everything in sight with admin privileges. I have no idea why anyone would use such an OS, but it seems to be wildly popular nonetheless.
Well, the "auto-templates" do look a lot like that. But most of the modules use manually written templates with CSS stylesheets designed with DreamWeaver. The green screen data fields are mapped to HTML INPUT fields.
[*] CentOS and Fedora desktops also evoke "you run Windows!" I used to correct them. But now I don't bother. Among the forces working against MS is trademark dilution. Customers may insist on "Windows", but they actually mean the UI paradigm pioneered at Xerox, not necessarily the MS brand. Of course, they quickly attach to the brand as soon as they need to run a 3rd party application. MS needs those 3rd party developers.