NASA software triumph

Indeed.
Most of the important numerical algorithms were obtained by thinking about a problem, writing out the algebra first, and then coding it.

2 Likes

Not that I ever worked on any major problem, but your comment about thinking of a problem
reminded me about something.

Back in the 70’s when I was a programmer / analysis and I ran into a problem, on several occasions
while driving home and just thinking of the problem a possible solution would pop into my mind.

4 Likes

That happens to me while I sleep. I wake suddenly with the solution.

5 Likes

Happens to me all the time too. I’m in the shower or driving or something similarly brain dead and something just occurs to me.

My theory is that my brain is still working on the problem in a background thread and surfaces at some point to become foreground. :slight_smile:

5 Likes

My guess is assembly.

1 Like

That’s something I can confirm it works.
However, if I don’t note it, and fall asleep again, when I wake up, I remember only there was a solution, but don’t remember the solution itself…

2 Likes

Same with me. If I wake at 3.00am with an answer, I need to
note it down… it will not be there at breakfast.

May be related to short term memory loss .

3 Likes

Good guess. It would have been my guess also, but we both would have been wrong. You got me curious, so I did a little search on the web and I found this.

“The original software for the Voyager probes was written using Fortran 5 then ported to Fortran 77, and today there is some porting in C.”

If anyone is interested in reading more about it, you can find it here.

4 Likes

That’s the thing with most “Advent of code” problems (from day 10 onwards or so). you can quite easily program an algorithm that will solve the test case, but you will run into huge problems, once you use the real input data, so you will have to put real thought into it.

In reality, all problems can be solved on a C64 or a ZX Spectrum with the right algorithm or you’ll need a CERN supercomputer with Terabytes of memory.

I participated twice and had to give up around day 20.

Now imagine, doing Assembler programming on Voyager 1. These guys are total cracks.

3 Likes

They do it in pure machine code. The people at NASA are the absolute best.

2 Likes

So they might initially compile it with Fortran, then operate on the binary to shift memory allocations around?

As far as I know, they write the code in Assembler and “compile” it by hand.

1 Like

So what are these references to Fortran

What you are saying sounds more likely.
Maybe that reference is about some of the original code before launch?

This is very probable.

However: I didn’t get my knowledge from any official NASA source, but from a Youtube video, so it might be complete bs.

2 Likes

It seems the most likely scenario is they use Fortran build tools on the ground, but the stuff uploaded is , as you say,
hand crafted binary.

3 Likes

I believe you are correct for the patches that are being sent. The original code probably was Fortran which was compiled here on earth, but only the binary code was loaded into the space craft.

Just a side note,
Way back in the 70’s sometimes at work we would use a “Rep” card. Yes, an old 80 column card.
It was called rep which stood for replace meaning replace code and was done in binary.
It would give the hexadecimal address of the code to be replace and then the code being replaced.

3 Likes