NASA engineers make progress toward understanding Voyager 1 issue
theregister.com
theregister.com
The simple fact that many of the original engineers are no longer alive presents significant challenges in and of itself.
The interstellar portion was an add-on after the success of the original mission. The spacecraft were still operating so why not just keep operating them?
No one designing or building the probes imagined they'd still be operating 50+ years later. Even if they did space programs are constantly under threat from budget cuts so you can't exactly waste money on what-ifs for the future: you must focus on making the official mission succeed.
Also remember that the "desktop PC" was not yet a thing when this was designed. Engineers were drawing everything on paper. Storage space was extremely expensive in any case.
A modern program would (and most do!) put various versions of drawings in a version control system. Source would use an SCM so code history would be available. Even things like meeting notes would be available and searchable digitally.
There are zillions of ways this hardware can break down. You can’t predict which ones you’ll have to handle, or whether there will be a way to recover from them. If you started researching this 30 years ago, and then something had killed this thing 20 years ago, that would be wasted effort.
Also, in the early years, they still could ask the original engineers, and even lacking those, there likely were engineers who hadn’t worked on this specific hardware but were somewhat familiar with this kind of hardware.
Cheap storage is one of the most fundamental and under-appreciated game-changers.
Another under-appreciated changes is standardization of computer architectures and formats. 8-bit bytes. ASCII/UTF-8. Even media formats which all largely follow the QuickTime style of different streams and atoms and so on even if the codecs change.
In the 1970s none of this was true and everything was (by our standards) completely bespoke.
As you mention:
> available and searchable digitally.
Even with 100% everything written down, it takes a while to build up that context, and even carefully written documentation can have subtleties which send a consumer the wrong way.
Things are a lot easier than they used to be, but still not easy-easy.
What is enough? A reference describing all of a thing? The source code to a thing? The source code and build chain to make the thing? The source code, build chain, source code to the build chain to build the build chain to build the thing? The source code and the machine and the tape drive to read the tapes to build the ....
How much documentation for TOPS-10 would you need to implement wireguard on a toad? How much context do you need to even make that sentence even make any sense at all?
One I was reading this week had a field for "language", but doesn't clue you in to the valid values by providing a working example. English for example could be:
English
English (US)
en
en-US
eng
1033
409
...And that's just for the US dialect of English. And also doesn't tell you if any of this is case-sensitive or not! Sometimes yes, sometimes no.
Not only that, Voyager 2's flyby of Uranus and Neptune in the late 1980's was originally not intended either. As an aside, to this day Voyager 2 remains the only spacecraft to ever have visited either planet, and there are no firm plans for a followup, just some loose ideas about maybe launching something in the mid 2030's. Anyway, doing the Uranus/Neptune part of the mission required extensive software upgrades, which introduced Reed-Solomon error correction and image compression capabilities, among other things - the software as launched would not have been capable of a meaningful mission to Uranus and Neptune.
These days the Voyager program is lauded as an astonishing feat of engineering and one of the most inspiring science and engineering achievements of all time, but in the early 1970's the entire idea was NASA's red-headed stepchild and ended up cut down to a bare minimum. The Grand Tour mission concept (taking advantage of the extremely rare opportunity to visit Jupiter, Saturn, Uranus and Neptune in a single mission) was pitched as early as 1965, and by the early 1970's there were plans for launching four spacecraft, two bound for Jupiter-Saturn-Pluto and two bound for Jupiter-Uranus-Neptune. These were referred to as TOPS, Thermoelectric Outer Planets Spacecraft. But then people started complaining that it might cost a billion dollars (Apollo had cost $25 billion) and the whole thing became intensely political. Quoting from Voyager: The Grand Tour of Big Science (https://www.nasa.gov/history/SP-4219/Chapter11.html) by Andrew J. Butrica:
> Further complicating matters was Senator Clinton P. Anderson (D-NM), champion of the Los Alamos nuclear weapons laboratories and an enthusiast, until his retirement in 1973, of the development of a nuclear rocket engine called NERVA. As chair of both the Senate Aeronautical and Space Sciences Committee and the joint Atomic Energy Committee, Anderson provided NASA and the Atomic Energy Commission over $1.4 billion, about $500 million of which was spent in Los Alamos, for the development of the NERVA engine, which, Anderson held, was ideally suited for exploration of the outer planets, as well as for more advanced missions. Anderson worried that NASA and the OMB were shifting money from NERVA to fund Grand Tour. When the NASA budget came before Anderson's Aeronautical and Space Sciences Committee on May 12, 1971, his committee voted five to two to reduce Grand Tour's budget, while an amendment to increase NERVA funding passed. Werner von Braun worried that ardent congressional interest in NERVA would force a loss of Grand Tour in favor of a NERVA that had "no place to go."
> Meanwhile, NASA was trying to include Grand Tour as a new start in its 1972 fiscal budget. The Friedman report moved the Office of Management and Budget (OMB), in March 1971, to ask NASA to study simpler, less costly spacecraft alternatives to TOPS. The OMB also attempted to delay the Grand Tour start-up to fiscal 1973.
> (...)
> As NASA prepared its fiscal 1973 budget, rumors spread that the "budget pinch" was going to affect planetary programs deeply and that the reduction of the Grand Tour payload from 205 to 130 pounds was "a likely fact of life." Furthermore, Grand Tour now began to compete for funding with the latest NASA human program: the Space Shuttle. The fiscal 1973 budget request NASA submitted to the OMB on September 30, 1971 included both Grand Tour and the Space Shuttle. Throughout the autumn of 1971, several press reports presciently reported Grand Tour's vulnerability to a possible elimination or reduction. On December 11, 1971, James Fletcher, NASA administrator since April 27, 1971, learned from White House officials that Nixon was prepared to approve the shuttle program and that Nixon would not let NASA simultaneously fund the shuttle and the full TOPS Grand Tour in the 1973 budget or in subsequent fiscal years. Fletcher had to decide which was more important: Grand Tour or human flight.
Fletcher chose the shuttle, and what could be squeezed into the budget was an extension of the Mariner program to visit Jupiter and Saturn only. For budget reasons the spacecraft development was kept in-house at JPL rather than contracted out, and at JPL the dream of the full Grand Tour was still alive:
> Despite the limited aim of the Mariner Jupiter-Saturn, the mission had the Grand Tour launch window, that rare planetary alignment, and the engineers at JPL still had every intention of building a spacecraft that would last long enough to visit Uranus and Neptune. This intention was not emphasized; however, it was stated that a Mariner Jupiter-Saturn spacecraft might continue to Uranus if its mission at Saturn proved successful. The scientists working on the project knew that Mariner Jupiter-Saturn was going to go to Uranus and Neptune, too. As Bradford Smith, Leader of the Imaging Team, explained: "We understood at the time the enormous potential of this mission, that it could very well be one of the truly outstanding if not the most outstanding mission in the whole planetary exploration program."
Also for budget reasons, the spacecraft were limited to mostly reusing existing technology. Getting reprogrammable computers (without which they could never have been kept alive in the way they have) required a separate budget grant from Congress:
> Despite the reliance on extant technology, some money was set aside to develop new technology. Congress and the OMB approved an additional $7 million to the Mariner Jupiter-Saturn appropriation for scientific and technological enhancements. Part of that appropriation went to develop a reprogrammable onboard computer, which proved vital to maintaining Voyager 2 as a functioning observatory in space. Without properly functioning hardware, no science could be conducted.
In the end only Voyager 2 was launched on the full Grand Tour trajectory that would allow visiting all of Jupiter, Saturn, Uranus and Neptune; Voyager 1 was launched on an easier and much faster trajectory that would take it only to Jupiter and Saturn. Even then, the official decision to extend the Voyager 2 mission to Uranus was only approved in 1980.
Human spaceflight and its enormous appetite for money has always been a huge threat to actually exploring the solar system beyond Earth orbit, and we should be very glad we got even the very diminished Voyager program that exists today.
When I work on undocumented systems, it's because someone wrote code with no design docs, no (retained) notes, no requirements, no specs, and it's been determined that it doesn't work right. All I have is the code, and current observations.
[0] https://en.wikipedia.org/wiki/2006_Royal_Air_Force_Nimrod_cr...
Then the voyager hardware was bespoke.
We just live in a different world now, they didn't know how to do software engineering like we do. They were just figuring it out. I really don't know the history of it but Voyager systems may have been produced on punchcard. Like the original source code might be physical for parts of the system.
Without any inside information on the program, I would expect that a lot of development has been done more or less ad-hoc over the decades, as budgets have allowed and operational requirements demanded.
Yes, luckily. If they did, it would have broken after four years, and would have needed a second nuclear battery due to the inefficient code.
I've run into lots of software comments in legacy code that refer to features or systems the company used to have that were deprecated years ago and are nearly meaningless today. Knowing that a flag was set to match the flags from the WOPR sytem isn't that useful when WOPR hasn't existed since before I joined the company.
https://www.itsquieterfilm.com/where-to-watch
Most of the options don't offer the movie in my region :(
Interacting with Amazon is increasingly feeling like being worked over by a seedy breed of con artist. I just missed a good price (circa 25% off the normal price) because -- best guess -- a driver failed to deliver and now my order is stuck in their "running late" limbo that will see it eventually cancelled. It's hardly the first time, exactly this scenario of an abnormally good price effectively lost, and no call to customer service can fix it. In fact, the driver missed the delivery story is the explanation I've read somewhere, but the unerring correspondence with very favorable pricing leaves me feeling suspicious.
I commend your decision, and your awareness of its impact.
At least part of the problem is that we don't regularly send long distance probes. Of course, even with that maintaining a relevant skill set to maintain a 50+ year old technology from over 100 AU seems difficult. I think having it be a single team's life's work is probably our limit to keeping it alive. Our next best window for sending out another group of probes is 2152 and hopefully it'll become cheap enough to send out a bunch of them with even higher resolution imagery & maybe actually hit all the planets this time. Unfortunately, it's likely no one reading this will be alive to see that happen.
If not then some wonderful healthcare breakthroughs will have happened and wouldn’t that be great?
I’d love to see us image exoplanets for example.
I’ve often thought about a ‘relativistic chamber’.
Some device that is in space looping at an appreciable fraction of light speed.
Enter the box.
Exit a year later and it’s 200 years passed down on earth. Have a mosey around, back in the box!
Have a mooch, back in the box!
And so on.
> It was a miracle of science that permitted human beings to live, if not forever, then for a long, long time. Some people, anyway. The rich, the powerful--they lived their lives at the rate of one year every ten. Some created two societies: that of people who lived out their normal span and died, and those who slept away the decades, skipping over the intervening years and events. It allowed great plans to be put in motion. It allowed interstellar Empires to be built.
> It came near to destroying humanity.
> After a long, long time of decadence and stagnation, a few seed ships were sent out to save our species. They carried human embryos and supplies, and teaching robots, and one man. The Worthing Saga is the story of one of these men, Jason Worthing, and the world he found for the seed he carried.
---
Freeze Frame Revolution ( https://www.goodreads.com/en/book/show/36510759 )
> How do you stage a mutiny when you’re only awake one day in a million? How do you conspire when your tiny handful of potential allies changes with each job shift? How do you engage an enemy that never sleeps, that sees through your eyes and hears through your ears, and relentlessly, honestly, only wants what’s best for you? Trapped aboard the starship Eriophora, Sunday Ahzmundin is about to discover the components of any successful revolution: conspiracy, code—and unavoidable casualties.
---
Also going to recommend the various Vernor Vinge books:
The Peace War
Marooned in Realtime
A Deepness in the Sky
and the short story "The Peddler's Apprentice" ( https://en.wikipedia.org/wiki/The_Collected_Stories_of_Verno... )Planet alignment?
People do not realize how amazing engineering it must be.
One can watch https://en.wikipedia.org/wiki/The_Farthest to appreciate fully what all those great man did and are still doing.
I see efficiencies to be gained in the overall integration of very task specific computers in common network.
Maybe my key fob uses compute power wastefully. But I'd rather it cost a few dollars than everything that needs that amount of processing power costing hundreds of millions of dollars.
My point is that early on general purpose computing was needed to drive the cost of computing down. I think we are past that stage and it is now time to look at making everything as simple and efficient as possible.
I'd rather my stuff be inefficient, feature rich and cheap. Remember, your "simple" device is someone else's "missing critical features", your 80% isn't someone else's 80%.
If I'm a manufacturer, why would I spend hundreds of engineering hours designing my widget to be efficient enough to run on an arduino when I can spend 50 cents more per widget and use an esp32 and not have to worry about investing so strongly in computational performance for computational performance's sake.
If I'm a consumer, I care about the cost of the device, and the manufacturer spending hundreds of hours to make the software more efficient is almost always going to be more expensive than a different manufacturer that spent 50 cents more on hardware and much less on R&D.
I would prefer less waste with more care and thought.
Consider giving those old timers the same problem with todays resources and I think we would get great results.
I'm not sure what you mean exactly by the human hours comment, I'm guessing that our advances today are more from low quality, high quantity work then ingenuity? Or something to that effect? I would say that might just be a result of the perception from looking back at a time of rapid advancement, where huge leaps occurred in a short time (and that we only look back at the successful end results, not all the R&D or the failures). Much of the slowness and expansiveness of engineering projects today is due to the increased use of analysis, validation, testing, quality assurance, etc. based on lessons learned from those days. Doesn't mean there is any less ingenious stuff happening, just doesn't stand out in the same way.
As for giving them the tools of today, I doubt they would be able to do much more than the same caliber of people today. In many fields we are pushing the capabilities of materials, analysis, design, etc. to their limits.
I would say the average engineer back then might be better but that's more related to the commodification of degrees than engineering getting worse. In 1970 you had about 9k meche's graduate for a population of 200 mil, in 2015 you had about 26k for a population of 320 mil. A 3x increase for only a 0.5x increase in population. I think the increase is due to alot more people being there for the paycheck, not the passion, which I think was much rarer back in the day.
https://nces.ed.gov/programs/digest/d16/tables/dt16_325.47.a...
All that being said, the engineering/engineers of that era is/are amazing. I mean they did most everything with paper, pencils and slide rules. Slide rules!
Interesting enough during the rapid advancement of inertial guidance development the developers came from all walks of life and not necessarily college. There was period of maturation were the un-educated were purged from the projects.
There's a saying along the lines of "It doesn't take a great engineer to make a bridge that stands but it does to make one that barely stands.".
As for being approached with the same care, well that's hard to say overall. I don't think you'd see a project like the James Webb be successful without the care of alot of people though.
I do have mixed feelings about the education requirement that is a wall for some people. I know alot of folks that could probably have had great careers as engineers but were stopped by the high end math needed for the degree. I also know many people that have zero engineering intuition that made it through and work in the field.
Page 1 is a definition of a digital computer it progresses to number systems, storage devices, boolean algebra, logical design, code design.
That is the first half of the book up to page 38.
The remaining sections cover General purpose computing, Digital Differential Analyzer operations, Digital Differential Analyzer Programming, D.D.A. decision and servo integration, Incremental and Whole Value Solutions of Control Problems.
The book contains a schematic of subsystems and the one complete circuit in the book is of a flip-flop.
I think the systems were robust becuase the computing problem was so tightly bound to the hardware.
I have a large collection of technical documentation and physical artifacts of the same computer implemented as discreet components amd integrated circuits. The company had to invent the lithographic process to print circuits.
So ASML is very impressive but could also be seen as a derivative idea.
After all they were really Mariner 11 and 12[1], if not in name, not even the first interplanetary probes.
Rather I think it's more interesting to view engineering as finding solutions to a problem given a set of constraints.
In that sense I think both the Voyager probes as well as lot of modern engineering is quite remarkable.
[1]: https://en.wikipedia.org/wiki/Mariner_program#Mariner_Jupite...
I want modern computing to a svelte as possible with a direct UI that maps to the human tasks and hardware that is tightly coupled to the physical world.
Maybe someday I will have an example of what I think is good. I think I'm getting really close to what I see as 100 year computer aesthetic.
Human race advances in leaps by a super small group of dedicated people, we are all indebted to
Called a “poke” by the team, the command is meant to gently prompt the FDS to try different sequences in its software package in case the issue could be resolved by going around a corrupted section.
The apparent foresight of the original programmers is impressive though maybe not too surprising given the conditions they expected.I'd be curious to know if anyone has any book recommendations on software design for space missions; I suspect there would be some lessons in there around testing and reliability that could inform more day-to-day stuff.
> Robert Wills introduces the amazing hardware and software that made up the Apollo Guidance Computer, walks you through the landing procedure step-by-step, and talks about the pioneering design principles that were used to make the landing software robust against any failure.
"The Voyager’s computer system was very impressive as well. Knowing the craft would be on its own much of the time, with the lag between command and response from Earth growing longer the farther the craft went into space, engineers developed a self-repairing computer system. The computer has multiple modules that compare the data they receive and the output instructions they decide on. If one module differs from the others, it's assumed to be faulty and is eliminated from the system, replaced by one of the backup modules. It was tested shortly after launch, when a delay in boom deployment was misread as a malfunction. The problem was corrected successfully."
https://voyager.gsfc.nasa.gov/Library/DeepCommo_Chapter3--14...
Page 74-75
> 3.7.3 Spacecraft Fault Protection
> The CCS has five fault-protection algorithms (FPAs) stored in memory, as summarized in Table 3-9. The two algorithms most directly related to the telecommunications system are named RF Loss and Command Loss [19].
> 3.7.3.1 RF Loss. RF Loss provides a means for the spacecraft to automatically recover from an S- or X-band exciter or power amplifier degradation or failure affecting the unit’s RF output. The CCS monitors the output RF power at four points in the RFS: the S-band exciter and S-band power amplifier and the X- band exciter and X-TWTA. If the output RF power from one or more powered- on units drops below a threshold level, the algorithm will attempt to correct the problem by switching to the redundant unit.
> 3.7.3.2 Command Loss. Command Loss provides a means for the spacecraft to automatically respond to an onboard failure resulting in the inability to receive or recognize ground commands. If a period of time set in the flight software goes by without the spacecraft recognizing a valid uplinked command, the Command Loss timer expires. The algorithm responds to the presumed spacecraft failure28 and attempts to correct that failure by systematically switching to redundant hardware elements until a valid command is received. Command Loss will be executed four consecutive times if command reception is not successful. After four unsuccessful executions, the CCS will disable Command Loss and activate a set of sequences of commands named the backup mission load (BML) and described below.
> 3.7.3.3 Backup Mission Load. In the event of permanent loss of command reception capability, a BML command sequence stored onboard each spacecraft is programmed to continue controlling the spacecraft and achieving fundamental VIM objectives. The BML will begin execution two weeks after the first execution of Command Loss and continue until the spacecraft stops operating. It will transmit cruise science and engineering telemetry, store science observations on the tape recorder, and downlink playbacks regularly.
do you suppose their system prompt ensures it responds more favorably to gentle commands? ;)
Does this mean that someone could set up an antenna and get a copy of the Voyager software? Might be cool to see.
To talk back to voyager, DSS43 uses 75kw to transmit, so you might have to have a commercial account with your local power company.
DSN NOW is neat to watch - and sometimes you see VGR1 and its related data https://eyes.nasa.gov/dsn/dsn.html
And since no one is talking with it, I'm going to find a screen shot. https://space.stackexchange.com/q/17430
The DATA feed (at 159 baud - bits per second) is being received at -157.95 dBm ... seven years ago. 1.6 x 10^-22 kW.
This is getting into the realm where noise will dominate the signal.
https://www.seti.org/detecting-voyager-1-ata
> The above assumes a receiver temperature of 120 Kelvin at 8.4 GHz. The receiver temperature could have also been measured using the quasar observation, but the 120 Kelvin figure is not far from reality given previous measurements.
The Allen Telescope Array is probably the 'cheapest' way to detect the signal.
> The telescope comprises 42 fully-steerable 6.1m-diameter telescopes, of which ~20 are fitted with wideband cryogenically cooled feeds.
For comparison, liquid nitrogen is 77 Kelvin.
They were able to detect the signal - but in that diagonal chart, note how difficult it is to see the diagonal from the visual noise.
That is only detecting the signal - not decoding it.
This brings up another issue. The DNS network is spread across Goldstone, Madrid, and Canberra allowing for continuous tracking of a spacecraft.
A single site would only be able to get a fraction of the broadcast or may be out of position for a repeating broadcast.
Voyager 1 is closing in on being the first human-made object to travel 1 light day.
V1 has traveled ~22.5 light hours in ~46.5 years [0], and assuming that average rate of 2.07 years/light hour [1] it will reach 1 light day in around 3.1 years. Does anyone know its potential to have sufficent power to measuring anything and transmit at that point?
[0] https://voyager.jpl.nasa.gov/mission/status/
[1] Notes on Voyager's average rate:
Remember that V1 did not travel in a straight line or at a constant rate from Earth through its planetary explorations, so the average rate now is probably higher than that simple calculation.
Also, if we are looking at distance and speed relative to Earth, and Earth's orbit around the Sun would cause some variation throughout the year. Could Earth's relative orbital positions at V1's launch decades ago and when V1 approaches 1 light day in three years significantly affect V1's distance from Earth? Earth's orbital diameter is roughly 300 million km; V1 travels at ~61,000 km/hr relative to the Sun [0], so the worst case would add ~4,900 hours or ~205 days. (Those are some quick calculations and I have to run to a meeting, so I hope there are no glaring errors!)
Also, I assume the Sun's movement relative to Voyager 1 has been constant since its launch.
The idea of troubleshooting a computer system with that sort of delay must make them incredibly creative.
Article: https://www.universetoday.com/148241/want-the-fastest-solar-...
Paper: https://arxiv.org/pdf/2009.12659.pdf
Interview with paper’s author: https://www.youtube.com/watch?v=W-E83lC-eN0
Astonishing!
It should still have power.
Another far more hilarious thought is I am glad they chose the Voyager probe for the first Star Trek movie and not Pioneer (hint: the letters dropped in the "mystery name")
Even if there was a near-future miracle invention for cheap plentiful power, it would be turned into a weapon of war far before space use. Beyond the power requirement, accelerating mass near the speed of light is beyond our comprehension, we can't even deal with radiation in space forget hitting dust that fast.
This has a chapter on the Voyager computer system, it's a lot more technical than typical, but I don't think it gets to the detail of the literal programs or data stream:
https://web.archive.org/web/20190714113800/https://history.n...
I don't know why NASA took down this nice HTML version. The live link now just redirects to a scanned PDF.
I read NASA has a lot less documentation about Voyager than you'd think, and apparently they don't have a ground-based simulator or anything like that (which they have for later probes).
More news at 11
Can you just imagine that? You wrote software in your 30s, and then 50 years later your grandchildren have to come visit you in the old folks home to ask you:
"Grandad, why did you write this goto statement at line 1892? Our AI think it might have to do with avoiding a hardware issue?"
to which you then reply, "my dear, even if you asked me one year after I wrote it, I would not be able to tell you."
I sometimes see retro projects on hack-a-day done by people who could be the grandchildren of the original designers of those vintage chips and OS's. They probably know more about that chip or OS than the original people do just due to them being out of the game for so long. The same way people regularly lose to fifth graders in tests because they dont recall 5th grade science and civics. If anything your scenario might be the opposite! Grandpa might be asking his granddaughter how those registers worked or how to emulate his OS from 1982.
I remember reading about the team that maintains the Voyagers. Its a skeleton crew using legacy equipment to keep the communication going with the assumption the next decade, or even earlier, is going to be it.
NASA has the same problem the private sector has. Capitalism rewards things that will generate profit/prestige, not legacy cost centers, and NASA is not immune from that dynamic as NASA employees and managers want to maximize their income and prestige too. So the people maintaining or bug fixing old products are often lowest on the prestige, pay, recruiting, and profit spectrum than those chasing new things. They get the skeleton crew funding and can't do novel things, even if technically possible because of lack of staff and buy-in.
Passion projects make for feel-good documentaries like 'It's Quieter in the Twilight' but ultimately if society isn't vested in these teams, their hands will always be tied.
Capitalism does not really exist. It is money, incentives, job, human … or love to hack.
Now, someday when I'm in my 60s/70s, and you have some legacy system written in some defunct language nobody under the age of 50 has any experience with, sure, I'll do it. But it'll cost you.
Sane hiring practices are inversely proportional to company size.
I once asked a company to rehire me saying that I only wanted to do software maintenance work (I wanted low stress). I am good at it, and it's hard to find people that want to do that work. They didn't rehire because although the manager really wanted me back, his idiot boss had taken it personally when I had quit. Idiot boss later got ousted to their dismay: I shouldn't enjoy that but I did!
I'm not sure if it's really "society" that is responsible for these funding difficulties, it's the politicians. If you ask a random member of the public how much of the federal budget is allocated to NASA, they'll generally give you a percentage that's wildly higher than the actual figure.
No this is not a plausible scenario.
You can also always avoid goto, in C, but usually, either it has excessive if-statement nesting, it uses boolean flag variables in loop conditions, or it uses structures to create state machines, but these are usually just uglier and more error-prone than the equivalent version using goto. The same applies to avoiding break, continue, and early returns.
There is an old electric station near me that is used for various things sometimes. Some band was in there shooting a music video and bumped something and somehow the whole area started filling with water. Nobody could stop it.
The government, the water company, everyone was struggling to figure out what to do, and they decided to call the old guy that used to work there. He was in his 90s but he told them how to fix everything.
I’m not sure what you are calibrating against but I feel like the last 20 odd years are full absolute batshit crazy stuff that doesn’t make sense and this seems rather tame.
COBOL exists. Billions of lines of COBOL still in production today. The scenario is already happening now.
Yes, I have nightmares like this all the time.
Aside from the lack of schematics or listings, there was the problem of the assembler being incomplete!
"One problem Lander software developers had was that no adequate assembler was ever written for the computer, perhaps because of the changing nature of the instruction set.(110) Patches had to be hand-coded in octal, with many jumps to unused memory space because of the lack of an assembler with relocatable addressing." p.174 on Viking, which used the same computer
[1]https://ntrs.nasa.gov/api/citations/19880069935/downloads/19... (page 174 onwards)
Though given the apparent level of NASA involvement in the 402's design, and the lack of evidence I can find for use outside of NASA, it might as well be called custom.
Of course, finding a platform to run it on could be a problem. Also, the License Server that so many proprietary tools need before they'll run.
There’s code I wrote 10 years ago at work that I still remember and can point out exactly where everything is. Then there’s code I wrote last week that is completely gone.
[0] https://www.minot.af.mil/News/Article-Display/Article/264580...
But yeah. In “A Fire Upon the Deep”, Vinge talked about archaeological programmers. There’s no doubt in my mind we’ll reach that point. “Tell me again why time_t is only 64 bits?” “Pull up a chair while I dig out the LKML archive. You know, this was originally stored in electric fields, if you can believe it!”
COPY CON FILENAME.TXT
to make a quick-n-dirty note of something without leaving the terminal.
The ship's replicators start spitting out PacMan ghosts which quickly overrun the passageways ala Tribbles, in the end it turns out Ensign Crusher attempted to pipe his holodeck game to PRN and the Ship's computer mistook that as a command to begin (3d) printing.
That's just from what I've heard, though. I do medical devices. I'm told that my aerospace counterparts have it even tougher than we do.
Therac-25 happened in 1982 and changed that industry (and safety engineering in general) quite a bit, no?
Equally I’ve seen COBOL compiled to new platforms because it has outlived all the systems it ran on.
I’m pretty sure there must be areas of Java, or C++’s standard libraries that haven’t changed for a very long time, and will continue to be used for decades.
The thing is, it’s often easier to just figure out the code, or rebuild the whole underlying platform, than to track down the original author and hope it wasn’t a Friday afternoon commit.
Some more discussion on the official post: https://news.ycombinator.com/item?id=39701473
Edit: so many of those comments have to deal with the contents of this particular article (which does add more background) so I think we need to move them back. Let's keep the less baity title from the other post, though.