I never understood the need for a destructor. For 99% the GC is just fine and for other resources besides memory I have a close method. If you really need a custom memory management, then you can hack the OpenJDK.
So RAII is completely useless for any kind of resources. That's why I also don't understand the hype about RAII.
From Wikipedia:
~file() {
if (std::fclose(file_)) {// failed to flush latest changes.// handle it
}
}
void example_usage() {
file logfile("logfile.txt");// open file (acquire resource)
logfile.write("hello logfile!");// continue using logfile...// throw exceptions or return without// worrying about closing the log;// it is closed automatically when// logfile goes out of scope }
And what if the std::fclose method of the log throws an exception? Where should I log that? In the worst case nothing is flushed to the file and the log is empty. The exception is not logged so you can spend hours to find your bug. That is true for all other kinds of resources, be it sockets, pipes, etc.
"Using RAII-enabled resources simplifies and reduces overall code size and helps ensure program correctness."
Except where the methods in the destructor throwing an exception in this case almost all developers just ignore it, how is that to "ensure program correctness".
Yeah, destructors in which you cannot throw an exception. I'm living in Europe and using OpenJDK, so Oracle can blow me, too. In addition, can you explain why a 20 kbytes executable is "awesome"? I have 4GB of RAM, I really don't care how much an application is using as long as it can do the job.
Furthermore, you don't want to use templates and dynamic linking? So no STL and boost, and no other libraries at all, because you want your executable be 20 kbytes.
I think Google already re-implemented all the shit in C++ anyway, how do you think they can write the DalvikVM? Plus, software patents are not tied to a particular implementation or language. So even if Google would implement Android in their Go language, Oracle can still sue them.
The USA spend 1757 Billion $ on bailouts in the years 2008 and 2009 for banks, insurance groups and the auto industry. But of course they keep on saying that the well-fare state is too big and we all live beyond our means. We all need to cut costs to save the banks, because we know that without the banks and Wall Street there would be no civilization.
If it would be simple like that. But in the patent game the only one wins is the cooperation with the big money. That is why no big cooperation is lobbying against software patents, despite all of them get at least once a million dollar lawsuit against them. In addition, if software patents would be invalid tomorrow, a very big chunk of assets would be worthless and the companies would loose a lot of their value.
Furthermore, as wrook pointed out, the patents are very good to lock any small developers out of the market. That is why we have so much concentration in the I.T. sector, like Google owns 90% search market, Microsoft owns 90% of the desktop market, etc.
No, this is the level of programmer who reads the whole statement and is not picking something out of context. m50d clearly stated that if you want a file to be closed at a specific time, you just close it. But if you don't care when the file is closed, then leave it to the GC. Anyway, the GC is about memory management and not about resource management. Even in C++ you need (or should) to close a resource right after you finished to use it, otherwise the OS can't reclaim the resource. There is no difference between managed and native languages.
"formidable competitors for native apps" Are you kidding me?
How is that even with a DSL line I have to wait at least 500ms for a reaction of the so called "app" to be a "formidable competitors" for my native application? I'm sorry to burst your bubble, but even if you get JavaScript 500% more faster then it's now, it's nowhere a native application, with local stored data is.
Even slashdot.org is a very poor replacement for my email client. I take my email-lists with my local email-client anytime before I post in this poor "Web 2.0" forum of slashdot.
Please start to develop sites with some kind of content, that is for what the Web is designed for. Maybe then I will visit your site. But don't confuse a web site with a native application. Even in 2011 we are nowhere that I can be online 24/7 with a good connection from everywhere. I take my laptop and my local installed apps with my local available data anytime.
And do you realize that that is what is broken in software patents? You just write down some well through steps, one that anyone with a little bit common sense is able to think of, write "with a computer" and you have your patent.
A patent is something like a Otto-motor, a television, even a chair is more an invention then a software patent. A patent should be applied to something that actually have a physical form, not an idea. Maybe Google's idea is novel, but it's just some steps a computer can do, and as such an algorithm, and as such it's math.
In a patent of a physical process or a physical machine I have an implementation, that works. It's not just an idea. Where is the implementation, where is the source code? Ideas should not be patentable, if they would, we would stop any progress in science, literature, music and art.
Makes sense if you are a big company. Of course they want the PC go away better sooner then later. A PC empower the user, it gives unlimited opportunities.
Either if you a gamer, or watch DVDs, or you writing a document in Word, or you are a programmer. You are in the control, you can use your PC as you like and you are independent.
That is exact the opposite what the big companies wants to be. They want you to be dependent, helpless without them. They want to sell you everything through an app store, lock down your PC so you can only install approved applications and they want you to be a consumer only.
Is it Apple, IBM, Microsoft, Google, they want the PC to die. They want you to use the AppStore, the Cloud, the ChromeOS. They want a permanent connection to their servers and they want limit you in every possible way.
But that's also the problem. Only because 0.1% can make money after 70 years, the rest of our culture have to suffer. And Monopoly, Mickey Mouse, etc. are a good argument against a long copyright term. After so long time, such things have become a part of our culture and history. They don't belong to the original creators anymore, the same as Jesus Christ don't belong to the pope in Rome. They belong to whole of humanity.
How many more new comic figures or games would Disney or Hasbro would come up if they didn't got a one in a lifetime hit and get a century protecting for it? The long copyright term for Mickey Mouse and Monopoly is the example how the long copyright term is getting the creator to be lazy and not come up with new ideas.
You are not the only one that gets angry about the whole issue. Tell me how so heck does a copyright term of 70 years is encouraging developers to write games? In the current market a game is old after 6 months and after 2 years you can buy the same game for 10$ or less and after 10 years nobody ever will buy the game. So how are developers benefit from a 70 years protection?
Tell me, what game makes the original developer money after 70 years?
In my opinion the current years (from 1980 to current) will be called the dark ages of digital culture, because no game, no movie, will survive. The code will be lost in some safe because nobody cares and if the future generations like to know what games we played, they can only go to the illegal sites like http://www.abandonia.com/
It's like we wouldn't know anything about Shakespeare, Bach, Beethoven, because the code (words or notes) had the same stupid protection laws.
The only way the owner of the game is benefiting, is that nobody can take their game and port it and improve it. So they are benefiting because they hinder everybody else. You can call it greed and selfishness.
Speaking as a Java programmer, I don't need Linq, because I can choose from Groovy, Scala, Clojure, JRuby, Jython, etc. They are first class citizens in Java and have good IDE support. That's why I don't really care for Java 7 or 8 because I used all the convenient features already (since I learned Groovy).
And that is how patents are promoting progress. A company makes a clean room afford to come up with a new algorithm and tries in it's best to identify and not use any patents, and another company buys it and is releasing the algorithm under a free license to improve the life of everyone.
The only way to advance in the field of video codes is a) be the lucky company which is in the patent pool or b) wait until all patents expire. How is that suppose to promote the technology again?
It's only the "normal" people who doesn't care. I don't care if Photoshop is open source, because if I buy it I expect it to work and the source code is of no use to me. Neither have I the time nor the knowledge to dig into the code of Photoshop.
But there are clients that clearly benefit from the availability of source code. Like firms that have special needs and can adapt the code of the product they buy; governments that can adapt, certificate and check the code; other firms like banks that have special need in security and can fix the bugs faster them self.
Also there are the developers that can use the code and build something new and better. Humankind always have progressed because someone builds something and the next one can use it and improve it or build something new with it. But with the current copyright laws this progress is handicapped.
I think you missed the point of the whole "cloud" thing. If you can't get your own "cloud" then it doesn't matter whether the software on the server is open source or not. Even if all the software is open source, you don't have access to the servers and can't verify that the software is properly patched and have to rely on the vendor's say-so.
That is why, in my opinion, it's so dangerous if governments rely on cloud vendors for their I.T. needs. It's the same as to rely on a proprietary vendor, whether the vendor is using open source software or not.
Maybe the AGPL can help here, because then the vendor is required to release the source code of that software that it's running on the server for the client.
"for example a revision number is superior to a SHA not just in an opinion, but in a quantifiable way. "
Can you give an example why? In my opinion a SHA hash has many advantages vs. a number. For example, with a SHA hash I can be sure that a branch/commit/tag/file/repository that I have is the same that you have; you can't tamper with the files/commits; It gives a warrant that the file is correct at the disk after a crash;
The reason for a continued number are only: you have the time line in the numbers, and shorter IDs (but in Git you can just enter the first 5 SHA digits). But do you really need to known that the commit 45676 has come before 45677? After a big enough number it's like a SHA hash anyway.
"- seriously? You truly believe that? You truly want government to regulate your life? To tell you, probably a grown ass man, what you can and cannot use in your life as drugs? To ensure that only monopolies can sell you drugs? To make sure you have to pay a small fortune for any real treatment?"
Government already regulates your life. Want to buy a car, want to drive it? Want to get fair money for your work, don't want to be a slave? Don't want that your children need to work, and can get a normal childhood with education? Want to have clear drinkable water? Don't want to have acid rain? Want to breath fresh air?
The fact is that most of the government regulations are good and you take them all for granted, and that is why you give such a statement. Also a fact is that government is not perfect, and the USA government is not one of the best. If you have problems with the FDA, make the FDA better.
If you really want to be free of government, go to Somalia or any other third-world country with no stable government and post here again.
Why is that even news? Is Windows some kind of game that needs the newest Nvidia DirectX11 to be playable? Is Windows not some kind of operating system, and as such should have absolute minimum system requirements, so it doesn't steal valuable CPU and GPU cycles from more important things, like the Office program you are using to do your fucking job?
Strong pro military comments here. It would be better if A. only hacked the emails of high military leaders, up from a General, but it's just against the law to hack the email accounts, think about it this way:
If I bunch of teenagers could do it, so can other states do it. Who knows how long the email accounts are actually already hacked by China or N. Korea. Now A. exposed the security hole and at least the military needs to change their passwords.
Also the US military are not good Samaritans. Who known how much dirt someone can find in their emails, like contracts to the industry, killing people, torture, etc.
But that is the whole point of the system. To have a system that can calculate the risks, so you have an excuse. "But the Supercomputer we had in the closet told us the risks were acceptable, and we can prove it with the algorithms we used" "Ah ok, here are another 500$ Billion bailout money".
A war against individuals? A war against maybe 100 people? By that logic the USA government can declare any individual as "enemy" and declare war on him, and get their Navy Seals and kill him and his family.
There was and are laws against piracy, there are laws against terrorism. The right thing to do were to arrest the people, and put them on a trial. Like the German government which put Somalia pirates on trial. We didn't just shot them down and we are not sending drone attacks to Somalia. By the same logic the UK should declare war on the IRA and send drones to Ireland.
Terrorism is if you kill people without any laws. There is no difference if you bomb a school or send your Navy Seals in. That is why we think of our self as a civilized country, because all people have rights and not the state nor any other person can kill without a court ruling, without the right of a defense, without a fair trial.
Al Qaeda have won the same day the American troops invaded Iraq and Afghanistan. The Al Qaeda are celebrating the day the USA use drone attacks to kill people and they are more then happy when the USA make assassinations. Because by that the USA is proving that they are think they are not bound to any laws anymore, that they can use their military against anyone and by that the Al Qaeda have shown to the rest of the world how evil the western empire really is.
So you mean you should react on acts of terror with more acts of terror? That is really civilized. No wonder the USA is the "defender of truth, justice and democracy". Just go in and kill'em all, and their children.
Fuck America. The USA is the modern British Empire, that killed millions of Indian people under the disguise to bring them civilization and democracy.
Under what law can the USA kill "10 to 20 crucial leaders of the terrorist group"? Why is there nobody who actually asks what jurisdiction the USA can claim or what international law there is that the USA can do that? What if you replace Pakistan, Somalia and Yemen with Germany, Italy and France?... that the American focus had narrowed to capturing or killing 10 to 20 crucial leaders of the terrorist group in Germany, Italy and France.
There is no deceleration of war and they are not captured to be put in front of a court. We saw what happens with terrorists if the USA has captured them, they rot in a prison and are tortured by the US military.
The problem is that the "High IP Industry" is concentrated between a few players. There are only 4 major music publishers and Hollywood. Their CIOs can easily come together and spend a few million in campaign contribution and call themselves the "I.P. lobby". In addition, they know they are minuscule and they know they will get less and less important, so they are making everything in their possibility to get any help they can get. Also, they always claim to represent the authors, musicians and filmmakers of the world.
Politics in the USA have nothing to do with rational thoughts. It have a lot to do with personal believes, personal agendas and who is making the most noise (meaning contribution money).
Laws that benefit the (poor) citizens, that is socialism and un-american. Laws that are benefiting the big cooperations that is free market, and as we know, if the big cooperations making tons of moneys that is good for everyone, and as such the American Dream.
I never understood the need for a destructor. For 99% the GC is just fine and for other resources besides memory I have a close method. If you really need a custom memory management, then you can hack the OpenJDK.
http://www.parashift.com/c++-faq-lite/exceptions.html#faq-17.9
"[17.9] How can I handle a destructor that fails?
Write a message to a log-file. Or call Aunt Tilda. But do not throw an exception! "
So RAII is completely useless for any kind of resources. That's why I also don't understand the hype about RAII.
From Wikipedia:
~file() { // failed to flush latest changes. // handle it
if (std::fclose(file_)) {
}
}
void example_usage() { // open file (acquire resource) // continue using logfile ... // throw exceptions or return without // worrying about closing the log; // it is closed automatically when // logfile goes out of scope
file logfile("logfile.txt");
logfile.write("hello logfile!");
}
And what if the std::fclose method of the log throws an exception? Where should I log that? In the worst case nothing is flushed to the file and the log is empty. The exception is not logged so you can spend hours to find your bug. That is true for all other kinds of resources, be it sockets, pipes, etc.
"Using RAII-enabled resources simplifies and reduces overall code size and helps ensure program correctness."
Except where the methods in the destructor throwing an exception in this case almost all developers just ignore it, how is that to "ensure program correctness".
Yeah, destructors in which you cannot throw an exception. I'm living in Europe and using OpenJDK, so Oracle can blow me, too. In addition, can you explain why a 20 kbytes executable is "awesome"? I have 4GB of RAM, I really don't care how much an application is using as long as it can do the job.
Furthermore, you don't want to use templates and dynamic linking? So no STL and boost, and no other libraries at all, because you want your executable be 20 kbytes.
I think Google already re-implemented all the shit in C++ anyway, how do you think they can write the DalvikVM? Plus, software patents are not tied to a particular implementation or language. So even if Google would implement Android in their Go language, Oracle can still sue them.
The USA spend 1757 Billion $ on bailouts in the years 2008 and 2009 for banks, insurance groups and the auto industry. But of course they keep on saying that the well-fare state is too big and we all live beyond our means. We all need to cut costs to save the banks, because we know that without the banks and Wall Street there would be no civilization.
http://www.propublica.org/special/government-bailouts
If it would be simple like that. But in the patent game the only one wins is the cooperation with the big money. That is why no big cooperation is lobbying against software patents, despite all of them get at least once a million dollar lawsuit against them. In addition, if software patents would be invalid tomorrow, a very big chunk of assets would be worthless and the companies would loose a lot of their value.
Furthermore, as wrook pointed out, the patents are very good to lock any small developers out of the market. That is why we have so much concentration in the I.T. sector, like Google owns 90% search market, Microsoft owns 90% of the desktop market, etc.
No, this is the level of programmer who reads the whole statement and is not picking something out of context. m50d clearly stated that if you want a file to be closed at a specific time, you just close it. But if you don't care when the file is closed, then leave it to the GC. Anyway, the GC is about memory management and not about resource management. Even in C++ you need (or should) to close a resource right after you finished to use it, otherwise the OS can't reclaim the resource. There is no difference between managed and native languages.
"formidable competitors for native apps" Are you kidding me?
How is that even with a DSL line I have to wait at least 500ms for a reaction of the so called "app" to be a "formidable competitors" for my native application? I'm sorry to burst your bubble, but even if you get JavaScript 500% more faster then it's now, it's nowhere a native application, with local stored data is.
Even slashdot.org is a very poor replacement for my email client. I take my email-lists with my local email-client anytime before I post in this poor "Web 2.0" forum of slashdot.
Please start to develop sites with some kind of content, that is for what the Web is designed for. Maybe then I will visit your site. But don't confuse a web site with a native application. Even in 2011 we are nowhere that I can be online 24/7 with a good connection from everywhere. I take my laptop and my local installed apps with my local available data anytime.
And do you realize that that is what is broken in software patents? You just write down some well through steps, one that anyone with a little bit common sense is able to think of, write "with a computer" and you have your patent.
A patent is something like a Otto-motor, a television, even a chair is more an invention then a software patent. A patent should be applied to something that actually have a physical form, not an idea. Maybe Google's idea is novel, but it's just some steps a computer can do, and as such an algorithm, and as such it's math.
In a patent of a physical process or a physical machine I have an implementation, that works. It's not just an idea. Where is the implementation, where is the source code? Ideas should not be patentable, if they would, we would stop any progress in science, literature, music and art.
Makes sense if you are a big company. Of course they want the PC go away better sooner then later. A PC empower the user, it gives unlimited opportunities.
Either if you a gamer, or watch DVDs, or you writing a document in Word, or you are a programmer. You are in the control, you can use your PC as you like and you are independent.
That is exact the opposite what the big companies wants to be. They want you to be dependent, helpless without them. They want to sell you everything through an app store, lock down your PC so you can only install approved applications and they want you to be a consumer only.
Is it Apple, IBM, Microsoft, Google, they want the PC to die. They want you to use the AppStore, the Cloud, the ChromeOS. They want a permanent connection to their servers and they want limit you in every possible way.
Why can't I install Qt3 and using the old applications?
But that's also the problem. Only because 0.1% can make money after 70 years, the rest of our culture have to suffer.
And Monopoly, Mickey Mouse, etc. are a good argument against a long copyright term. After so long time, such things have become a part of our culture and history. They don't belong to the original creators anymore, the same as Jesus Christ don't belong to the pope in Rome. They belong to whole of humanity.
How many more new comic figures or games would Disney or Hasbro would come up if they didn't got a one in a lifetime hit and get a century protecting for it? The long copyright term for Mickey Mouse and Monopoly is the example how the long copyright term is getting the creator to be lazy and not come up with new ideas.
You are not the only one that gets angry about the whole issue. Tell me how so heck does a copyright term of 70 years is encouraging developers to write games? In the current market a game is old after 6 months and after 2 years you can buy the same game for 10$ or less and after 10 years nobody ever will buy the game. So how are developers benefit from a 70 years protection?
Tell me, what game makes the original developer money after 70 years?
In my opinion the current years (from 1980 to current) will be called the dark ages of digital culture, because no game, no movie, will survive. The code will be lost in some safe because nobody cares and if the future generations like to know what games we played, they can only go to the illegal sites like http://www.abandonia.com/
It's like we wouldn't know anything about Shakespeare, Bach, Beethoven, because the code (words or notes) had the same stupid protection laws.
The only way the owner of the game is benefiting, is that nobody can take their game and port it and improve it. So they are benefiting because they hinder everybody else. You can call it greed and selfishness.
Speaking as a Java programmer, I don't need Linq, because I can choose from Groovy, Scala, Clojure, JRuby, Jython, etc. They are first class citizens in Java and have good IDE support. That's why I don't really care for Java 7 or 8 because I used all the convenient features already (since I learned Groovy).
And that is how patents are promoting progress. A company makes a clean room afford to come up with a new algorithm and tries in it's best to identify and not use any patents, and another company buys it and is releasing the algorithm under a free license to improve the life of everyone.
The only way to advance in the field of video codes is a) be the lucky company which is in the patent pool or b) wait until all patents expire. How is that suppose to promote the technology again?
It's only the "normal" people who doesn't care. I don't care if Photoshop is open source, because if I buy it I expect it to work and the source code is of no use to me. Neither have I the time nor the knowledge to dig into the code of Photoshop.
But there are clients that clearly benefit from the availability of source code. Like firms that have special needs and can adapt the code of the product they buy; governments that can adapt, certificate and check the code; other firms like banks that have special need in security and can fix the bugs faster them self.
Also there are the developers that can use the code and build something new and better. Humankind always have progressed because someone builds something and the next one can use it and improve it or build something new with it. But with the current copyright laws this progress is handicapped.
I think you missed the point of the whole "cloud" thing. If you can't get your own "cloud" then it doesn't matter whether the software on the server is open source or not. Even if all the software is open source, you don't have access to the servers and can't verify that the software is properly patched and have to rely on the vendor's say-so.
That is why, in my opinion, it's so dangerous if governments rely on cloud vendors for their I.T. needs. It's the same as to rely on a proprietary vendor, whether the vendor is using open source software or not.
Maybe the AGPL can help here, because then the vendor is required to release the source code of that software that it's running on the server for the client.
"for example a revision number is superior to a SHA not just in an opinion, but in a quantifiable way. "
Can you give an example why? In my opinion a SHA hash has many advantages vs. a number. For example, with a SHA hash I can be sure that a branch/commit/tag/file/repository that I have is the same that you have; you can't tamper with the files/commits; It gives a warrant that the file is correct at the disk after a crash;
The reason for a continued number are only: you have the time line in the numbers, and shorter IDs (but in Git you can just enter the first 5 SHA digits). But do you really need to known that the commit 45676 has come before 45677? After a big enough number it's like a SHA hash anyway.
"- seriously? You truly believe that? You truly want government to regulate your life? To tell you, probably a grown ass man, what you can and cannot use in your life as drugs? To ensure that only monopolies can sell you drugs? To make sure you have to pay a small fortune for any real treatment?"
Government already regulates your life. Want to buy a car, want to drive it? Want to get fair money for your work, don't want to be a slave? Don't want that your children need to work, and can get a normal childhood with education? Want to have clear drinkable water? Don't want to have acid rain? Want to breath fresh air?
The fact is that most of the government regulations are good and you take them all for granted, and that is why you give such a statement. Also a fact is that government is not perfect, and the USA government is not one of the best. If you have problems with the FDA, make the FDA better.
If you really want to be free of government, go to Somalia or any other third-world country with no stable government and post here again.
Why is that even news? Is Windows some kind of game that needs the newest Nvidia DirectX11 to be playable? Is Windows not some kind of operating system, and as such should have absolute minimum system requirements, so it doesn't steal valuable CPU and GPU cycles from more important things, like the Office program you are using to do your fucking job?
Strong pro military comments here. It would be better if A. only hacked the emails of high military leaders, up from a General, but it's just against the law to hack the email accounts, think about it this way:
If I bunch of teenagers could do it, so can other states do it. Who knows how long the email accounts are actually already hacked by China or N. Korea. Now A. exposed the security hole and at least the military needs to change their passwords.
Also the US military are not good Samaritans. Who known how much dirt someone can find in their emails, like contracts to the industry, killing people, torture, etc.
But that is the whole point of the system. To have a system that can calculate the risks, so you have an excuse. "But the Supercomputer we had in the closet told us the risks were acceptable, and we can prove it with the algorithms we used" "Ah ok, here are another 500$ Billion bailout money".
A war against individuals? A war against maybe 100 people? By that logic the USA government can declare any individual as "enemy" and declare war on him, and get their Navy Seals and kill him and his family.
There was and are laws against piracy, there are laws against terrorism. The right thing to do were to arrest the people, and put them on a trial. Like the German government which put Somalia pirates on trial. We didn't just shot them down and we are not sending drone attacks to Somalia. By the same logic the UK should declare war on the IRA and send drones to Ireland.
Terrorism is if you kill people without any laws. There is no difference if you bomb a school or send your Navy Seals in. That is why we think of our self as a civilized country, because all people have rights and not the state nor any other person can kill without a court ruling, without the right of a defense, without a fair trial.
Al Qaeda have won the same day the American troops invaded Iraq and Afghanistan. The Al Qaeda are celebrating the day the USA use drone attacks to kill people and they are more then happy when the USA make assassinations. Because by that the USA is proving that they are think they are not bound to any laws anymore, that they can use their military against anyone and by that the Al Qaeda have shown to the rest of the world how evil the western empire really is.
So you mean you should react on acts of terror with more acts of terror? That is really civilized. No wonder the USA is the "defender of truth, justice and democracy". Just go in and kill'em all, and their children.
Fuck America. The USA is the modern British Empire, that killed millions of Indian people under the disguise to bring them civilization and democracy.
Under what law can the USA kill "10 to 20 crucial leaders of the terrorist group"? Why is there nobody who actually asks what jurisdiction the USA can claim or what international law there is that the USA can do that? What if you replace Pakistan, Somalia and Yemen with Germany, Italy and France? ... that the American focus had narrowed to capturing or killing 10 to 20 crucial leaders of the terrorist group in Germany, Italy and France.
There is no deceleration of war and they are not captured to be put in front of a court. We saw what happens with terrorists if the USA has captured them, they rot in a prison and are tortured by the US military.
The problem is that the "High IP Industry" is concentrated between a few players. There are only 4 major music publishers and Hollywood. Their CIOs can easily come together and spend a few million in campaign contribution and call themselves the "I.P. lobby". In addition, they know they are minuscule and they know they will get less and less important, so they are making everything in their possibility to get any help they can get. Also, they always claim to represent the authors, musicians and filmmakers of the world.
Politics in the USA have nothing to do with rational thoughts. It have a lot to do with personal believes, personal agendas and who is making the most noise (meaning contribution money).
Laws that benefit the (poor) citizens, that is socialism and un-american. Laws that are benefiting the big cooperations that is free market, and as we know, if the big cooperations making tons of moneys that is good for everyone, and as such the American Dream.