Blast Off From The Past
Anniversary Of The First Moon Landing
Recently on the TV (which I don’t usually watch) there has been a series of programmes celebrating the 50th anniversary of the first moon landing (20th July, 1969). These have been most interesting and, as I’ve been to the Space Centre in Florida a couple of times, I can really relate to the amazing work done back then culminating in the awesome achievement of walking on the moon and returning safely back to Earth.
I can’t even begin to imagine the sheer complexity of building such a technical solution and coordinating all the different people (400K+) and organisations involved and then proving that it all had even the faintest chance of working. To then see it actually happen – wow! Now that’s what I call a career achievement, no wonder people are still talking about it.
I know that some people just can’t relate to this. I feel so blessed to have been born into the era that I was, where I’ve been able to follow and later work with the technological advancements in computing over the past decades. Some ideas have come and gone (e.g. dial-up modems, 8-bit, 16-bit etc.) whilst others have changed beyond recognition (e.g. watches, personal computers, telephones etc.).
Free Pluralsight Course – Geeks Only
Pluralsight released a free course called “1969 Moon Landing: The Code of the Apollo 11 Guidance Computer (AGC)” which I had to watch (and share with others at our Learning Cinema) and which proved to be probably the most “geeky” thing I’ve watched in a while.
It talks about where to download the actual source code from in GitHub and then walks through some of the assembly language code and comments.
For me, as someone who spent a number of years writing (6502, Z80 and later 80x86) assembly language to peek and poke values into memory locations to make hardware do stuff, this all felt very nostalgic. To think that someone actually did this to start and stop rocket motors is pretty awesome!
Women In Technology – Not A New Thing
At Capgemini, we like to celebrate and encourage women in technology but it’s not like it’s a new thing.
Margaret Hamilton was the technical lead on the AGC project back in the day on the Apollo Programme and coined the term “software engineering”.
To see the printed AGC programme code piled nearly as tall as her is frightening and to think of the poor dot matrix printer (anyone remember them?) that produced it, including the many ribbon changes that were possibly needed, brings a wry smile.
Reading some of the articles about Margaret’s work (see Apollo and Beyond) also brought a wry smile – especially the bit about the astronauts not making mistakes so no need to code defensively. After Apollo 8, Margaret got to say “I told you so” and to make the subsequent defensive coding changes.
Most of the women that I’ve worked with as programmers in my career over the years have always written really good code. They often wrote it quicker too.
Assembly Language
I do miss Assembly Language. Those were the best programming days, when you really had a struggle with the memory limits and the processing speed! It was all about the CPU registers and memory locations and remembering to turn off hardware interrupts before you changed a memory jump-table address to nest your own interrupt-handler code.
Hardware Programming Is Making A Comeback
Most of the hardware I programmed directly related to video controller chips or disc controller chips (won’t bore you with the chip numbers), nothing as exotic as a rocket motor.
For a few decades, thanks to the introduction of high level languages, I've personally not had a need to programme any hardware but the Internet of Things (IoT) looks set to change all that and bring hardware back to the foreground again, albeit for very specialised, miniature devices which often host their own OS and network connectivity.
Hardware is now an Internet user too, and also set to sky rocket!
Tim Simpson
26th July, 2019
#LifeAtCapgemini