No, mathematics can be proven to be logically consistent. What Godel said was that it is impossible for a logical system (like Mathematics) to be both provably consistent and provably complete; so basically, because mathematics is provably consistent (that's where the whole idea of a proof comes from...), there are things that you cannot prove with that system. Whoops...but that hardly reduces it's usefulness.
I believe that the nature of the work is fundamentally different. But that's not what I was saying. So yeah, software is different, very different. But that doesn't mean that software can't become disciplined. I mean, mechanical and electrical engineering are fundamentally different, but they are both held to strict standards. However, I think the most telling part of your response is "50+ years." 50 years is a short amount of time compared to the amount of time that people have been mechanically engineering, and it is less time than humans have spent bending electricity to their will. Software methods will most likely become more advanced because software is still an immature field. But software isn't fundamentally more difficult. But I do want is for VB hacks, MCSEs and others who make poor software to be held responsible, just like in other disciplines. You will note that buildings do not come with EULAs...
"However, since nearly all software has bugs, there are other states the software can assume that are totally unknown."
Saying that is like saying that something is hard because it is messed up. In software, on a fundamental level, there is (or should be) a simple description of what each part of the code does, something like the UML schema. In this, each part of the system is decomposed into ever simpler chunks. It is the state of each one of these functions that dictates the state of the whole, not the number of possible states of 16 bits. So yeah, it is theoretically possible for a program to have 2^(8*# of bytes of opcode) states, but none of them do. What I was trying to get across about complexity is that as a whole, the functions that software implements are no more complex than things we build. Sure, in the minutiae, there are lots of states that a computer can be in, but that is irrelevant. In the design of software, the problems being tackled are not more complicated than the problems being undertaken by civil engineers building a 10 mile long bridge, or 130 story building. The reason bugs crop up is because of faulty logic on the programmers part, or ignorance of the intricacies of a language or forgetting to check bounds or whatever. Those bugs have nothing whatsoever to do with complexity; they come from bad design and execution in such a way that other engineers have severe consequences to face if they make errors like that.
The reason I brought up positions for physical things vs. positions of bits is that the system is independent of them, in a way. The number of different combinations of 16 1s and 0s does not play a role in the number of system states. If a system has n states in normal function, then there are n+1 states (the normal ones and then the BORKED state where its not in a defined state). Same thing with a physical system, but there are a whole slew more combinations of positions because there are a hell of a lot more little bitty things that can change just a little. Also, I don't believe your assertion that there are more system states in software.
Is what you're saying that you're basically running a thermodynamics simulation (where the conditionals are what you're trying to find the minimum "energy" of)? Because I wasn't comparing variables to moving parts, I was comparing functional parts of the software to moving parts. I completely agree with the componentization part though; but dividing a job into smaller parts is a core engineering discipline, and part of why I feel software engineering needs to become more...engineering-like.
I am curious what made the risk control systems for the bank so complex. What I meant about software being so complex is that, if you look at the functional parts of software versus the functional parts of other engineered systems, software does nothing more complex. Fundamentally, no software system is more complex than some other non-software system. In the real world, software ends up being more complex because the things that build software are themselves buggy. I would imagine catastrophes happening daily if the parts that are used to build buildings etc. were not maintained at a high quality. As it stands, the tools used to build software are not like the tools and materials used to build buildings, and that makes making software more complex than it fundamentally is.
You are completely right about pressure from the top, and I think that they need to be made accountable for those problems. This is yet another reason why EULAs are evil.
What does the fact that two bytes having 65,536 states have to do with complexity? That's irrelevnat to the complexity of the system; any software system can (and should) be broken down into smaller functional modules that can be further broken down into smaller chunks etc., just like anything else that is built, a building, bridge, spaceship, whatever. If we are going to have a pissing contest with number of variables, the fact that the real world is not discrete like logic leads to a much greater number of possible positions for physical things, but again, the fact that two bytes can take on 2^16 different states means nothing. That's not what makes software complex.
How complex are bridges we build today? Or buildings? There is no software that is so complex that it trumps the complexity of an orbital spacecraft. Speaking of that, there is some subset of software that has been discussed on slashdot that is truly engineered: the code that goes into the space shuttle. Every single line of code has been signed off on that because it is vital. So keeping software to that standard is ludicrous, as buildings are not as fastidiously scrutinized as spacecraft, but buildings are scrutinized. Why should something that handles trillions of dollars, and millions of lives a day (i.e. computers running software) not be kept to some professional standard? Multiple PEs are on staff at any major building project; it should become a solution, and if it were required, then software people would have more stable jobs. There is no reason it would decimate the domestic software pool; any company could outsource for some custom software not guaranteed, but mission-critical (financial, safety, medical etc) software jobs should require this. And to say that all programs built are as complex as bridges is ludicrous; they vary in complexity. A better analogy is comparing programs to buildings of any sort. And there are a lot more of those built every year.
Nuclear bombs generally use plutonium-239, which emits either alpha or beta radiation. The number of particles emitted by such material is several orders of magnitude less than the number of photons given off by an incandescent lightbulb. At 10 km, the number of alpha or beta particles that would hit a detector (unless the detector were very large) would hardly be above background. Additionally, because Pu-239 is an alpha emitter, the metal encasing it is enough to block (most) of the radiation.
He isn't saying that dyslexia (or any other disorder/syndrome) is not a real thing. He is saying it is annoying to him that people use these as excuses. I find that annoying also. Everybody has quirks and things to overcome regardless of whether some doctor "found" some syndrome and named it after himself. Your brother doesn't seem to be using his dyslexia as a crutch or excuse, and he chose to overcome it instead. The GP (and I) have a problem with people who use whatever syndrome they have as an excuse.
That's still stupid as the first account you make is admin. Automatically, so for any computer with one account (like a lot of home users), everyone is running admin. I mean, if we want to protect ourselves why not take a sensible approach, like only allowing admins to do potentially harmful tasks, and thus requiring an admin password for UAC (whether you are in an admin account or not); this is how it is for every other operating system I am aware of on the planet. What I am saying is, why even make a distinction between admin and non-admin users. Make users authenticate for potentially dangerous operations. This would have the added benefit of being more annoying than just clicking, so it would force Microsoft to better determine which tasks should require UAC.
Dude. Man. Whoa. Science is the study of the testable. Evolution is not provable, and neither is the universal theory of gravitation. You can't even disprove the Universal Theory of Gravitation because it works (under certain conditions). But you can test it, and see when it does work...
Well, to say what I think are a few better solutions:
1) Like sudo, give ~5 minutes of UAC-free administrative fun! And while I'm here, I used Vista for two days; I was clicking through UAC controls all the time. It's not something you do every few months. It's a daily occurance.
2) Make users give a password! Jesus...UAC is not security. It's just another click to be able to do something you need/want to do.
3) Restrict the number of operations that require UAC. Opening the Control Panel should not require a clickthrough.
And those are just off the top of my head. Microsoft claims to have a brain trust coming up with innovation. Why the hell is security seemingly implemented my misguided adolescents? And that is not a bash. It's been backed up by the three points just mentioned.
First of all, sudo is a much better way to do administrative tasks in *NIX. But aside from that, how many clicks does it take to enable/disable UAC? It is a lot faster to "su root" and then exit than click through even two menus.
But most of all: how long did Microsoft work on Vista and why could they not have done an intelligent job of it? Why do you need to make excuses on a product that was in development for five years?
I have no ideas if any other EE/CE types out there would enjoy being able to run complete, non-heuristic Quine-McCluskey implementations that didn't take years to complete...but ironically, that would help make faster classical computers.
Although there are probably more traveling salesmen who would be interested in solving NP-complete problems...
There is no need to drag the IRS into this. I can tell you what the law that says you have to pay federal income tax. The law that says you have to pay federal income tax is the federal tax code. This gives the rationale for why the IRS can collect taxes from you. And this is why the IRS can do anything. That is the US Tax Code. I don't have time to parse it to find whether it is flawed. However, the preconditions and requirements that legislation much meet are that they adhere to the tenets illustrated in the Constitution. I know of no other requirements that laws must have. However, I would like to point out that you have not consistently said that the legal basis for income tax is flawed; you stated, in two separate posts, that is has no legal basis. And while I agree that memes such as "hater" and "hate speech" are debilitating to a good discussion, I was not invoking either. I was saying that it is obvious that you are feel an intense and passionate dislike of taxes. That fulfills the definition of hate. Therefore, you hate taxes. I am not applying a label to you; I am saying that you hate taxes.
Your first hypothesis, sir, is a complete non sequitur. I said in my last post that my rationale for replying was to stomp out your misinformation, which is what my tenacity stems from. Further, as any lawyer will (and anyone who finished a civics course should be able to) tell you, the Constitution is the basis for all the laws in this nation. Therefore, when the Constitution says, "The Federal Government has the ability to tax incomes," there is a legal basis for the law that is the soundest basis a law can hope for. It is quite obvious that you hate taxes; it is also quite obvious that you are blinded by that hatred, or willfully ignorant. It is sad.
I made absolutely no comments about perception of the law. I simply stated the unbiased (and unemotional) truth: that income tax law has a legal basis in the Constitution, which is THE LAW, intentionally hard to change so that the legal underpinnings of our government is stable. Now, I would have to agree that a lot of laws are immoral. Tax code, but also laws that allow incredibly inefficient cars on the road, and the Patriot act, are all laws that I find to be unreasonable and ones that I disagree with. However, that does not mean that they are not perfectly legit. If laws are acknowledged as being wrong, they should be changed, either "through the establishment" or by revolution if necessary. Those are my personal beliefs. However, representing false statements as the truth is completely against my personal beliefs.
Actually, there is again legal basis to enforce the tax law. The Constitution charges the Executive Branch of the government (i.e. the one headed by the president) to enforce all laws that Congress passes. There is again, a legal basis for the enforcement of all laws, including income tax. So, uh, yeah: all completely legal...nothing to see here, please move along.
Ok, that's great and all, but he was talking about the legal basis of income tax law. The legal basis is that it is explicitly allowed in the Constitution. All law in the US is based upon the Constitution, and all judges, presidents, attorneys general, etc. have to abide by the Constitution. When they are sworn into office, they are charged with "upholding the Constitution." In conclusion, income tax law has a rock solid legal basis. Now, that it doesn't apply equally to everybody is true, but it has nothing to do with the legal basis. The legal basis for the law simply states. "A law about this can be made." As it turns out, the actual law about income tax sucks, but that doesn't mean it has no legal basis.
The legal basis for the federal income tax is...the 16th amendment to the Constitution. Now, I don't know if you're American, but the legal basis for everything pertaining to the Federal Government in the USA is the Constitution. I mean, you've gotta be kidding me. No legal basis. Jesus, the income tax has more basis than, the Patriot Act, Abortion, whatever you like.
Most plants do not require other organisms. While some plants use nitrogen fixers (like legumes, peanuts and clover), there are others, like cotton, which do not rely on nitrogen fixers and will just suck all the nitrogen out of the soil. This is why George Washington Carver advocated rotating cotton with peanuts. The same goes for trees. Granted, plants would eventually all perish if there were no decomposers, but if they were fed artifical fertilizers, they do not depend on other organisms the way viruses depend on others.
That's not the point I want to make though. Although multicellular organisms are much more complex than a bacteria, bacteria are many many many times more complex than viruses. Viruses are basically a protective capsule around genetic information, similar to, but stil less complex than the nucleus in a eukaryotic cell. Bacteria have many different structures and functions, including many pathways (generally more than even eukaryotic cells) for generating energy, as well as structures for regulating both the environment inside and outside their cellular membrane. All these bacteria are completely independent. The debate over whether viruses are alive or dead is not about whether something depends on something else, or how complex it is. It really boils down to this: 1) Biologists claim that there are 7 indications of life that must be met for something to be alive, and viruses do not meet all these criteria; 2) biologists also say that the central point of life, its meaning if you will, is to reproduce, and viruses certainly do do this. If viruses replicate and adapt like living things even though they do not exhibit all the signs of life, are they alive? That is the question...
No, mathematics can be proven to be logically consistent. What Godel said was that it is impossible for a logical system (like Mathematics) to be both provably consistent and provably complete; so basically, because mathematics is provably consistent (that's where the whole idea of a proof comes from...), there are things that you cannot prove with that system. Whoops...but that hardly reduces it's usefulness.
I believe that the nature of the work is fundamentally different. But that's not what I was saying. So yeah, software is different, very different. But that doesn't mean that software can't become disciplined. I mean, mechanical and electrical engineering are fundamentally different, but they are both held to strict standards. However, I think the most telling part of your response is "50+ years." 50 years is a short amount of time compared to the amount of time that people have been mechanically engineering, and it is less time than humans have spent bending electricity to their will. Software methods will most likely become more advanced because software is still an immature field. But software isn't fundamentally more difficult. But I do want is for VB hacks, MCSEs and others who make poor software to be held responsible, just like in other disciplines. You will note that buildings do not come with EULAs...
"However, since nearly all software has bugs, there are other states the software can assume that are totally unknown."
Saying that is like saying that something is hard because it is messed up. In software, on a fundamental level, there is (or should be) a simple description of what each part of the code does, something like the UML schema. In this, each part of the system is decomposed into ever simpler chunks. It is the state of each one of these functions that dictates the state of the whole, not the number of possible states of 16 bits. So yeah, it is theoretically possible for a program to have 2^(8*# of bytes of opcode) states, but none of them do. What I was trying to get across about complexity is that as a whole, the functions that software implements are no more complex than things we build. Sure, in the minutiae, there are lots of states that a computer can be in, but that is irrelevant. In the design of software, the problems being tackled are not more complicated than the problems being undertaken by civil engineers building a 10 mile long bridge, or 130 story building. The reason bugs crop up is because of faulty logic on the programmers part, or ignorance of the intricacies of a language or forgetting to check bounds or whatever. Those bugs have nothing whatsoever to do with complexity; they come from bad design and execution in such a way that other engineers have severe consequences to face if they make errors like that.
The reason I brought up positions for physical things vs. positions of bits is that the system is independent of them, in a way. The number of different combinations of 16 1s and 0s does not play a role in the number of system states. If a system has n states in normal function, then there are n+1 states (the normal ones and then the BORKED state where its not in a defined state). Same thing with a physical system, but there are a whole slew more combinations of positions because there are a hell of a lot more little bitty things that can change just a little. Also, I don't believe your assertion that there are more system states in software.
Is what you're saying that you're basically running a thermodynamics simulation (where the conditionals are what you're trying to find the minimum "energy" of)? Because I wasn't comparing variables to moving parts, I was comparing functional parts of the software to moving parts. I completely agree with the componentization part though; but dividing a job into smaller parts is a core engineering discipline, and part of why I feel software engineering needs to become more...engineering-like.
I am curious what made the risk control systems for the bank so complex. What I meant about software being so complex is that, if you look at the functional parts of software versus the functional parts of other engineered systems, software does nothing more complex. Fundamentally, no software system is more complex than some other non-software system. In the real world, software ends up being more complex because the things that build software are themselves buggy. I would imagine catastrophes happening daily if the parts that are used to build buildings etc. were not maintained at a high quality. As it stands, the tools used to build software are not like the tools and materials used to build buildings, and that makes making software more complex than it fundamentally is.
You are completely right about pressure from the top, and I think that they need to be made accountable for those problems. This is yet another reason why EULAs are evil.
What does the fact that two bytes having 65,536 states have to do with complexity? That's irrelevnat to the complexity of the system; any software system can (and should) be broken down into smaller functional modules that can be further broken down into smaller chunks etc., just like anything else that is built, a building, bridge, spaceship, whatever. If we are going to have a pissing contest with number of variables, the fact that the real world is not discrete like logic leads to a much greater number of possible positions for physical things, but again, the fact that two bytes can take on 2^16 different states means nothing. That's not what makes software complex.
"With the complexity of software today..."
How complex are bridges we build today? Or buildings? There is no software that is so complex that it trumps the complexity of an orbital spacecraft. Speaking of that, there is some subset of software that has been discussed on slashdot that is truly engineered: the code that goes into the space shuttle. Every single line of code has been signed off on that because it is vital. So keeping software to that standard is ludicrous, as buildings are not as fastidiously scrutinized as spacecraft, but buildings are scrutinized. Why should something that handles trillions of dollars, and millions of lives a day (i.e. computers running software) not be kept to some professional standard? Multiple PEs are on staff at any major building project; it should become a solution, and if it were required, then software people would have more stable jobs. There is no reason it would decimate the domestic software pool; any company could outsource for some custom software not guaranteed, but mission-critical (financial, safety, medical etc) software jobs should require this. And to say that all programs built are as complex as bridges is ludicrous; they vary in complexity. A better analogy is comparing programs to buildings of any sort. And there are a lot more of those built every year.
Nuclear bombs generally use plutonium-239, which emits either alpha or beta radiation. The number of particles emitted by such material is several orders of magnitude less than the number of photons given off by an incandescent lightbulb. At 10 km, the number of alpha or beta particles that would hit a detector (unless the detector were very large) would hardly be above background. Additionally, because Pu-239 is an alpha emitter, the metal encasing it is enough to block (most) of the radiation.
No, someone copied the Wikipedia entry without citing...
But then, that's typical slashdot...
He isn't saying that dyslexia (or any other disorder/syndrome) is not a real thing. He is saying it is annoying to him that people use these as excuses. I find that annoying also. Everybody has quirks and things to overcome regardless of whether some doctor "found" some syndrome and named it after himself. Your brother doesn't seem to be using his dyslexia as a crutch or excuse, and he chose to overcome it instead. The GP (and I) have a problem with people who use whatever syndrome they have as an excuse.
Microsoft's done more usability studies than I or all slashdotters put together.
While that statement is most likely true, it certainly doesn't feel like it.
That's still stupid as the first account you make is admin. Automatically, so for any computer with one account (like a lot of home users), everyone is running admin. I mean, if we want to protect ourselves why not take a sensible approach, like only allowing admins to do potentially harmful tasks, and thus requiring an admin password for UAC (whether you are in an admin account or not); this is how it is for every other operating system I am aware of on the planet. What I am saying is, why even make a distinction between admin and non-admin users. Make users authenticate for potentially dangerous operations. This would have the added benefit of being more annoying than just clicking, so it would force Microsoft to better determine which tasks should require UAC.
Dude. Man. Whoa. Science is the study of the testable. Evolution is not provable, and neither is the universal theory of gravitation. You can't even disprove the Universal Theory of Gravitation because it works (under certain conditions). But you can test it, and see when it does work...
I wish you wouldn't try to explain this stuff.
Well, to say what I think are a few better solutions:
1) Like sudo, give ~5 minutes of UAC-free administrative fun! And while I'm here, I used Vista for two days; I was clicking through UAC controls all the time. It's not something you do every few months. It's a daily occurance.
2) Make users give a password! Jesus...UAC is not security. It's just another click to be able to do something you need/want to do.
3) Restrict the number of operations that require UAC. Opening the Control Panel should not require a clickthrough.
And those are just off the top of my head. Microsoft claims to have a brain trust coming up with innovation. Why the hell is security seemingly implemented my misguided adolescents? And that is not a bash. It's been backed up by the three points just mentioned.
First of all, sudo is a much better way to do administrative tasks in *NIX. But aside from that, how many clicks does it take to enable/disable UAC? It is a lot faster to "su root" and then exit than click through even two menus.
But most of all: how long did Microsoft work on Vista and why could they not have done an intelligent job of it? Why do you need to make excuses on a product that was in development for five years?
I have no ideas if any other EE/CE types out there would enjoy being able to run complete, non-heuristic Quine-McCluskey implementations that didn't take years to complete...but ironically, that would help make faster classical computers.
Although there are probably more traveling salesmen who would be interested in solving NP-complete problems...
Dude, if you RTFA you would see that the points you brought up have already been addressed.
There is no need to drag the IRS into this. I can tell you what the law that says you have to pay federal income tax. The law that says you have to pay federal income tax is the federal tax code. This gives the rationale for why the IRS can collect taxes from you. And this is why the IRS can do anything. That is the US Tax Code. I don't have time to parse it to find whether it is flawed. However, the preconditions and requirements that legislation much meet are that they adhere to the tenets illustrated in the Constitution. I know of no other requirements that laws must have. However, I would like to point out that you have not consistently said that the legal basis for income tax is flawed; you stated, in two separate posts, that is has no legal basis. And while I agree that memes such as "hater" and "hate speech" are debilitating to a good discussion, I was not invoking either. I was saying that it is obvious that you are feel an intense and passionate dislike of taxes. That fulfills the definition of hate. Therefore, you hate taxes. I am not applying a label to you; I am saying that you hate taxes.
Your first hypothesis, sir, is a complete non sequitur. I said in my last post that my rationale for replying was to stomp out your misinformation, which is what my tenacity stems from. Further, as any lawyer will (and anyone who finished a civics course should be able to) tell you, the Constitution is the basis for all the laws in this nation. Therefore, when the Constitution says, "The Federal Government has the ability to tax incomes," there is a legal basis for the law that is the soundest basis a law can hope for. It is quite obvious that you hate taxes; it is also quite obvious that you are blinded by that hatred, or willfully ignorant. It is sad.
I made absolutely no comments about perception of the law. I simply stated the unbiased (and unemotional) truth: that income tax law has a legal basis in the Constitution, which is THE LAW, intentionally hard to change so that the legal underpinnings of our government is stable. Now, I would have to agree that a lot of laws are immoral. Tax code, but also laws that allow incredibly inefficient cars on the road, and the Patriot act, are all laws that I find to be unreasonable and ones that I disagree with. However, that does not mean that they are not perfectly legit. If laws are acknowledged as being wrong, they should be changed, either "through the establishment" or by revolution if necessary. Those are my personal beliefs. However, representing false statements as the truth is completely against my personal beliefs.
Actually, there is again legal basis to enforce the tax law. The Constitution charges the Executive Branch of the government (i.e. the one headed by the president) to enforce all laws that Congress passes. There is again, a legal basis for the enforcement of all laws, including income tax. So, uh, yeah: all completely legal...nothing to see here, please move along.
So what Google means when it says, "Do No Evil" is "Letting you let out your devilish side, in bed."
I'm all for it.
Ok, that's great and all, but he was talking about the legal basis of income tax law. The legal basis is that it is explicitly allowed in the Constitution. All law in the US is based upon the Constitution, and all judges, presidents, attorneys general, etc. have to abide by the Constitution. When they are sworn into office, they are charged with "upholding the Constitution." In conclusion, income tax law has a rock solid legal basis. Now, that it doesn't apply equally to everybody is true, but it has nothing to do with the legal basis. The legal basis for the law simply states. "A law about this can be made." As it turns out, the actual law about income tax sucks, but that doesn't mean it has no legal basis.
The legal basis for the federal income tax is...the 16th amendment to the Constitution. Now, I don't know if you're American, but the legal basis for everything pertaining to the Federal Government in the USA is the Constitution. I mean, you've gotta be kidding me. No legal basis. Jesus, the income tax has more basis than, the Patriot Act, Abortion, whatever you like.
Most plants do not require other organisms. While some plants use nitrogen fixers (like legumes, peanuts and clover), there are others, like cotton, which do not rely on nitrogen fixers and will just suck all the nitrogen out of the soil. This is why George Washington Carver advocated rotating cotton with peanuts. The same goes for trees. Granted, plants would eventually all perish if there were no decomposers, but if they were fed artifical fertilizers, they do not depend on other organisms the way viruses depend on others.
That's not the point I want to make though. Although multicellular organisms are much more complex than a bacteria, bacteria are many many many times more complex than viruses. Viruses are basically a protective capsule around genetic information, similar to, but stil less complex than the nucleus in a eukaryotic cell. Bacteria have many different structures and functions, including many pathways (generally more than even eukaryotic cells) for generating energy, as well as structures for regulating both the environment inside and outside their cellular membrane. All these bacteria are completely independent. The debate over whether viruses are alive or dead is not about whether something depends on something else, or how complex it is. It really boils down to this: 1) Biologists claim that there are 7 indications of life that must be met for something to be alive, and viruses do not meet all these criteria; 2) biologists also say that the central point of life, its meaning if you will, is to reproduce, and viruses certainly do do this. If viruses replicate and adapt like living things even though they do not exhibit all the signs of life, are they alive? That is the question...