Jottings - Slice of life - 2017 ( The woman who put the man on the Moon - Margaret Hamilton)

Jottings - Slice of life - 2017 ( The woman who put the man on the Moon - Margaret Hamilton)
On 20th of July 1969, Apollo II landed successfully on the Moon, and two male astronauts, Neil Armstrong and Buzz Aldrin, stepped out their spaceship and placed their first tentative step on its hallowed surface. It was a momentous event in Human adventure. That we could physically propel ourselves out of earth, soar into unexplored areas in space, and land with precision on a targeted satellite outside of earth’s orbit - was a grand dream come true from the time of the copernican revolution. From that moment onwards, we were no more tied to earth. Our destinies could now be linked to vistas beyond this planet. But little do many know that Apollo II nearly aborted before it landed, and even fewer know that if not for the robust and pioneering effort of Margaret Hamilton - the young software programmer in NASA who conceived, developed and deployed the complex multitasking code required to fly and land the spaceship - the mission would have failed, and history would have had to wait for another day to fulfill its destiny.
In 2016, President Obama conferred the highest civilian honor of the Presidential medal of Freedom for Margaret’s work in software engineering, and for the seminal role she played in landing Apollo on the moon. NASA had already felicitated her for exceptional contribution to Space travel. Along with Lieutenant Grace Hopper, another great female software programmer, they established the rudiments of what today is considered the discipline of Software engineering. In fact, the term “engineering” was applied to software for the first time by Margaret. Until then, software was considered esoteric hobby, a diversion, an unchartered territory. But after her committed effort in bringing together Hardware and software in the labs of MIT to create the in-flight software to run Apollo, the elusive study of software metamorphosed into a disciplined study, occupying a spot alongside other established branches of engineering.
As a child Margaret was interested in mathematics, the foundation of all sciences, and later, during her tenure at MIT, she had the privilege of working under Dr Edward D Lorenz, the man who introduced theory of Chaos and the term “butterfly effect” to indicate cascading effects from a single inconsequential cause. Computers excited Margaret. When NASA offered MIT the project to build software for Apollo space mission, she applied and got the job with couple of interviews with project managers, who had to toss a coin to decide whose group she would join. Luckily, it was the group that developed software. Gender didn’t matter, and did not play a part. That is commendable in an age when computers were mostly the prerogative of Male fraternity. Margaret had enough and more sparkle and intelligence which shone through instantly to be chosen into community of developers. And once chosen, She worked with computers as big as a warehouse, and learnt to write software programs in hexadecimal and binary instructions. Under Dr Lorenz’s scrutinizing eyes, she developed what would later come to known as Operating systems - piece of software that prioritizes and executes tasks on a computing machine.
Interestingly, what attracted Margaret's attention, which later would prove to be an invaluable asset for Command control systems in Apollo, was the need for reliability of software applications. In any mission critical system, one should know when things go bad, and more importantly, the program should recover from it as quickly as possible. This principle is universal in software, and it true till this day and time. Resilience and preempting errors is synonymous to quality software. In her interview, she describes how when her programs ran well without deviations, the sound emanating from those huge computing machines would resemble the gentle lapping of waves on the sea shore. When something went wrong, the sound was quite different. It jarred on the ears. Thats how engineers knew software need to be debugged. Quite extraordinary!! How tactile and sensory errors were, in those good old days? The quality of sound indicated the state of software. Because of this auditory quality, Margaret’s software programs were called “seashore programs”.
It was these abnormal sounds which commanders picked up, when Apollo was minutes away from landing on the Moon. The computer chips on-board were running far too many processes than required. Consequently, they heated up, began making strange noises, and the registers on command deck began to blink ominously. These were distress signals. But fortunately, Margaret had intelligently factored this event in her software, and the commanders in control of the spaceship were sufficiently trained to act when such deviations happened. During their practice runs on ground, they had practiced hard on what switches to toggle when things go wrong to stop processes allowing the software to prioritize its tasks and execute optimally - the ultimate triumph of multitasking, its power and control in software engineering. The first step on the moon was possible because a young lady had worked out possibilities of things that could go wrong.
The picture you see attached along with this essay is historically significant. The frail, petite, short and smiling Margaret standing alongside reams of paper, stacked one upon the other, are the coding abstracts of what went into Apollo II. At this distance, most of it would be undecipherable to many us. They were written in what we call assembly level code, and Margaret wrote most of it. She didn’t know much when she was recruited to code for Apollo, but she learnt to do all this with great curiosity and enthusiasm. And she wasn’t afraid of approaching a daunting problem. In a wonderful comment, she made in an interview some years back, which could be the mantra for every potential professional, she said:
“..I would add that what seems to work best for me when I want to learn about anything new or to do anything new is not to let fear get in the way…
One should not be afraid to say ‘I don’t know’ or ‘I don’t understand,’ or to ask ‘dumb’ questions, since no question is a dumb question. To continue even when things appear to be impossible, even when the so called experts say it is impossible; to stand alone or to be different; and not to be afraid to be wrong or to make and admit mistakes, for only those who dare to fail greatly can ever achieve greatly....”
The phrase to pay attention to is “ not to fear”, and desire to ask the right questions no matter how uncomfortable they are. These are the keys to creativity and success. Learners must not be afraid to look at new problems with fresh eyes. Sometimes, we must discard whatever we know to find something new. It is difficult. Though all of us love to remain in our comfort zones and find answers within its boundaries, but sometimes, answers may not be available. We have to look above and beyond.
Our gratitude to Margaret Hamilton's of this world for raising the bar, and forging new pathways. Without them software as a discipline would not have emerged the way it did. During the sixties, software was predominantly male dominated, but women like Margaret and Grace found their footing with confidence and courage. We salute them for their achievement and constant inspiration.
God bless..
Yours in mortality,
Bala

Comments

Popular posts from this blog

Jottings - Slice of Life - 238 ( Mystic Pizza - The birth of Julia Roberts as an actor)

Jottings - Slice of life - 292 ( Bhanu and I - thirty years of memories, and accumulating more)