i seem to remember that even non-open-source programs can still be run through a decompiler (albeit not necessarily legally, thanks to the shrink-wrap license.)
Sadly, there don't seem to be any good free (either speech or beer) general-purpose decompilers. There are several for Java, but Java is easier to decompile because programs carry extra information for verification purposes.
and sheesh, some C people can read assembly code just as easily as if it -were- C. it's practically the same thing.
Depends. C may be messed up but it's not nearly as messed up as, say, x86 assembly. And the compiler will reorder blocks, functions, and data, so things that were nearby in the source can be far away in the binary.
Processor dispatch allows the compiler to generate multiple optimized code paths and dynamicaly select which optimized version of the routine to use...
Interesting. I wonder how hard it would be to implement something like that for gcc.
Is this some sort of cruel joke? Do you like running slow code?
The number of programs where a speedup of 5% or 10% makes a big difference is very small. Most programs are IO-bound or memory-bound anyways. For a huge number-crunching application that is going to be running for a week or two, though, a 10% speedup makes a big difference.
The Linux kernel specifically requires gcc because it uses gcc extensions. But it should be possible to recompile the usermode code with the Intel's compiler. Even glibc may be worth trying (if you bought the compiler).
The Intel compiler has supported compiling the kernel with it for a few versions now, I believe. It may require a few kernel patches, but I think some of them have been accepted into the kernel tree. Intel has a web page about it.
"Today
most people who have a computer do not really completely control their computer. They run a Microsoft OS, and they will never put any sniffers on their connection to the Net. Viruses, Trojans, and worms parasitize their machines. In general, it is hard to get any Microsoft system to do what you want. But some folk actually have pretty good control of their computers. Palladium is designed to ensure the continuation of the situation for most users, and to prevent the sale and use of computers which can be controlled by the user.
If you don't read that closely, it might look like he's talking about how viruses and worms reduce many people's control over their computer. But he's really saying that Microsoft wants to ensure that everyone doesn't really control their computer.
"Since today
Microsoft's control is not complete over machines running a Microsoft OS, many home users copy and re-distribute popular songs, whose copyrights the home user does not have. So the real issues are not clear, and discussion of Palladium in most newspapers is centered on political questions of copyright law and practice."
What's not clear? He all but says that Microsoft wants to control your computer to stop you from copying songs - and, I assume, software.
Really, I was expecting something at least a little subtle.
Bruce was only partly correct. That particular section of the GPL says that you must do only one of three things, one of which Bruce pointed out, and another being what the original posted pointed out (giving the source to whomever receives the binaries).
That only works if you give the source to everyone who gets the binaries, not just those who ask for it.
An apostrophe is correct when used between a number (figure) and a pluralizing "s". Shamelessly copied from Merriam-Webster:
Main Entry: apostrophe Function: noun Etymology: Middle French & Late Latin; Middle French, from Late Latin apostrophus, from Greek apostrophos, from apostrophos turned away, from apostrephein Date: 1727 : a mark ' used to indicate the omission of letters or figures, the possessive case, or the plural of letters or figures
The GPL states that those that distribute GPLed software must provide the source to the recipients of the distributions upon request. That does NOT mean that they have to make the source available on their website. It means that people you receive the ditribution, in the form of the DVD player, must receive the source upon request.
The thread started with a request by an owner of the DVD player, to Liteon, for the source. The request was refused. If that's not a clear violation, I don't know what is.
Also, as Bruce Perens pointed out in another comment, the GPL requires that you offer to provide the source code to anyone, not just people who own the DVD player.
The GPL fanatics deeply amuse me. I've run into more than one GPL nut who just happened to be running unlicensed copies of Windoze and/or M$ Office and/or Visual Studio.
I may not be a "fanatic" or "nut", but I'm definitely pro-GPL. Every copy of Windows, Office and Visual Studio I've run - I've used all three - has been licensed. In fact, every Microsoft product I've run has been licensed. I currently use OpenOffice.org and gcc, but I dual-boot with a licensed (came with my laptop) copy of Windows XP. If I didn't have a license, I wouldn't run it.
On the other hand, I bet you could find quite a few people who have never heard of the GPL, but run unlicensed software. You can also find many "GPL nuts" who don't run Microsoft software at all.
would be the correct way achieve that end (almost). The compiler would observe that the address of d had been taken, and not assume it was "dead" after the assignment. Then, i would get initialized via the pointer. No optimizer would damage such code.
GCC can, will and does damage code that does type punning with pointers. Using a union is the only way guaranteed to work. Read the gcc documentation for -fstrict-aliasing, which is now enabled by default. It explicitly says that code using unions will work, while similar code using pointers will not. The example given for how to convert types correctly is
Of course, buggy code is more likely actually to fail under aggressive optimization. I've certainly had to maintain lots of buggy code, although of course I never write any of it myself. (Did you know that
union { char c[8]; double d; } u;
u.d = 1.0;
char c = u.c[1];
yields undefined results? The compiler is allowed (and under -O3, encouraged) to generate code that will erase your disk and impregnate your sister.)
Sorry, you're wrong, for two reasons: - A char* can be used to point to anything. - You can write to one member of a union and read from another.
Both of those are implementation-defined, not undefined. Undefined means the compiler can blow up your computer. Implementation-defined means that the compiler must do something consistent and documented.
The options available under the GNU GPL for distributing binaries of GPL software are
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,...
The GNU GPL FAQ explains what this means applied to downloads:
Q: Does the GPL allow me to charge a fee for downloading the program from my site? A: Yes. You can charge any fee you wish for distributing a copy of the program. If you distribute binaries by download, you must provide "equivalent access" to download the source--therefore, the fee to download source may not be greater than the fee to download the binary.
So, if they're allowing you to download the source from their website, they can't charge more for it than they charge for the binary. If they're offering to mail a physical CD/floppy, their costs might be higher (a blank CD, mailer, postage, and the salary of someone to burn and mail it). In either case, you should be able to get a copy from them and then put a copy of it on an FTP site somewhere.
By downloading this software you agree to the terms of its use. With each copy of software from theKompany.com you are purchasing the right for a single person to use it on a single computer. You are not allowed to distribute the application or modify it in any way. The source is not provided and the application is provided "as is" with no warranty given or implied. Use of the software is at your own risk, however theKompany will make its best effort to support the software.
The GPL specifically prohibits them from denying you the right to make further copies once you buy a copy from them, or the right to modify it (see section 4 of the GPL). If they actually tried to enforce that, they would be in violation of the GPL.
Once again, IANAL, so consult a real lawyer before doing anything legally. The FSF's FAQ is a good place to look for answers to these sorts of questions.
> Bitch and moan all you like, but can you hot-plug a usb mouse in a laptop running XFree and be able to use it immediately without quitting/restarting XFree and/or editing XF86Config? Thought so.
I'm using Red Hat 9.0, and the answer is a definite "yes, I can". I can plug in a USB mouse and use either the mouse or the builtin trackpad of my laptop interchangably, without touching XF86Config. It works exactly like it does in Windows XP.
This article from the same site has a few more details about the incident. The satellite was a polar-orbiting environmental satellite used to monitor weather and climate. It was upright when it fell.
This is countered by the fact that a large block of votes is more powerful than the same votes individually. Game theory has ways of calculating the relative power of different size blocks of votes. The book Game Theory (3rd ed), by Guillermo Owen, has calculations for the relative power of voters in various states in 1970 (yes it's out of date), relative to Washington D.C., using two different indices. Here are the values for some interesting states:
Shapley Banzhaf California 3.17 3.14 New York 2.98 2.96 Pennsylvania 2.34 2.34 Alaska 1.58 1.58 Wyoming 1.51 1.51 Montana 1.39 1.39 Nebraska 1.19 1.19 Maine 1.16 1.16 Utah 1.13 1.13 Wash. D.C. 1.00 1.00
So actually, a voter in Montana has only about half the power of a voter in California or New York to decide the outcome of the presidential election. The ones who really get shafted are people in states that aren't big enough to have lots of electors, but aren't small enough to have lots of electors per capita.
I do permanent absentee voting. In fact, I just finished filling out my ballot. It's very convenient - without it I probably wouldn't bother going to the polls for elections like this one (midterm, no senate race in my state).
If a broad spectrum bacteriophage was possible, the possibility of it never happening by random mutation is approximately 0.00000000% (viruses mutate very quickly, and there are lots and lots and lots of them). And if it happened, being able to infect all bacteria would be such a terrific advantage that it would already have overrun the planet. So the fact that no such virus has wiped out the foodchain yet is a good reason to think that it's impossible.
> So you eat bateria to kill a virus. (I thought viruses merged with your DNA...).
If you had actually read the article you would notice that it's the other way around. Viruses kill bacteria all the time, but you can't "kill" a virus because it's not clear they're even alive.
i seem to remember that even non-open-source programs can still be run through a decompiler (albeit not necessarily legally, thanks to the shrink-wrap license.)
Sadly, there don't seem to be any good free (either speech or beer) general-purpose decompilers. There are several for Java, but Java is easier to decompile because programs carry extra information for verification purposes.
and sheesh, some C people can read assembly code just as easily as if it -were- C. it's practically the same thing.
Depends. C may be messed up but it's not nearly as messed up as, say, x86 assembly. And the compiler will reorder blocks, functions, and data, so things that were nearby in the source can be far away in the binary.
Processor dispatch allows the compiler to generate multiple optimized code paths and dynamicaly select which optimized version of the routine to use ...
Interesting. I wonder how hard it would be to implement something like that for gcc.
Is this some sort of cruel joke? Do you like running slow code?
The number of programs where a speedup of 5% or 10% makes a big difference is very small. Most programs are IO-bound or memory-bound anyways. For a huge number-crunching application that is going to be running for a week or two, though, a 10% speedup makes a big difference.
Overall, it's probably not worth using unless you really need a compiler that generates fast code.
The Linux kernel specifically requires gcc because it uses gcc extensions. But it should be possible to recompile the usermode code with the Intel's compiler. Even glibc may be worth trying (if you bought the compiler).
The Intel compiler has supported compiling the kernel with it for a few versions now, I believe. It may require a few kernel patches, but I think some of them have been accepted into the kernel tree. Intel has a web page about it.
Quite a lot of information about this bacteria (Geobacter sulfurreducens) can be found at the Geobacter project home page.
Oops, you're right. Never mind....
If you don't read that closely, it might look like he's talking about how viruses and worms reduce many people's control over their computer. But he's really saying that Microsoft wants to ensure that everyone doesn't really control their computer.
What's not clear? He all but says that Microsoft wants to control your computer to stop you from copying songs - and, I assume, software.
Really, I was expecting something at least a little subtle.
Bruce was only partly correct. That particular section of the GPL says that you must do only one of three things, one of which Bruce pointed out, and another being what the original posted pointed out (giving the source to whomever receives the binaries).
That only works if you give the source to everyone who gets the binaries, not just those who ask for it.
The GPL states that those that distribute GPLed software must provide the source to the recipients of the distributions upon request. That does NOT mean that they have to make the source available on their website. It means that people you receive the ditribution, in the form of the DVD player, must receive the source upon request.
The thread started with a request by an owner of the DVD player, to Liteon, for the source. The request was refused. If that's not a clear violation, I don't know what is.
Also, as Bruce Perens pointed out in another comment, the GPL requires that you offer to provide the source code to anyone, not just people who own the DVD player.
The GPL fanatics deeply amuse me. I've run into more than one GPL nut who just happened to be running unlicensed copies of Windoze and/or M$ Office and/or Visual Studio.
I may not be a "fanatic" or "nut", but I'm definitely pro-GPL. Every copy of Windows, Office and Visual Studio I've run - I've used all three - has been licensed. In fact, every Microsoft product I've run has been licensed. I currently use OpenOffice.org and gcc, but I dual-boot with a licensed (came with my laptop) copy of Windows XP. If I didn't have a license, I wouldn't run it.
On the other hand, I bet you could find quite a few people who have never heard of the GPL, but run unlicensed software. You can also find many "GPL nuts" who don't run Microsoft software at all.
However, I would bet that that's not really the case and they don't make the source code available as easily as that.
Good bet - as the original message stated, they refused to provide source.
Of course it's spelled right. When in doubt, consult this handy chart:
SINGLE PLURAL
bonus bonii
bus bii
campus campii
chorus chorii
genius geniii
plus plii
virus virii
walrus walrii
This comment made of 100% recycled material.
double d = 1.0; int i = *(int *)
would be the correct way achieve that end (almost). The compiler would observe that the address of d had been taken, and not assume it was "dead" after the assignment. Then, i would get initialized via the pointer. No optimizer would damage such code.
GCC can, will and does damage code that does type punning with pointers. Using a union is the only way guaranteed to work. Read the gcc documentation for -fstrict-aliasing, which is now enabled by default. It explicitly says that code using unions will work, while similar code using pointers will not. The example given for how to convert types correctly is
GCC implements two-pass compilation. Look at the documentation for -fprofile-arcs and -fbranch-probabilties.
union { char c[8]; double d; } u;
u.d = 1.0;
char c = u.c[1];
yields undefined results? The compiler is allowed (and under -O3, encouraged) to generate code that will erase your disk and impregnate your sister.)
Sorry, you're wrong, for two reasons:
- A char* can be used to point to anything.
- You can write to one member of a union and read from another.
Both of those are implementation-defined, not undefined. Undefined means the compiler can blow up your computer. Implementation-defined means that the compiler must do something consistent and documented.
If, however, you had writtenyou would have been correct.
The options available under the GNU GPL for distributing binaries of GPL software are
The GNU GPL FAQ explains what this means applied to downloads:
So, if they're allowing you to download the source from their website, they can't charge more for it than they charge for the binary. If they're offering to mail a physical CD/floppy, their costs might be higher (a blank CD, mailer, postage, and the salary of someone to burn and mail it). In either case, you should be able to get a copy from them and then put a copy of it on an FTP site somewhere.
More worrying is this quote from their website:
The GPL specifically prohibits them from denying you the right to make further copies once you buy a copy from them, or the right to modify it (see section 4 of the GPL). If they actually tried to enforce that, they would be in violation of the GPL.
Once again, IANAL, so consult a real lawyer before doing anything legally. The FSF's FAQ is a good place to look for answers to these sorts of questions.
> Bitch and moan all you like, but can you hot-plug a usb mouse in a laptop running XFree and be able to use it immediately without quitting/restarting XFree and/or editing XF86Config? Thought so.
I'm using Red Hat 9.0, and the answer is a definite "yes, I can". I can plug in a USB mouse and use either the mouse or the builtin trackpad of my laptop interchangably, without touching XF86Config. It works exactly like it does in Windows XP.
This article from the same site has a few more details about the incident. The satellite was a polar-orbiting environmental satellite used to monitor weather and climate. It was upright when it fell.
This is countered by the fact that a large block of votes is more powerful than the same votes individually. Game theory has ways of calculating the relative power of different size blocks of votes. The book Game Theory (3rd ed), by Guillermo Owen, has calculations for the relative power of voters in various states in 1970 (yes it's out of date), relative to Washington D.C., using two different indices. Here are the values for some interesting states:
Shapley Banzhaf
California 3.17 3.14
New York 2.98 2.96
Pennsylvania 2.34 2.34
Alaska 1.58 1.58
Wyoming 1.51 1.51
Montana 1.39 1.39
Nebraska 1.19 1.19
Maine 1.16 1.16
Utah 1.13 1.13
Wash. D.C. 1.00 1.00
So actually, a voter in Montana has only about half the power of a voter in California or New York to decide the outcome of the presidential election. The ones who really get shafted are people in states that aren't big enough to have lots of electors, but aren't small enough to have lots of electors per capita.
I do permanent absentee voting. In fact, I just finished filling out my ballot. It's very convenient - without it I probably wouldn't bother going to the polls for elections like this one (midterm, no senate race in my state).
Of course it's spelled right. When in doubt, consult this handy chart:
SINGLE PLURAL
bonus bonii
bus bii
campus campii
chorus chorii
genius geniii
plus plii
virus virii
walrus walrii
If a broad spectrum bacteriophage was possible, the possibility of it never happening by random mutation is approximately 0.00000000% (viruses mutate very quickly, and there are lots and lots and lots of them). And if it happened, being able to infect all bacteria would be such a terrific advantage that it would already have overrun the planet. So the fact that no such virus has wiped out the foodchain yet is a good reason to think that it's impossible.
> So you eat bateria to kill a virus. (I thought viruses merged with your DNA...).
If you had actually read the article you would notice that it's the other way around. Viruses kill bacteria all the time, but you can't "kill" a virus because it's not clear they're even alive.