Page 1 of 1

time speed problems

Posted: 17.04.2004, 20:22
by jose21
Hold down the K key so that time slows down. After maybe 30 seconds, Celestia crashes (WinXP Celestia 1.3.1-1)

Hold down the L key so that time speeds up. Time is going so fast, that apparently it overflows the counter and you start getting negative dates.

Posted: 18.04.2004, 01:01
by Bob Hegwood
Sorry Jose,

But I just *hafta* ask... Why on Earth would you even do such a thing?

I can understand wanting to slow down or speed up the time, but what
are you trying to accomplish with these actions?

Thanks, Bob

Posted: 18.04.2004, 03:24
by jose21
Well, I can explain that.

Well, I was playing around with K thinking that perhaps it would not just slow time, perhaps it would reach 0 and then time would go backwards. To my suprise, Celestia just crashed.

I then began to wonder if Celestia would have similar problems if I set the time to run super fast (was just bug-hunting, not actually doing this for real) so I held down L and then I noticed that the UTC time began having negative values.

I agree, in normal operation, these things should never show up. I was just experimenting/playing around. But, nonetheless, a crash is a crash and it probably still should be fixed.

Posted: 18.04.2004, 04:24
by Bob Hegwood
Sorry, was just curious...

I've had Celestia up to at least 100,000 times faster, and I've slowed it down to zero. Don't think I ever tried to reverse the time flow yet though.

At any rate, another thought for you...

Sometimes, when you simply hold an operational key down as you've described,
the keyboard input buffer can just go blooey when it gets more information than
it can handle at one time. I'm not smart enough to know if that's the case here,
but it's a thought for you.

Someone smarter than I am can tell you for sure, but it seems as if the regular
Celestia Intellectual Types are taking a breather right now. :wink:

Take care, Bob

Posted: 18.04.2004, 14:14
by don
Chris was informed of this over a year ago and said that Celestia did not need upper and lower limits because actions like this were not "normal".

Posted: 18.04.2004, 17:35
by Guest
Define "normal." Personally, the thing I find to be abnormal is the fact that it crashes. I agree, most likely most people will never experience this, but, it still shouldn't crash.

Posted: 18.04.2004, 17:42
by granthutchison
Software seems to be unique in this regard. If you do something stupid or pointless with your lawnmower, your chainsaw or your shotgun, then it's your fault if you break it or damage something else. I always wonder why people expect a different response from software.

Grant

PS for jose21: if you want time to go backwards, just toggle it with the J key.

Posted: 18.04.2004, 18:03
by codemastr
My chainsaw has a "kick guard" so that if I accidentily lift it up and it gets aimed at my face (a stupid thing to do) it automatically shuts off. My lawnmower (tractor variety) has a sensor so that if you leave it driving and happen to get off the seat, it automatically shuts off rather than driving on it's own. My gun has a safety on it to prevent me from accidentily firing it.

Those are just some examples, compensating for human error is not something unique to software, it is a general rule for anything that requires engineering. You should compensate for human error/human stupidity whereever possible.

Just an example of this in the real world. There was a piece of software used to control a radiation machine (used for cancer treatment) called the Therac. A technician, somehow, entered a value that was too large. This resulted in an integer overflow. As a result, a lethal dose of radiation was given to the patient. In all, 3 people died as a result of this. Was it the programmers fault? I don't think so, the technician is the one who made the mistake, but, tell that to the families of the victims. If the software programmer had simply added a bound check, those people would be alive today.

So I agree, I think it is the user's own stupidity/fault for doing such things, but if problems can be prevented, why shouldn't they be?

Posted: 18.04.2004, 18:43
by granthutchison
Sure, to all of the above.
But don't you think holding down the K key for 30 seconds to see what happens is more analogous to getting off your lawnmower with the engine running, but leaving a box of books on the saddle to keep the pressure switch engaged? It's certainly not a momentary inattention or a typing error, which would be more analogous to the errors and safety features you list above.
All I'm saying is that I have sympathy with programmers who don't care to spend time crash-proofing their software against such pointless eventualities. Or, if they have the patience and copious free time, I'd suggest they do something a friend of mine did with some software he wrote a while back: trap some of these actions and pop up a little window that reads "Why did you do that? Please don't do it again."

Grant

Posted: 18.04.2004, 18:50
by t00fri
codemastr wrote:My chainsaw has a "kick guard" so that if I accidentily lift it up and it gets aimed at my face (a stupid thing to do) it automatically shuts off. My lawnmower (tractor variety) has a sensor so that if you leave it driving and happen to get off the seat, it automatically shuts off rather than driving on it's own. My gun has a safety on it to prevent me from accidentily firing it.

Those are just some examples, compensating for human error is not something unique to software, it is a general rule for anything that requires engineering. You should compensate for human error/human stupidity whereever possible.

Just an example of this in the real world. There was a piece of software used to control a radiation machine (used for cancer treatment) called the Therac. A technician, somehow, entered a value that was too large. This resulted in an integer overflow. As a result, a lethal dose of radiation was given to the patient. In all, 3 people died as a result of this. Was it the programmers fault? I don't think so, the technician is the one who made the mistake, but, tell that to the families of the victims. If the software programmer had simply added a bound check, those people would be alive today.

So I agree, I think it is the user's own stupidity/fault for doing such things, but if problems can be prevented, why shouldn't they be?


Hmm...

I still vote for responsible behavior combined with increased education about lurking dangers, instead of stupid "protector gadgets"...

In many cases those sensor gadgets only provide very limited additional protection. The extra safeguard is easily compensated by people's increased carelessness once such "protector" gadgets are known to be on "guard".

The pilot of that plane you happen to be in has hundreds of different switches/controls at his disposal to make that plane crash;-).

When I was a high school kid, I was very fond of making lots of quite dangerous chemistry experiments in my parent's basement...At that time, I could easily buy the most concentrated H2SO4 (sulfuric acid) or "smoking" HNO3 or HCL in our local pharmacy. One drop of that stuff on your shoe would go right through your foot.. :roll: , the combination of HNO3 and "smoking" HCL is even able to dissolve Gold...

Several years ago I went again to a pharmacy, asking for highly diluted 10% (!) sulfuric acid. I harmlessly wanted to do some rock determination experiments with our daughter in the alps... The pharmacist literally jumped on me:

" Are you crazy? That stuff can kill you if you drink it..."

Right he was, perhaps ...

Bye Fridger

Posted: 18.04.2004, 19:58
by don
granthutchison wrote:... and pop up a little window that reads "Why did you do that? Please don't do it again."
Image . . . I love that! . . . Image