We eventually tracked this down to some of the stabilisation algorithms – they work fine within the intended time frames, but there's an inefficiency in them that gets worse the longer the wormhole is open and eventually they can't keep up with the shifts.
An allusion to the accumulated rounding bug that caused the Patriot missile incident in 1991? That system was likewise intended to operate for only short periods.
In the Patriot missile, time was saved in a fixed point register that had a length of 24 bits. Since the internal clock of the system is measured every one-tenth of a second, 1/10 expressed in a 24 bit fixed point register is 0.0001100110011001100110011 (the exact value is 209715/2097152).
On the day of the mishap, the battery on the Patriot missile was left on for 100 consecutive hours, hence causing an inaccuracy of 9.5E-8x10x60x60x100=0.34 seconds.
The shift calculated in the range gate due to the error of 0.342 seconds was calculated as 687m. The shift of larger than 137m resulted in the Scud not being targeted and hence killing 28 Americans in the barracks of Saudi Arabia.
But, more likely, it's just a play on a reason a Stargate (when unaided by some hostile energy source or time dilation field) just shuts off after 38 minutes with no explanation.
However in Stargate the actual 38 minutes thing isn't a computer limitation it is a physical one. In the original show (i.e. SG1) Carter said it is "impossible" due to physics for it to stay open longer, and they also established that with enough raw power (e.g. blackhole, ancient device, etc) it could be kept open longer or near indefinitely, it just wasn't possible with the normal power the Stargate needs to operate.
Keep in mind they did exceed 38 minutes many times with different explanations each time[0] none of which were computer related. It is also worth noting that earth in the show built their own DHD which presumably would have different computer limitations than the ancient built DHD (and as they established when all DHDs in the universe died except theirs due to the malware).
The basic conceit in writing this story is that when you only have access to an area of physics through poorly understood reverse engineered xenotech, a lot of arbitrary constraints imposed by the tech start to look like physical laws.
> In the original show (i.e. SG1) Carter said it is "impossible" due to physics for it to stay open longer
In a show like Stargate, "impossible" is really just another way of saying "It would require overcoming a series of increasingly unlikely and insurmountable problems for that to be possible." Which, of course, they then use for a plot device in later (or the same!) episodes as they blow past those increasingly unlikely and insurmountable problems. :)
> Carter said it is "impossible" due to physics for it to stay open longer
At the beginning of the story it's implied that things like that are why Carter would be upset. Because the physics they had thought they had learned from the stargate hardware turned out to be software limitations instead. It's not like humans are ever capable of creating a wormhole to test for themselves.
Later on, when Carter gives a lecture on wormhole physics at an Air Force cadet academy, the teenage protagonist of that episode reacts in the same way, and Carter gives an "I thought that way once, but then I saw enough compelling evidence to change my mind about what's possible" speech.
> It is also worth noting that earth in the show built their own DHD which presumably would have different computer limitations than the ancient built DHD
The gate itself has control crystals as you can dial out without a DHD if you just give it power and some elbow grease. The 38 minute cutoff is probably in that code.
They must have run out of code space in the gate and had to offload some of the code to the DHD. :D The correlative update routine for the coordinate system is in the DHD for example so the earth gate could originally only dial Abydos until they added that to their homebrew DHD.
That's hilarious. And damn, exploding planets sure do emphasize the sheer random, uh, "creativity" of users. If there's a way, they'll find it. And if there isn't, they'll make it. I wonder if Temit was an ascended being, because surely near-omniscience is the only explanation for his ability to predict some of the crazy things gate users would try.
Anyhow, one minor issue: the gates were thought of by a guy named Amelius the night before they left the Alteran Home Galaxy, long before they ever reached Earth. :)
> Temit was an ascended being, because surely near-omniscience is the only explanation
Any sufficiently advanced QA department is indistinguishable from ascension.
> for his ability
Stop misgendering my werewolves. >:(
> Anyhow, one minor issue: the gates were thought of by a guy named Amelius the night before they left the Alteran Home Galaxy, long before they ever reached Earth. :)
Yeah, I had the timeline slightly wrong for how long it took them to get to earth. In my defence there's no evidence of them making Stargates pre Milky Way (he came up with the idea in the Ori home galaxy but they then spent a few thousand years looking for somewhere to settle), and we don't know how long the Alterrans lived, so it's just about plausible, but it's a bit of a reach.
The show Stargate Universe is set on a alterran Galaxy seeding ship. The stargates in that show are definitely an earlier design than the milky way ones, demonstrated by their ability to only dial other gates within a few dozen light years instead of across the galaxy
The seed ships (SGU) had stargates though - I don't think those came out of the Milky Way, and I'm very sure they predate the Milky Way stargate system
Or AI. That would explain the ability to exhaustively think of scenarios and problems, while possibly not having already come up with the technology themselves (depending on whether you believe creativity is semi-distinct from intelligence in some respects).
I read this and do not consider it to be about "the importance of software testing"... it reads more like a demonstration of the hubris that one can fix a fundamentally flawed system by trying to dream up test cases and then fixing them one by one as if they were in isolation of each other. One can imagine someone writing something like this about a sorting algorithm, slowly discovering corner cases of large numbers, negative numbers, 2s compliment wraparound situations, custom comparators that violate invariants, values that are being mutated while sorting... the more of these issues you find the more you should question that you really have defined the problem correctly, not patting yourself on the back for having good testing.
Haven't read the article in full but as a Stargate SG-1 fanatic, I can tell you there were numerous episodes where the plot played upon the number of bugs and design flaws in the reverse-engineered software that powered the gate on Earth. Almost every season Dr Carter would speak of the improvements she had made to the "dialling computer" and other such things. There was an episode called "Time", my favourite, where they inadvertently dialled a planet next to a black hole and the worm hole could not shut down. It was subsequently learnt that this would never have been possible had it not been for design flaws in the dialling computer program.
...well, not the bits about planets exploding. I've never written code which did that. Yet. I did once write a program which summoned demons, but never made it work.
> The coordinate calculations were pretty hairy, so we just hard-coded each location into the Stargates for now. It shouldn't be hard to extend properly later.
Some friends and I were chatting about this last night while watching the heinous MacGuffins and Deus ex Machina moments in the final episode of Atlantis, oddly enough, backpedalling furiously trying to come up with alternative excuses for the coordinate system.
Our best stab was handwaving frantically and uttering something about a Hilbert curve [1][2].
But that still doesn't really explain anything about why the ancients would pull the equivalent of going from IPv6 to v4 by dropping the number of coordinates in the Milky Way gates.... or, anything else, really.
Kudos for the language section. We use strange words like "bug" and "error" when we really mean more complex ideas. Where are the words for "flawed by virtue of being untested", "acceptable flaw because the chain of causality is too long in the physical world", "failure to map possible external states (as opposed to internal states)". Language design for spoken technical language should be a 'thing'.
That kind of explains the attitude of ascendent beings towards our universe: they treat it all as one big pile of legacy code - not to touch under any circumstances!
That was even mentioned in some of the episodes, I vaguely recall some scientist been horrified because they'd only decoded 97 of the over 200 error codes/status codes.
Probably McKay.
There was a strong technical slant in that show.
EDIT:
> For instance, he knew that when Carter got the Stargate working with three supercomputers, they ignored 220 of the 400 feedback signals the Stargate can emit during any given dialing sequence.
I always wondered why he suddenly becomes allergic to citrus.
In one of his first appearances on SG1, he invites Carter to the cafeteria, mentioning that they have lemon chicken, with excitement. If I'm not mistaken, it's not until the SGA fork that he seems to be allergic to citrus.
I think you're confusing episodes. In his first appearance he mentions that he's allergic to citrus. The "I love lemon chicken" incident comes from Carter's visit to a parallel universe when she's experimenting with the merlin device in a later season.
...I'm really embarrassed that I know that from memory.
Probably the same reason we don't have more content from them.
My own supposition is that it's the standard rights-squatting thing a studio does when they're done producing a given work and don't want to compete against 'their' IP being used by someone that actually has a good story to tell.
While entirely possible, it's a weird stance to take. More exposure on different/new mediums would lead to more/renewed interest in the media on other mediums, in my opinion. A cool new Stargate game might inspire me to go back and watch old stargate (or finally see some of the movies I missed).
Oh, Stargate- man i remember that- i got that idea for that city-traint wriggling itself through the gate from one wormhole to another from this. Great Inspiration.
Half-expected the ending to be "So, anyway, we've been reassigned to this Ascension project, because the brass want that working yesterday and they've decided to add every available engineer to speed it up."
> We shipped one of them off to the nearest inhabited planet in another star system – horrible hellhole of a place called Abydos.
That is only going to be correct if you disregard the whole "Universe" series. Otherwise, the chronology is wrong. And can't be just about the movie, otherwise there are no "ancients".
All in all, an excellent read. This was almost certainly written by a software engineer, or two.
They resolve this in the show. Carter mentions the rough ride and cold was due to their home-grown dialing program and instabilities in the wormhole. Further tweaks result in the improved travel comfort.
The kind of people who design things like this tend to think about such issues defensively, from the start.
Much of our fundamental problems with software seciruty stems from the fact that people don't think of software as of something particularily dangerous.
One would certainly hope this to be the case, but it's hard to watch SG1 and get the impression that the ancients had much of a concept of defensive design.
On the contrary, my view is that the Ancients knew defensive design is a /hard/ problem, for higher level languages. The lower level parts (like the actual Stargates) had smart companion interfaces where the safety features exist. The fact that you can over-ride a safety, presumably if you know what it exists for and have a use case for ignoring it, is a good engineering feature for a device that might be used in more extreme circumstances. (Such as evacuating from an Ori invasion.)
An allusion to the accumulated rounding bug that caused the Patriot missile incident in 1991? That system was likewise intended to operate for only short periods.
From https://autarkaw.wordpress.com/2008/06/02/round-off-errors-a...
In the Patriot missile, time was saved in a fixed point register that had a length of 24 bits. Since the internal clock of the system is measured every one-tenth of a second, 1/10 expressed in a 24 bit fixed point register is 0.0001100110011001100110011 (the exact value is 209715/2097152).
On the day of the mishap, the battery on the Patriot missile was left on for 100 consecutive hours, hence causing an inaccuracy of 9.5E-8x10x60x60x100=0.34 seconds.
The shift calculated in the range gate due to the error of 0.342 seconds was calculated as 687m. The shift of larger than 137m resulted in the Scud not being targeted and hence killing 28 Americans in the barracks of Saudi Arabia.