I've seen it in real life. I myself wrote the code in question and I was the one who spent a full day looking for the bug some 15 years ago when I just started my career in software.
That said, I hate adding lines of code just to make things "obvious", because it doesn't by definition do so. Hence, I do on occasion use this construct on purpose. But then I always comment it as such:
while ((object = accesses->next.target))/* = intended */ { ... }
Ever since I started doing that, the "= for == bug" never caught me again, because I learned from experience that any if (...=...) is suspect unless explicitly marked otherwise.
While you're at it, please also provide the more meaningful data. Such as what percentages of primary and secundary school graduates can read, understand, speak more than one language in Europe and teh US? That's a much more relevant comparison, because it's about what people know and can, as oposed to how many people know just as little or even less as some reference person/idiot.
me thinks it is very important to know the difference between 1 fish and 0 fish.
That seems obvious. But then again humanity survived quite a long time without the 0 and when the Arabs finally invented it and later brought it to Europe, it for quite some time was heavily objected against in certain circles as being something devilish and all that.
There is a major mental difference between "I have no fish" and "I have a number of fish, but it just so happens that this number is 0." That is through even without speaking of performing arithmetic in base X and understanding the special role of that 0 thing in that context.
In the real world, there are other types of machines than just desktops and e-mail servers.
There are also machines used to steer equipment where an interruption of service must be carefully planned if it is not to coast hundreds of thousands - if not millions - of dollars. Such boxes normally are unreachable behind all sorts of firewalls, but that does not mean that they cannot be reached fom inside the company network. This means that an idiot who takes his laptop home and infects it there can - indirectly - cause one of these production boxes to be infected. That's a simple fact of life. Yes, he should be fired and probably would in most places, but by then the damage has been done.
So what do you do about it, if you're an admin? One thing you do it to isolate these boxes, but that isn't always feasible (yes, this is sad. but it also is a fact of life). The obvious other thing you do is install patches as soon as possible, BUT NO SOONER. Before updating 50 such machines all at once, you update one of them as an acceptance test. If you're unlucky, that process may take one or even two days at least to complete (schedule the downtime, install the patch, restart production, veryify).
Yes, if these boxes are hit by a black virus that makes them fail this gets to be very expensive. But if they are hit by a white virus that makes them fail, the same applies. And if the failure is caused by an untested automatic update, the same also applies.
Now consider this: of these three scenarios, which is the bigger risk? The automatic updates are a good candidate! They should be better tested than the technicolor virii, but they are also preprogrammed and thus more frequent. They will happen in any case, even if their aim is patching a hole that has been found by the OS vendor but for which no exploit exists yet in the wild. They will also try to patch holes one for which your normal corporate network and rules are a big enough hurdle on the path to exloitation so as to not be immediately vulnerable.
The point is: there should be a fourth option on your list. Leaving a known security hole open for a brief amount of time (or even somewhat longer if the patch turns out to be faulty) is NOT the same as not having a clue. If you don't see this, it's you who needs to get a clue.
And that includes all teh apparent typpos. For the lord has inspred my to hide a special message in my wrtitings, teh meainng of whoch is to be revealed only on judgement day, just a litttle over 4 months from now... (by the way: are Yu ready to be condamned?) As teh available communicatiuon mecahnisms on/. are so limited in terms of expressive power, I chose to use spelling erroirs to encode tehis holy mssage.
Don't sound so silly. You're undermining the very argument you're trying to make.
New DNA has been observed in drug resistant bacteria. Especially there, even, as bacteria have this trick of exchanging and recombining bits of DNA even between/accress different species.
Also, it is not true that by definition new DNA needs to be created for a new species to emerge. The latter can also happen by disabling (damaging) existing DNA the normal effect of which is to suppress/regulate the impact of other existing DNA.
Finally, a spelling mistake in DNA transcription can also lead to an organism that is better suited for survival. Add hundreds of milions of years of mistakes, and behold: one remote offspring of the original individual has wings while another hasn't. In other words: when accepting natural selection in combination with DNA transcription errors, one haa to accept evolution.
We have faith in God because He has proven Himself trustworthy, time after time after time.
Of course he has. We (well, not every single one of us, but...) have created him to be exactly that: trustworthy, time after time after time. That's exactly the same what people like the Greek, the Romans, the Vikings, the Sumerians, the ancient Egyptians, the Aztecs, the Maya's, and countless other tribes did. They created a god or multiple gods that was/were trustworthy. Untill, that is, (s)he/they proved not to be so trustworthy after all. Who says your current god is any better (read as: more worthy of faith)?
As far as I personally am concerned, both are facts of nature, but that's not my point.
Despite the above, I also say that both are theories that "live" the abstract world that we humans created in our collective conciousness. Evolution is a theory that describes how we (well, those who accept it) explain/model certain things in biology such as to explain the data that we have. Gravity is a mathemetical theory that describes how we explain/model certain things in physics such as to explain the data that we have. Both theories have evolved over time as our understanding changed (think of Einstein, amongst others), but the fact that there are people who refuse to accept any given theory (in casu evolution) does not make it untrue.
Another theory that we humans created in our collective conciousness is called god. It's the theory that we use to explain things that we do not know how else to explain. If evolution is not proven simply because there are people who do not accept it, then neither is the idea of god.
Note that the above does not deny anyone the right to believe in one ore more gods. I will not say that there is no god simply because there are people (like me) who think that there is none.
One more thing: Occam's razor is often misunderstood. It says that if there are two equally valid explanations for an observation, we should accept the simplest one as the most likely one. It does NOT say that the simplest one by definition also is that one and only correct one.
The simplest answer if god exists, is that he created a single cell capable of reproducing and evolving and then let everything... evolve from there. If you really want god to be the great and allmighty creator, then at leaxt give him the credit of creating something as flexible and magnificent as evolution. (You might consider it his ensurance policy.:-)
I know you are trolling and I do not at all agree about the creationist undertone of your message, but I do agree that the person who linked this monkey's sudden change in behaviour to evolution doesn't understand what (s)he is talking about.
Evolution overall is gradual. It can have sudden jumps, but only at conception of the new creature, not in the middle of its lifetime. And most of all, up until the moment when creatures with the mental capabilities of (prototype) humans were formed, evolution is solely built on the changes being hereditary. Nowadays, the latter no longer is true because we humans have found ways to adapt to hostile environments without having to fundamentally change ourselves. But back "bipededness" (is that a word?) for primates was invented, that did not yet aply.
Final note: Even today. the hereditary aspect remains. We can invent a new trick and teach it to our children with no biological evolution being involved, but only those that have the pfysical/mental ability to really exploit it will prosper because of. And that is called... evolution.
Evolution and gravity both have the same amount of proof, or lack thereof. Before accusing people of making mistakes and creating facts where there are none, you should do your own homework.
He or she will for sure say "Because God created you that way. It is meant to be a way to test the strength of your faith in the Lord."
The problem with these people is that they cannot be convinced that they are wrong. To them the fact that their god (note: no capital) created it all exactly in this way is a fact upon which everything else is built. No proof of this fact is needed. Yet, if an evolutionist points to all the evidence for his theory, the creationists immediately yell that he has no proof and is creating facts out of the blue.
I used to not understand at all how we humans can have actively and conciously practiced evolution in dogs, cats, horses, pigeons, plants,... for many hundreds or even thousands of years (yes, I'm talking about selectively breeding new races/species) all while the church was the recognised sole owner of the truth and proclaiming that god created everything exactly as-is. Along comes Darwin, and poof, suddenly evolution is declared a heresy and nobody makes the connection to facts from everyday life.
But using this kind of reasning is useless. If you can interbread a horse and a donkey to create a mule, that will be labeled god's will. If you can find two other species that can interbreed but that in addition generate non-sterile off-spring, that too will be labeled god's will: he created them such that this is possible. Not that it says so in the bible, but who cares: the bible is only to be cited when it fits the claim that needs to be made. Ergo, the creationists are always right and will not accept any criticism unless you can cite the bible in an attempt to support your claim. And even then they will not listen if they think they can cite a contradictory passage that can be explained in such a way that whatever you cited is not applicable to the argument at hand.
Hence, I now say: forget it and let evolution take care of it. On the longer run, creationists are a dying breed anyway.
I would rather have to visit to fix a UI problem then have to explain why granddad's system was hosting a spam relay.
You have a point there.
As for the endless 'what if update did this?' and the really sad M$ troll, grow up.
Those in need of growing up may be those who think they know other people based on only a handful of/. posts and who are apparently incapable of seeing the underlying issue when only shown some examples.
What about (for instance) a critical IE updates that causes IE to make itself the default browser again? Suppose you've set up a machine for granddad and made Firefox the default browser precisely because IE is one big security hole and because granddad can't be trusted to practice safe surfing. Along comes M$ Automatic Update (TM (& patented)) and it undoes all your hard work. Along the way it also leaves granddad utterly baffled about the sudden change in UI behaviour and you have to come by and fix it again.
Oh come on... Joe/Jane Six-pack may be idiots (and they are), but the one thing that they do play with is the screen settings. Especially something like the refresh frequency: quite a few people do notice flicker at the default 60Hz. I for one simply cannot work with 60Hz.
Besides, it does not have to be your "the net is only for browsing family pictures" grandmother who changed that setting all by herself. Maybe you did it for her. And then suddenly it breaks without any obvious reason.
The video driver is only an example that just happened to hit me this weekend. The same kind of thing can happen to any update, including critical ones.
I do *not* want Windows to automatically update stuff! Only last weekend I let it install a video driver update, only to later (after a lot of twaking and loss of valuable time) find out because of this, it was impossible to get more than 60Hz out of the shiny 85Hz max monitor attached to it. When using the new driver, Windows knows this monitor can do 85Hz and happily lets me switch modes and confirm whether I want to keep the change. It also *thinks* it is displaying at the frequency I last selected. But on the physical level, nothing changes. A driver roll back fixed the issue, but imagine something like this happning out of the blue on some non-geek user? Who's she gonna call to fix it? If things really get done automatically, how will she even know that some specific driver update caused it?
Speaking of IT folks who do not do their job properly: The current CTO of Xilinx had a bit of "fun" because of those back when he was still working on his PhD.
He did all his work on one of those very weird Lisp machines that existed back then. This was the only such machine we had and the IT folk were there to show that they were absolutely ignorant of how to deal with it. Every evening, one of them passed by the box with a backup tape and dutifully inserted it. Every morning, yesterday's tape was stored with all other backups they made of the machines that did have clue about. All is well for several years. But then the hard disk in this Lisp machine crashes. Imagine the horror scene when all tapes were revealed to be empty... It turned out that the IT guys had no clue that they actually had to type in a command to start the backup and never checked afterwards either because they didn't know how to.
Poor Ivo ended up retyping everything from memory.
to build an overview of my entire project (something like 100 files in total) but did this instead:
find . -name '*.[ch]' -exec cat {} \; > some_file
Oh well, silly me. Just follow that with rm some_file and try again.
Later that night the dreaded/bin/rm -rf * thing hit me. Ouch! Ermm... Help! Disaster! So I timidly e-mailed my boss that they would need to get the backup tapes out in the morning and that I would need an extra day to redo all the work that did not yet hit the tapes.
Only after doing this do I remembered that I had the following in my.cshrc:
alias rm mv \!* ~/.deleted
After 6 more hours of unpacking some_file and rebuilding the Makefiles from scratch, the sun was already above the horizon again but at least my stuff was back. All in all, I lost only about 2 hours of real work.
It wasn't the worst disaster to hit me, tough. The latter happened only a few months ago when I fried the keyboard interface of my prehistoric "master" machine and had to jump through many a loop to get my data back without investing in new hardware. Yes, I did/do have backups on separate media. But how does one read those, if the only machine that can read them simply refuses to boot?
Physically destroying the drive with a hammer was not an option (I asked.)
Indeed. And that is actually the most scary part: they won't allow you to do that, because they want to have the option to repair the broken disk and sell it as an "as good as new refurbished part" to some other poor soul with a broken disk.
$DEITY only knows what happens with the data during the process of finding out whether this item can be salvaged and/or afterwards. Considering that it is technically possible to retrieve erased bits even after they have been overwritten a few times...
But what about this scenario: it's the hard disk that is broken. Suppose you still have a valid warantee for the box in question, so they will replace the disk at no cost. But of course they want to have proof that you're not just trying to cheat them out of an additional harddisk. If this happens, HP/Compaq demand that you trade in the old disk for the new one (it just happened to me, so I know first hand).
Note that "the hard disk is broken" does not imply that the data is lost forever, but just that it is currently unreachable.
I wouldn't have much use for a compiler that didn't produce executable code, would you?
That only requires the addition of an output device capable of writing to a roll of film. Nothing special, considering that similar devices must have existed in order to create the input rolls in the first place. Note that I agree that this still would not make the box a von Neumann one in the true sense, since the currently running program is still stored separately from the data. But than again, all I'm saying is that a compiler could have been written for Z3 taht itself could run on Z3.
That said, I hate adding lines of code just to make things "obvious", because it doesn't by definition do so. Hence, I do on occasion use this construct on purpose. But then I always comment it as such:
Ever since I started doing that, the "= for == bug" never caught me again, because I learned from experience that any if (...=...) is suspect unless explicitly marked otherwise.
While you're at it, please also provide the more meaningful data. Such as what percentages of primary and secundary school graduates can read, understand, speak more than one language in Europe and teh US? That's a much more relevant comparison, because it's about what people know and can, as oposed to how many people know just as little or even less as some reference person/idiot.
That seems obvious. But then again humanity survived quite a long time without the 0 and when the Arabs finally invented it and later brought it to Europe, it for quite some time was heavily objected against in certain circles as being something devilish and all that.
There is a major mental difference between "I have no fish" and "I have a number of fish, but it just so happens that this number is 0." That is through even without speaking of performing arithmetic in base X and understanding the special role of that 0 thing in that context.
There are also machines used to steer equipment where an interruption of service must be carefully planned if it is not to coast hundreds of thousands - if not millions - of dollars. Such boxes normally are unreachable behind all sorts of firewalls, but that does not mean that they cannot be reached fom inside the company network. This means that an idiot who takes his laptop home and infects it there can - indirectly - cause one of these production boxes to be infected. That's a simple fact of life. Yes, he should be fired and probably would in most places, but by then the damage has been done.
So what do you do about it, if you're an admin? One thing you do it to isolate these boxes, but that isn't always feasible (yes, this is sad. but it also is a fact of life). The obvious other thing you do is install patches as soon as possible, BUT NO SOONER. Before updating 50 such machines all at once, you update one of them as an acceptance test. If you're unlucky, that process may take one or even two days at least to complete (schedule the downtime, install the patch, restart production, veryify).
Yes, if these boxes are hit by a black virus that makes them fail this gets to be very expensive. But if they are hit by a white virus that makes them fail, the same applies. And if the failure is caused by an untested automatic update, the same also applies.
Now consider this: of these three scenarios, which is the bigger risk? The automatic updates are a good candidate! They should be better tested than the technicolor virii, but they are also preprogrammed and thus more frequent. They will happen in any case, even if their aim is patching a hole that has been found by the OS vendor but for which no exploit exists yet in the wild. They will also try to patch holes one for which your normal corporate network and rules are a big enough hurdle on the path to exloitation so as to not be immediately vulnerable.
The point is: there should be a fourth option on your list. Leaving a known security hole open for a brief amount of time (or even somewhat longer if the patch turns out to be faulty) is NOT the same as not having a clue. If you don't see this, it's you who needs to get a clue.
And that includes all teh apparent typpos. For the lord has inspred my to hide a special message in my wrtitings, teh meainng of whoch is to be revealed only on judgement day, just a litttle over 4 months from now... (by the way: are Yu ready to be condamned?) As teh available communicatiuon mecahnisms on /. are so limited in terms of expressive power, I chose to use spelling erroirs to encode tehis holy mssage.
That's a self-reference if I aver saw one. I hereby state that everything I ever wrote on /. was inspired by god.
Guess who wrote (and later repeatedly rewrote) that pesky thing...
New DNA has been observed in drug resistant bacteria. Especially there, even, as bacteria have this trick of exchanging and recombining bits of DNA even between/accress different species.
Also, it is not true that by definition new DNA needs to be created for a new species to emerge. The latter can also happen by disabling (damaging) existing DNA the normal effect of which is to suppress/regulate the impact of other existing DNA.
Finally, a spelling mistake in DNA transcription can also lead to an organism that is better suited for survival. Add hundreds of milions of years of mistakes, and behold: one remote offspring of the original individual has wings while another hasn't. In other words: when accepting natural selection in combination with DNA transcription errors, one haa to accept evolution.
Of course he has. We (well, not every single one of us, but...) have created him to be exactly that: trustworthy, time after time after time. That's exactly the same what people like the Greek, the Romans, the Vikings, the Sumerians, the ancient Egyptians, the Aztecs, the Maya's, and countless other tribes did. They created a god or multiple gods that was/were trustworthy. Untill, that is, (s)he/they proved not to be so trustworthy after all. Who says your current god is any better (read as: more worthy of faith)?
Despite the above, I also say that both are theories that "live" the abstract world that we humans created in our collective conciousness. Evolution is a theory that describes how we (well, those who accept it) explain/model certain things in biology such as to explain the data that we have. Gravity is a mathemetical theory that describes how we explain/model certain things in physics such as to explain the data that we have. Both theories have evolved over time as our understanding changed (think of Einstein, amongst others), but the fact that there are people who refuse to accept any given theory (in casu evolution) does not make it untrue.
Another theory that we humans created in our collective conciousness is called god. It's the theory that we use to explain things that we do not know how else to explain. If evolution is not proven simply because there are people who do not accept it, then neither is the idea of god.
Note that the above does not deny anyone the right to believe in one ore more gods. I will not say that there is no god simply because there are people (like me) who think that there is none.
One more thing: Occam's razor is often misunderstood. It says that if there are two equally valid explanations for an observation, we should accept the simplest one as the most likely one. It does NOT say that the simplest one by definition also is that one and only correct one.
The simplest answer if god exists, is that he created a single cell capable of reproducing and evolving and then let everything ... evolve from there. If you really want god to be the great and allmighty creator, then at leaxt give him the credit of creating something as flexible and magnificent as evolution. (You might consider it his ensurance policy. :-)
Evolution overall is gradual. It can have sudden jumps, but only at conception of the new creature, not in the middle of its lifetime. And most of all, up until the moment when creatures with the mental capabilities of (prototype) humans were formed, evolution is solely built on the changes being hereditary. Nowadays, the latter no longer is true because we humans have found ways to adapt to hostile environments without having to fundamentally change ourselves. But back "bipededness" (is that a word?) for primates was invented, that did not yet aply.
Final note: Even today. the hereditary aspect remains. We can invent a new trick and teach it to our children with no biological evolution being involved, but only those that have the pfysical/mental ability to really exploit it will prosper because of. And that is called... evolution.
Evolution and gravity both have the same amount of proof, or lack thereof. Before accusing people of making mistakes and creating facts where there are none, you should do your own homework.
The problem with these people is that they cannot be convinced that they are wrong. To them the fact that their god (note: no capital) created it all exactly in this way is a fact upon which everything else is built. No proof of this fact is needed. Yet, if an evolutionist points to all the evidence for his theory, the creationists immediately yell that he has no proof and is creating facts out of the blue.
I used to not understand at all how we humans can have actively and conciously practiced evolution in dogs, cats, horses, pigeons, plants, ... for many hundreds or even thousands of years (yes, I'm talking about selectively breeding new races/species) all while the church was the recognised sole owner of the truth and proclaiming that god created everything exactly as-is. Along comes Darwin, and poof, suddenly evolution is declared a heresy and nobody makes the connection to facts from everyday life.
But using this kind of reasning is useless. If you can interbread a horse and a donkey to create a mule, that will be labeled god's will. If you can find two other species that can interbreed but that in addition generate non-sterile off-spring, that too will be labeled god's will: he created them such that this is possible. Not that it says so in the bible, but who cares: the bible is only to be cited when it fits the claim that needs to be made. Ergo, the creationists are always right and will not accept any criticism unless you can cite the bible in an attempt to support your claim. And even then they will not listen if they think they can cite a contradictory passage that can be explained in such a way that whatever you cited is not applicable to the argument at hand.
Hence, I now say: forget it and let evolution take care of it. On the longer run, creationists are a dying breed anyway.
You have a point there.
As for the endless 'what if update did this?' and the really sad M$ troll, grow up.
Those in need of growing up may be those who think they know other people based on only a handful of /. posts and who are apparently incapable of seeing the underlying issue when only shown some examples.
What about (for instance) a critical IE updates that causes IE to make itself the default browser again? Suppose you've set up a machine for granddad and made Firefox the default browser precisely because IE is one big security hole and because granddad can't be trusted to practice safe surfing. Along comes M$ Automatic Update (TM (& patented)) and it undoes all your hard work. Along the way it also leaves granddad utterly baffled about the sudden change in UI behaviour and you have to come by and fix it again.
Besides, it does not have to be your "the net is only for browsing family pictures" grandmother who changed that setting all by herself. Maybe you did it for her. And then suddenly it breaks without any obvious reason.
The video driver is only an example that just happened to hit me this weekend. The same kind of thing can happen to any update, including critical ones.
I do *not* want Windows to automatically update stuff! Only last weekend I let it install a video driver update, only to later (after a lot of twaking and loss of valuable time) find out because of this, it was impossible to get more than 60Hz out of the shiny 85Hz max monitor attached to it. When using the new driver, Windows knows this monitor can do 85Hz and happily lets me switch modes and confirm whether I want to keep the change. It also *thinks* it is displaying at the frequency I last selected. But on the physical level, nothing changes. A driver roll back fixed the issue, but imagine something like this happning out of the blue on some non-geek user? Who's she gonna call to fix it? If things really get done automatically, how will she even know that some specific driver update caused it?
He did all his work on one of those very weird Lisp machines that existed back then. This was the only such machine we had and the IT folk were there to show that they were absolutely ignorant of how to deal with it. Every evening, one of them passed by the box with a backup tape and dutifully inserted it. Every morning, yesterday's tape was stored with all other backups they made of the machines that did have clue about. All is well for several years. But then the hard disk in this Lisp machine crashes. Imagine the horror scene when all tapes were revealed to be empty... It turned out that the IT guys had no clue that they actually had to type in a command to start the backup and never checked afterwards either because they didn't know how to.
Poor Ivo ended up retyping everything from memory.
Once upon a time, when the animals could still talk... ermmm... I mean, when I was in my first year out of college, I wanted to do:
to build an overview of my entire project (something like 100 files in total) but did this instead:
Oh well, silly me. Just follow that with rm some_file and try again.
Later that night the dreaded /bin/rm -rf * thing hit me. Ouch! Ermm... Help! Disaster! So I timidly e-mailed my boss that they would need to get the backup tapes out in the morning and that I would need an extra day to redo all the work that did not yet hit the tapes.
Only after doing this do I remembered that I had the following in my .cshrc:
After 6 more hours of unpacking some_file and rebuilding the Makefiles from scratch, the sun was already above the horizon again but at least my stuff was back. All in all, I lost only about 2 hours of real work.
It wasn't the worst disaster to hit me, tough. The latter happened only a few months ago when I fried the keyboard interface of my prehistoric "master" machine and had to jump through many a loop to get my data back without investing in new hardware. Yes, I did/do have backups on separate media. But how does one read those, if the only machine that can read them simply refuses to boot?
Indeed. And that is actually the most scary part: they won't allow you to do that, because they want to have the option to repair the broken disk and sell it as an "as good as new refurbished part" to some other poor soul with a broken disk.
$DEITY only knows what happens with the data during the process of finding out whether this item can be salvaged and/or afterwards. Considering that it is technically possible to retrieve erased bits even after they have been overwritten a few times...
Note that "the hard disk is broken" does not imply that the data is lost forever, but just that it is currently unreachable.
That only requires the addition of an output device capable of writing to a roll of film. Nothing special, considering that similar devices must have existed in order to create the input rolls in the first place. Note that I agree that this still would not make the box a von Neumann one in the true sense, since the currently running program is still stored separately from the data. But than again, all I'm saying is that a compiler could have been written for Z3 taht itself could run on Z3.