Of course it is. Unless you have the resources to verify the audit yourself, you need to trust the person who has done it on your behalf to have done it properly.
I said "not required". If you let some company do it for you and have no way to verify, you must trust them even if you have the skill to verify, you simply have no other option.
That's great. Now, how do you know J Random Blogger hasn't left out (through either malice or incompetence) problems during their 'audit' ?
How do you know Trusted Audits, Inc hasn't left out (through either malice or incompetence) problems during their 'audit'?
And unlike with the blogger, there are powerful economic forces at work here. TAI isn't going to want to anger their client, and internally will have pressures to audit as quickly and cheaply for themselves as possible, to reap the maximum profit. Their results will then be delivered to the client, who will further decide whether to publish or not.
A company wanting to present a positive view can easily request for 10 audits from different companies, and publish the only one that was positive. Or even set up a fake company for the audit.
Anybody can publish a long report explaining how various metrics and incantations prove that the software is secure. I consider such things to have zero actual value. Talk is cheap. Show me the proof in the code.
Trust is not required when the evidence is in the open.
An audit of OSS can easily include references to specific lines in the source code. If the audit says that there's a potential buffer overflow I can go look myself and verify that indeed there's a problem. And if the audit says that AES encryption is used, then I can go and verify that indeed it is AES and not XOR or some homebrew thing.
First, nobody is going to enforce seriously such a policy in modern times. Everybody has a cell phone, and it'd be political suicide the first time a kid got in trouble and couldn't call for help due to their phone being taken away.
Second, this is Europe we're talking about, and not the litigious American society. 99% of teachers won't stand their ground in a case like that, it's far less bothersome to give in.
Third, I've been in quite a few schools and none of them would expel you for something as silly as having a cell phone. Actually getting expelled required serious effort. With a cell phone they'd at worst make you leave the classroom.
Fourth, students figured long ago that they can protest, and have very few problems with organizing a school-wide one. I've seen it in action, they're more than capable of organizing an effective one. Not like the school can expel them all at once.
My point is that too much intelligence isn't a good thing if you intend to reproduce. Things like a career, learning, and thinking about the future takes time a less intelligent person would be spending having sex.
People with a natural skill for subjects like programming, mathematics or painting often have it at the cost of other skills that would get them laid. Mastery in a subject is hard to achieve without dedicating a lot of time and effort to it, and that combined with the sort of personality interested in really mastering something often results in very odd people.
A town full of people with the characteristics that made Van Gogh into the excellent painter he was would be a town full of very strange people producing a lot of art, but having a lot less luck breeding than another town full of people with an IQ of 90. It's not a guarantee none of them would ever have children, but they'd have a big disadvantage on average when compared to much less interesting people.
Geeks have a reputation of being odd for a reason.
Most of the population doesn't have a personality suited to spending hours staring at a screen and concentrating really hard on the problem at hand.
That's not to say that a programmer must be a hermit, but programming requires peace and quiet. If reproduction is the goal there are much more efficient ways. A job that involves contact with many people every day would allow meeting people much faster. You'd probably be much better off being a doctor or a lawyer for instance, or even working in retail.
Programmers also seem to tend to be introverted, which is against not the best strategy if you want to reproduce lots.
Geeks still exist because there ARE advantages to that sort of personality reproduction-wise, but programmers, mathematicians and PHDs aren't the ones who have the most success passing their genes around. The people that breed like rabbits tend not to be particularly clever and lack long difficult careers to distract them from socialization. Lack of sex education helps a lot too.
To be ideally fit for reproduction a man should probably be: good looking, charming at least at first, not bright enough to reflect much on the future, willing to have sex with a different woman every day without much emotional attachment, and the ability to disappear quickly if things turn ugly. It would a quite shameless, deep down very nasty and a horrible role model sort of person that would probably get some sort of STD soon enough, and perhaps even die from it, but they'd still pass their genes with lots of success meanwhile.
More intelligence isn't always useful to reproduce better, which is what matters for evolution.
A bird that is born with a better brain that allows it to realize that it can pick a sharp rock and bash it against an egg with a hard shell to break it has an advantage: it now has more food available to it. It will be healthier (or survive) and will be more likely to reproduce.
A cat born with a brain that allows it to realize that if it could perform the necessary operations it could build mousetraps to catch mice isn't any better off. In fact it's probably worse off due to being depressed after realizing that an improvement is possible but it physically can't do what would be required due to cat paws being useless for the job, and having a larger brain that takes more energy for no benefit.
Same thing for humans. A brain that makes you a supremely good programmer isn't terribly good at attracting women, especially when using that extra ability involves withdrawing from society to get things done.
Sounds like another good reason to ban them from schools altogether.
Good luck with that. My parents forced my brother to have a cell phone, and to keep it on.
How's this ban going to be enforced, by taking the phone away? If that ever happened I know what would happen next: My father would show up at the principal's notice, demand an explanation at a volume high enough for the whole school to hear it, and demand to have the phone he paid for back now, or he'll call the police.
Whatever rules the school makes don't trump the law, and they can't just go and confiscate a phone because they feel like it. And really no teacher has any interest in getting involved in this mess.
So do you really toggle your phone ring 20 times per day depending on what you're doing? Do you really ever stop and think "Hmm, this conversation about $subject is very enjoyable, I'd better set my phone to silent to avoid interruptions"? And then when done remember to change it back? Please.
There can be a determination about the urgency on the message on both sides. You can decide you don't want to be interrupted, and I can indicate to you that whatever I want isn't urgent by sending an SMS. That way you don't have to stop whatever you're doing, look at who's calling, and think of whether to pick it up or not.
Also, I really, really hate voicemail. Leaving me something in voicemail is near a guarantee of that I'm not going to notice it until next month. And if you're counting on me remembering what you left me in voicemail weeks ago, then you'll be disappointed. SMS is much better. I don't need to stop whatever I'm doing, or find a quiet place, or even have a network connection. I can sit and browse my messages while my phone is unable to reach the network in the underground.
First, not all phones have email, and not all plans have data connection, and not all those that do have an affordable one.
Second, even if the functionality exists, it's not guaranteed to be configured and working.
Third, if you know somebody's phone number you know you can send an SMS, but you don't automatically find their email address.
For short messages, message and attachment limits aren't really relevant. Another thing is that notifications may be turned off due to the amount of incoming mail.
You must be in an area with very crappy service. I've tried sending SMS from one cell to another and the delivery time was just a few seconds. And I've sent messages to other countries and got replies quickly, too.
SMS is for times when a reply is not needed, and when timing isn't critical. I don't really care if that message takes 5 seconds or 5 minutes to arrive, and if the recipient takes an additional 10 minutes until reading it.
Perhaps somewhere there's a really horrible SMS service that takes hours to deliver messages, but I've never heard of such a thing. Certainly with the amount of usage it gets here it'd result in lots of complaints, fast. And there's no lack of phone companies to choose from.
Contrary to many people I still remember enough of my days at school to realize that young people aren't a lot different from adults, they just live in a different environment.
While at work it may be acceptable to take a phone call at any time, such things usually aren't welcome by teachers. And while at a job there's a hierarchy that may result in you having maybe 5 people you can regularly talk to, at school you're in a deeply social place, and part of a class that may be around 30 people. The small amount of separation between classrooms and common recess and food areas means it's very easy to meet a very large amount of people. Receiving 30 SMS per day is easily doable, while taking 30 phone calls, most of which don't need to be replied to isn't near as convenient.
Why would I want to interrupt somebody just to inform them of something like "My plane landed, will be there in 30 minutes"? These days, with a modern phone with predictive typing and presets such a message can be fired off in about 10 seconds. It's much easier than finding a quiet place, waiting for the phone to be picked up or voice mail, saying it and hanging up.
It's also much more convenient for the recipient: They might be in the middle of gaming, driving, talking or a meeting. An SMS can be unobtrusively checked when some free time becomes available. SMS is also known not to be urgent by the recipient, while a phone call can't be assumed to be possible to ignore for hours.
Depending on who you're communicating with, and SMS also has the advantage of not initiating the conversation. This is great when you have to tell something to one of those people who takes any opportunity to update everybody on what happened during every minute of their lives, and manage to turn a 1 minute call into an 1 hour one.
Voice mail is also very inconvenient when you want to keep an archive. I can send a SMS like "Could you get me blank DVDs next time you go to the shop?" and the recipient will be able to find it quickly a week later. Try digging it out from a fairly busy voicemail account, if it remained there at all after being listened to.
It doesn't have to be expensive either. I get 1000 free messages with each 10 Euro recharge with a time limit of a month.
Re:Asheron's Call already had this quest...
on
Torture in Games
·
· Score: 3, Informative
That's Neutral. It has several subtypes.
Neutral: The one you specified. Somebody who doesn't specifically care much about these things. Most normal people go here, who don't spend a whole lot of time thinking about whether they're being completely moral or whether they follow the law exactly. Amoral: Animals. No understanding of moral issues. True Neutral: Dedication to Neutrality as a concept. Mostly applied to Druids. In my understanding a Druid's point of view is that things must persist. The kobolds must not exterminate the humans, nor the humans the kobolds. The druid will actively try to maintain balance between forces.
D&D Evil: Lawful: Think lawyer type trying to screw people out of their money by using every legal resource to their advantage. This kind of person would argue that "Law == Morality", and that since it's legal for them to screw somebody out of all their money, there's nothing wrong with it. Neutral: Selfish. No honor or tradition. Driven by self-interest. Will adhere to law or ignore it, whichever brings the greatest advantage. Chaotic: What most games assume "evil" to be. Pointlessly sadistic, kills random people, backstabs associates even when against their own self-interest, because you see, they're EVIL and can't get along with anybody for any length of time. In the real world these would be insane.
I know you can, but I used the web server example specificially because running web servers on ports other than 80 isn't terribly useful most of the time.
You can use a proxy, but that adds some issues. Point was, you can't just set up a Windows and a Linux box each with a webserver and have it just work.
You host the game on your computer, the friend at your house connects using local addressing, then your other friends use UDP 12345 to your public address.
That only works so long that:
1. You're the only one who has this problem. Doesn't work when two other people are also going to share a connection. 2. You can convince everybody that they move to your server. There can be a serious hassle in getting maps, mods, patches and so on set up. 3. Your connection has enough bandwidth and low enough latency to work as a server.
I shouldn't have to deal with this nonsense. Without NAT everybody could just connect to everybody else and the problem wouldn't exist.
Well, I don't have a "normal" usage pattern, but yes, for me it's needed.
IDE + several VMs + many web browsers + compile -j2 makes my RAM usage such that I had to upgrade from 4 to 8GB RAM, and still managed to bring my box to a halt due to too much swapping once.
Swapping works so long it's not excessive. Have an unused IDE paged to disk so that I can open a web browser is somewhat better than forcing me to shut it down and reopen later. The problems begin when something really wants 7GB RAM, and 4 is all that's available.
Any kind of webserver. Try running two of them on the same IP address.
Of the above, especially websites using SSL. Can't have more than one per IP address.
FTP is a horrible pain when NAT is involved.
Many video conference applications.
Programs like instant messengers with file transfer.
BitTorrent and any form of P2P in general.
IPsec in transport mode
Many games. Two players trying to play online doesn't work at all with some games, no matter how much you fiddle with NAT.
Remote desktop. When troubleshooting, I can't just ask the person I'm helping to install VNC, because then I'd have to explain to them how open the port.
I'm sure the list can get a good deal longer, but this seems enough.
Like when I want to play a game online with me, a friend in my house, and people over the internet. Then we're sometimes confronted with that the game wants specifically port 12345 on UDP open, and there's no way to NAT that to two computers at once. There goes at least half an hour of everybody's time, plus another half an hour to convince the less technical players that no, it's not working and it's not going to.
UPNP doesn't solve this problem, and is yet another horrible hack that should never have existed in the first place, along with NAT. Thanks to UPNP any crap you get infected with can request the router to open a port for it to receive instructions. Isn't that wonderfully convenient?
Well, for really complete certainty, you could write your own compiler. I think for now it can be assumed that it's not possible to automatically install a backdoor in any arbitrary compiler, without having prior knowledge of how it works.
Otherwise, yes, you can never know for sure, but you can be quite sure. It would require a monumental conspiracy to have the GNU, Intel, Microsoft, Borland and Sun compilers all patched to install a backdoor in GCC, and it's even less likely that the versions from 1998 will successfully patch GCC sources from 2008. To add extra difficulties, filter the GCC source through a program that mutates the code by adding, moving and changing things in such a way that the code remains functionally the same (insert things like "foo = foo", replace "bar = 0" with "bar = bar ^ bar", etc).
At some point, the existence of a backdoor will become as likely as sudden asphyxia because all the oxygen molecules happened to be on the other side of the room.
All MD5 is good for is checking that the package is complete and wasn't corrupted in transit. For actual security you need GPG signatures, made by a safely kept, trusted key.
First, you need to know that you really have the official Gentoo key, and not something else. This is not that easy. How do you know your ISP isn't spoofing DNS for gentoo.org, and that you got the right key when you downloaded the install.iso? If you downloaded over HTTPS (doubtful), are you sure the Secret Police doesn't have a deal with Verisign? Second, the access to the key must be tightly controlled, so that only official developers can use it. Third, the program must come from untrojaned sources, and be built on a secure system.
If the Secret Police shows up and convinces the ssh maintainer to sign a trojaned ssh package, or the ssh developers to add a backdoor, you're still screwed.
1. Take the gcc source you want to check. 2. Compile gcc with your compiler. This is gcc_gcc 3. Compile gcc with another, completely different compiler. Say, Intel's one. We have now an icc_gcc. The binaries are different, but should work the same. 4. Compile the source you want to check with both of those, yielding gcc_gcc_gcc and icc_gcc_gcc. 5. Compare the resulting binaries. They should be identical.
It's very unlikely that several completely different compilers were hiddenly patched to patch gcc in exactly the same manner. It's possible to test a large number of variations of this, by for instance testing both the oldest icc that will work and the newest one.
I think you have a slight imagination problem here. We didn't bomb Iraq back into the stone age. We simply bombed them enough to suit out military objective while attempting to dave the population as much as possible.
Didn't say you did. Just that some people were awfully proud of that you could have done so, as if that was an advantage for the whole liberation plan.
The problem was that we squandered that by not having a plan ready to provide for the infrastructure we just removed and for giving the country back.
Precisely what I was saying. The US Army is excellent at blowing things up, but epic fail at politics and dealing with people.
Of course you bandy more Rhetoric around again with the "rest of the world".
None of this has anything to do with the original reasons for the war. Initially that was WMDs, then when that didn't work suddenly it was "liberation", because somebody really wanted to go to war, and if one reason didn't work another could be found.
Because while the US is more than capable of "bombing Iraq back to the stone age", as many people were very fond of pointing out back then, and your comment about levelling the place reflects, the problem in Iraq is political, and turning Iraq into a smoking crater wasn't a solution to that problem. The US knows how and has the ability to do that very well, what it struggles with is with understanding politics.
I remember what it was like back then quite well. The general american impression was that the US Army would stride into Iraq (no problems there), quickly crush Iraq's army (no problems there either) and the entire population of Iraq would run to hug their saviors. Well, that last part didn't happen. And blowing things up and killing people doesn't that make more likely to happen either, so the US is kind of stumped there.
On your comment of "levelling the place": Nobody is impressed. Everybody knows you can do that, but there's the little problem of that the whole point was to liberate Iraq, not to kill every single person in it, and such a "solution" to the problem wouldn't be welcome by the rest of the world.
I said "not required". If you let some company do it for you and have no way to verify, you must trust them even if you have the skill to verify, you simply have no other option.
How do you know Trusted Audits, Inc hasn't left out (through either malice or incompetence) problems during their 'audit'?
And unlike with the blogger, there are powerful economic forces at work here. TAI isn't going to want to anger their client, and internally will have pressures to audit as quickly and cheaply for themselves as possible, to reap the maximum profit. Their results will then be delivered to the client, who will further decide whether to publish or not.
A company wanting to present a positive view can easily request for 10 audits from different companies, and publish the only one that was positive. Or even set up a fake company for the audit.
Anybody can publish a long report explaining how various metrics and incantations prove that the software is secure. I consider such things to have zero actual value. Talk is cheap. Show me the proof in the code.
Trust is not required when the evidence is in the open.
An audit of OSS can easily include references to specific lines in the source code. If the audit says that there's a potential buffer overflow I can go look myself and verify that indeed there's a problem. And if the audit says that AES encryption is used, then I can go and verify that indeed it is AES and not XOR or some homebrew thing.
Still wouldn't bet on it.
First, nobody is going to enforce seriously such a policy in modern times. Everybody has a cell phone, and it'd be political suicide the first time a kid got in trouble and couldn't call for help due to their phone being taken away.
Second, this is Europe we're talking about, and not the litigious American society. 99% of teachers won't stand their ground in a case like that, it's far less bothersome to give in.
Third, I've been in quite a few schools and none of them would expel you for something as silly as having a cell phone. Actually getting expelled required serious effort. With a cell phone they'd at worst make you leave the classroom.
Fourth, students figured long ago that they can protest, and have very few problems with organizing a school-wide one. I've seen it in action, they're more than capable of organizing an effective one. Not like the school can expel them all at once.
This is wandering into an offtopic territory.
My point is that too much intelligence isn't a good thing if you intend to reproduce. Things like a career, learning, and thinking about the future takes time a less intelligent person would be spending having sex.
People with a natural skill for subjects like programming, mathematics or painting often have it at the cost of other skills that would get them laid. Mastery in a subject is hard to achieve without dedicating a lot of time and effort to it, and that combined with the sort of personality interested in really mastering something often results in very odd people.
A town full of people with the characteristics that made Van Gogh into the excellent painter he was would be a town full of very strange people producing a lot of art, but having a lot less luck breeding than another town full of people with an IQ of 90. It's not a guarantee none of them would ever have children, but they'd have a big disadvantage on average when compared to much less interesting people.
Yes, but there's a balance there.
Too stupid, and you get eaten by a tiger.
Too smart, and you end up like Socrates.
Who would audit it though, and would the actual results be ever published if negative?
With OSS, anybody can audit and post a list of problems with references to the source code on their blog.
With closed source, the company would pay another company to perform the audit. The result would most likely be one or two:
A report like "this is completely safe" with no proof, because the auditing company wants to make the one paying them happy.
Or, no report at all, because the result was negative and the company decided not to publish it.
Geeks have a reputation of being odd for a reason.
Most of the population doesn't have a personality suited to spending hours staring at a screen and concentrating really hard on the problem at hand.
That's not to say that a programmer must be a hermit, but programming requires peace and quiet. If reproduction is the goal there are much more efficient ways. A job that involves contact with many people every day would allow meeting people much faster. You'd probably be much better off being a doctor or a lawyer for instance, or even working in retail.
Programmers also seem to tend to be introverted, which is against not the best strategy if you want to reproduce lots.
Geeks still exist because there ARE advantages to that sort of personality reproduction-wise, but programmers, mathematicians and PHDs aren't the ones who have the most success passing their genes around. The people that breed like rabbits tend not to be particularly clever and lack long difficult careers to distract them from socialization. Lack of sex education helps a lot too.
To be ideally fit for reproduction a man should probably be: good looking, charming at least at first, not bright enough to reflect much on the future, willing to have sex with a different woman every day without much emotional attachment, and the ability to disappear quickly if things turn ugly. It would a quite shameless, deep down very nasty and a horrible role model sort of person that would probably get some sort of STD soon enough, and perhaps even die from it, but they'd still pass their genes with lots of success meanwhile.
More intelligence isn't always useful to reproduce better, which is what matters for evolution.
A bird that is born with a better brain that allows it to realize that it can pick a sharp rock and bash it against an egg with a hard shell to break it has an advantage: it now has more food available to it. It will be healthier (or survive) and will be more likely to reproduce.
A cat born with a brain that allows it to realize that if it could perform the necessary operations it could build mousetraps to catch mice isn't any better off. In fact it's probably worse off due to being depressed after realizing that an improvement is possible but it physically can't do what would be required due to cat paws being useless for the job, and having a larger brain that takes more energy for no benefit.
Same thing for humans. A brain that makes you a supremely good programmer isn't terribly good at attracting women, especially when using that extra ability involves withdrawing from society to get things done.
Good luck with that. My parents forced my brother to have a cell phone, and to keep it on.
How's this ban going to be enforced, by taking the phone away? If that ever happened I know what would happen next: My father would show up at the principal's notice, demand an explanation at a volume high enough for the whole school to hear it, and demand to have the phone he paid for back now, or he'll call the police.
Whatever rules the school makes don't trump the law, and they can't just go and confiscate a phone because they feel like it. And really no teacher has any interest in getting involved in this mess.
So do you really toggle your phone ring 20 times per day depending on what you're doing? Do you really ever stop and think "Hmm, this conversation about $subject is very enjoyable, I'd better set my phone to silent to avoid interruptions"? And then when done remember to change it back? Please.
There can be a determination about the urgency on the message on both sides. You can decide you don't want to be interrupted, and I can indicate to you that whatever I want isn't urgent by sending an SMS. That way you don't have to stop whatever you're doing, look at who's calling, and think of whether to pick it up or not.
Also, I really, really hate voicemail. Leaving me something in voicemail is near a guarantee of that I'm not going to notice it until next month. And if you're counting on me remembering what you left me in voicemail weeks ago, then you'll be disappointed. SMS is much better. I don't need to stop whatever I'm doing, or find a quiet place, or even have a network connection. I can sit and browse my messages while my phone is unable to reach the network in the underground.
It's not really all that much better.
First, not all phones have email, and not all plans have data connection, and not all those that do have an affordable one.
Second, even if the functionality exists, it's not guaranteed to be configured and working.
Third, if you know somebody's phone number you know you can send an SMS, but you don't automatically find their email address.
For short messages, message and attachment limits aren't really relevant. Another thing is that notifications may be turned off due to the amount of incoming mail.
You must be in an area with very crappy service. I've tried sending SMS from one cell to another and the delivery time was just a few seconds. And I've sent messages to other countries and got replies quickly, too.
SMS is for times when a reply is not needed, and when timing isn't critical. I don't really care if that message takes 5 seconds or 5 minutes to arrive, and if the recipient takes an additional 10 minutes until reading it.
Perhaps somewhere there's a really horrible SMS service that takes hours to deliver messages, but I've never heard of such a thing. Certainly with the amount of usage it gets here it'd result in lots of complaints, fast. And there's no lack of phone companies to choose from.
Contrary to many people I still remember enough of my days at school to realize that young people aren't a lot different from adults, they just live in a different environment.
While at work it may be acceptable to take a phone call at any time, such things usually aren't welcome by teachers. And while at a job there's a hierarchy that may result in you having maybe 5 people you can regularly talk to, at school you're in a deeply social place, and part of a class that may be around 30 people. The small amount of separation between classrooms and common recess and food areas means it's very easy to meet a very large amount of people. Receiving 30 SMS per day is easily doable, while taking 30 phone calls, most of which don't need to be replied to isn't near as convenient.
Not really, no.
Why would I want to interrupt somebody just to inform them of something like "My plane landed, will be there in 30 minutes"? These days, with a modern phone with predictive typing and presets such a message can be fired off in about 10 seconds. It's much easier than finding a quiet place, waiting for the phone to be picked up or voice mail, saying it and hanging up.
It's also much more convenient for the recipient: They might be in the middle of gaming, driving, talking or a meeting. An SMS can be unobtrusively checked when some free time becomes available. SMS is also known not to be urgent by the recipient, while a phone call can't be assumed to be possible to ignore for hours.
Depending on who you're communicating with, and SMS also has the advantage of not initiating the conversation. This is great when you have to tell something to one of those people who takes any opportunity to update everybody on what happened during every minute of their lives, and manage to turn a 1 minute call into an 1 hour one.
Voice mail is also very inconvenient when you want to keep an archive. I can send a SMS like "Could you get me blank DVDs next time you go to the shop?" and the recipient will be able to find it quickly a week later. Try digging it out from a fairly busy voicemail account, if it remained there at all after being listened to.
It doesn't have to be expensive either. I get 1000 free messages with each 10 Euro recharge with a time limit of a month.
That's Neutral. It has several subtypes.
Neutral: The one you specified. Somebody who doesn't specifically care much about these things. Most normal people go here, who don't spend a whole lot of time thinking about whether they're being completely moral or whether they follow the law exactly.
Amoral: Animals. No understanding of moral issues.
True Neutral: Dedication to Neutrality as a concept. Mostly applied to Druids. In my understanding a Druid's point of view is that things must persist. The kobolds must not exterminate the humans, nor the humans the kobolds. The druid will actively try to maintain balance between forces.
D&D Evil:
Lawful: Think lawyer type trying to screw people out of their money by using every legal resource to their advantage. This kind of person would argue that "Law == Morality", and that since it's legal for them to screw somebody out of all their money, there's nothing wrong with it.
Neutral: Selfish. No honor or tradition. Driven by self-interest. Will adhere to law or ignore it, whichever brings the greatest advantage.
Chaotic: What most games assume "evil" to be. Pointlessly sadistic, kills random people, backstabs associates even when against their own self-interest, because you see, they're EVIL and can't get along with anybody for any length of time. In the real world these would be insane.
I know you can, but I used the web server example specificially because running web servers on ports other than 80 isn't terribly useful most of the time.
You can use a proxy, but that adds some issues. Point was, you can't just set up a Windows and a Linux box each with a webserver and have it just work.
That only works so long that:
1. You're the only one who has this problem. Doesn't work when two other people are also going to share a connection.
2. You can convince everybody that they move to your server. There can be a serious hassle in getting maps, mods, patches and so on set up.
3. Your connection has enough bandwidth and low enough latency to work as a server.
I shouldn't have to deal with this nonsense. Without NAT everybody could just connect to everybody else and the problem wouldn't exist.
Well, I don't have a "normal" usage pattern, but yes, for me it's needed.
IDE + several VMs + many web browsers + compile -j2 makes my RAM usage such that I had to upgrade from 4 to 8GB RAM, and still managed to bring my box to a halt due to too much swapping once.
Swapping works so long it's not excessive. Have an unused IDE paged to disk so that I can open a web browser is somewhat better than forcing me to shut it down and reopen later. The problems begin when something really wants 7GB RAM, and 4 is all that's available.
Lots of them.
Any kind of webserver. Try running two of them on the same IP address.
Of the above, especially websites using SSL. Can't have more than one per IP address.
FTP is a horrible pain when NAT is involved.
Many video conference applications.
Programs like instant messengers with file transfer.
BitTorrent and any form of P2P in general.
IPsec in transport mode
Many games. Two players trying to play online doesn't work at all with some games, no matter how much you fiddle with NAT.
Remote desktop. When troubleshooting, I can't just ask the person I'm helping to install VNC, because then I'd have to explain to them how open the port.
I'm sure the list can get a good deal longer, but this seems enough.
Yes, NAT is wonderful.
Like when I want to play a game online with me, a friend in my house, and people over the internet. Then we're sometimes confronted with that the game wants specifically port 12345 on UDP open, and there's no way to NAT that to two computers at once. There goes at least half an hour of everybody's time, plus another half an hour to convince the less technical players that no, it's not working and it's not going to.
UPNP doesn't solve this problem, and is yet another horrible hack that should never have existed in the first place, along with NAT. Thanks to UPNP any crap you get infected with can request the router to open a port for it to receive instructions. Isn't that wonderfully convenient?
Well, for really complete certainty, you could write your own compiler. I think for now it can be assumed that it's not possible to automatically install a backdoor in any arbitrary compiler, without having prior knowledge of how it works.
Otherwise, yes, you can never know for sure, but you can be quite sure. It would require a monumental conspiracy to have the GNU, Intel, Microsoft, Borland and Sun compilers all patched to install a backdoor in GCC, and it's even less likely that the versions from 1998 will successfully patch GCC sources from 2008. To add extra difficulties, filter the GCC source through a program that mutates the code by adding, moving and changing things in such a way that the code remains functionally the same (insert things like "foo = foo", replace "bar = 0" with "bar = bar ^ bar", etc).
At some point, the existence of a backdoor will become as likely as sudden asphyxia because all the oxygen molecules happened to be on the other side of the room.
MD5 does not provide security.
All MD5 is good for is checking that the package is complete and wasn't corrupted in transit. For actual security you need GPG signatures, made by a safely kept, trusted key.
First, you need to know that you really have the official Gentoo key, and not something else. This is not that easy. How do you know your ISP isn't spoofing DNS for gentoo.org, and that you got the right key when you downloaded the install .iso? If you downloaded over HTTPS (doubtful), are you sure the Secret Police doesn't have a deal with Verisign?
Second, the access to the key must be tightly controlled, so that only official developers can use it.
Third, the program must come from untrojaned sources, and be built on a secure system.
If the Secret Police shows up and convinces the ssh maintainer to sign a trojaned ssh package, or the ssh developers to add a backdoor, you're still screwed.
It's possible to defeat that though.
Let's say you want to verify a copy of GCC.
1. Take the gcc source you want to check.
2. Compile gcc with your compiler. This is gcc_gcc
3. Compile gcc with another, completely different compiler. Say, Intel's one. We have now an icc_gcc. The binaries are different, but should work the same.
4. Compile the source you want to check with both of those, yielding gcc_gcc_gcc and icc_gcc_gcc.
5. Compare the resulting binaries. They should be identical.
It's very unlikely that several completely different compilers were hiddenly patched to patch gcc in exactly the same manner. It's possible to test a large number of variations of this, by for instance testing both the oldest icc that will work and the newest one.
Didn't say you did. Just that some people were awfully proud of that you could have done so, as if that was an advantage for the whole liberation plan.
Precisely what I was saying. The US Army is excellent at blowing things up, but epic fail at politics and dealing with people.
None of this has anything to do with the original reasons for the war. Initially that was WMDs, then when that didn't work suddenly it was "liberation", because somebody really wanted to go to war, and if one reason didn't work another could be found.
Because while the US is more than capable of "bombing Iraq back to the stone age", as many people were very fond of pointing out back then, and your comment about levelling the place reflects, the problem in Iraq is political, and turning Iraq into a smoking crater wasn't a solution to that problem. The US knows how and has the ability to do that very well, what it struggles with is with understanding politics.
I remember what it was like back then quite well. The general american impression was that the US Army would stride into Iraq (no problems there), quickly crush Iraq's army (no problems there either) and the entire population of Iraq would run to hug their saviors. Well, that last part didn't happen. And blowing things up and killing people doesn't that make more likely to happen either, so the US is kind of stumped there.
On your comment of "levelling the place": Nobody is impressed. Everybody knows you can do that, but there's the little problem of that the whole point was to liberate Iraq, not to kill every single person in it, and such a "solution" to the problem wouldn't be welcome by the rest of the world.