People are getting all upset about con games milking virtual players out of virtual money, but how about crimes that we consider much worse in real life? Murdering civilians, pillaging villages, robbing estates, overthrowing governments - these are all very common in MMOs, but nobody is suggesting that people be prosecuted for these crimes in real life (at least I hope they aren't).
If someone is so wrapped up in some damn game that they're willing to spend real money just to increase their standing, that sounds to me like a problem for a psychiatrist, not the courts.
Not necessarily so. Consider this highly simplified example:
Suppose you play a game that costs $20/month. If you are a teenager with no life outside the game, and can play 12 hours a day, 7 days a week, that works out to be about 5 cents an hour. However, if you are someone with a 9-5 job and a real life, and can only afford to play one hour a day on weekdays, it's closer to $1/hour, which does not even count the value of your time. If it takes you 10 game hours to raise your character one level and/or attain $1000 in virtual money, and you are just interested in playing powerful characters (and NOT interested in the tedious levelling-up process), it makes perfect economic sense to spend $1000 on a 100th level character or $100,000 in virtual gold (AND you also save 100 hours of your time to boot).
Many people harp on the fact that if you do this, you are not learning how the game works, because you are skipping the whole growing process of a new character. However, once you have done that for one character of a few, you may not want to (or need to) keep doing it over and over again for each new character you create. Life is short. I remember the old arcade games where you got totally sick of having to play the first few levels over and over and over again each time just to get to the good stuff later on.
Why was this archive even connected to the internet?
Probably to allow people to access it. Archives that nobody can access are fairly useless.
Why weren't their backups? Were the *only* copies low-res jpgs on a webserver? What happened to the original negatives?
I think that the ONLY copies were high-res jpgs on the web server. Once the scanning process was done, the originals and negatives were destroyed, since they were no longer needed (I imagine that part of the reason to put the archive online was to preserve decaying media, and another part of the reason could have been to reduce warehouse space). As for why there was no backup, it's possible that the people who did it were'nt as computer-savvy as they were photo-savvy.
Banks put their money in large steel vaults, in large brick and mortar buildings, with cameras, motion sensors, armed guards, and multiple, redundant locks.
This is because banks have been around for hundreds, if not thousands of years, and have developed such technologies and methodologies slowly over time. On the other hand, the technologies for creating online photo archives have only been around for around a decade or two, and there is no "universal common wisdom" for such online archives among museum maintainers, especially since many of them have little or no experience with the internet, so perhaps one can forgive them a bit of naivete in not believing that the "information superhighway" more closely resembles a scene from "Damnation Alley".
Licensing internet access will have the sole effect of providing a false sense of security to the average user. Myself, I'd take a *real* sense of security over that any day.
I totally agree. Unfortunately, in this world, there really IS no way to provide a REAL sense of security, since Windows is plagued with viruses and worms, and even though Macs and Linux malware are much more rare, they are NOT nonexistent. (Not to mention that social engineering attacks, such as identity theft, are cross-platform vulnerabilities).
In a world where the information superhighway does resemble Damnation Alley, I would much rather restrict travel to people who know how to drive without getting into a collision, how to fix a flat and replace a bulletproof glass windshield, and to be safe, just keep all the bicycles off the road entirely.
Bank employees must be bonded, because even though their jobs do not directly endanger otheer people's lives, they DO endanger their property. Spyware viruses and worms are instrumental in identity theft, which also endangers people's property. Destructive viruses can damage intellectual property (For example, the I Love You virus irretrievabyy destroyed priceless collections of WW2 photo archives, which had recently been converted from film to online form). And finally, worms and viruses waste disk space and bandwitch, which we all know are cheap, but not free.
Actually, "Atlantis" appears to be "Voyager" + "DS9".
I think DS9 is less applicable here, because it was more of a diplomatic hub, somewhat like Babylon 5. (On second thought, the parallels get stronger once you get into the Dominion War seasons).
Actually, I can sadly say the SciFi network is doing just what we should all be expecting - killing a show that costs lots of money to produce, and replacing it with dirt-cheap wrestling content
How so? Does SG-1 cost more to produce than Atlantis? Both seem to have similar sets and locales. I personally think that many of the people involved with it are likely getting a bit tired of it and want to move on to do other things (Michael Shanks did that early on, then came back. Roger Dean Anderson did that a few seasons ago, except for cameos. Don Davis did that last season. See a pattern here?). Have you ever worked at the same job for 10+ years? If so, how have you felt about it after tha time?
It's also a good idea to end a show gracefully, with planning, at a time when people still feel fondly about it, rather than milk every last drop out of it until the milk turns sour, and the fans hate it, and it gets cancelled in the middle of a season without warning, or any sense of closure.
Now, on the matter of nudism; I haven't seen anyone naked launch anything that I would call evolutionary and intelligent...
This is probably because, in our culture, anyone who tried would first be arrested and sentt o jail on morals charges. You seem to think that clothing is such a fundamentally important concept, and yet by its very definition, clothing must have originally been invented by a nudist.
"Voyager'esque"? How is it in the lease bit Voyager'esque?
Well, during the first season of Atlantis (and the first few seasons of Voyager), the crews had no contact with earth at all. Later on, this lightened up a bit (with the Pegasus on Atlantis, and the "regular" wormhole communications with the Alpha Quadrant in Voyager. The even had crossover shows in both series with casts from Earth (SG:1 and TNG) appearing, and this would likely happen more frequently on Atlantis now that SG:1 is being discontinued and all those regulars will have nothing to do for a while.
...first they invent CD malware to infect your PC, then they want to change the P2P system to identify file sharers.
If so, it's a totally assinine business plan. "Look, all you pirates out there! We can't track you now, but if you use our *NEW* P2P technology, we will be able to do so. Of course, since we own the patent on the technology, this tracking won't be able to be added to new versions of Kazaa, etc. You will have to pay us big money to use the K3WL new SonyAza!". Yeah, I'm sure this will attract file sharers in droves!
Except x doesn't hold precisely 16777215. It holds approximately 16777215.
This is a matter of interpretation. x holds a floating-point value that is exactly 16777215.00000000000.... Now, within the confines of inexact calculations, such a value could be the result of any expression that yields any real number within the range 16777215+/-2^29. This is because one usually cannot predict the values that ought to be stored in the guard digits, so it is usually best to just treat them as random statistical noise.
However, if you know that the values being computed are exactly integers, you also know that the values lost in the guard digits are exactly equal to zero, in much the same way that if you buy something for $83 dollars and hand the cashier a $100 bill, you know that you won't be receiving any pennies in change.
But instead people do if (81 == x) and it doesn't match.
In most floating-point applications where you have non-zero values for the guard digits, yes, this is true. However, in the narrow set of applications where you can guarantee that the guard digits and fractional digits are zero, such a comparison is valid.
In C, you can safely say for (f=0.0; f!=10.0; f+=1.0) because the values are exact integers.
You can even safely say for (f=0.0; f!=2.5; f+=0.25) because the values are exact binary fractions (on a binary machine).
You cannot safely say for (f=0.0; f!=1.0; f+=0.1) because there is a non-zero error in 0.1 so the comparison fails.
The IEEE standard does a great job with guard bits to attempt to prevent this, but in the end, it is up to the programmer to understand that precision will be lost (because floats are imprecise) and how to work around this.
Precision can be lost if the operands produce results that cannot be accurately represented in the floating-point format. If this happens, a Significance Exception is raised. However, not all operations do this. Operations in which the result of the calculations can be performed with zero error leave the exception unraised, and produce results that are exactly accurate. This happens to be the case when working with floating-point numbers that are integers (or exact multiples of 2^-n) and the mantissa of the result can be stored within the significant number of bits (24, 53, or 64, depending on precision).
Ask a programmer if they know floats are imprecise and they'll say they are and they are familiar with the issues.
I am a programmer, and I am quite familiar with the issues on both sides of this discussion. I will agree with you that in the vast majority of cases, one cannot rely on the accuracy of floating point, because in the vast majority of the cases, one does not know the source of the values, nor how accurately they represent the real-world quantities you are modeling. However, in certain situations where you can accurately model the errors (as in this case, where the errors are always zero), one can make such assumptions.
It's a big problem. Floats are imprecise, they approximate values in situations people people don't expect. And because of that, at the end of a sequence of operations, they often end up with a messy 0.000000001 sticking on their "precise" integer less than 2^53 and they rarely investigate the proper way to handle it.
I will agree that most programmers are not aware of the pitfalls of using floating point, and they should definitely avoid using it where accuracy is required unless they know exactly what they are doing. In my example, if all values used are exact integers
Using floating point is a bit like navigating a minefield. For most, the safest advice is "just stay away". However, it can be safe to do if you know where the mines are.
In this case the rounding error did not really cause the problem, it was that the assumptions that the programmers had made caused a delta between the calculated clock and the actual clock.
This is exactly right. It is not the model being used (in this case, floating point) that is at fault, it is that the programers misunderstand the model and its implications (basically, they think they are using one model, but in fact are using a similar but slightly different one).
People in general have no clue about the math behind floating point.
Sadly, this is the case.
In my opinion, it should be an error to compare two floats values for equality or inequality
While this may be true in most cases, it is not always true. In particular, where one is using floating point to represent exact values (rather than approximate ones), equality comparisons will be exactly correct, just as they are for integers.
Sixteen digits of precision just doesn't cut it (considering how much information you lose adding a really big number to a really small number).
While this maxim is often quoted, it is just a rule of thumb - you can't apply this generalization to any specific application without actually looking at the ranges of values you are going to be using and quantifying just what the error will be. If you use double-precision floats, these can totally accurately represent any integers up to 53 bits with no error. You can take quantities in the trillions of dollars (expressed in pennies) and subtract them, and get results that are exactly accurate to the penny with zero rounding error. Extended-precision floats can similarly accurately represent all 64 bit integers, and many other larger values as well.
The problems happen when you use real numbers to represent inaccurate quantities (for example, a trillion dollars plus-or-minus a penny, a trillion and one dollars plus-or-minus a penny, etc.) and then subtract them. While these two numbers express an error of one part in a hundred trillion (14 digits of accuracy), the difference (one dollar plus-or-minus two cents) represents less than two digits of accuracy - a catastrophic cancellation error.
However, if you write your application so that floating point numbers are used ONLY to represent integer values (a double-precision float is certainly better than a 32-bit integer, and an extended-precision float is just as good as a 64-bit integer, if not better, especially on systems that support extended-precision floats but not 64-bit integers), than there will never be any rounding errors, and the hardware support and language support make their use more efficient and convenient than using bignum packages.
The only pitfall happens if the programmer gets careless and thinks of the quantities as reals rather than large integers, but even worse problems happen when you ACTUALLY use integers. While extended-precision ($1trillion) / 3) will produce a result which is
inaccurate after several around 6 decimal places, int64 ($1trillion) / 3 will produce a result which is inaccurate after ZERO decimal places.
This statement is not accurate. Floats can imprecisely represent numbers not otherwise representable is more accurate. In some cases, floating point values are precise. For example, double-precision reals can exactly represent all integers up to 2^53, and all even integers up to 2^54, and all integers divisible by four up to 2^55, etc.
They can accurately represent cash values in pennies up to 8 trillion dollars (or 8 billion, if you want to count thousandths of a cent).
The problem is when you keep doing the sums, the errors can accumulate to a significant degree.
You missed my point: For values less than the GNP of the United States, double-precision reals can exactly represent the values with zero error. So even if you add a million such quantities, the total error will always be zero.
If you do deal with quantities as large as the GNP, the value may only be accuracy to within one cent, so if you compute the GNP of the entire planet (say) by summing up the GNP of every country in the world, your result may only be accurate to within a dollar. This is probably acceptable for any practical financial application. (If this is still not enough, extended precision reals can give you three more decimal digits of accuracy).
And as far as my audio analogy goes: if each processing step (say) can lose you up to one bit of accuracy, if your data samples contain 16 bits of accuracy more than you need, then even 16 processing steps will not compromise your data at all.
Actually, this is not totally true. A more accurate statement would be that floats can inaccurately respresent values that would otherwise not be representable.
I am not familiar with the floating point hardware used on Power PCs, but on intel processors, double-precision floating point numbers have 53 bits of precision. This means that they can totally accurately represent integers up to 53 bits. This should be enough to exactly compute values of 8 trillion dollars to the penny.
which is why floats should NEVER be used to track money. A fixed decimal system should always be used for financial systems.
If you store you values in cents, and use double-precision floating point, you get 53 bits (around 16 digits) of accuracy, which can exactly express any value up to 8 trillion dollars. OK, so if you're computing the GNP of the United States, you might be off by half a penny. Is anyone really going to sweat that? Then again, you could just use extended-precision (long doubles), which give you 64 bits of precision - this would let you calculate the GNP to within 1/2000th part of a cent. Is that accurate enough for you?
Similar arguments are raised against using digital sampling for audio - if your quantization error is more than one place smaller than anything discernable by the best human ear, who really cares? Things that cannot be distinguished may be treated as if they are the same.
40 Percent of World of Warcraft Players Addicted...to masturbation
Don't laugh (ok, maybe you should laugh at this):
Someone made a World of Warcraft version of the song
The Internet Is For Porn
from the musical Avenue Q.
BTW if you ever have this happen to you again you can drop to dos and type shutdown/a
This aborts the shutdown.
This makes a kind of perverted Microsoft sense - to shut down your computer press the START button. To stop it from shutting down, run the SHUTDOWN command...;)
The problem is that company is much older and thereby much more wiser than the employee.
So a company also dont have loyalty.
While that used to be the case 30-40 years ago, it is less true today. Back then, the traditional model was that people went to work for huge corporations that had been around for a hundred years, and they worked there until they retired.
Today, it's much more common that people will go to work for new companies that haven't been around very long. The few long-term jobs I have had in my life have been for companies that had all been around for less than a decade (and in several cases, only a few months). With typical job tenure measuring in the single-digit years (if not mere months), it's hard for anyone to develop loyalty on either side (let alone have much incentive to do so). Sigh.
On several occasions, I have called technical support or customer support, only to be transferred to someone in India. In each such case, the person who I was speaking to was obsequious, spending at least 50% of the time thanking me for telling them this or that piece of information and/or apologizing for any problems I was having (regardless of the fact that they were unable to fix it). They were usually totally unable to actually deal with my issues, because they either could not, or were not allowed to actually think independently - their conversations were limited to a limited set of responses on a script.
A trained monkey (with a speech synthesizer) could do just as well. While this is not a criticism of people in India in particular, it is a sad state of affairs that much phone support (whether domestic or outsourced) is of this quality. At least when it is domestic, I can often get them to transfer me to a suprvisor or another human being who might be able to actually help me, but I have been unable to do so with any of my calls that went to India.
Employment is just a contract between you and the employer.
This is precisely the problem. As long as people consider this to be merely a temporary mutually expedient business relationship, that's all you get out of it.
Loyalty isn't something you can put into a contract. Loyalty isn't something you get out of someone by hiring them for minimum wage and replacing them like used kleenex. Loyalty isn't something you get out of someone by having them slave for you for years, and then telling them "thanks for your years of dedicated service - now go to hell because we can get someone to do the job for less - oh, and by the way, we demand that you show your gratitude by training them to replace you". Loyalty is earned, and it cuts both ways. Sadly, it no longer fits into current business models. And we wonder why this country is going to hell in a handbasket.
I have a feeling that 7mbps is a tad overkill for instant messanging.
That used to be true, but now, when you add in the animated smileys, Active-X IMvironments, etc. instant messaging can be more intensive in terms of computation and bandwidth than the Apollo space missions.
Applying for the trademark application is more like developing weapons technology, not using it. You then have the option to use those weapons if you need to, but also have the option to negotiate if you choose
Actually, while this may be the case with copyrights, it is not the case with trademarks. If you have a trademark, and someone infringes on it, and you don't vigorously defend it in a timely manner, you lose your exclusive rights to it.
Wow! This means you have a 1 in 2 million chance of being arrested for dissidence in China. You have better odds winning the lottery or being struck by lightning.
The problem with the new LiveJournal model is this:
The used to have paid accounts (with many features), and free accounts (with fewer features). They have now added Sponsored Accounts that add new features at the cost of advertising.
This is all well and fine for those users who actualy have Sponsored Accounts - they are signing up for an ad-supported features, so they damned well better permit advertising. This is not the problem.
The problem occurs with people with free accounts who are now required to view advertising present on blogs of people who have Sponsored Accounts.
If I have a free account and I regularly use ad-blocking software, this didn't use to be a problem, but now I am in jeopardy of losing my account if I inadvertently click on a link to a journal entry of someone who, unbeknownst to me, has a Sponsored Account.
People are getting all upset about con games milking virtual players out of virtual money, but how about crimes that we consider much worse in real life? Murdering civilians, pillaging villages, robbing estates, overthrowing governments - these are all very common in MMOs, but nobody is suggesting that people be prosecuted for these crimes in real life (at least I hope they aren't).
If someone is so wrapped up in some damn game that they're willing to spend real money just to increase their standing, that sounds to me like a problem for a psychiatrist, not the courts.
Not necessarily so. Consider this highly simplified example:
Suppose you play a game that costs $20/month. If you are a teenager with no life outside the game, and can play 12 hours a day, 7 days a week, that works out to be about 5 cents an hour. However, if you are someone with a 9-5 job and a real life, and can only afford to play one hour a day on weekdays, it's closer to $1/hour, which does not even count the value of your time. If it takes you 10 game hours to raise your character one level and/or attain $1000 in virtual money, and you are just interested in playing powerful characters (and NOT interested in the tedious levelling-up process), it makes perfect economic sense to spend $1000 on a 100th level character or $100,000 in virtual gold (AND you also save 100 hours of your time to boot).
Many people harp on the fact that if you do this, you are not learning how the game works, because you are skipping the whole growing process of a new character. However, once you have done that for one character of a few, you may not want to (or need to) keep doing it over and over again for each new character you create. Life is short. I remember the old arcade games where you got totally sick of having to play the first few levels over and over and over again each time just to get to the good stuff later on.
Why was this archive even connected to the internet?
Probably to allow people to access it. Archives that nobody can access are fairly useless.
Why weren't their backups? Were the *only* copies low-res jpgs on a webserver? What happened to the original negatives?
I think that the ONLY copies were high-res jpgs on the web server. Once the scanning process was done, the originals and negatives were destroyed, since they were no longer needed (I imagine that part of the reason to put the archive online was to preserve decaying media, and another part of the reason could have been to reduce warehouse space). As for why there was no backup, it's possible that the people who did it were'nt as computer-savvy as they were photo-savvy.
Banks put their money in large steel vaults, in large brick and mortar buildings, with cameras, motion sensors, armed guards, and multiple, redundant locks.
This is because banks have been around for hundreds, if not thousands of years, and have developed such technologies and methodologies slowly over time. On the other hand, the technologies for creating online photo archives have only been around for around a decade or two, and there is no "universal common wisdom" for such online archives among museum maintainers, especially since many of them have little or no experience with the internet, so perhaps one can forgive them a bit of naivete in not believing that the "information superhighway" more closely resembles a scene from "Damnation Alley".
Licensing internet access will have the sole effect of providing a false sense of security to the average user. Myself, I'd take a *real* sense of security over that any day.
I totally agree. Unfortunately, in this world, there really IS no way to provide a REAL sense of security, since Windows is plagued with viruses and worms, and even though Macs and Linux malware are much more rare, they are NOT nonexistent. (Not to mention that social engineering attacks, such as identity theft, are cross-platform vulnerabilities).
In a world where the information superhighway does resemble Damnation Alley, I would much rather restrict travel to people who know how to drive without getting into a collision, how to fix a flat and replace a bulletproof glass windshield, and to be safe, just keep all the bicycles off the road entirely.
Bank employees must be bonded, because even though their jobs do not directly endanger otheer people's lives, they DO endanger their property. Spyware viruses and worms are instrumental in identity theft, which also endangers people's property. Destructive viruses can damage intellectual property (For example, the I Love You virus irretrievabyy destroyed priceless collections of WW2 photo archives, which had recently been converted from film to online form). And finally, worms and viruses waste disk space and bandwitch, which we all know are cheap, but not free.
In North Korea, only Kim Jong-Il uses email.
In Soviet North Korea, email uses only Kim Jong-Il.
Actually, "Atlantis" appears to be "Voyager" + "DS9".
I think DS9 is less applicable here, because it was more of a diplomatic hub, somewhat like Babylon 5. (On second thought, the parallels get stronger once you get into the Dominion War seasons).
Actually, I can sadly say the SciFi network is doing just what we should all be expecting - killing a show that costs lots of money to produce, and replacing it with dirt-cheap wrestling content
How so? Does SG-1 cost more to produce than Atlantis? Both seem to have similar sets and locales. I personally think that many of the people involved with it are likely getting a bit tired of it and want to move on to do other things (Michael Shanks did that early on, then came back. Roger Dean Anderson did that a few seasons ago, except for cameos. Don Davis did that last season. See a pattern here?). Have you ever worked at the same job for 10+ years? If so, how have you felt about it after tha time?
It's also a good idea to end a show gracefully, with planning, at a time when people still feel fondly about it, rather than milk every last drop out of it until the milk turns sour, and the fans hate it, and it gets cancelled in the middle of a season without warning, or any sense of closure.
Now, on the matter of nudism; I haven't seen anyone naked launch anything that I would call evolutionary and intelligent...
This is probably because, in our culture, anyone who tried would first be arrested and sentt o jail on morals charges. You seem to think that clothing is such a fundamentally important concept, and yet by its very definition, clothing must have originally been invented by a nudist.
"Voyager'esque"? How is it in the lease bit Voyager'esque?
Well, during the first season of Atlantis (and the first few seasons of Voyager), the crews had no contact with earth at all. Later on, this lightened up a bit (with the Pegasus on Atlantis, and the "regular" wormhole communications with the Alpha Quadrant in Voyager. The even had crossover shows in both series with casts from Earth (SG:1 and TNG) appearing, and this would likely happen more frequently on Atlantis now that SG:1 is being discontinued and all those regulars will have nothing to do for a while.
...first they invent CD malware to infect your PC, then they want to change the P2P system to identify file sharers.
If so, it's a totally assinine business plan. "Look, all you pirates out there! We can't track you now, but if you use our *NEW* P2P technology, we will be able to do so. Of course, since we own the patent on the technology, this tracking won't be able to be added to new versions of Kazaa, etc. You will have to pay us big money to use the K3WL new SonyAza!". Yeah, I'm sure this will attract file sharers in droves!
Except x doesn't hold precisely 16777215. It holds approximately 16777215.
This is a matter of interpretation. x holds a floating-point value that is exactly 16777215.00000000000.... Now, within the confines of inexact calculations, such a value could be the result of any expression that yields any real number within the range 16777215+/-2^29. This is because one usually cannot predict the values that ought to be stored in the guard digits, so it is usually best to just treat them as random statistical noise.
However, if you know that the values being computed are exactly integers, you also know that the values lost in the guard digits are exactly equal to zero, in much the same way that if you buy something for $83 dollars and hand the cashier a $100 bill, you know that you won't be receiving any pennies in change.
But instead people do if (81 == x) and it doesn't match.
In most floating-point applications where you have non-zero values for the guard digits, yes, this is true. However, in the narrow set of applications where you can guarantee that the guard digits and fractional digits are zero, such a comparison is valid.
In C, you can safely say for (f=0.0; f!=10.0; f+=1.0) because the values are exact integers.
You can even safely say for (f=0.0; f!=2.5; f+=0.25) because the values are exact binary fractions (on a binary machine).
You cannot safely say for (f=0.0; f!=1.0; f+=0.1) because there is a non-zero error in 0.1 so the comparison fails.
The IEEE standard does a great job with guard bits to attempt to prevent this, but in the end, it is up to the programmer to understand that precision will be lost (because floats are imprecise) and how to work around this.
Precision can be lost if the operands produce results that cannot be accurately represented in the floating-point format. If this happens, a Significance Exception is raised. However, not all operations do this. Operations in which the result of the calculations can be performed with zero error leave the exception unraised, and produce results that are exactly accurate. This happens to be the case when working with floating-point numbers that are integers (or exact multiples of 2^-n) and the mantissa of the result can be stored within the significant number of bits (24, 53, or 64, depending on precision).
Ask a programmer if they know floats are imprecise and they'll say they are and they are familiar with the issues.
I am a programmer, and I am quite familiar with the issues on both sides of this discussion. I will agree with you that in the vast majority of cases, one cannot rely on the accuracy of floating point, because in the vast majority of the cases, one does not know the source of the values, nor how accurately they represent the real-world quantities you are modeling. However, in certain situations where you can accurately model the errors (as in this case, where the errors are always zero), one can make such assumptions.
It's a big problem. Floats are imprecise, they approximate values in situations people people don't expect. And because of that, at the end of a sequence of operations, they often end up with a messy 0.000000001 sticking on their "precise" integer less than 2^53 and they rarely investigate the proper way to handle it.
I will agree that most programmers are not aware of the pitfalls of using floating point, and they should definitely avoid using it where accuracy is required unless they know exactly what they are doing. In my example, if all values used are exact integers
Using floating point is a bit like navigating a minefield. For most, the safest advice is "just stay away". However, it can be safe to do if you know where the mines are.
In this case the rounding error did not really cause the problem, it was that the assumptions that the programmers had made caused a delta between the calculated clock and the actual clock.
This is exactly right. It is not the model being used (in this case, floating point) that is at fault, it is that the programers misunderstand the model and its implications (basically, they think they are using one model, but in fact are using a similar but slightly different one).
People in general have no clue about the math behind floating point.
Sadly, this is the case.
In my opinion, it should be an error to compare two floats values for equality or inequality
While this may be true in most cases, it is not always true. In particular, where one is using floating point to represent exact values (rather than approximate ones), equality comparisons will be exactly correct, just as they are for integers.
Sixteen digits of precision just doesn't cut it (considering how much information you lose adding a really big number to a really small number).
While this maxim is often quoted, it is just a rule of thumb - you can't apply this generalization to any specific application without actually looking at the ranges of values you are going to be using and quantifying just what the error will be. If you use double-precision floats, these can totally accurately represent any integers up to 53 bits with no error. You can take quantities in the trillions of dollars (expressed in pennies) and subtract them, and get results that are exactly accurate to the penny with zero rounding error. Extended-precision floats can similarly accurately represent all 64 bit integers, and many other larger values as well.
The problems happen when you use real numbers to represent inaccurate quantities (for example, a trillion dollars plus-or-minus a penny, a trillion and one dollars plus-or-minus a penny, etc.) and then subtract them. While these two numbers express an error of one part in a hundred trillion (14 digits of accuracy), the difference (one dollar plus-or-minus two cents) represents less than two digits of accuracy - a catastrophic cancellation error.
However, if you write your application so that floating point numbers are used ONLY to represent integer values (a double-precision float is certainly better than a 32-bit integer, and an extended-precision float is just as good as a 64-bit integer, if not better, especially on systems that support extended-precision floats but not 64-bit integers), than there will never be any rounding errors, and the hardware support and language support make their use more efficient and convenient than using bignum packages.
The only pitfall happens if the programmer gets careless and thinks of the quantities as reals rather than large integers, but even worse problems happen when you ACTUALLY use integers. While extended-precision ($1trillion) / 3) will produce a result which is inaccurate after several around 6 decimal places, int64 ($1trillion) / 3 will produce a result which is inaccurate after ZERO decimal places.
Floats are imprecise.
This statement is not accurate. Floats can imprecisely represent numbers not otherwise representable is more accurate. In some cases, floating point values are precise. For example, double-precision reals can exactly represent all integers up to 2^53, and all even integers up to 2^54, and all integers divisible by four up to 2^55, etc.
They can accurately represent cash values in pennies up to 8 trillion dollars (or 8 billion, if you want to count thousandths of a cent).
The problem is when you keep doing the sums, the errors can accumulate to a significant degree.
You missed my point: For values less than the GNP of the United States, double-precision reals can exactly represent the values with zero error. So even if you add a million such quantities, the total error will always be zero.
If you do deal with quantities as large as the GNP, the value may only be accuracy to within one cent, so if you compute the GNP of the entire planet (say) by summing up the GNP of every country in the world, your result may only be accurate to within a dollar. This is probably acceptable for any practical financial application. (If this is still not enough, extended precision reals can give you three more decimal digits of accuracy).
And as far as my audio analogy goes: if each processing step (say) can lose you up to one bit of accuracy, if your data samples contain 16 bits of accuracy more than you need, then even 16 processing steps will not compromise your data at all.
First of all, floats are imprecise
Actually, this is not totally true. A more accurate statement would be that floats can inaccurately respresent values that would otherwise not be representable.
I am not familiar with the floating point hardware used on Power PCs, but on intel processors, double-precision floating point numbers have 53 bits of precision. This means that they can totally accurately represent integers up to 53 bits. This should be enough to exactly compute values of 8 trillion dollars to the penny.
which is why floats should NEVER be used to track money. A fixed decimal system should always be used for financial systems.
If you store you values in cents, and use double-precision floating point, you get 53 bits (around 16 digits) of accuracy, which can exactly express any value up to 8 trillion dollars. OK, so if you're computing the GNP of the United States, you might be off by half a penny. Is anyone really going to sweat that? Then again, you could just use extended-precision (long doubles), which give you 64 bits of precision - this would let you calculate the GNP to within 1/2000th part of a cent. Is that accurate enough for you?
Similar arguments are raised against using digital sampling for audio - if your quantization error is more than one place smaller than anything discernable by the best human ear, who really cares? Things that cannot be distinguished may be treated as if they are the same.
40 Percent of World of Warcraft Players Addicted...to masturbation
Don't laugh (ok, maybe you should laugh at this):
Someone made a World of Warcraft version of the song The Internet Is For Porn from the musical Avenue Q.
BTW if you ever have this happen to you again you can drop to dos and type shutdown /a
This aborts the shutdown.
;)
This makes a kind of perverted Microsoft sense - to shut down your computer press the START button. To stop it from shutting down, run the SHUTDOWN command...
The problem is that company is much older and thereby much more wiser than the employee. So a company also dont have loyalty.
While that used to be the case 30-40 years ago, it is less true today. Back then, the traditional model was that people went to work for huge corporations that had been around for a hundred years, and they worked there until they retired.
Today, it's much more common that people will go to work for new companies that haven't been around very long. The few long-term jobs I have had in my life have been for companies that had all been around for less than a decade (and in several cases, only a few months). With typical job tenure measuring in the single-digit years (if not mere months), it's hard for anyone to develop loyalty on either side (let alone have much incentive to do so). Sigh.
On several occasions, I have called technical support or customer support, only to be transferred to someone in India. In each such case, the person who I was speaking to was obsequious, spending at least 50% of the time thanking me for telling them this or that piece of information and/or apologizing for any problems I was having (regardless of the fact that they were unable to fix it). They were usually totally unable to actually deal with my issues, because they either could not, or were not allowed to actually think independently - their conversations were limited to a limited set of responses on a script.
A trained monkey (with a speech synthesizer) could do just as well. While this is not a criticism of people in India in particular, it is a sad state of affairs that much phone support (whether domestic or outsourced) is of this quality. At least when it is domestic, I can often get them to transfer me to a suprvisor or another human being who might be able to actually help me, but I have been unable to do so with any of my calls that went to India.
Employment is just a contract between you and the employer. This is precisely the problem. As long as people consider this to be merely a temporary mutually expedient business relationship, that's all you get out of it. Loyalty isn't something you can put into a contract. Loyalty isn't something you get out of someone by hiring them for minimum wage and replacing them like used kleenex. Loyalty isn't something you get out of someone by having them slave for you for years, and then telling them "thanks for your years of dedicated service - now go to hell because we can get someone to do the job for less - oh, and by the way, we demand that you show your gratitude by training them to replace you". Loyalty is earned, and it cuts both ways. Sadly, it no longer fits into current business models. And we wonder why this country is going to hell in a handbasket.
I have a feeling that 7mbps is a tad overkill for instant messanging.
That used to be true, but now, when you add in the animated smileys, Active-X IMvironments, etc. instant messaging can be more intensive in terms of computation and bandwidth than the Apollo space missions.
Applying for the trademark application is more like developing weapons technology, not using it. You then have the option to use those weapons if you need to, but also have the option to negotiate if you choose
Actually, while this may be the case with copyrights, it is not the case with trademarks. If you have a trademark, and someone infringes on it, and you don't vigorously defend it in a timely manner, you lose your exclusive rights to it.
Wow! This means you have a 1 in 2 million chance of being arrested for dissidence in China. You have better odds winning the lottery or being struck by lightning.
The problem with the new LiveJournal model is this:
The used to have paid accounts (with many features), and free accounts (with fewer features). They have now added Sponsored Accounts that add new features at the cost of advertising.
This is all well and fine for those users who actualy have Sponsored Accounts - they are signing up for an ad-supported features, so they damned well better permit advertising. This is not the problem.
The problem occurs with people with free accounts who are now required to view advertising present on blogs of people who have Sponsored Accounts.
If I have a free account and I regularly use ad-blocking software, this didn't use to be a problem, but now I am in jeopardy of losing my account if I inadvertently click on a link to a journal entry of someone who, unbeknownst to me, has a Sponsored Account.