On Wed, 29 Mar 2023 16:39:09 -0600, kinsell wrote:
> Yep. The GPS debacle was caused by limited bits of information
> transmitted by the satellite, compounded by makers of receivers who
> thought storing a few more bits in static RAM, powered by a tiny
> battery, was adequate to address the situation. Once the battery gets
> discharged, no amount of recharging fixes it. No provision is made to
> let the user set the bits back to what they ought to be.
>
You may be amused to hear that I still have a usable pair of Garmin GPS 2+
handheld units, which I used first for Free Flight model retrieval and
then, when I started to fly XC in my club's Pegase 90 they got used for
navigation and to drive my first logger, which was just a recorder and
needed an external GPS.
So, while they *might* possibly be useful one day, they're really just old
age pensioners. When outdoors and in use, they run on a set of four AA
cells.
Mine are still viable because every few months I fire them up to see if
there is still usable life in the AA cells, replace them if they're low,
and sometimes take the GPS units outside to see if they can still get a
fix. So far, they're still working well. Used this way, a set of AA cells
lasts for over a year.
The GPS 2+ units have a small, internal non-replaceable disk battery to
keep their internal RAM alive while their main batteries are replaced, so
as long as this battery is good and their AA cells are replaced before
they go flat, they remember which GPS epoch they are in and will continue
to get a valid fix and show the right time when taken outside and fired
up.
> Bugs like this have been around forever, in 2004 a subsidiary of Delta
> had their crew scheduling system crash at Christmas because it could
> only handle 2^15 crew changes in a month.
>
>
https://www.theregister.com/2004/12/30/comair_bad_box/
>
> Why they used a signed integer there is hard to guess.
>
I dunno - that can depend on the language the system was written in: a lot
of C designers and programmers would just specify an int rather than an
unsigned int without thinking, but in any case, using an unsigned int only
doubles the time to crash, IMO that sort of mistake would be less likely
if the system was written in COBOL, Java or PL/1 because of the syntax
used to declare numeric variables, but that fairly irrelevant because not
checking for overflow on a variable that is used as a key or index value
is just plain careless.
But to my mind its even odder that they would have used such a short
integer. Given that the IBM AIX systems they were using at the time were
32 or 64 bit systems, the fact is that the flight crew scheduling software
crashed due to integer overflow on a signed 15 bit integer!
That would tend to show the crash was a software error pure and simple.
> These problems
> are hard to test for, but most of them are easy to predict if only the
> programmers would take the time to do simple calculations. Southwest
> had a similar crew scheduling meltdown this last Christmas with bad
> software. The Aussies are smart, they moved Christmas to the middle of
> summer, so this wouldn't happen :-)
>
> Even Great Britain is not immune, they used 1987 era software to track
> Covid cases, with predictable results:
>
Cowboys live in coding shops over here too!
>
>
https://www.bbc.com/news/technology-54423988
An interesting read. Thanks for
posting.it.