Two weeks of Favor remaining.

#11strcpyPosted 1/21/2008 2:11:16 PM
To be fair 1000 is normally -2^3, however it depends on how much you are allowing the language and compiler to handle things.

Negative binary in a computer is "fake" anyway, it is simply a convention to be able to use a standard adder to take care of things correctly. If you bypass what the compiler is trying to do you get odd results. I've made mistakes in the past with mixing signed ints with explicit binary arithmetic and not getting what I expect. If they are adding things this way they do actually get a -0, they are either doing that or *do* check if it fell into a negative range and set it back to zero (but then - that's kind a strange way to handle an overflow).
#12MetallicACDCPosted 1/21/2008 3:36:40 PM
I'll trust your math and brains. Because I don't want to work everything out, nor do I want to learn some 2-minute programming skills just to see if you're right. Therefore, I'll trust you.
---
Xbox Live GT: Cpt Raynor..................Hope is the
GW IGN: Sarcastic Prophet...............Ignorance of Reality
#13strcpyPosted 1/22/2008 1:08:06 AM
*shrug* - no one is infallible and there is no reason to blindly assume I am correct. It's been amusing the things I can mislead friends into believing because they are used to me being correct and I am fairly good about sounding like I know what I am talking about (though I *do* inform people that I was not telling the truth in those cases and it is generally something that remains within face to face communication - the only time you will see me do so in writing is if it is dripping with sarcasm).

The last place I was a full time employee was at Oak Ridge National Labs in the Computer Science and Mathematics division (our research groups specialty was scalable cluster computing) and I was pretty much the most junior member (BS degree only - worked there straight out of the university). Even as high profile a group as we could find when you started going up ranks they sometimes made gross mistakes.

It happens, even in a field we should be "experts" in mistakes happen - in this case I really do not know how Anet does this coding. The only thing I can say is that when goofing with device drivers and trying to write specialized stuff I have run into cases where this occurs in similar binary arithmetic. Since it fits with what happened (and also fits in with what they are probably trying to do) I rather assume something similar happened. For the most part the the good Duke is correct - it over flows to the max negative number.

It's just when you start mixing signed, unsigned, and low level binary arithmetic the answer becomes what we generally call "undefined" and that can have MANY different ways it comes out. It can do strange things, experienced programmers generally avoid doing such things and generally know when the answers don't make sense to look at it (again mistakes happen even to the Gods of Computer Science). As such I may very well be incorrect as to the specifics (in fact, I would only guess I am close). At the least I am fairly certain that some type of integer overflow occurred even if it wasn't the same thing that occurred with me.
#14strcpyPosted 1/25/2008 2:54:02 PM
In case anyone missed it, gaile finally gave an official response:

"I did comment upon this, but I realize that not everyone reads every point of contact, so here are those answers and comments:

* Yes, player theory was right in this particular case -- good detective work, guys! -- and the reset was due to a 16-bit ceiling on the code.
* We will fix it so that it does not happen yet.
* We will not restore the Favor, since in less than a day it was nearly back to the numbers it had reached before the reset.
* And when asked whether we will put a cap on Favor, the fact is we don't have set limitations in mind for the future, even while it is true that the enthusiasm that players showed during our Double Lightbringer and Sunspear Points Weekend exceeded our expectations. It seems that players will be reaping the benefits of this exuberance for weeks to come. "

So, not getting the points back - I find the reasoning amusing on that one. And it also had to have been 32bit as we have many screens of 35k minutes - a signed 16 bit integer can only go to 32767 minutes but my guess is that Gaile didn't know the difference and the programmer just responded "yea yea" instead of being pedantic.
#15pennydemonPosted 1/25/2008 3:25:03 PM
It's not hard to get that much favor in America, seeing as someone is getting the Legendary Spearmarshal title every half second... <_<
---
The control valves! THEY'RE LOOSE!
#16maoricPosted 1/25/2008 3:35:41 PM
One problem is that by not restoring favor, they've effectively cut off the time awarded for tens of thousands of titles that cannot be maxed again. This may not be a problem now, but could be down the line.

Of course, they could always just adjust favor or how favor is acquired at any time they want.

---
Go to synaesthesia.
~Rez
#17JTsyoPosted 1/26/2008 7:34:52 AM
We will fix it so that it does not happen yet.

ANET has a time machine?
#18Shadow1975Posted 1/26/2008 1:41:50 PM
Favor will no longer go above 34,999 minutes.

Shadow
---
Better to remain silent and thought a fool than to open your mouth and remove all doubt. - Abe Lincoln
#19timir_111Posted 1/26/2008 2:23:50 PM
We will fix it so that it does not happen yet.

ANET has a time machine?


and a grammer checker?
#20Shadow1975Posted 1/26/2008 7:15:45 PM
and a grammer checker?

And a spell checker?

Shadow
---
Better to remain silent and thought a fool than to open your mouth and remove all doubt. - Abe Lincoln