One day, me and a couple of co-workers were out having a smoke, watching the gentle bunnies graze. And along comes this big cat (siberian maybe?), scares the bunnies away and _literally_ goes and uses one bunny hole as a toilet. Hey, I suppose it beat digging her own hole for that.
Basically just because you're a gentle bunny, doesn't mean that the others will leave you alone.
"If someone speaks to hurt me, have I given them cause? Is there something I have said or done that has caused them pain? Probably not; they probably weren't doing it intentionally, and simply wounded me in blithe, unconcerned self-interest. They are, after all, management."
Management isn't your only problem there, Mr Bunny. Some of your team mates might be wolves just as well. You'd be surprised what petty low-reward interests can spark a jolly good office backstabbing game.
For starters, there's always the purpose of making oneself look good. Which often involves making everyone else look bad. For example, being seen as a better programmer might give someone ideas like "hey, if I don't do something about it, this guy will get promoted before me."
Yes, you've said you don't even intend to be one of the "blood-gargling wolves in management", but that won't stop anyone from trying to push you off a cliff anyway. Better safe than sorry.
Or then there's always just petty narrow-mindedness. I've already posted several times the story of the marketer-turned-programmer co-worker that made it his personal quest to get both female programmers on his floor fired. He succeeded too. And _only_ those. Why? I wouldn't know.
Or then there's the "no good deed goes unpunished" kind of co-worker. The person you helped, might have become your arch-enemy: you know he's incompetent, and that makes you potentially dangerous.
I've met one like that too: so utterly incompetent, that he couldn't even write code that compiles. _Not_ an exaggeration. I mean, _literally_. As far as it eventually turned out his _only_ skill was faking a resume, but had _zero_ knowledge of programming. So he asks some co-workers for help. And they do take pity and write his modules for him. What does the idiot do? Try to badmouth them to his boss.
Or then there are cases where someone might hate you just because you do your job. For example, I've had an admin co-worker go on a berserk crusade against me, for a rather silly difference of opinions.
See, he had to be admin for an utterly dysfunctional piece of crap. Had all my compassion for that too. He wanted to convince upper management that the product is crap and should be replaced by something that at least works. Had all my support there too. Heck, he had the support of every single programmer in the division: that crap was just as much of a pain in development as it was to admin.
The problem? Management couldn't be convinced as long as all they saw was that the programs do work. With a lot of extra effort and cost, partly admin work partly programmer work to implement weird workarounds, but hey, they do run.
So to make his point, he wanted that we all stop doing work-arounds and let productive programs crash and burn. Let the whole damn project fail, if needed. Just to make a point to management. And that's where he no longer had my support. I was pretty outspoken that no, no matter what it takes, our programs _must_ run. The boss will, of course, be informed how much extra time and budget it cost to implement those workarounds and make the programs run on that crap server. But no, I will _never_ deliberately sabotage the project just to make a point like that.
Somehow that must have marked me as his arch-enemy. I was one of those that caused him to be stuck adminning that piece of crap.
So next thing I know, he goes on an all out berserk crusade to prove that all my code is crap. And when I mean "berserk", I mean complete with fits of hysteria.
I should probably say: "luckily". See, he was a nerd like us, not a professional backstabber, so he just threw a _massive_ fit. An outright offensive like that is easier to defuse. If I had offended a marketter-turned-programmer, on the other hand, I probably never would have even known what he's doing against me.
Actually, what do you think will happen? That all those US spammers will move to Nigeria? I don't think so.
See, everyone wants to outsource/offshore/whatever, but noone wants to actually go live in Elbonia. When you read that IBM or Dell or whatever outsourced this and that to some 3rd world country (nowadays even India is too well paid for their taste), rest assured that Michael Dell or the CEO of IBM do _not_ also want to go live in that country.
Same goes for spammers. They want lots of money without effort, and they want to spend it comfortably at home.
They don't want to go live in a third world country at the mercy of a crackpot dictator who might as well round them up and not even give them a trial. (Would _you_ want to move your pr0n spam operation to China, were they can throw you instantly in a _far_ _worse_ jail than USA has for that? Or would you just rather pay 5$ to some chinese to just run the server there, so it's him not you who takes the fall in the worst case scenario?)
And if you think the USA has a criminality problem, you haven't read much about some of those countries. Yeah, I can sooo picture a USA spammer moving in some third world country where you might get mugged or robbed in broad daylight, or where you need to take your windshield wipers off the car each time you park or have them stolen.
Oh yeah, and they'll soo find it worth it to drive over pot holes that resemble the results of WW2 level bombing. And have a grand high total of 2 to 4 TV stations, broadcasting a crackpot dictator's speeches 80% of the time. And have a 50-50 chance that if you buy yourself a bottle of "imported" whiskey or cognac, it's some local counterfeit containing enough methilic alcohol to blind a horse. Or a melange of some 20 toxic chemicals to get the taste right.
Right. I can sooo see them choosing that standard of living, and find spamming worth that. Not.
And here's another idea: if they do move to some third world country that refuses to cooperate, we'll just cut off the whole TLD. No kidding. Tends to drive the point home very fast. And either way, spares us from the spam.
It's like saying "but one pickpocket doesn't do much harm on the whole, it's the group of them that's the problem, so let's not punish any one pickpocket." And that's, sad to say, so skewed it's not even funny.
No, not one spammer causes the problem, but noone proposed to stop at one. We'll punish as many of them as we can catch. One by one.
Sure, the first one won't make that much of a difference. Probably not the second one either. But by the time we got the top 100 of them, we've already solved 90% of the bulk mail by sheer virtue of having the perpetrators behind bars.
But we probably don't even need to get to that point. By the time 20-30 of them are safely behind bars, a lot of the other wannabes might start thinking twice. You know, "gee, money is good, but is it worth spending years in a cell with a horny guy called Bubba?"
No, seriously. The thing about science is that everything has to be proven, and everything _can_ be wrong or superceded by a better theory.
It means that yes, you're _supposed_ to question everything, be it the theory of relativity, or gravity, or global warming theories. That's what science is all about. Trying to see if you can improve the existing understanding of the world, instead of joining the lemming parrade.
The moment you've found absolute truths, evidence be damned, that's no longer science. That's _religion_.
It doesn't matter if it's about Christ, or lung cancer, or global warming. The moment you have your absolute truth and don't need no stinkin' scientists telling you about experimental evidence, or worse yet start accusing them of hidden agendas or being the enemy... congrats, you've reinvented the Inquisition. What lies that-a-way is not science, it's not environmentalism, it's religion.
People need to feel a part of something BIG. That they'll be the superheroes that save humanity, the planet, the universe, whatever.
E.g., that they'll save the world from God's wrath. Witness the Inquisition or the Crusades. Now, of course, you can finger both as church power games. But what I'm trying to say is that a lot of people voluntarily cooperated with one, or went to die in the other. To save the planet from, well, something that's completely bullshit.
E.g., missionaries or Jehovah's Witnesses or the annoying old relative/neighbour/whatever who wants to save your soul at all cost. Same idea. Makes them feel part of some big noble cause. Gives their lives a meaning.
E.g., half the tech-related flame wars. Now there are a lot of good points to be said about Linux/Solaris/AMD/CLI/Emacs/PC/consoles/whatever. But half the people are really just into the part about saving the world from some imaginary incarnation of absolute evil, not for the technical merits. They think they're Luke Skywalker saving the world from Darth Bill's Death Star, or whatever.
And the same applies to the angry, foaming-at-the-mouth, us-versus-them, anyone-not-with-us-is-our-enemy environmentalists. Now there's a lot to be said for or against the global warming or ozone depletion theories. Who knows, they might even be right. (And other parts make even more sense: e.g., I can see a very good point against pollution, since we all end up breathing or drinking that crap anyway.)
But here's the sad part: 99% of their angry supporters don't actually care about the science part. They just want a _dogma_ and a clear cut case of them being the messiah that saves the world.
Science is a funny thing. It demands an open mind, and doubting everything. But that makes it completely unattractive for wannabe messiahs, who need clear-cut black-and-white truths to fight for. Theories like "well, maybe it's still the sun that destroys most ozone" or "you know, a 0.3% temperature increase in a _century_ may just follow fluctuations in the sun's brightness" don't give one much to fight for, nor a clear enemy to save the Earth from.
Hysterias like "waah, if we don't shut down factories in 30 years we're all DOOMED!" make for a better battlecry. Just like "waah, if we don't free Christ's tomb in 30 years we're all DOOMED!" made for a jolly good Crusade some 1000 years ago.
In the end, yes, the more things change, the more humans stay the same.
Well, that kind of notion is what happens when you let someone define their own criteria of doing their job well. Doubly so when we're talking someone whose job _is_ to lie, i.e., marketting.
Actually, lemme rephrase that. Not outright "lie", but creatively mis-lead and mis-represent.
So the marketters invented all sorts of bogus self-serving metrics to justify their job. And then worked to inflate those metrics, rather than actually sell a product.
Probably the most insidious is the "click" as a measure of success and somehow directly equivalent to "sale". I mean, hey, if you got them to click, they're surely interested in the product, right? Wrong. Exactly in what product is someone interested when they click by mistake on a Fake-UI ad or "punch the monkey" tricks? None whatsoever.
And the whole Internet disaster is a direct effect of these bogus metrics. People end up working to drive up the metric, not to actually do their job.
E.g., once you define "number of ads downloaded" as a measure of advertising success, you get spyware and other software that just downloads tons of ads. It doesn't even matter if anyone sees them. They just have to show up in the logs as downloaded.
E.g., once you define "number of clicks" as a success metric, the direct result is fake UI ads. Or with spyware that automatically redirects you to the site, basically simulating a click the obnoxious way. It's not even a slippery slope. It's a direct cause-effect situation.
Etc.
And just so I don't offend only the marketting people, the same happens in _every_ job where people are measured against a bogus metric of success.
E.g., I know one PHB who demanded weekly reports from everyone of what patterns they applied, and measured a programmer's worth in how many of those they applied. That project is still not ready yet, some 3 years past the original deadline, and with a team 4 times the original size by now. It's also _the_ most baroque architecture I've ever seen, because _everything_ goes through every pattern ever invented, to match the boss's metric. E.g., no object is ever just passed around as it is, it's first wantonly wrapped in a "decorator", obtained from a "factory", which is a "singleton", etc, etc. And I mean so baroque, you can _literally_ fill a whiteboard with only the _layers_ an object has to go through. Sad.
The old break-out-of-quotes trick is IMHO a different kind of vulnerability, in that it's really a programming bug. There is no reason, other than a programmer being too stupid/ignorant to escape quotes (or for most burger-flippers-turned-programmers, to even know that it's possible to escape quotes or to use prepared statements), for that happening. For that matter, also too ignorant to know that the "LIKE" operator isn't really a full text search engine.
The search index problem is similar, but not quite. The search machine works as intended, it just has access to more data than the site owners realize.
Now it _can_ also be a programemr error, but most often, it's a design error. People just haven't even given any thought to security there, and thus implemented a system that is broken as designed.
You'd be surprised how quickly people can skip over any security considerations. Especially when they can find half an excuse. Even a stupid one, like "but we don't link to that file, so it's safe." Or worse, "but we're using SSL and we're behind a firewall, so _of_ _course_ we're secure. No need to worry about security."
Don't think of this step as requiring someone to sit there and type each word by hand. A script going through a dictionary file and writing the results to another file will do this step quite nicely.
And, frankly, there aren't _that_ many words in English. Even assuming that your server is really slow and can return as little as 10 searches per second (via more than one thread, if needed), we're talking less than an hour for this script to do its job.
And woe if someone decides to use an army of zombies to scan the whole Internet.
Basically thinking that everything must be done by hand is _the_ antithesis and nemesis of security nowadays.
We all laugh at users running without a firewall on the implicit assumption that "bah, nobody knows my IP address and noone is bored enough to try all IP addresses and known vulnerabilities by hand, so I'm safe". Think Blaster. Noone needs to do that by hand any more. In the beginning there were script kiddie kits out there that you can just start in the evening and have a list of vulnerable servers in the morning. But even that has been obsoleted by viruses who do the whole infection _and_ scanning for new hosts automatically and in a distributed fashion.
So what's to keep the same from applying here?
There's good stuff to be picked from unsuspecting companies' servers. A list of credit cards can be as good as finding oil. Or a huge list of valid and checked emails can be sold for good money to spammers. Etc. So the incentive is there.
Do you think anyone will stop trying to get at it just because a brute-force automated attack is needed? I sure hope you don't, because you might be in for a surprise.
Let me dawn some clue upon you. HT is seen from the outside as two CPUs. They just share the ALU and cache of one CPU, but that's internal details.
You almost have the answer there when you say "The fact that it needs a SMP kernel", but you miss it. Have you even thought about _why_ is that so? Nah, you just rushed to karma-whore with the ever fashionable "Windows is doomed" drivel.
Let me enlighten you: because from the software side it acts in every single aspect _exactly_ like a SMP system. _That_ is why you need a SMP kernel.
And, yes, if any driver were to fail because they're not SMP ready, they would have _already_ failed on every single HT P4 system. Yes, because of "The fact that it needs a SMP kernel". And SMP drivers at that.
See, that's the kind of "users are idiots _and_ thieves" mentality that's causing the problem in the first place. (And not just Windows. I wish all those idiot game publishers who now even want to install low level copy protection drivers on my machine would die a slow painful death. Cancer, for example.)
The fact is, users may not be versed in fine points like configuring a firewall or understanding security threats (then again, 90%+ of programmers have no clue about security either), but they _can_ Google, you know. You'd be surprised how finding a copy-protection crack for just about _anything_ takes mere minutes. Even little old grandmas know how to google nowadays, or get told how to real quick.
Also those users do _not_ live in a vaccuum, as the software companies and movie producers seem to assume. They seem to think the Earth is made of some 6 billion hermits, each living on a separate mountain top, and never talking to each other. If one of them found out how to download a crack or warez on P2P, surely noone else can learn that from him or her. Sad to say, that's not how it works.
If they're friends or family of a pirate, guess what? They'll get an already patched CD from that pirate. Or a CD and including the patch program separately. And then copy that CD further for others.
Or they'll get pointed at www.gamecopyworld.com, or whatever other crack site fits their particular problem, by someone who knows. E.g., someone like me.
Now I don't support piracy, and in fact I'm firmly against it, but I support idiotic copy protection schemes even less. Copy protection just doesn't work. Period. As was said, the _only_ ones affected are the honest paying customers. And I'll be damned if I'm gonna support that kind of thing.
When someone bought a product, it wasn't because they're too stupid to google for a crack, it was because they actually wanted to go buy it. Whoever wanted to pirate the stuff, actually went and pirated it.
And then going and dragging the paying users through indignities like having to call tech support to get their product activated (oops, some kiddie with a serial number generator already used yours, so more time on the phone is needed), or like having copy-protection-related trouble in the game they paid for (we'll just make your game crash because your CD drive is called "E:" instead of "D:", so surely you're a bloody pirate with CD emulator software), is just stupid and uncalled for.
Not that it will stop greedy corporate fucks from doing it anyway. There's a class of people for whom money is the only thing in life, and worth pursuing no matter what collateral damage they cause. Even when they don't even get that money.
The thought "but we could make 100 extra bucks from the only 2 guys in the world who don't already know how to download a crack" just overloads their brains. They just _have_ to get that 100$ at all cost, even if it means kicking every single honest user in the teeth. With steel toed boots.
The chances of life on BOTH are 1/36 in your example. That is correct. But that still doesn't mean they influence each other. The chances of life on each is still 1/6, regardless of the result on the other.
(That is, of course, assuming that no other causality existed between the two. E.g., if a meteor actively carried life from one planet to the other, it's no longer two independent rolls.)
That's just how maths works, sorry. When you roll an ideal die, you have 1/6 chance to roll a 6. Period. Regardless of how many other people roll their own dice at the same time. The fact that two happening at the same time is a 1/36 chance is not a mutual influence. It's _based_ on the fact that each still has the same unchanged 1/6 chance taken separately.
Well, ok, the flu is a virus, but honestly I couldn't come up with an example where a foreign bacteria nearly wiped out a civilization.
I can think of stuff that was clearly "imported", such as syphilis, but then it didn't cause that kind of massive mortality (unless you count the induced dementia driving a king to kill people, or go to war. Think: Ivan The Terrible.) Still, I suppose it could be mis-used as an example of when the immune system doesn't react to something clearly different to us.
Or I can think of bacterial stuff that caused many deaths, but then I'm too lazy to research where did it come from. I.e., if the problem was its being imported (my point), or merely a case of an existing bacteria developping "stealth" mechanisms (the point I was replying to.)
Well, you get the idea. That was the best I could come up with to illustraze a point.
Still, maybe even flu isn't that horrible an example. _If_ Mars ever had a bacterial soup, there is a possibility it also had viruses. Hence that one day we'll also thaw some of those. Or that we thaw some cells that are already modified by a virus to reproduce it.
Will it be dangerous to us? Good question. Most probably not. It is made to parasite entirely different cells, after all. _If_ it is, will our immune system be up to the challenge? Not sure. Seein' as what even flu did when it was a new thing, or what HIV still does, I wouldn't really bet on it.
Well, that's an entirely different point, but yes, a very valid one. Those microbes may not even be compatible enough with life on Earth to attack it in any way. I was just saying that _if_ (yes, ad absurdum) it did, chances are slim, but non-zero, that it wouldn't necessarily be as simple as "the germs from mars will be the first up against the wall."
Think the flu brought to America by the conquistadors/missionaries/colonists/etc. Something that for the europeans was just a flu, was deadlier to the Indians than the black plague back in Europe. It killed more of them than the conquistadors, wars, and inquisition combined.
"The differenter the better" is good and fine, but at one point it becomes "different enough to not be detected". The immune system and its cells aren't a complete genetics lab, complete with a team of top-notch scientists, fully analyzing every cell and deciding if it belongs there or not. It reacts to certain patterns, but doesn't react at all to others. Things that they never had to detect, they might not. Or not reliably.
Or to put it otherwise, that too is the result of evolution, rather than intelligent design. Being able to detect and solve problems that actually could kill the animal before it reproduced, were obviously favoured by natural selection. Having an immune system that reacts to viruses and bacteria you meet every day, now that's the kind of thing that natural selection is all about.
On the other hand, having an immune system capable of reacting to fundamentally different stuff, that's never even been there in millions of years, that's something _not_ enforced by natural selection. You can be born, grow up, reproduce, and die, without ever needing to heal from a martian flu.
In fact, au contraire: there's a good evolutionary reason to _not_ evolve an over-reacting immune system. See the auto-immune Type 1 diabetes where your pancreas is destroyed by your own immune system. Individuals with an immune system even more strict than that, got themselves out of the gene pool.
And evolution can be even more perverse than that. There are a whole bunch of genetic diseases or other disfunctions, which didn't get filtered out by billions of years of selection, nor get defenses evolved against them, because they made no difference in reproduction rates. Either because:
A) The're very rare recessive genes. Individuals could be "the fittest", even while carrying these genes. Or
B) They kill you after the age where you've already reproduced. E.g., skin cancer. Stuff that could kill you in your thirties-fourties wasn't a priority to evolve defenses against, when those hominids lived less than half that.
Basically all I'm saying is: I wouldn't be _that_ sure. There are good chances that, yes, the germs from mars would be the first against the wall. But as history shows, there are also non-zero chances that they won't.
Evolution is what happened _after_ the first cells were created from the raw materials.
And either of them doesn't really involve anything spectacularly improbable, and which can then be ascribed to a God/demi-God/alien/whatever. It just needs time. And time it had. Billions of years of it.
Statistics and large numbers are a funny thing. If you're one in a million, there are 6,000 just like you world-wide. Think about it. Because therein lies your answer: the key is very large numbers, not divine intervention. (And also that's the usual problem why people just don't get it: human brains has trouble working with really large numbers.)
Well, the same applies to both evolution and abiogenesis. No matter how improbable a mutation is to happen _and_ get passed on, given enough specimens over millions of years, it _will_ eventually happen. (Note, I said "improbable", not "impossible".)
Smaller mutations are easier: they happen all the time. An animal is born who's slightly smaller and faster than its parents. Another is born with slightly bigger claws. Another one is born who's slightly bigger and stronger, but needs more food. Etc.
From there it's merely a question of selection. Some of those deviations will give the animal more chances to survive and have offspring, some will make it less likely.
This affects the others too: the foxes that have an easier time finding food, might leave less food for the ones who don't. The mutated gazelle which runs faster, makes the _others_ an easier prey for lions. Etc. Essentially the most fit mutation puts the others at a disadvantage.
And you don't even need to believe in Darwinism to see that in action: artifficial selection is based on exactly the same kind of natural diversity, except the criterion who's the fittest is an artifficial human criterion, and the culling out the "unfit" is much faster.
See starting with dogs that looked like wolves, and ending up with the Pekinese. That was dilligent selection of those random mutations that were the closest to the desired end result: something (A) looking like a Chinese dragon, and (B) small enough to fit under the Emperor's tea table. It worked. Enough generations of selection turned a wolf ino the Pekinese.
Well, the same happens naturally too, only slower.
And here's the fun part: trying the same independently on two planets doesn't reduce the chances in any way. Your chances of rolling a 6 with a die are not influenced by my also rolling my own dice at the same time. The fact that you rolled a 6 doesn't say I can't roll a 6 too.
I'm not gonna argue whether you really need guns or not. It's not even my problem.
I'm just saying that _I_ don't.
I'd also say that IMHO _if_ you're at the point where you actually your own guns to be safe (and again, I'm not gonna pass judgment on if that's the case or not), it seems to me that there's something fundamentally wrong with the country and society you live in. Something that ought to be fixed at politics level, rather than by making everyone sit guard on their own porch with a shotgun.
I mean, think about it. What about someone single, who works the night shift? How are they gonna protect their home when they're not at home? How about someone 80 years old and with Parkinson, such as half my neighbours? I really don't see them in a position to defend themselves, guns or no guns.
There just has to be a better way than that.
Of course, that's all IMHO. I could be (and often am) wrong.
Maybe a little off-topic, but basically the reason you can't run a laptop 8h off batteries is... the user. Everyone wants _only_ the latest and greatest, and wouldn't take anything less than a 3.6 GHz in their new laptop. (Even if it means they can't even actualy use it on the lap any more, or not without cooking their genitals.)
You could run a laptop for a ludicriously long time if it was a slow CPU. My old Psion 5 ran something like two _weeks_ on two AA batteries. And it didn't require active cooling either, you know. Then again, it was just an ARM CPU.
Someone _could_ even make it PC compatible. I figure something like a 100 MHz 486 or maybe even a 200 MHz Pentium MMX manufactured in 90nm process, would use up ridiculously little power. In fact, it wouldn't even need a heatsink at all. It also wouldn't need a north-bridge that needs cooling of its own. And FFS, I don't need a 3D accelerated graphics card in it either.
Except there wouldn't be much of a market for it, hence not much incentive to make one.
So here's my take: even if they invented a battery that stores 10x more power, people would just start wanting dual Xeons and an 120W GeForce 6800 Ultra graphics chip in their laptop. And let's put 10,000 RPM hard drives in it this time around.
Oops. We're back to 1 hour battery life, and this time you better have asbestos gloves to use it.
Well, in all fairness, you can silence a PC too. My second computer is unbelievably silent with its Antec Phantom fanless PSU, fanless graphics card (a Sapphire 9800 Pro Ultimate Edition, so it's not quite that slow either), sound dampening cage for the Samsung HDD, and only a 12 dBA Papst fan on the CPU.
(Yes, a low speed fan cools an Athlon XP 3000+ more than enough, if it has a good copper heatsink with lots of fins. In fact, it cools an A64 in a closed case just as well.)
In fact, I'd dare say it's more silent than a Mac Mini.
And my main A64 rig isn't that much noisier either, thanks to heavy soundproofing and pretty much re-engineering the case for airflow/noise. (Sad to say, most cases seem actually be designed to be just flashy and actually noisy, presumably because marketroids think that's what hi-tech is all about.)
On the other hand, I can definitely see the point of the Mac Mini anyway.
For starters, I don't expect many people to actually enjoy spending the ludicrious amounts of time I've spent to make those PCs silent. Not only the time to slap on some soundproofing mats and new fans, but also the many hours of experimentation to figure it all out.
Just buying a computer that's silent as it is, well, even I can see a point in that.
Also getting the warranty for it, is also a good point.
And I can also see that I've missed the other points of a Mac Mini by a mile. For example those padded sound-proofed cases are anything but small, and anything but easily transported.
Well, all that was a long way of saying that basically I aggree with you, but I'd say that the Mac Mini's strength is a combination of more factors than one. A PC can match or exceed it in any one aspect, even noise (as exemplified above) or even size (think: the OQO), but no PC yet matches it in all those aspects. Or even in most.
Exactly what liberties are violated here? All that the law says here is that _if_ you have been notified that someone is breaking the law, you should notify the police.
I'd expect the same to apply to any kind of criminal offense, _especially_ the kind that likely means harm to a person. We're not talking someone smoking pot in the privacy of their home, but real people being abducted and abused.
So your idea of civil liberty is... what? The liberty to abduct and rape other people? Protecting whose liberty? The criminal's right to harm another victim? Seems like a massively skewed view of the world, IMHO.
And it has nothing to do with children. If you see someone being mugged, I would expect you to call the police just as well. Or if you see someone breaking into the neighbour's house, I'd expect you to call the police just as well. And if you see a rape in progress, even between adults, I would at the very least expect you to reach for that stupid cell phone and call the police. (No, it's not just for talking loudly on the bus or at the movie theatre.)
None of those have anything to do with children, web-sites, or terrorism. But I would expect you to call the cops nevertheless.
What's so unreasonable or "hysterical" about that?
Here's an idea for you: moaning, bitching and whining about crime rate and police inefficiency sure is a popular passtime, but... how about helping that police? No, let me rephrase that: how about helping _yourself_? Because that's what it is. It's all about helping reduce crime in the environment _you_ live in.
No country can afford to put a cop at every corner to keep you safe from crime. Or not without meaning a 50% tax hike for everyone else. So how about dropping the fashionable lemming attitude of "us-against-them" (them being the police/government/whatever) and actually working together for _your_ own good?
Here's a bit of a fact for you: you see a lot of statistics about crime rates in Europe vs USA being thrown around as definitive pro- or anti-gun facts. Usually missing the real points, which aren't about guns at all. Points like:
A) That in most European countries we have real social protection, and a helluva less of a striking difference between the obscenely rich and the extremely poor. Sure, it's easy to preach about how unemployment benefits are stealing your hard earned money to subsidize some bums. But one effect is that it gives a lot less incentive to reach for the gun/knife/brick-inna-sock/whatever and rob someone.
B) The fact that at least where I live the population actively cooperates with the police. Some people (mostly bored old people) actually spend their day looking out the window for something to report to the police.
You'd be surprised how effective that is for keeping crime down. At the old company for several years I've went through a park at night when coming back from work. Noone mugged me.
You'd also be surprised how it actually saves you money, since you no longer need a huge police force.
So by now you probably get the idea that I'm actually _for_ extending that model to the online world. If 1 minute out of an admin's time checking out a hosted site and sending an email to the police can help put a criminal behind bars, I for one am all for it.
Well, I think more important is the ability to convert _other_ sources of energy into stuff that can be put in your car.
E.g., we can create lots of electricity (e.g., nuclear power plants), but batteries still suck. Sure, someone trolls about their super-duper-electric car every year, but invariably it's (A) too big and heavy (thus needing even more energy to move around), (B) slow, (C) ridiculously short ranged, (D) needs to recharge for 10 hours before you can use it again, (E) has no infrastructure available to refuel quickly in the middle of that 500 mile trip, or most often (F) all the above.
On the other hand, if such a plant can use electricity to produce oil, it might just be the missing link. You can use your existing car, and your existing gas station, and still basically get your power from an electricity power plant.
Actually, lemme rephrase that a bit. It's not much a case of "THE missing link". We've known for a long time how to convert stuff into oil: the WW2 German panzers running on synthetic diesel was already mentioned. Until now it was just cheaper to import oil from Iraq, or recently cheaper to invade Iraq for oil, than to make your own oil. (Or even than to extract the oil reserves than the USA already has.) This however might be the link that's efficient enough to be worth using.
And unlike the WW2 coal-to-oil plants, this one promises to be pretty clean too. It just needs _anything_ organic as input. Presumably even wood. We already have species of trees which grow fast enough to be used as a crop, for example for paper: they're planted, left to grow, then harvested, and planted again. One could produce incredible quantities of organic matter that way, for converting into oil. And it's out of carbon that was in the atmosphere to start with.
A long, long time ago (in a galaxy far away) medieval craftsmen were discovering that it pays off to make plans for a longer time. Build up trust and reputation. A smithy for example was inherited for generations, was not just something for a quick scam-and-run scheme.
Some time later the same thing dawned upon merchants too.
Now fast forward to the 20'th century and operating on "internet time". Which brought us a lot of benefits, no doubt. All that intensified, accelerated, cut-throat competition sure helped drive the prices down.
But the reverse side of the coin is that all that long term planning somehow got lost. Business plans are made for a quarter, at most for one fiscal year. Sometimes even less than that: they just have to look good until the IPO or the next stockholder meeting.
Whole decisions are made not even to cause revenue _now_ (at the expense of a long term disaster), but merely to please stockholders at all costs. And if you thought that PHBs are short sighted, the investors give a new meaning to that word.
Investors don't even really care if you have a product or a plan. The stock market isn't about who has a business plan or a product. It's about (hopefully) buying low and selling high. That's all. The stocks worth buying are those who promise to rise in value in the next couple of weeks. The ones worth dumping are those who don't. Holding onto shares in someone who has a solid product and income but doesn't grow, doesn't bring you much. The whole game is about guessing what the other non-business lemmings will do with their shares. I.e., ultimately if the company's short term hype is hype enough.
And a lot of companies play that game, instead of actual planning.
E.g., I see companies taking knee-jerk reactions like firing everyone in sight at the slightest downturn, just because that always pleases investors... even if the company has a huge back-order and its problem wasn't lack of orders, but lack of ability to make that stuff fast enough. Is that stupid, or is that stupid?
E.g., technology companies firing their entire R&D stuff because it pleases investors. Sure, until the next moore's cycle comes by and just selling the old stuff doesn't really work any more. Oops, it was a long term suicide to please the investors in the short term.
The epitome of this short-sightedness was the dot-com bubble. I've actually worked for a dot-com whose _only_ business plan could be summed up as "people will give us a ton of money at the IPO".
Basically: Sacrificing long term goals to look good in the short run is actually expected. Cooking the goose now is what keeps the investors happy. "Our new pop-up-under-through-and-sideways technology has resulted in a 10% increase in advertising income in the last month" is the stuff that makes people buy your shares. "We chose not to alienate people, and slowly, gently build up a honest brand name instead" is what makes them sell your shares: doesn't promise any spectacular growth in the next weeks or months.
If you think that the arms race is all about the users, you're sadly mistaken. See, the sad story of the Internet is one big arms race where everyone is trying to shaft _everyone_ else.
E.g., the webmasters trying to shaft the ad providers. (Which is why it started with one well paid ad per site, and ended up with wall-to-wall ad pages. Some fuckwits figured 'hey, if one ad pays this much, we'll get rich by showing 100 ads per page.' That, however, pushed the ad rate in a downwards spiral for everyone else.)
E.g., the ad providers trying to shaft the companies they're advertising for _and_ the webmasters. E.g., marketting people shafting the company they work for.
And one of the more masterful achievements of con-artists... err... marketting experts, was defining the "click" as a measure of success for an add. A campaign is successful if people click on that stuff, right? They got interested in the product, right?
Not necessarily. You give someone the idea that they're paid to generate clicks, regardless of whether the product sells or not, they'll actually work on just generating bogus clicks.
E.g., you end up with stuff like fake-UI popups. It doesn't matter whether you got interested in the product or not, or (for 99% of the people) you just clicked on the fake-UI by accident, then just closed the window and forgot about it. It just matters that they got a "click" to add to their total.
They don't actually intend to sell a product, which would for example work better if they did targetted advertising, than shotgun fake UI ads or "punch the monkey" tricks. They just want to tally up a high number of worthless clicks, which they can then use as a self-justifying bogus measure of "success".
Using indexes into the same table is still not solving the problem of allowing mods, for example. As soon as the table needs to be n+1 objects instead of n, you have a problem with reading old games.
As for the saveme() method, it actually _reduces_ complexity, and reduces the risk of bugs, since the code is close to the actual object. Instead of having one big method with 100+ if blocks that can save this if it's a map, that if it's a weapon, and that other thing if it's an armour, each kind of object can already know exactly what it can save and handle only that.
That said, it doesn't really have to be in _every_ object. If your game objects are, for example, based on some kind of a hash-table, you only need a function that serializes hash-tables. That's one very easy method to write, and can thereafter be inherited by all objects that fit.
The idea isn't as crazy as you might think: each game object is, after all, a collection of properties and values. For a weapon, you have range, ammo clip size, accuracy, etc. For an NPC you have stats and skills and inventory slots. For armour, similarly. For crafts (e.g., building a sword from a hilt and blade, the blade from a blank using a hammer at the anvil, etc) you need the same thing: what goes in, what tools are needed, what skill level. Spells? Ditto. Alchemy? See crafts. Etc.
It's all properties.
It also has the advantage that it's extensible. If in the expansion pack you decide to add a new stat or skill or feat, or anything else, you just need a new property. You can even read the old saved games, as long as the code can work when the new property doesn't exist. (E.g., assume the default value for a missing stat.)
And by now you probably get the idea "but hash-maps are too slow for games!" Hardly the case any more, actually. See, most of the time in a game is spent in the GPU or in GPU-related stuff.
Things like calculating the To-Hit probability, or deciding how much damage you took through armour, etc, are less than 1% of the CPU usage. It's just not worth optimizing those any more. Any properties needed for that, can jolly well be in a hash-table, and noone will notice any difference.
Don't believe me? "The Fall" for example is scripted almost entirely in Python, including the whole combat system, skill system, etc. Using basically hash-tables. Sure, the graphics engine and pathfinding and such were still compiled stuff, but virtually all else was Python.
Or, if you absolutely must optimize, use unique numeric indexes instead of string keys. And #define them to something more mnemonic like STAT_STR or WEAPON_ACCURACY.
When say, forensic evidence is presented in court, it also has to be basically validated. You want to see the person's credentials, for example. Are they really the expert in forensics that they claim to be? There's also a bunch of questions about the data and the conclusions. One has to present _what_ scientific facts and theories are behind that conclusions, and whether there is reasonable doubt about the conclusions.
You can't just take a bum off the street to say "yeah, I'm the greatest expert. Take my words as absolute truth. And my tarot cards told me that the buttler did it, so that's the absolute truth. Oh yeah, and I used my divination rod to examine the body."
See, the whole idea behind a criminal trial is "beyond reasonable doubt." Regardless of what method or science branch that data was obtained by, you must, in fact, ascertain that there is indeed little reason to doubt it. The whole point of a fair trial is to try to _find_ reasons to doubt everything.
Seems to me like the exact same applied here. No more, no less.
Just because something was spit out of a program doesn't mean that it's automatically right. Perhaps _the_ oldest thing about computers is: GIGO. Garbage In, Garbage Out. It's not even a 20'th century thing. In the last century Babbage was asked the same thing by a British member of the Parliament: if we put the wrong numbers in, does the right data come out?
So it seems to me very reasonable to first want to assert _what_ the program calculated, and to what degree accuracy. What rules did go into that simulation? Are the persons who wrote it even competent to write that kind of a program? Was it validated by anyone? What kind of data went in? What data _didn't_? Etc.
Seems very reasonable to me, and again it is something that's should be expected about any other scientific methods as well. It has nothing to do with whether it's a computer or not. It has to do with whether it is scientiffic or not. That has to be proved.
And that's what they utterly failed to do. They just expected to wave a hand (Jedi style) in front of everyone and have their version taken for granted, just because it happens on a computer screen. It must be the absolute truth. You don't need to know anything else.
The thing about a computer simulation is that it's only as good as the rules and data it uses. The computer isn't some infailible holy amulet that turns everything into infailible Truth.
You can simulate _any_ bogus stuff on the computer, if your rules are bogus enough.
For a less expert thing to think about, look at simulation games: no two car racing games have the same physics. You can tweak the physics for gameplay, or for "realism", or fail to achieve either. ("Driving Emotion, Type: S" comes to mind. A.k.a., "the real drunk driving simulator".)
But here's the fun part: even the "realistic" ones differ massively from each other. The "realistic" physics in GT3 differ massively from the "realistic" physics in GT2, and both differ fundamentally from the "realistic" physics in Sega GT.
Or take space combat sims. About 99% work by submarine physics, and _none_ simulate what happens in a gravity well. I.e., anwhere near a planet or star.
Yet the game works. It has the wrong rules, but it simulates them faithfully. It looks like it's in space... even if it behaves like a submarine.
Same idea about a crash sim: it may well look like it simulates a car crash, but get it all wrong nevertheless.
That's the whole point: before you can convict a human based on a simulation, you better be damn sure _what_ it simulates. What rules are in it? Who made up those rules? Did any real experts _test_ the program, or do we just have to take it on faith that it's good? What if it isn't?
But wait, it gets worse.
Floating point calculations are notorious for inaccuracy. There are well documented cases where errors don't just accumulate at the 10'th decimal, but cascade to produce a result that's wrong by orders of magnitude.
(That's why, for example, any DBMS and almost every language has some form of a BigInteger or BigDecimal class. Because you don't want your accounting program to return a result that's wrong by a million dollars. Not that it will stop incompetent monkeys from using "float" for database operations anyway, but it exists.)
So does their program have that problem? You better damn be sure it doesn't before you accept in court that someone was driving at _literally_ supersonic speeds on the highway.
One day, me and a couple of co-workers were out having a smoke, watching the gentle bunnies graze. And along comes this big cat (siberian maybe?), scares the bunnies away and _literally_ goes and uses one bunny hole as a toilet. Hey, I suppose it beat digging her own hole for that.
Basically just because you're a gentle bunny, doesn't mean that the others will leave you alone.
"If someone speaks to hurt me, have I given them
cause? Is there something I have said or done that has caused them pain?
Probably not; they probably weren't doing it intentionally, and simply
wounded me in blithe, unconcerned self-interest. They are, after all,
management."
Management isn't your only problem there, Mr Bunny. Some of your team mates might be wolves just as well. You'd be surprised what petty low-reward interests can spark a jolly good office backstabbing game.
For starters, there's always the purpose of making oneself look good. Which often involves making everyone else look bad. For example, being seen as a better programmer might give someone ideas like "hey, if I don't do something about it, this guy will get promoted before me."
Yes, you've said you don't even intend to be one of the "blood-gargling wolves in management", but that won't stop anyone from trying to push you off a cliff anyway. Better safe than sorry.
Or then there's always just petty narrow-mindedness. I've already posted several times the story of the marketer-turned-programmer co-worker that made it his personal quest to get both female programmers on his floor fired. He succeeded too. And _only_ those. Why? I wouldn't know.
Or then there's the "no good deed goes unpunished" kind of co-worker. The person you helped, might have become your arch-enemy: you know he's incompetent, and that makes you potentially dangerous.
I've met one like that too: so utterly incompetent, that he couldn't even write code that compiles. _Not_ an exaggeration. I mean, _literally_. As far as it eventually turned out his _only_ skill was faking a resume, but had _zero_ knowledge of programming. So he asks some co-workers for help. And they do take pity and write his modules for him. What does the idiot do? Try to badmouth them to his boss.
Or then there are cases where someone might hate you just because you do your job. For example, I've had an admin co-worker go on a berserk crusade against me, for a rather silly difference of opinions.
See, he had to be admin for an utterly dysfunctional piece of crap. Had all my compassion for that too. He wanted to convince upper management that the product is crap and should be replaced by something that at least works. Had all my support there too. Heck, he had the support of every single programmer in the division: that crap was just as much of a pain in development as it was to admin.
The problem? Management couldn't be convinced as long as all they saw was that the programs do work. With a lot of extra effort and cost, partly admin work partly programmer work to implement weird workarounds, but hey, they do run.
So to make his point, he wanted that we all stop doing work-arounds and let productive programs crash and burn. Let the whole damn project fail, if needed. Just to make a point to management. And that's where he no longer had my support. I was pretty outspoken that no, no matter what it takes, our programs _must_ run. The boss will, of course, be informed how much extra time and budget it cost to implement those workarounds and make the programs run on that crap server. But no, I will _never_ deliberately sabotage the project just to make a point like that.
Somehow that must have marked me as his arch-enemy. I was one of those that caused him to be stuck adminning that piece of crap.
So next thing I know, he goes on an all out berserk crusade to prove that all my code is crap. And when I mean "berserk", I mean complete with fits of hysteria.
I should probably say: "luckily". See, he was a nerd like us, not a professional backstabber, so he just threw a _massive_ fit. An outright offensive like that is easier to defuse. If I had offended a marketter-turned-programmer, on the other hand, I probably never would have even known what he's doing against me.
Actually, what do you think will happen? That all those US spammers will move to Nigeria? I don't think so.
See, everyone wants to outsource/offshore/whatever, but noone wants to actually go live in Elbonia. When you read that IBM or Dell or whatever outsourced this and that to some 3rd world country (nowadays even India is too well paid for their taste), rest assured that Michael Dell or the CEO of IBM do _not_ also want to go live in that country.
Same goes for spammers. They want lots of money without effort, and they want to spend it comfortably at home.
They don't want to go live in a third world country at the mercy of a crackpot dictator who might as well round them up and not even give them a trial. (Would _you_ want to move your pr0n spam operation to China, were they can throw you instantly in a _far_ _worse_ jail than USA has for that? Or would you just rather pay 5$ to some chinese to just run the server there, so it's him not you who takes the fall in the worst case scenario?)
And if you think the USA has a criminality problem, you haven't read much about some of those countries. Yeah, I can sooo picture a USA spammer moving in some third world country where you might get mugged or robbed in broad daylight, or where you need to take your windshield wipers off the car each time you park or have them stolen.
Oh yeah, and they'll soo find it worth it to drive over pot holes that resemble the results of WW2 level bombing. And have a grand high total of 2 to 4 TV stations, broadcasting a crackpot dictator's speeches 80% of the time. And have a 50-50 chance that if you buy yourself a bottle of "imported" whiskey or cognac, it's some local counterfeit containing enough methilic alcohol to blind a horse. Or a melange of some 20 toxic chemicals to get the taste right.
Right. I can sooo see them choosing that standard of living, and find spamming worth that. Not.
And here's another idea: if they do move to some third world country that refuses to cooperate, we'll just cut off the whole TLD. No kidding. Tends to drive the point home very fast. And either way, spares us from the spam.
It's like saying "but one pickpocket doesn't do much harm on the whole, it's the group of them that's the problem, so let's not punish any one pickpocket." And that's, sad to say, so skewed it's not even funny.
No, not one spammer causes the problem, but noone proposed to stop at one. We'll punish as many of them as we can catch. One by one.
Sure, the first one won't make that much of a difference. Probably not the second one either. But by the time we got the top 100 of them, we've already solved 90% of the bulk mail by sheer virtue of having the perpetrators behind bars.
But we probably don't even need to get to that point. By the time 20-30 of them are safely behind bars, a lot of the other wannabes might start thinking twice. You know, "gee, money is good, but is it worth spending years in a cell with a horny guy called Bubba?"
No, seriously. The thing about science is that everything has to be proven, and everything _can_ be wrong or superceded by a better theory.
It means that yes, you're _supposed_ to question everything, be it the theory of relativity, or gravity, or global warming theories. That's what science is all about. Trying to see if you can improve the existing understanding of the world, instead of joining the lemming parrade.
The moment you've found absolute truths, evidence be damned, that's no longer science. That's _religion_.
It doesn't matter if it's about Christ, or lung cancer, or global warming. The moment you have your absolute truth and don't need no stinkin' scientists telling you about experimental evidence, or worse yet start accusing them of hidden agendas or being the enemy... congrats, you've reinvented the Inquisition. What lies that-a-way is not science, it's not environmentalism, it's religion.
People need to feel a part of something BIG. That they'll be the superheroes that save humanity, the planet, the universe, whatever.
E.g., that they'll save the world from God's wrath. Witness the Inquisition or the Crusades. Now, of course, you can finger both as church power games. But what I'm trying to say is that a lot of people voluntarily cooperated with one, or went to die in the other. To save the planet from, well, something that's completely bullshit.
E.g., missionaries or Jehovah's Witnesses or the annoying old relative/neighbour/whatever who wants to save your soul at all cost. Same idea. Makes them feel part of some big noble cause. Gives their lives a meaning.
E.g., half the tech-related flame wars. Now there are a lot of good points to be said about Linux/Solaris/AMD/CLI/Emacs/PC/consoles/whatever. But half the people are really just into the part about saving the world from some imaginary incarnation of absolute evil, not for the technical merits. They think they're Luke Skywalker saving the world from Darth Bill's Death Star, or whatever.
And the same applies to the angry, foaming-at-the-mouth, us-versus-them, anyone-not-with-us-is-our-enemy environmentalists. Now there's a lot to be said for or against the global warming or ozone depletion theories. Who knows, they might even be right. (And other parts make even more sense: e.g., I can see a very good point against pollution, since we all end up breathing or drinking that crap anyway.)
But here's the sad part: 99% of their angry supporters don't actually care about the science part. They just want a _dogma_ and a clear cut case of them being the messiah that saves the world.
Science is a funny thing. It demands an open mind, and doubting everything. But that makes it completely unattractive for wannabe messiahs, who need clear-cut black-and-white truths to fight for. Theories like "well, maybe it's still the sun that destroys most ozone" or "you know, a 0.3% temperature increase in a _century_ may just follow fluctuations in the sun's brightness" don't give one much to fight for, nor a clear enemy to save the Earth from.
Hysterias like "waah, if we don't shut down factories in 30 years we're all DOOMED!" make for a better battlecry. Just like "waah, if we don't free Christ's tomb in 30 years we're all DOOMED!" made for a jolly good Crusade some 1000 years ago.
In the end, yes, the more things change, the more humans stay the same.
Well, that kind of notion is what happens when you let someone define their own criteria of doing their job well. Doubly so when we're talking someone whose job _is_ to lie, i.e., marketting.
Actually, lemme rephrase that. Not outright "lie", but creatively mis-lead and mis-represent.
So the marketters invented all sorts of bogus self-serving metrics to justify their job. And then worked to inflate those metrics, rather than actually sell a product.
Probably the most insidious is the "click" as a measure of success and somehow directly equivalent to "sale". I mean, hey, if you got them to click, they're surely interested in the product, right? Wrong. Exactly in what product is someone interested when they click by mistake on a Fake-UI ad or "punch the monkey" tricks? None whatsoever.
And the whole Internet disaster is a direct effect of these bogus metrics. People end up working to drive up the metric, not to actually do their job.
E.g., once you define "number of ads downloaded" as a measure of advertising success, you get spyware and other software that just downloads tons of ads. It doesn't even matter if anyone sees them. They just have to show up in the logs as downloaded.
E.g., once you define "number of clicks" as a success metric, the direct result is fake UI ads. Or with spyware that automatically redirects you to the site, basically simulating a click the obnoxious way. It's not even a slippery slope. It's a direct cause-effect situation.
Etc.
And just so I don't offend only the marketting people, the same happens in _every_ job where people are measured against a bogus metric of success.
E.g., I know one PHB who demanded weekly reports from everyone of what patterns they applied, and measured a programmer's worth in how many of those they applied. That project is still not ready yet, some 3 years past the original deadline, and with a team 4 times the original size by now. It's also _the_ most baroque architecture I've ever seen, because _everything_ goes through every pattern ever invented, to match the boss's metric. E.g., no object is ever just passed around as it is, it's first wantonly wrapped in a "decorator", obtained from a "factory", which is a "singleton", etc, etc. And I mean so baroque, you can _literally_ fill a whiteboard with only the _layers_ an object has to go through. Sad.
The old break-out-of-quotes trick is IMHO a different kind of vulnerability, in that it's really a programming bug. There is no reason, other than a programmer being too stupid/ignorant to escape quotes (or for most burger-flippers-turned-programmers, to even know that it's possible to escape quotes or to use prepared statements), for that happening. For that matter, also too ignorant to know that the "LIKE" operator isn't really a full text search engine.
The search index problem is similar, but not quite. The search machine works as intended, it just has access to more data than the site owners realize.
Now it _can_ also be a programemr error, but most often, it's a design error. People just haven't even given any thought to security there, and thus implemented a system that is broken as designed.
You'd be surprised how quickly people can skip over any security considerations. Especially when they can find half an excuse. Even a stupid one, like "but we don't link to that file, so it's safe." Or worse, "but we're using SSL and we're behind a firewall, so _of_ _course_ we're secure. No need to worry about security."
Don't think of this step as requiring someone to sit there and type each word by hand. A script going through a dictionary file and writing the results to another file will do this step quite nicely.
And, frankly, there aren't _that_ many words in English. Even assuming that your server is really slow and can return as little as 10 searches per second (via more than one thread, if needed), we're talking less than an hour for this script to do its job.
And woe if someone decides to use an army of zombies to scan the whole Internet.
Basically thinking that everything must be done by hand is _the_ antithesis and nemesis of security nowadays.
We all laugh at users running without a firewall on the implicit assumption that "bah, nobody knows my IP address and noone is bored enough to try all IP addresses and known vulnerabilities by hand, so I'm safe". Think Blaster. Noone needs to do that by hand any more. In the beginning there were script kiddie kits out there that you can just start in the evening and have a list of vulnerable servers in the morning. But even that has been obsoleted by viruses who do the whole infection _and_ scanning for new hosts automatically and in a distributed fashion.
So what's to keep the same from applying here?
There's good stuff to be picked from unsuspecting companies' servers. A list of credit cards can be as good as finding oil. Or a huge list of valid and checked emails can be sold for good money to spammers. Etc. So the incentive is there.
Do you think anyone will stop trying to get at it just because a brute-force automated attack is needed? I sure hope you don't, because you might be in for a surprise.
Let me dawn some clue upon you. HT is seen from the outside as two CPUs. They just share the ALU and cache of one CPU, but that's internal details.
You almost have the answer there when you say "The fact that it needs a SMP kernel", but you miss it. Have you even thought about _why_ is that so? Nah, you just rushed to karma-whore with the ever fashionable "Windows is doomed" drivel.
Let me enlighten you: because from the software side it acts in every single aspect _exactly_ like a SMP system. _That_ is why you need a SMP kernel.
And, yes, if any driver were to fail because they're not SMP ready, they would have _already_ failed on every single HT P4 system. Yes, because of "The fact that it needs a SMP kernel". And SMP drivers at that.
See, that's the kind of "users are idiots _and_ thieves" mentality that's causing the problem in the first place. (And not just Windows. I wish all those idiot game publishers who now even want to install low level copy protection drivers on my machine would die a slow painful death. Cancer, for example.)
The fact is, users may not be versed in fine points like configuring a firewall or understanding security threats (then again, 90%+ of programmers have no clue about security either), but they _can_ Google, you know. You'd be surprised how finding a copy-protection crack for just about _anything_ takes mere minutes. Even little old grandmas know how to google nowadays, or get told how to real quick.
Also those users do _not_ live in a vaccuum, as the software companies and movie producers seem to assume. They seem to think the Earth is made of some 6 billion hermits, each living on a separate mountain top, and never talking to each other. If one of them found out how to download a crack or warez on P2P, surely noone else can learn that from him or her. Sad to say, that's not how it works.
If they're friends or family of a pirate, guess what? They'll get an already patched CD from that pirate. Or a CD and including the patch program separately. And then copy that CD further for others.
Or they'll get pointed at www.gamecopyworld.com, or whatever other crack site fits their particular problem, by someone who knows. E.g., someone like me.
Now I don't support piracy, and in fact I'm firmly against it, but I support idiotic copy protection schemes even less. Copy protection just doesn't work. Period. As was said, the _only_ ones affected are the honest paying customers. And I'll be damned if I'm gonna support that kind of thing.
When someone bought a product, it wasn't because they're too stupid to google for a crack, it was because they actually wanted to go buy it. Whoever wanted to pirate the stuff, actually went and pirated it.
And then going and dragging the paying users through indignities like having to call tech support to get their product activated (oops, some kiddie with a serial number generator already used yours, so more time on the phone is needed), or like having copy-protection-related trouble in the game they paid for (we'll just make your game crash because your CD drive is called "E:" instead of "D:", so surely you're a bloody pirate with CD emulator software), is just stupid and uncalled for.
Not that it will stop greedy corporate fucks from doing it anyway. There's a class of people for whom money is the only thing in life, and worth pursuing no matter what collateral damage they cause. Even when they don't even get that money.
The thought "but we could make 100 extra bucks from the only 2 guys in the world who don't already know how to download a crack" just overloads their brains. They just _have_ to get that 100$ at all cost, even if it means kicking every single honest user in the teeth. With steel toed boots.
The chances of life on BOTH are 1/36 in your example. That is correct. But that still doesn't mean they influence each other. The chances of life on each is still 1/6, regardless of the result on the other.
(That is, of course, assuming that no other causality existed between the two. E.g., if a meteor actively carried life from one planet to the other, it's no longer two independent rolls.)
That's just how maths works, sorry. When you roll an ideal die, you have 1/6 chance to roll a 6. Period. Regardless of how many other people roll their own dice at the same time. The fact that two happening at the same time is a 1/36 chance is not a mutual influence. It's _based_ on the fact that each still has the same unchanged 1/6 chance taken separately.
Well, ok, the flu is a virus, but honestly I couldn't come up with an example where a foreign bacteria nearly wiped out a civilization.
I can think of stuff that was clearly "imported", such as syphilis, but then it didn't cause that kind of massive mortality (unless you count the induced dementia driving a king to kill people, or go to war. Think: Ivan The Terrible.) Still, I suppose it could be mis-used as an example of when the immune system doesn't react to something clearly different to us.
Or I can think of bacterial stuff that caused many deaths, but then I'm too lazy to research where did it come from. I.e., if the problem was its being imported (my point), or merely a case of an existing bacteria developping "stealth" mechanisms (the point I was replying to.)
Well, you get the idea. That was the best I could come up with to illustraze a point.
Still, maybe even flu isn't that horrible an example. _If_ Mars ever had a bacterial soup, there is a possibility it also had viruses. Hence that one day we'll also thaw some of those. Or that we thaw some cells that are already modified by a virus to reproduce it.
Will it be dangerous to us? Good question. Most probably not. It is made to parasite entirely different cells, after all. _If_ it is, will our immune system be up to the challenge? Not sure. Seein' as what even flu did when it was a new thing, or what HIV still does, I wouldn't really bet on it.
Well, that's an entirely different point, but yes, a very valid one. Those microbes may not even be compatible enough with life on Earth to attack it in any way. I was just saying that _if_ (yes, ad absurdum) it did, chances are slim, but non-zero, that it wouldn't necessarily be as simple as "the germs from mars will be the first up against the wall."
Think the flu brought to America by the conquistadors/missionaries/colonists/etc. Something that for the europeans was just a flu, was deadlier to the Indians than the black plague back in Europe. It killed more of them than the conquistadors, wars, and inquisition combined.
"The differenter the better" is good and fine, but at one point it becomes "different enough to not be detected". The immune system and its cells aren't a complete genetics lab, complete with a team of top-notch scientists, fully analyzing every cell and deciding if it belongs there or not. It reacts to certain patterns, but doesn't react at all to others. Things that they never had to detect, they might not. Or not reliably.
Or to put it otherwise, that too is the result of evolution, rather than intelligent design. Being able to detect and solve problems that actually could kill the animal before it reproduced, were obviously favoured by natural selection. Having an immune system that reacts to viruses and bacteria you meet every day, now that's the kind of thing that natural selection is all about.
On the other hand, having an immune system capable of reacting to fundamentally different stuff, that's never even been there in millions of years, that's something _not_ enforced by natural selection. You can be born, grow up, reproduce, and die, without ever needing to heal from a martian flu.
In fact, au contraire: there's a good evolutionary reason to _not_ evolve an over-reacting immune system. See the auto-immune Type 1 diabetes where your pancreas is destroyed by your own immune system. Individuals with an immune system even more strict than that, got themselves out of the gene pool.
And evolution can be even more perverse than that. There are a whole bunch of genetic diseases or other disfunctions, which didn't get filtered out by billions of years of selection, nor get defenses evolved against them, because they made no difference in reproduction rates. Either because:
A) The're very rare recessive genes. Individuals could be "the fittest", even while carrying these genes. Or
B) They kill you after the age where you've already reproduced. E.g., skin cancer. Stuff that could kill you in your thirties-fourties wasn't a priority to evolve defenses against, when those hominids lived less than half that.
Basically all I'm saying is: I wouldn't be _that_ sure. There are good chances that, yes, the germs from mars would be the first against the wall. But as history shows, there are also non-zero chances that they won't.
Evolution is what happened _after_ the first cells were created from the raw materials.
And either of them doesn't really involve anything spectacularly improbable, and which can then be ascribed to a God/demi-God/alien/whatever. It just needs time. And time it had. Billions of years of it.
Statistics and large numbers are a funny thing. If you're one in a million, there are 6,000 just like you world-wide. Think about it. Because therein lies your answer: the key is very large numbers, not divine intervention. (And also that's the usual problem why people just don't get it: human brains has trouble working with really large numbers.)
Well, the same applies to both evolution and abiogenesis. No matter how improbable a mutation is to happen _and_ get passed on, given enough specimens over millions of years, it _will_ eventually happen. (Note, I said "improbable", not "impossible".)
Smaller mutations are easier: they happen all the time. An animal is born who's slightly smaller and faster than its parents. Another is born with slightly bigger claws. Another one is born who's slightly bigger and stronger, but needs more food. Etc.
From there it's merely a question of selection. Some of those deviations will give the animal more chances to survive and have offspring, some will make it less likely.
This affects the others too: the foxes that have an easier time finding food, might leave less food for the ones who don't. The mutated gazelle which runs faster, makes the _others_ an easier prey for lions. Etc. Essentially the most fit mutation puts the others at a disadvantage.
And you don't even need to believe in Darwinism to see that in action: artifficial selection is based on exactly the same kind of natural diversity, except the criterion who's the fittest is an artifficial human criterion, and the culling out the "unfit" is much faster.
See starting with dogs that looked like wolves, and ending up with the Pekinese. That was dilligent selection of those random mutations that were the closest to the desired end result: something (A) looking like a Chinese dragon, and (B) small enough to fit under the Emperor's tea table. It worked. Enough generations of selection turned a wolf ino the Pekinese.
Well, the same happens naturally too, only slower.
And here's the fun part: trying the same independently on two planets doesn't reduce the chances in any way. Your chances of rolling a 6 with a die are not influenced by my also rolling my own dice at the same time. The fact that you rolled a 6 doesn't say I can't roll a 6 too.
I'm not gonna argue whether you really need guns or not. It's not even my problem.
I'm just saying that _I_ don't.
I'd also say that IMHO _if_ you're at the point where you actually your own guns to be safe (and again, I'm not gonna pass judgment on if that's the case or not), it seems to me that there's something fundamentally wrong with the country and society you live in. Something that ought to be fixed at politics level, rather than by making everyone sit guard on their own porch with a shotgun.
I mean, think about it. What about someone single, who works the night shift? How are they gonna protect their home when they're not at home? How about someone 80 years old and with Parkinson, such as half my neighbours? I really don't see them in a position to defend themselves, guns or no guns.
There just has to be a better way than that.
Of course, that's all IMHO. I could be (and often am) wrong.
Maybe a little off-topic, but basically the reason you can't run a laptop 8h off batteries is... the user. Everyone wants _only_ the latest and greatest, and wouldn't take anything less than a 3.6 GHz in their new laptop. (Even if it means they can't even actualy use it on the lap any more, or not without cooking their genitals.)
You could run a laptop for a ludicriously long time if it was a slow CPU. My old Psion 5 ran something like two _weeks_ on two AA batteries. And it didn't require active cooling either, you know. Then again, it was just an ARM CPU.
Someone _could_ even make it PC compatible. I figure something like a 100 MHz 486 or maybe even a 200 MHz Pentium MMX manufactured in 90nm process, would use up ridiculously little power. In fact, it wouldn't even need a heatsink at all. It also wouldn't need a north-bridge that needs cooling of its own. And FFS, I don't need a 3D accelerated graphics card in it either.
Except there wouldn't be much of a market for it, hence not much incentive to make one.
So here's my take: even if they invented a battery that stores 10x more power, people would just start wanting dual Xeons and an 120W GeForce 6800 Ultra graphics chip in their laptop. And let's put 10,000 RPM hard drives in it this time around.
Oops. We're back to 1 hour battery life, and this time you better have asbestos gloves to use it.
Well, in all fairness, you can silence a PC too. My second computer is unbelievably silent with its Antec Phantom fanless PSU, fanless graphics card (a Sapphire 9800 Pro Ultimate Edition, so it's not quite that slow either), sound dampening cage for the Samsung HDD, and only a 12 dBA Papst fan on the CPU.
(Yes, a low speed fan cools an Athlon XP 3000+ more than enough, if it has a good copper heatsink with lots of fins. In fact, it cools an A64 in a closed case just as well.)
In fact, I'd dare say it's more silent than a Mac Mini.
And my main A64 rig isn't that much noisier either, thanks to heavy soundproofing and pretty much re-engineering the case for airflow/noise. (Sad to say, most cases seem actually be designed to be just flashy and actually noisy, presumably because marketroids think that's what hi-tech is all about.)
On the other hand, I can definitely see the point of the Mac Mini anyway.
For starters, I don't expect many people to actually enjoy spending the ludicrious amounts of time I've spent to make those PCs silent. Not only the time to slap on some soundproofing mats and new fans, but also the many hours of experimentation to figure it all out.
Just buying a computer that's silent as it is, well, even I can see a point in that.
Also getting the warranty for it, is also a good point.
And I can also see that I've missed the other points of a Mac Mini by a mile. For example those padded sound-proofed cases are anything but small, and anything but easily transported.
Well, all that was a long way of saying that basically I aggree with you, but I'd say that the Mac Mini's strength is a combination of more factors than one. A PC can match or exceed it in any one aspect, even noise (as exemplified above) or even size (think: the OQO), but no PC yet matches it in all those aspects. Or even in most.
Exactly what liberties are violated here? All that the law says here is that _if_ you have been notified that someone is breaking the law, you should notify the police.
I'd expect the same to apply to any kind of criminal offense, _especially_ the kind that likely means harm to a person. We're not talking someone smoking pot in the privacy of their home, but real people being abducted and abused.
So your idea of civil liberty is... what? The liberty to abduct and rape other people? Protecting whose liberty? The criminal's right to harm another victim? Seems like a massively skewed view of the world, IMHO.
And it has nothing to do with children. If you see someone being mugged, I would expect you to call the police just as well. Or if you see someone breaking into the neighbour's house, I'd expect you to call the police just as well. And if you see a rape in progress, even between adults, I would at the very least expect you to reach for that stupid cell phone and call the police. (No, it's not just for talking loudly on the bus or at the movie theatre.)
None of those have anything to do with children, web-sites, or terrorism. But I would expect you to call the cops nevertheless.
What's so unreasonable or "hysterical" about that?
Here's an idea for you: moaning, bitching and whining about crime rate and police inefficiency sure is a popular passtime, but... how about helping that police? No, let me rephrase that: how about helping _yourself_? Because that's what it is. It's all about helping reduce crime in the environment _you_ live in.
No country can afford to put a cop at every corner to keep you safe from crime. Or not without meaning a 50% tax hike for everyone else. So how about dropping the fashionable lemming attitude of "us-against-them" (them being the police/government/whatever) and actually working together for _your_ own good?
Here's a bit of a fact for you: you see a lot of statistics about crime rates in Europe vs USA being thrown around as definitive pro- or anti-gun facts. Usually missing the real points, which aren't about guns at all. Points like:
A) That in most European countries we have real social protection, and a helluva less of a striking difference between the obscenely rich and the extremely poor. Sure, it's easy to preach about how unemployment benefits are stealing your hard earned money to subsidize some bums. But one effect is that it gives a lot less incentive to reach for the gun/knife/brick-inna-sock/whatever and rob someone.
B) The fact that at least where I live the population actively cooperates with the police. Some people (mostly bored old people) actually spend their day looking out the window for something to report to the police.
You'd be surprised how effective that is for keeping crime down. At the old company for several years I've went through a park at night when coming back from work. Noone mugged me.
You'd also be surprised how it actually saves you money, since you no longer need a huge police force.
So by now you probably get the idea that I'm actually _for_ extending that model to the online world. If 1 minute out of an admin's time checking out a hosted site and sending an email to the police can help put a criminal behind bars, I for one am all for it.
Well, I think more important is the ability to convert _other_ sources of energy into stuff that can be put in your car.
E.g., we can create lots of electricity (e.g., nuclear power plants), but batteries still suck. Sure, someone trolls about their super-duper-electric car every year, but invariably it's (A) too big and heavy (thus needing even more energy to move around), (B) slow, (C) ridiculously short ranged, (D) needs to recharge for 10 hours before you can use it again, (E) has no infrastructure available to refuel quickly in the middle of that 500 mile trip, or most often (F) all the above.
On the other hand, if such a plant can use electricity to produce oil, it might just be the missing link. You can use your existing car, and your existing gas station, and still basically get your power from an electricity power plant.
Actually, lemme rephrase that a bit. It's not much a case of "THE missing link". We've known for a long time how to convert stuff into oil: the WW2 German panzers running on synthetic diesel was already mentioned. Until now it was just cheaper to import oil from Iraq, or recently cheaper to invade Iraq for oil, than to make your own oil. (Or even than to extract the oil reserves than the USA already has.) This however might be the link that's efficient enough to be worth using.
And unlike the WW2 coal-to-oil plants, this one promises to be pretty clean too. It just needs _anything_ organic as input. Presumably even wood. We already have species of trees which grow fast enough to be used as a crop, for example for paper: they're planted, left to grow, then harvested, and planted again. One could produce incredible quantities of organic matter that way, for converting into oil. And it's out of carbon that was in the atmosphere to start with.
A long, long time ago (in a galaxy far away) medieval craftsmen were discovering that it pays off to make plans for a longer time. Build up trust and reputation. A smithy for example was inherited for generations, was not just something for a quick scam-and-run scheme.
Some time later the same thing dawned upon merchants too.
Now fast forward to the 20'th century and operating on "internet time". Which brought us a lot of benefits, no doubt. All that intensified, accelerated, cut-throat competition sure helped drive the prices down.
But the reverse side of the coin is that all that long term planning somehow got lost. Business plans are made for a quarter, at most for one fiscal year. Sometimes even less than that: they just have to look good until the IPO or the next stockholder meeting.
Whole decisions are made not even to cause revenue _now_ (at the expense of a long term disaster), but merely to please stockholders at all costs. And if you thought that PHBs are short sighted, the investors give a new meaning to that word.
Investors don't even really care if you have a product or a plan. The stock market isn't about who has a business plan or a product. It's about (hopefully) buying low and selling high. That's all. The stocks worth buying are those who promise to rise in value in the next couple of weeks. The ones worth dumping are those who don't. Holding onto shares in someone who has a solid product and income but doesn't grow, doesn't bring you much. The whole game is about guessing what the other non-business lemmings will do with their shares. I.e., ultimately if the company's short term hype is hype enough.
And a lot of companies play that game, instead of actual planning.
E.g., I see companies taking knee-jerk reactions like firing everyone in sight at the slightest downturn, just because that always pleases investors... even if the company has a huge back-order and its problem wasn't lack of orders, but lack of ability to make that stuff fast enough. Is that stupid, or is that stupid?
E.g., technology companies firing their entire R&D stuff because it pleases investors. Sure, until the next moore's cycle comes by and just selling the old stuff doesn't really work any more. Oops, it was a long term suicide to please the investors in the short term.
The epitome of this short-sightedness was the dot-com bubble. I've actually worked for a dot-com whose _only_ business plan could be summed up as "people will give us a ton of money at the IPO".
Basically: Sacrificing long term goals to look good in the short run is actually expected. Cooking the goose now is what keeps the investors happy. "Our new pop-up-under-through-and-sideways technology has resulted in a 10% increase in advertising income in the last month" is the stuff that makes people buy your shares. "We chose not to alienate people, and slowly, gently build up a honest brand name instead" is what makes them sell your shares: doesn't promise any spectacular growth in the next weeks or months.
If you think that the arms race is all about the users, you're sadly mistaken. See, the sad story of the Internet is one big arms race where everyone is trying to shaft _everyone_ else.
E.g., the webmasters trying to shaft the ad providers. (Which is why it started with one well paid ad per site, and ended up with wall-to-wall ad pages. Some fuckwits figured 'hey, if one ad pays this much, we'll get rich by showing 100 ads per page.' That, however, pushed the ad rate in a downwards spiral for everyone else.)
E.g., the ad providers trying to shaft the companies they're advertising for _and_ the webmasters. E.g., marketting people shafting the company they work for.
And one of the more masterful achievements of con-artists... err... marketting experts, was defining the "click" as a measure of success for an add. A campaign is successful if people click on that stuff, right? They got interested in the product, right?
Not necessarily. You give someone the idea that they're paid to generate clicks, regardless of whether the product sells or not, they'll actually work on just generating bogus clicks.
E.g., you end up with stuff like fake-UI popups. It doesn't matter whether you got interested in the product or not, or (for 99% of the people) you just clicked on the fake-UI by accident, then just closed the window and forgot about it. It just matters that they got a "click" to add to their total.
They don't actually intend to sell a product, which would for example work better if they did targetted advertising, than shotgun fake UI ads or "punch the monkey" tricks. They just want to tally up a high number of worthless clicks, which they can then use as a self-justifying bogus measure of "success".
Using indexes into the same table is still not solving the problem of allowing mods, for example. As soon as the table needs to be n+1 objects instead of n, you have a problem with reading old games.
As for the saveme() method, it actually _reduces_ complexity, and reduces the risk of bugs, since the code is close to the actual object. Instead of having one big method with 100+ if blocks that can save this if it's a map, that if it's a weapon, and that other thing if it's an armour, each kind of object can already know exactly what it can save and handle only that.
That said, it doesn't really have to be in _every_ object. If your game objects are, for example, based on some kind of a hash-table, you only need a function that serializes hash-tables. That's one very easy method to write, and can thereafter be inherited by all objects that fit.
The idea isn't as crazy as you might think: each game object is, after all, a collection of properties and values. For a weapon, you have range, ammo clip size, accuracy, etc. For an NPC you have stats and skills and inventory slots. For armour, similarly. For crafts (e.g., building a sword from a hilt and blade, the blade from a blank using a hammer at the anvil, etc) you need the same thing: what goes in, what tools are needed, what skill level. Spells? Ditto. Alchemy? See crafts. Etc.
It's all properties.
It also has the advantage that it's extensible. If in the expansion pack you decide to add a new stat or skill or feat, or anything else, you just need a new property. You can even read the old saved games, as long as the code can work when the new property doesn't exist. (E.g., assume the default value for a missing stat.)
And by now you probably get the idea "but hash-maps are too slow for games!" Hardly the case any more, actually. See, most of the time in a game is spent in the GPU or in GPU-related stuff.
Things like calculating the To-Hit probability, or deciding how much damage you took through armour, etc, are less than 1% of the CPU usage. It's just not worth optimizing those any more. Any properties needed for that, can jolly well be in a hash-table, and noone will notice any difference.
Don't believe me? "The Fall" for example is scripted almost entirely in Python, including the whole combat system, skill system, etc. Using basically hash-tables. Sure, the graphics engine and pathfinding and such were still compiled stuff, but virtually all else was Python.
Or, if you absolutely must optimize, use unique numeric indexes instead of string keys. And #define them to something more mnemonic like STAT_STR or WEAPON_ACCURACY.
When say, forensic evidence is presented in court, it also has to be basically validated. You want to see the person's credentials, for example. Are they really the expert in forensics that they claim to be? There's also a bunch of questions about the data and the conclusions. One has to present _what_ scientific facts and theories are behind that conclusions, and whether there is reasonable doubt about the conclusions.
You can't just take a bum off the street to say "yeah, I'm the greatest expert. Take my words as absolute truth. And my tarot cards told me that the buttler did it, so that's the absolute truth. Oh yeah, and I used my divination rod to examine the body."
See, the whole idea behind a criminal trial is "beyond reasonable doubt." Regardless of what method or science branch that data was obtained by, you must, in fact, ascertain that there is indeed little reason to doubt it. The whole point of a fair trial is to try to _find_ reasons to doubt everything.
Seems to me like the exact same applied here. No more, no less.
Just because something was spit out of a program doesn't mean that it's automatically right. Perhaps _the_ oldest thing about computers is: GIGO. Garbage In, Garbage Out. It's not even a 20'th century thing. In the last century Babbage was asked the same thing by a British member of the Parliament: if we put the wrong numbers in, does the right data come out?
So it seems to me very reasonable to first want to assert _what_ the program calculated, and to what degree accuracy. What rules did go into that simulation? Are the persons who wrote it even competent to write that kind of a program? Was it validated by anyone? What kind of data went in? What data _didn't_? Etc.
Seems very reasonable to me, and again it is something that's should be expected about any other scientific methods as well. It has nothing to do with whether it's a computer or not. It has to do with whether it is scientiffic or not. That has to be proved.
And that's what they utterly failed to do. They just expected to wave a hand (Jedi style) in front of everyone and have their version taken for granted, just because it happens on a computer screen. It must be the absolute truth. You don't need to know anything else.
Sorry, no. That's just not how it works.
The thing about a computer simulation is that it's only as good as the rules and data it uses. The computer isn't some infailible holy amulet that turns everything into infailible Truth.
You can simulate _any_ bogus stuff on the computer, if your rules are bogus enough.
For a less expert thing to think about, look at simulation games: no two car racing games have the same physics. You can tweak the physics for gameplay, or for "realism", or fail to achieve either. ("Driving Emotion, Type: S" comes to mind. A.k.a., "the real drunk driving simulator".)
But here's the fun part: even the "realistic" ones differ massively from each other. The "realistic" physics in GT3 differ massively from the "realistic" physics in GT2, and both differ fundamentally from the "realistic" physics in Sega GT.
Or take space combat sims. About 99% work by submarine physics, and _none_ simulate what happens in a gravity well. I.e., anwhere near a planet or star.
Yet the game works. It has the wrong rules, but it simulates them faithfully. It looks like it's in space... even if it behaves like a submarine.
Same idea about a crash sim: it may well look like it simulates a car crash, but get it all wrong nevertheless.
That's the whole point: before you can convict a human based on a simulation, you better be damn sure _what_ it simulates. What rules are in it? Who made up those rules? Did any real experts _test_ the program, or do we just have to take it on faith that it's good? What if it isn't?
But wait, it gets worse.
Floating point calculations are notorious for inaccuracy. There are well documented cases where errors don't just accumulate at the 10'th decimal, but cascade to produce a result that's wrong by orders of magnitude.
(That's why, for example, any DBMS and almost every language has some form of a BigInteger or BigDecimal class. Because you don't want your accounting program to return a result that's wrong by a million dollars. Not that it will stop incompetent monkeys from using "float" for database operations anyway, but it exists.)
So does their program have that problem? You better damn be sure it doesn't before you accept in court that someone was driving at _literally_ supersonic speeds on the highway.
That's the whole point.