Most of Universal Declaration of Human Rights is well outside of anything supported by US laws. If anything, US is farther from implementing it than any other wealthy country.
Not necessarily so. Elevating free speech over other rights is a part of American ideology, however it is not universally accepted, certainly not in Europe or Asia.
Do you think people should *not* decide for themselves if they're going to develop a new software project instead of contributing to an existing one?
People can decide to jump off a cliff if they think, it's a great idea. This does not mean that others have to support their stupid decisions, or avoid protesting, ignoring or ridiculing them in public just because of some kind of "freedom-loving" ideology.
Seriously though, I think every doctrine derived from the bible (or any "holy book") is inevitably derived from an interpretation of the bible, not from the book itself. In other words, if you have 100 people read the bible a couple of times and then ask them about their ideas on god (or what the true christian doctrine should be like), you'll get 100 different answers.
That's because the bible is full of stupid shit that can not be implemented in any kind of society. The only thing it's good for is justification of various acts of idiocy by selective quoting, and this is why religious people are so often recruited to do things that the rest of society (including other religious people) considers stupid, evil or both.
Just like Libertarian ideology, except it's used to justify only one thing -- granting ever-expanding power to entities that managed to seize control over some resources.
I don't really understand the meaning and relevance of your comment. It looks like you're saying, hey, you like freedom of choice, you're a fucking libertarian?
Precisely so. Choice is always limited by the very nature of society, the only question is the nature and degree of those limitations.
If so, so fucking what?
Also, I've never approached any stranger by sticking a gun at him and saying hi. Is that the way libertarians in America treat strangers on the street? It doesn't sound like a libertarian thing to do though.
Obviously Libertarians imagine something different, however that's only because they are too stupid to realize what would happen if they actually consistently applied their ideas to reality.
One probably wouldn't recognize it as a Christian thing to do if a person responsible for nuclear weapons launched an ICBM at his home town after experiencing a hallucination, however that would be the only consistent way to implement Christian doctrine (as the equivalent of Abraham's sacrifice -- you must trust anything you see as God talking to you, no matter how little sense it makes and how much damage would happen as its obvious consequences).
No. In a good world, people are free to do as they see fit, as long as they can do so without harming others. The whole "people *must*collaborate* to make it a good world" thing is nothing but idealism, which in practice would take the freedom away to do anything but join the existing one party with a project going on.
Fuck Libertarians. Seriously, fuck them and their stupid fantasy world where the proper way of walking past a stranger on the street is to point a gun at him and say "Hi".
Yes -- if it will be a party with a few thousand members (on Slashdot it's entirely possible), and if Republicans and Democrats will not be allowed to spend more than Anti-amRadioHed-ians did.
It's not CPU, it's RAM. I am posting this from XO laptop with 256M of RAM and 430MHz(!) CPU, and it runs Firefox 3.0.3 without any problems. However Xubuntu does not work with 128M of RAM.
CPU can be very slow before becoming a bottleneck, however 256M of RAM is pretty much the minimum for any "traditional" desktop. You can install Window Maker or fluxbox instead of full desktop, however it will be still slow with any modern web browser -- under any OS.
You've just explained why Python on a phone is a dumb idea. Have you ever looked at the memory usage of a Python program? Java is bad but Python is absolutely insane. For the longest time (and perhaps this is still true) the Python interpreter just never released memory back to the OS once it had been allocated. That's how much they cared about memory usage.
It was fixed in 2.5.
I have just checked how a Python GUI (GTK) program looks like in memory, and most of its memory usage is libraries (written in C) that its numerous modules load, not the interpreter's data itself. In reduced environment memory usage can be easily reduced as libraries are scaled down.
You've just explained why Python on a phone is a dumb idea. Have you ever looked at the memory usage of a Python program? Java is bad but Python is absolutely insane. For the longest time (and perhaps this is still true) the Python interpreter just never released memory back to the OS once it had been allocated. That's how much they cared about memory usage.
It was fixed in 2.5.
I have just checked how a Python GUI (GTK) program looks like in memory, and most of its memory usage is libraries (written in C) that its numerous modules load, not the interpreter's data itself. In reduced environment memory usage can be easily reduced as libraries are scaled down.
You haven't checked in quite a while, then. Smart cards these days run some pretty sophisticated calculations, with lots of crypto, dynamically-loaded programs
Dynamic loading happens once -- as long as it happens at all, you are fine.
(stored in EEPROM, not ROM),
EEPROM is a form of ROM.
with dynamic allocation, garbage collection,
If you use dynamic memory allocation and especially garbage collection while doing encryption of data passing through your card, something must be terribly wrong with your algorithm. I don't think, anyone even remotely sane would use those features of Java in those conditions.
Otherwise you will just have terrible startup time that no one cares about because it only happens when device is turned on or card is inserted.
fairly deep stacks (the biggest consumer of RAM), etc.
If stack is "the biggest consumer of RAM", then you don't use dynamic allocation much.
Phone applications, on the other hand, deal with dynamically allocated data all the time.
Actually, the biggest reason for avoiding JNI is that it sucks. For the important libraries, though, the JNI drudgery has already been done for you. This is certainly the case on Android.
So what is the benefit compared to C, C++ and Python that not only have those native interfaces but also don't suck at it because this is how those languages are intended to be used?
It accomplishes plenty: The high performance of Java Virtual Machines means that the application code -- you know, the stuff that you download that makes your phone do the cool stuff you want -- runs fast.
Running on an Intel box with 2G of RAM and compared to C++ code written by a Java programmer who believes that C++ is a dialect of Java and writes accordingly -- yes, what was the case with all "proofs" I have seen. Compared to non-crippled native code -- no. In an environment where memory is limited yet the problem requires nontrivial manipulations with it over the course of running the program -- not even comparable.
There are other reasons as well... you tried to discount the availability of Java developers by comparing them to Visual Basic developers, but that's an invalid comparison. Most Java programmers, like most Python programmers, and unlike most VB programmers, are real programmers who know what they're doing and know how to use their tools effectively... and there are far MORE Java programmers than Python programmers.
I don't question the fact that there are good Java programmers. I disagree that "most (anything) programmers are real programmers" because most programmers are actually clueless idiots unless they work in the area specifically inaccessible for clueless idiots -- what GUI applications development in VB, C#, Java and Python is not.
However I am sure, large Java-based pieces of infrastructure in environment where Java clearly provides no benefit, appear only in the hope to attract those large numbers of "I think, I can program in Java" people, and not "real programmers" who usually aren't tied to a single language learned in a crash course.
All in all, there are points we can debate, but the main point is that your casual dismissal of Java doesn't make sense. Java does have some real advantages, and it's not unreasonable to believe they outweigh Python's advantages in this context. It's possible to argue the converse, but what is not possible is to rationally argue that Java is a completely stupid choice -- as evidenced by the fact that by all reports, it's working very well for Android.
Compared to what, Windows Mobile with.net? The OS that killed the whole PDA market by turning devices into unusable toys sold entirely on the promise of running "Windows" (when it was called Windows CE), and later re-appearing on smartphones that are sold only through carriers?
How about comparing to, say, Symbian (what high-end Nokia phones run)? It has its own problems, but its performance is not hindered by some mutated ideology like in the case of Java-only "stacks".
...then they shifted the phase by pi/4 and started making real children, and no one cared because real-life sex is OK. But pi/4 further turned it into making imaginary kids, and then everyone was outraged because at this rate it was getting dangerously close to killing real kids.
Who knew that American game censors understand functions of a complex variable?
You also can't be talking about memory, because while the desktop and server versions of the Java libs are huge, and memory requirements follow suit, Java for mobile devices is a different beast. Heck, I write Java for smart cards from time to time, and those JVMs run happily on devices with less than one KB of RAM.
Last time I checked, smartcards never do anything but perform calculations -- in theory they should be able to work with eight bytes of RAM and the rest of program in ROM.
In real applications memory limitations change things completely, but a more important question is, WHY WOULD ANYONE WANT TO STUFF MASSIVE INFRASTRUCTURE OF JAVA TO RUN APPLICATIONS ON A SMALL, SIMPLE DEVICE? Java's only excuse for existence is that it allows code to be shipped to user without knowing his hardware platform and without giving him the source. This is absolutely irrelevant in the case of phones -- not only hardware but the whole OS is known, compatibility will be broken between major versions and incompatible devices anyway, and hiding the source accomplishes nothing of importance.
Java is perfectly suited to today's mobile devices, and if it weren't, if the devices were too slow/small to support a virtual machine approach, Python would NOT be the answer. The answer would be an on-the-metal language like C, or C++.
When Python program runs, most of the code that takes any noticeable resources is actually libraries written in C. Java is chock-full of pieces of its authors' ideology, and one of those pieces is the idea that everything that can be implemented in Java must be implemented in Java, so Java ends up being more "consistent" but inefficient.
There is an interface to native methods/libraries, but they are supposed to be avoided to achieve "portability". On a mobile device within fixed OS/libraries infrastructure it accomplishes nothing. One can cut away the rest of library and stuff Java where Python or C++ would otherwise be, but then what is the advantage? Supposed purity of Java OO? But then Lisp is better, so we should praise Emacs phone! Large number of developers who think, they can write software in Java? Sounds just like.net that apparently didn't help Windows Mobile to become less of a dud. Most of those people are better to be kept as far from phones as possible. Then what? Being a fad that is being stuffed into everything? Let's run a web server with backend in Ruby on Rails, that's a more recent and therefore superior fad.
The java mobile stack is very different to the standard stack, like the only thing it has in common being the.class file format;
And the whole language implementation. And the whole design based entirely on the ideas that poorly apply to embedded and semi-embedded environments. All for the sake of platform independence (runs on ARM and... faster ARM), sophisticated object-oriented language (mostly used to build overcomplicated GUI that would not be appropriate for a phone), and to support the use of massive librarird (that as you have noticed are suspiciously absent in mobile versions).
Python (AFAIK) only has the PC-optimised version (as well as java and.net implementations, but they're also PC-optimised...)
Please, once in a while try to stick your nose outside the Microsoft world. Python is portable, relatively lightweight, and is not based on ambition to build whole applications and all their libraries in "pure Python", so for everything performance-critical it uses libraries written in C. I have given it as just one example of a language that would make more sense.
Celphone: $60/mo -- but you can only use its data functionality with crippled browser.
Data plan that allows you to attach a computer: $60/mo more on top of that.
Worse yet, Verizon until recently didn't keep theit users from using their "1x" data service, only asking for $60/mo to get access to faster EV-DO network. Now "1x" is blocked unless, of course, the user bypasses their retarded configuration that allows them to distinguish calls from the phone itself from calls made through the phone using USB or Bluetooth connection.
If someone expects me, or any significant fraction of users, to pay $120/mo for ANY kind of celphone service, he is deluding himself.
(This response was written on XO laptop, and sent through T-Mobile wifi connection.)
No, it's true. They do fall under reproduction, as it is defined in the statutes and case law.*
Based on what exactly? Dictionary definition?
The whole problem with application of old laws to new situations is, all such definitions are supposed to be interpreted "reasonably", and lawyers have some very strange ideas of what "reasonable" is.
Nevertheless, a shadow of a statue and a copy in RAM are both short-lived patterns formed by changes in electromagnetic waves -- every object "reproduces" itself in this manner endlessly.
Worse yet, just like a statue can not perform its function of an object of art without being seen, file's only purpose is being loaded into RAM, uncompressed and viewed/listened by the user. It's very much contrary to the idea of copyright to make it illegal to view a work of art by a person who already owns a copy, thus requiring a separate license to do so. Imagine that a statue was sold in a box, and there was some license with crazy demands like "you can only look at it at midnight while reciting your customer key" attached to it.
Most of Universal Declaration of Human Rights is well outside of anything supported by US laws. If anything, US is farther from implementing it than any other wealthy country.
Actually his name is Lifshitz.
I don't think, Republicans need any help in looking bad.
anti-racist-speech laws violate free speech
True.
and are bad laws.
Not necessarily so. Elevating free speech over other rights is a part of American ideology, however it is not universally accepted, certainly not in Europe or Asia.
When on Slashdot, troll like Slashdot trolls troll.
Nope. Frying eyeballs is against the laws of War. And believe it or not, the US Military *does* believe in them.
As in, "shock and awe" ( == "maximize civilian casualties")?
Do you think people should *not* decide for themselves if they're going to develop a new software project instead of contributing to an existing one?
People can decide to jump off a cliff if they think, it's a great idea. This does not mean that others have to support their stupid decisions, or avoid protesting, ignoring or ridiculing them in public just because of some kind of "freedom-loving" ideology.
Seriously though, I think every doctrine derived from the bible (or any "holy book") is inevitably derived from an interpretation of the bible, not from the book itself. In other words, if you have 100 people read the bible a couple of times and then ask them about their ideas on god (or what the true christian doctrine should be like), you'll get 100 different answers.
That's because the bible is full of stupid shit that can not be implemented in any kind of society. The only thing it's good for is justification of various acts of idiocy by selective quoting, and this is why religious people are so often recruited to do things that the rest of society (including other religious people) considers stupid, evil or both.
Just like Libertarian ideology, except it's used to justify only one thing -- granting ever-expanding power to entities that managed to seize control over some resources.
I don't really understand the meaning and relevance of your comment. It looks like you're saying, hey, you like freedom of choice, you're a fucking libertarian?
Precisely so. Choice is always limited by the very nature of society, the only question is the nature and degree of those limitations.
If so, so fucking what?
Also, I've never approached any stranger by sticking a gun at him and saying hi. Is that the way libertarians in America treat strangers on the street? It doesn't sound like a libertarian thing to do though.
Obviously Libertarians imagine something different, however that's only because they are too stupid to realize what would happen if they actually consistently applied their ideas to reality.
One probably wouldn't recognize it as a Christian thing to do if a person responsible for nuclear weapons launched an ICBM at his home town after experiencing a hallucination, however that would be the only consistent way to implement Christian doctrine (as the equivalent of Abraham's sacrifice -- you must trust anything you see as God talking to you, no matter how little sense it makes and how much damage would happen as its obvious consequences).
No. In a good world, people are free to do as they see fit, as long as they can do so without harming others. The whole "people *must*collaborate* to make it a good world" thing is nothing but idealism, which in practice would take the freedom away to do anything but join the existing one party with a project going on.
Fuck Libertarians. Seriously, fuck them and their stupid fantasy world where the proper way of walking past a stranger on the street is to point a gun at him and say "Hi".
Yes -- if it will be a party with a few thousand members (on Slashdot it's entirely possible), and if Republicans and Democrats will not be allowed to spend more than Anti-amRadioHed-ians did.
It's not CPU, it's RAM. I am posting this from XO laptop with 256M of RAM and 430MHz(!) CPU, and it runs Firefox 3.0.3 without any problems. However Xubuntu does not work with 128M of RAM.
CPU can be very slow before becoming a bottleneck, however 256M of RAM is pretty much the minimum for any "traditional" desktop. You can install Window Maker or fluxbox instead of full desktop, however it will be still slow with any modern web browser -- under any OS.
(missing quotes...)
You've just explained why Python on a phone is a dumb idea. Have you ever looked at the memory usage of a Python program? Java is bad but Python is absolutely insane. For the longest time (and perhaps this is still true) the Python interpreter just never released memory back to the OS once it had been allocated. That's how much they cared about memory usage.
It was fixed in 2.5.
I have just checked how a Python GUI (GTK) program looks like in memory, and most of its memory usage is libraries (written in C) that its numerous modules load, not the interpreter's data itself. In reduced environment memory usage can be easily reduced as libraries are scaled down.
You've just explained why Python on a phone is a dumb idea. Have you ever looked at the memory usage of a Python program? Java is bad but Python is absolutely insane. For the longest time (and perhaps this is still true) the Python interpreter just never released memory back to the OS once it had been allocated. That's how much they cared about memory usage.
It was fixed in 2.5.
I have just checked how a Python GUI (GTK) program looks like in memory, and most of its memory usage is libraries (written in C) that its numerous modules load, not the interpreter's data itself. In reduced environment memory usage can be easily reduced as libraries are scaled down.
You haven't checked in quite a while, then. Smart cards these days run some pretty sophisticated calculations, with lots of crypto, dynamically-loaded programs
Dynamic loading happens once -- as long as it happens at all, you are fine.
(stored in EEPROM, not ROM),
EEPROM is a form of ROM.
with dynamic allocation, garbage collection,
If you use dynamic memory allocation and especially garbage collection while doing encryption of data passing through your card, something must be terribly wrong with your algorithm. I don't think, anyone even remotely sane would use those features of Java in those conditions.
Otherwise you will just have terrible startup time that no one cares about because it only happens when device is turned on or card is inserted.
fairly deep stacks (the biggest consumer of RAM), etc.
If stack is "the biggest consumer of RAM", then you don't use dynamic allocation much.
Phone applications, on the other hand, deal with dynamically allocated data all the time.
Actually, the biggest reason for avoiding JNI is that it sucks. For the important libraries, though, the JNI drudgery has already been done for you. This is certainly the case on Android.
So what is the benefit compared to C, C++ and Python that not only have those native interfaces but also don't suck at it because this is how those languages are intended to be used?
It accomplishes plenty: The high performance of Java Virtual Machines means that the application code -- you know, the stuff that you download that makes your phone do the cool stuff you want -- runs fast.
Running on an Intel box with 2G of RAM and compared to C++ code written by a Java programmer who believes that C++ is a dialect of Java and writes accordingly -- yes, what was the case with all "proofs" I have seen. Compared to non-crippled native code -- no. In an environment where memory is limited yet the problem requires nontrivial manipulations with it over the course of running the program -- not even comparable.
There are other reasons as well... you tried to discount the availability of Java developers by comparing them to Visual Basic developers, but that's an invalid comparison. Most Java programmers, like most Python programmers, and unlike most VB programmers, are real programmers who know what they're doing and know how to use their tools effectively... and there are far MORE Java programmers than Python programmers.
I don't question the fact that there are good Java programmers. I disagree that "most (anything) programmers are real programmers" because most programmers are actually clueless idiots unless they work in the area specifically inaccessible for clueless idiots -- what GUI applications development in VB, C#, Java and Python is not.
However I am sure, large Java-based pieces of infrastructure in environment where Java clearly provides no benefit, appear only in the hope to attract those large numbers of "I think, I can program in Java" people, and not "real programmers" who usually aren't tied to a single language learned in a crash course.
All in all, there are points we can debate, but the main point is that your casual dismissal of Java doesn't make sense. Java does have some real advantages, and it's not unreasonable to believe they outweigh Python's advantages in this context. It's possible to argue the converse, but what is not possible is to rationally argue that Java is a completely stupid choice -- as evidenced by the fact that by all reports, it's working very well for Android.
Compared to what, Windows Mobile with .net? The OS that killed the whole PDA market by turning devices into unusable toys sold entirely on the promise of running "Windows" (when it was called Windows CE), and later re-appearing on smartphones that are sold only through carriers?
How about comparing to, say, Symbian (what high-end Nokia phones run)? It has its own problems, but its performance is not hindered by some mutated ideology like in the case of Java-only "stacks".
...then they shifted the phase by pi/4 and started making real children, and no one cared because real-life sex is OK. But pi/4 further turned it into making imaginary kids, and then everyone was outraged because at this rate it was getting dangerously close to killing real kids.
Who knew that American game censors understand functions of a complex variable?
You also can't be talking about memory, because while the desktop and server versions of the Java libs are huge, and memory requirements follow suit, Java for mobile devices is a different beast. Heck, I write Java for smart cards from time to time, and those JVMs run happily on devices with less than one KB of RAM.
Last time I checked, smartcards never do anything but perform calculations -- in theory they should be able to work with eight bytes of RAM and the rest of program in ROM.
In real applications memory limitations change things completely, but a more important question is, WHY WOULD ANYONE WANT TO STUFF MASSIVE INFRASTRUCTURE OF JAVA TO RUN APPLICATIONS ON A SMALL, SIMPLE DEVICE? Java's only excuse for existence is that it allows code to be shipped to user without knowing his hardware platform and without giving him the source. This is absolutely irrelevant in the case of phones -- not only hardware but the whole OS is known, compatibility will be broken between major versions and incompatible devices anyway, and hiding the source accomplishes nothing of importance.
Java is perfectly suited to today's mobile devices, and if it weren't, if the devices were too slow/small to support a virtual machine approach, Python would NOT be the answer. The answer would be an on-the-metal language like C, or C++.
When Python program runs, most of the code that takes any noticeable resources is actually libraries written in C. Java is chock-full of pieces of its authors' ideology, and one of those pieces is the idea that everything that can be implemented in Java must be implemented in Java, so Java ends up being more "consistent" but inefficient.
There is an interface to native methods/libraries, but they are supposed to be avoided to achieve "portability". On a mobile device within fixed OS/libraries infrastructure it accomplishes nothing. One can cut away the rest of library and stuff Java where Python or C++ would otherwise be, but then what is the advantage? Supposed purity of Java OO? But then Lisp is better, so we should praise Emacs phone! Large number of developers who think, they can write software in Java? Sounds just like .net that apparently didn't help Windows Mobile to become less of a dud. Most of those people are better to be kept as far from phones as possible. Then what? Being a fad that is being stuffed into everything? Let's run a web server with backend in Ruby on Rails, that's a more recent and therefore superior fad.
Modern mobile devices have fast CPUs yet very limited RAM. And no swap.
No.
The java mobile stack is very different to the standard stack, like the only thing it has in common being the .class file format;
And the whole language implementation. And the whole design based entirely on the ideas that poorly apply to embedded and semi-embedded environments. All for the sake of platform independence (runs on ARM and... faster ARM), sophisticated object-oriented language (mostly used to build overcomplicated GUI that would not be appropriate for a phone), and to support the use of massive librarird (that as you have noticed are suspiciously absent in mobile versions).
Python (AFAIK) only has the PC-optimised version (as well as java and .net implementations, but they're also PC-optimised...)
Please, once in a while try to stick your nose outside the Microsoft world. Python is portable, relatively lightweight, and is not based on ambition to build whole applications and all their libraries in "pure Python", so for everything performance-critical it uses libraries written in C. I have given it as just one example of a language that would make more sense.
Celphone: $60/mo -- but you can only use its data functionality with crippled browser.
Data plan that allows you to attach a computer: $60/mo more on top of that.
Worse yet, Verizon until recently didn't keep theit users from using their "1x" data service, only asking for $60/mo to get access to faster EV-DO network. Now "1x" is blocked unless, of course, the user bypasses their retarded configuration that allows them to distinguish calls from the phone itself from calls made through the phone using USB or Bluetooth connection.
If someone expects me, or any significant fraction of users, to pay $120/mo for ANY kind of celphone service, he is deluding himself.
(This response was written on XO laptop, and sent through T-Mobile wifi connection.)
Java, Java, Java, Java,
Java, Java, Java, Java,
mushroom(*), mushroom!
Java, Java, Java, Java,
Java, Java, Java, Java,
Java, Java, Java, Java,
mushroom, mushroom!
Java, Java, Java, Java,
Java, Java, Java, Java,
Java, Java, Java, Java,
Oh, snake(**), oh, snake! Oh, it's a snake!
--
(*) Obviously a hallucinogenic kind that they have at Google if they think, Java is appropriate for mobile devices
(**) Python that ironically is also developed by a person who works for Google -- and would be more appropriate for the purpose.
Enough processing power to run a fast browser. Something at the Atom/Via level.
18 hour or better battery life.
I would like a perpetual motion machine, too.
No, it's true. They do fall under reproduction, as it is defined in the statutes and case law.*
Based on what exactly? Dictionary definition?
The whole problem with application of old laws to new situations is, all such definitions are supposed to be interpreted "reasonably", and lawyers have some very strange ideas of what "reasonable" is.
Nevertheless, a shadow of a statue and a copy in RAM are both short-lived patterns formed by changes in electromagnetic waves -- every object "reproduces" itself in this manner endlessly.
Worse yet, just like a statue can not perform its function of an object of art without being seen, file's only purpose is being loaded into RAM, uncompressed and viewed/listened by the user. It's very much contrary to the idea of copyright to make it illegal to view a work of art by a person who already owns a copy, thus requiring a separate license to do so. Imagine that a statue was sold in a box, and there was some license with crazy demands like "you can only look at it at midnight while reciting your customer key" attached to it.
Copying things to memory, copying things to other formats, making copies for personal use -- all of those fall under reproduction.
RIAA lawyer spotted.
I once stood in a shadow of a very expensive statue...
plox