Program compilation is not an obvious candidate for parallelization because it is an extremely memory intensive process. So to do this right you'd need very fast communication between your CPUs.
However, what Trolltech is probably doing, is farming out the independant bits of your program that you would link together in the end anyway. That might really help on rebuilding the entire project at once. However, if your program is set up well, you usually only need to recompile one file at a time.
So the times when you could see the biggest speed up in compilation, you will need this least.
Oh yeah. Now the real place to do it is in the compiler. You can use a compiler to put a hole in every single program. It could be an actual backdoor, but it could also be done as a buffer overflow or something even more esoteric.
Now, with gcc, you'd have to be very, very, tricky. But it could be done. Look at all the bugs that they introduced with the 3.0 series.
And for something compiled on a closed source compiler. Well, you never know what that thing could be doing.
And if you aren't interested in being that tricky, yeah, simply submit a bug "fix" that doesn't do exactly what you say it does. They might catch you, but if you are tricky, they might not.
With a jet fighter, you have to choose. Do you build the cockpit for a highly trained naval aviator, or do you build it for some yahoo who is just now learning the ropes?
The great advantage of software is that you don't have to make that choice. You can hide the more advanced interfaces until someone is comfortable enough to use them. Or use some other technique to hide choices from the user.
Hiding choice is what it is all about. Good comercial software adds features, but hides choice. Don't make the user make any choices unless he wants to. That's the beauty of something like a right-click pop-up menu. It's not there until you are comfortable enough to start playing around with it.
But context-sensitive help is fundamentally flawed...
No, it's simply not a panacea. What you are talking about is something that can be solved by other user interface techniques. One of them is choice limitation. Are some of those choices on the screen unecessary? Another might be branch hierarchies. Can a user find what he is looking for by starting with something general and working his way down? Could a wizard help out with this? There are dozens of games to play here.
And the beauty is that you don't have to give up the advanced user interface that the trained users love! You simply need to provide an advanced options button or some such. Of course, still user interface guidelines shouldn't be abondoned for the advanced users, but speed of interface can attained when intuitiveness is no longer the overriding concern.
This is more than just script kiddies. Open source is good against script kiddies. That may simply be its low radar profile more than anything, but it could be the open source community finding bugs as well.
But when people are interested in more than general vandalism, it becomes a different story. If I need to hack something that is open source, I check out the source, and look for buffer overruns and what not. It's hard for the very popular stuff, but for most programs, a bug is easy to find. And even for the more popular stuff, there are always holes to be found if you expend enough effort looking.
For very popular closed source programs, the first thing to try is the online community. Someone somewhere has something. For companies like Microsoft with poor security reputations, and lots of people trying to hack them, there is actually a lot.
But if you have to figure out a bug yourself, it's time for buffer overflow testing, reverse engineering with a hex editor, and what not.
So which is harder?
I'd say hacking into popular open source programs is the hardest. However, hacking into unpopular open source programs is the easiest. There is a range of security considerations, and it is always possible for evil people to find your vulnerabilities if they have enough resources.
There are probably parts of this Inferno program that are well designed, I'll grant you. But if what you say about training is true, I'm confident that they could save money by redesigning the user interface and help menus. Software doesn't have to be intuitive or self-explanatory. But one of the major advantages of computers is the fact that you can make it so. There is no other technology on Earth that offers so many opportunities to either obfusticate or to explain. And obfustication is easier.
Anything that can be put in a manual can be put in a help file.
And anything that can be put in a help file can be put in context sensitive help file.
I have never once seen a piece of software with a non-intuitive interface, that could not be made far more user friendly with a user interface redesign.
Unless this week of training teaches people about something other than simply using the software, it sounds to me like your Infero software wizards have crippled an amazingly useful piece of software with a terrible interface.
Good software shouldn't need a manual. The manual should be inside in the help pages, in context-sensitive help, and simply in the overall intuitiveness of the user interfaces.
I think that bandwidth could be used a lot more efficently. Right now we are treating the spectrum like the analog medium it is. But a digital treatment is more justified. If we were to break everything up into packets, use reapeaters what not, we could achieve a far more efficent utilization of the airwaves. Nearly all bandwidth is allocated to something. But at the same time, most of it is unused at one instant. Using packets like the internet does could do a far better better job of utilization.
HOWEVER, it would require more control, not less. The government would need to mandate all radio equipment manufactors meet new standards (much more rigorous than they do now). All legacy equipment would need to be replaced. New laws would need to be drafted to regulate the medium better.
But so much more is possible. We're using an abundant natural resource like cavemen, and we could do better.
Since copyright has historically covered things that couldn't be generated automatically, I wonder if this guy could publish an algorithm to produce the key? (Besides, it should be short enough for fair use, anyway.)
Short summation: Everything runs half as fast. And you need to pay $5 dollars a month to Transgaming for it. Plus the Wine community has screwed Transgaming with the licensing. Of course, since Transgaming is a closed source company, Transgaming may have deserved it.
Whoa. The point passed you by like a freight train in the night. The 64-CPU OS is almost certainly exactly the same code-wise as the 128-CPU OS. In fact, it is probably exactly the same (minus certain protection features that stop you from using it) as the 1-CPU OS. They almost certainly ship the same code to everyone. Now it's the rich and poor paying different prices for Hyundais, simply because the rich guy uses it for richer things.
Good post. But you don't NEED some manner to charge customers differently. With most commodities it is impossible, because you can't control the used product market. Cars, food, what not, don't have this system. In fact, it is usually cheaper to buy things in bulk. Among other things, a healthy used product market helps balance price. And price balancing is the system which makes free markets so great at resource allocation. The rich paying the same price for bread as the poor is a feature of capitalism, not a bug:).
OTOH, if someone can break that chain, then the advantage of having a free market to allocate resources goes away. This is what happens with software licenses.
Can someone explain to me why they even bother charging by the CPU? Why don't they just go out and charge customers by their annual revenue or stock market valuation or something. Or is there some important OS difference between 64 CPUs and 128?
Software should be protected by copyright, not by license. It distorts the system too much this way. A software product no longer acts a a normal commodity.
Not only is this the fault of people using internet browsers to exploit a known design flaw, it is also the fault of browser providers for doing nothing to correct that design flaw. I hope the FTC fines Microsoft next.
I just had an unecessarily alarmist thought. Could this be used to defeat the GNU license? Sure, you still release your source code under the GNU license, but also charge everyone for using 'your' patents.
Speaking as a California state worker:
on
California Hax0red
·
· Score: 5, Funny
As a documented California state worker, I am terribly upset about the lax security of these computer systems. If anyone else would like to take part in a class action lawsuit with me, please send your relevant information, including, but not limited to the following documents:
Social Security Number
Driver's License Number
Date of Birth
Mother's Maiden Name
Birth Certificate (original only, no copies, please)
For those of you who actually care about the article:
The article didn't mention the DMCA. They are trying to protect DeCSS as a 'trade secret.' Now, as I understand trade secret law, it is no longer a trade secret once it has been reverse engineered. So where do they get off making that claim?
You make so much sense! The DoD has obviously ditched NSA testing for free beer software. "Security, Shemurity, at least it doesn't cost anything! I'm installing sendmail on the President's laptop."
As for me, I recompile every 5 lines or so -- I generate a lot of typos. I use MSVC and make sure my header dependencies are logical, so not everything has to recompile each time. Usually the compile only affects the file I'm working on. When I'm working on files farther down in the dependancy tree, I am much more careful about when I compile.
Re:"Original" Copyright law and Patent law
on
Fair IP Laws?
·
· Score: 2
Hear, Hear!
I was just about to make this exact point. Copyright has worked very well in the past. It's what happens when you try to extend copyright law into something it's not that gets you in trouble -- DMCA, what not.
And software patents are silly. Yeah, it would be nice if they could be made workable. There are fields where patents are very beneficial (pharmecueticals for one), but with software, patents don't work. Can you think of even one example of software research and development that was carried out because of patents? Patents are supposed to foster research, but it's too much of a craps game in software to be able to bet on it. So research and development isn't helped by patents on code. With software patents, then, we get all of the bad consequences of creating an intellectual monopoly, but none of the good ones. And because of the nature of the software, there is simply no way to reform the system to make it workable.
Whenever I think of what could be achieved by a virus using a P2P system, I am all the more astounded by the limited imaginations of these puny 13-year-old hackers.
How about using a million computers working in parallel to break an weak encryption and read some third world govenment's military email?
What about creating a secondary virus that uses known windows vulnerabilities and has a mathematically reasonable replication scheme to install itself on hundreds of millions more computers, and then use that to bring down the entire internet on a given day?
What about turning these people's P2P servers into a humungous free proxy network, defeating internet censorship attempts of evil totalitarian regimes (like China)?
Microsoft can afford to lose money on the XBOX. They've got enough extra cash lying around to buy a dozen space shuttles.
The point of the XBOX is to allow Microsoft to break into the home entertainment industry. Whether or not the XBOX makes money, it will be followed up by XBOX II and X-HOME-THEATRE system, or whatever they will be called.
Right now, profit on the XBOX would be nice. But the bottom line isn't necessarily the bottom line.
Under the DMCA, the Librarian of Congress has the power to declare whether there are substantial non-infringing uses of a decryption technology. Should we be lobbying that person on the side?
If manned spaceflight were that cool, we would be talking about all the nifty things we could add to the ISS right now. The fact is, there is not enough science up there that requires human beings to justify the cost of sending them.
Now, getting costs down is smart. We should be investing our money in cheap methods of getting to orbit. That is the kind of thing that will pay off. Once space is cheap, a hell of a lot more space science is justified.
Program compilation is not an obvious candidate for parallelization because it is an extremely memory intensive process. So to do this right you'd need very fast communication between your CPUs.
However, what Trolltech is probably doing, is farming out the independant bits of your program that you would link together in the end anyway. That might really help on rebuilding the entire project at once. However, if your program is set up well, you usually only need to recompile one file at a time.
So the times when you could see the biggest speed up in compilation, you will need this least.
I've already cracked it. Got the archives open right here. Let's see:
In the year 1005, the 1337 v1k0rs raided the English coast for raping and pillaging...
Oh yeah. Now the real place to do it is in the compiler. You can use a compiler to put a hole in every single program. It could be an actual backdoor, but it could also be done as a buffer overflow or something even more esoteric.
Now, with gcc, you'd have to be very, very, tricky. But it could be done. Look at all the bugs that they introduced with the 3.0 series.
And for something compiled on a closed source compiler. Well, you never know what that thing could be doing.
And if you aren't interested in being that tricky, yeah, simply submit a bug "fix" that doesn't do exactly what you say it does. They might catch you, but if you are tricky, they might not.
With a jet fighter, you have to choose. Do you build the cockpit for a highly trained naval aviator, or do you build it for some yahoo who is just now learning the ropes?
The great advantage of software is that you don't have to make that choice. You can hide the more advanced interfaces until someone is comfortable enough to use them. Or use some other technique to hide choices from the user.
Hiding choice is what it is all about. Good comercial software adds features, but hides choice. Don't make the user make any choices unless he wants to. That's the beauty of something like a right-click pop-up menu. It's not there until you are comfortable enough to start playing around with it.
But context-sensitive help is fundamentally flawed...
No, it's simply not a panacea. What you are talking about is something that can be solved by other user interface techniques. One of them is choice limitation. Are some of those choices on the screen unecessary? Another might be branch hierarchies. Can a user find what he is looking for by starting with something general and working his way down? Could a wizard help out with this? There are dozens of games to play here.
And the beauty is that you don't have to give up the advanced user interface that the trained users love! You simply need to provide an advanced options button or some such. Of course, still user interface guidelines shouldn't be abondoned for the advanced users, but speed of interface can attained when intuitiveness is no longer the overriding concern.
This is more than just script kiddies. Open source is good against script kiddies. That may simply be its low radar profile more than anything, but it could be the open source community finding bugs as well.
But when people are interested in more than general vandalism, it becomes a different story. If I need to hack something that is open source, I check out the source, and look for buffer overruns and what not. It's hard for the very popular stuff, but for most programs, a bug is easy to find. And even for the more popular stuff, there are always holes to be found if you expend enough effort looking.
For very popular closed source programs, the first thing to try is the online community. Someone somewhere has something. For companies like Microsoft with poor security reputations, and lots of people trying to hack them, there is actually a lot.
But if you have to figure out a bug yourself, it's time for buffer overflow testing, reverse engineering with a hex editor, and what not.
So which is harder?
I'd say hacking into popular open source programs is the hardest. However, hacking into unpopular open source programs is the easiest. There is a range of security considerations, and it is always possible for evil people to find your vulnerabilities if they have enough resources.
There are probably parts of this Inferno program that are well designed, I'll grant you. But if what you say about training is true, I'm confident that they could save money by redesigning the user interface and help menus. Software doesn't have to be intuitive or self-explanatory. But one of the major advantages of computers is the fact that you can make it so. There is no other technology on Earth that offers so many opportunities to either obfusticate or to explain. And obfustication is easier.
Anything that can be put in a manual can be put in a help file.
And anything that can be put in a help file can be put in context sensitive help file.
I have never once seen a piece of software with a non-intuitive interface, that could not be made far more user friendly with a user interface redesign.
Unless this week of training teaches people about something other than simply using the software, it sounds to me like your Infero software wizards have crippled an amazingly useful piece of software with a terrible interface.
Extremely bad pun or extremely bad spelling error? Perhaps we'll never know...
Good software shouldn't need a manual. The manual should be inside in the help pages, in context-sensitive help, and simply in the overall intuitiveness of the user interfaces.
I think that bandwidth could be used a lot more efficently. Right now we are treating the spectrum like the analog medium it is. But a digital treatment is more justified. If we were to break everything up into packets, use reapeaters what not, we could achieve a far more efficent utilization of the airwaves. Nearly all bandwidth is allocated to something. But at the same time, most of it is unused at one instant. Using packets like the internet does could do a far better better job of utilization.
HOWEVER, it would require more control, not less. The government would need to mandate all radio equipment manufactors meet new standards (much more rigorous than they do now). All legacy equipment would need to be replaced. New laws would need to be drafted to regulate the medium better.
But so much more is possible. We're using an abundant natural resource like cavemen, and we could do better.
Since copyright has historically covered things that couldn't be generated automatically, I wonder if this guy could publish an algorithm to produce the key? (Besides, it should be short enough for fair use, anyway.)
Short summation: Everything runs half as fast. And you need to pay $5 dollars a month to Transgaming for it. Plus the Wine community has screwed Transgaming with the licensing. Of course, since Transgaming is a closed source company, Transgaming may have deserved it.
Whoa. The point passed you by like a freight train in the night. The 64-CPU OS is almost certainly exactly the same code-wise as the 128-CPU OS. In fact, it is probably exactly the same (minus certain protection features that stop you from using it) as the 1-CPU OS. They almost certainly ship the same code to everyone. Now it's the rich and poor paying different prices for Hyundais, simply because the rich guy uses it for richer things.
Good post. But you don't NEED some manner to charge customers differently. With most commodities it is impossible, because you can't control the used product market. Cars, food, what not, don't have this system. In fact, it is usually cheaper to buy things in bulk. Among other things, a healthy used product market helps balance price. And price balancing is the system which makes free markets so great at resource allocation. The rich paying the same price for bread as the poor is a feature of capitalism, not a bug :).
OTOH, if someone can break that chain, then the advantage of having a free market to allocate resources goes away. This is what happens with software licenses.
Can someone explain to me why they even bother charging by the CPU? Why don't they just go out and charge customers by their annual revenue or stock market valuation or something. Or is there some important OS difference between 64 CPUs and 128?
Software should be protected by copyright, not by license. It distorts the system too much this way. A software product no longer acts a a normal commodity.
Not only is this the fault of people using internet browsers to exploit a known design flaw, it is also the fault of browser providers for doing nothing to correct that design flaw. I hope the FTC fines Microsoft next.
I just had an unecessarily alarmist thought. Could this be used to defeat the GNU license? Sure, you still release your source code under the GNU license, but also charge everyone for using 'your' patents.
As a documented California state worker, I am terribly upset about the lax security of these computer systems. If anyone else would like to take part in a class action lawsuit with me, please send your relevant information, including, but not limited to the following documents:
Social Security Number
Driver's License Number
Date of Birth
Mother's Maiden Name
Birth Certificate (original only, no copies, please)
For those of you who actually care about the article:
The article didn't mention the DMCA. They are trying to protect DeCSS as a 'trade secret.' Now, as I understand trade secret law, it is no longer a trade secret once it has been reverse engineered. So where do they get off making that claim?
You make so much sense! The DoD has obviously ditched NSA testing for free beer software. "Security, Shemurity, at least it doesn't cost anything! I'm installing sendmail on the President's laptop."
As for me, I recompile every 5 lines or so -- I generate a lot of typos. I use MSVC and make sure my header dependencies are logical, so not everything has to recompile each time. Usually the compile only affects the file I'm working on. When I'm working on files farther down in the dependancy tree, I am much more careful about when I compile.
Hear, Hear!
I was just about to make this exact point. Copyright has worked very well in the past. It's what happens when you try to extend copyright law into something it's not that gets you in trouble -- DMCA, what not.
And software patents are silly. Yeah, it would be nice if they could be made workable. There are fields where patents are very beneficial (pharmecueticals for one), but with software, patents don't work. Can you think of even one example of software research and development that was carried out because of patents? Patents are supposed to foster research, but it's too much of a craps game in software to be able to bet on it. So research and development isn't helped by patents on code. With software patents, then, we get all of the bad consequences of creating an intellectual monopoly, but none of the good ones. And because of the nature of the software, there is simply no way to reform the system to make it workable.
Whenever I think of what could be achieved by a virus using a P2P system, I am all the more astounded by the limited imaginations of these puny 13-year-old hackers.
How about using a million computers working in parallel to break an weak encryption and read some third world govenment's military email?
What about creating a secondary virus that uses known windows vulnerabilities and has a mathematically reasonable replication scheme to install itself on hundreds of millions more computers, and then use that to bring down the entire internet on a given day?
What about turning these people's P2P servers into a humungous free proxy network, defeating internet censorship attempts of evil totalitarian regimes (like China)?
Microsoft can afford to lose money on the XBOX. They've got enough extra cash lying around to buy a dozen space shuttles.
The point of the XBOX is to allow Microsoft to break into the home entertainment industry. Whether or not the XBOX makes money, it will be followed up by XBOX II and X-HOME-THEATRE system, or whatever they will be called.
Right now, profit on the XBOX would be nice. But the bottom line isn't necessarily the bottom line.
Under the DMCA, the Librarian of Congress has the power to declare whether there are substantial non-infringing uses of a decryption technology. Should we be lobbying that person on the side?
If manned spaceflight were that cool, we would be talking about all the nifty things we could add to the ISS right now. The fact is, there is not enough science up there that requires human beings to justify the cost of sending them.
Now, getting costs down is smart. We should be investing our money in cheap methods of getting to orbit. That is the kind of thing that will pay off. Once space is cheap, a hell of a lot more space science is justified.