Програмистката, която прати хора на Луната

ян. 7, 2022 | Истории

Програмистката, която прати хора на Луната

7 януари 2022 | Истории

Иконична е тази снимка и според мен трябва да бъде задължителна част от обучението по софтуерно инженерство. Също така да се показва на всеки програмист, който се оплаква, че работата му е трудна. На кадъра е д-р Маргарет Хамилтън, шефката на екипа, създал софтуера, с който „Аполо 11“ се отправя към нощното ни светило. Мисията ще отведе първите хора на Луната през 1969 г.

А каква е тази огромна купчина хартия? Именно това е компютърният код, написан от Маргарет и екипа ѝ. Те успяват с примитивните тогавашни технологии да познаят какъв проблем би могъл да спре „голямата стъпка на човечеството“ и го предотвратяват.

Нещо повече. Приема се, че момичето на снимката е и създател на термина „софтуерно инженерство“.

Какво ли е да отговаряш за софтуера на архаични компютри, от който обаче зависи оцеляването на първите хора, които ще стъпят на земния спътник?

 

Маргарет Хамилтън

 

Цвете от Луната

Днес животът на редовия програмист е светлинни години по-лесен, имаме наготово огромни платформи, а след тях и библиотеки, на гърба на които да се катерим.

При младата мисис Хамилтън нещата изгледат доста различно. Родена през 1936 г., тя от малка си пада по математиката и се дипломира в Мичиганския университет през 1958 г. Баща ѝ е философ и поет, дядо ѝ – писател, учител и висш протестантски проповедник, тях двамата тя посочва като свои вдъхновители.

За кратко преподава математика и френски в гимназия, докато чака съпругът ѝ да завърши, срещнала го е в гимназията. Скоро той също има висше, а двамата заедно – малка дъщеря на име Лорън.

Местят се в Бостън, където той си намира работа. Маргарет е заминала с идеята да продължи с докторантура, но… ѝ се налага да почака. Трябва да започне работа, за да помогне на семейния бюджет, нещо доста нетипично за млада майка по онези времена.

Работи за кратко в метеорологична програма към MIT, после се насочва към проект на военновъздушните сили, чиято цел е да идентифицира вражески изтребители.

 

Луната спи

„Трябваше да си намеря работа и така попаднах в лабораторията, която се водеше от проф. Едуард Лоренц, създателя на Теорията на хаоса. Работех върху система за прогнозиране на времето. Той търсеше математици, които да се учат на софтуерна разработка. Тук научих какво е компютърът и как се създава софтуер“, спомня си тя.

Тъкмо тогава, през 1963 г., когато тя планира отново да се върне към докторантурата си, вижда обявата, че се търсят компютърни специалисти в лаборатория отново към MIT, която обаче ще работи по проекта за изпращане на първите хора на Луната. Ще създава софтуера за следващите мисии „Аполо“.

Маргарет решава, че няма как да пропусне такъв шанс.

Веднага се обажда на телефона, посочен в обявата, само за няколко часа си уговаря срещи с двама от мениджърите, които познава от предишната си работа. Предлагат ѝ позицията в един и същи ден. Тя не иска да откаже на някой от двамата, предлага им да хвърлят монета, за да видят къде ще отиде тя. Печели този, който отговаря за софтуерната част и тя още на следващия ден започва работа.

 

Маргарет Хамилтън

 

Лунната соната

Маргарет е първият програмист в екипа и първата жена там. По това време в проекта вече работят голям брой компютърни специалисти и математици, но всички те отговарят за хардуера. Скоро в екипа на Маргарет вече има около 100 софтуерни инженери (които дори още не знаят, че така се нарича професията им). А тя официално застава начело през 1965 г.

„По това време софтуерът беше пълна мистерия, черна кутия за мениджърите. Затова ни дадоха пълната си вяра и доверие, имахме невероятния късмет да сме на правилното място в правилното време“, спомня си тя.

„Нямахме откъде да учим. Работехме в поле, което едва се появява. Нямахме друг шанс, освен да бъдем пионери. Но колкото по-голямо беше предизвикателството, толкова по-забавно ни беше, както е нормално за хлапета на по 20 и няколко години“.

„Нашият софтуер трябваше да е свръхнадежден, да е способен да улавя грешките и да се възстановява от тях във всеки един момент на мисията“, спомня си тя.

Едно от най-важните неща, които трябва да се планират, е в критичните моменти преди кацането компютърът да не бъде претоварен. Днес браузърът ни „яде“ оперативна памет като гладен змей, при това тя се измерва с десетки гигабайти, а тогавашният космически компютър има на разположение… 72 килобайта в своеобразния си „харддиск“ и едва 10-ина килобайта оперативна памет.

 

Маргарет Хамилтън

 

Лунатици

20 юли 1969 г. Модулът за прилуняване „Игъл“ се отделя от командния – „Колумбия“, и се отправя на единствената си мисия.

Точно преди да започне ключовият етап на кацането, към компютъра, контролиращ модула, политат десетки различни команди. Ситуацията е критична. Ако софтуерът не е подготвен да ги приоритизира, машината може да спре да изпълнява указанията и кацането да стане невъзможно.

Нашата героиня и екипът ѝ обаче са предвидили този риск.

Софтуерът е подготвен да разпознае кога го карат да изпълни повече операции, отколкото би могъл. В такава ситуация той изпраща знак на астронавтите, че нещо не е наред и е претоварен.

И не само. Екипът софтуерни инженери, които още не знаят, че са такива, са създали самовъзстановяваща се програма. В такъв режим компютърът спира маловажните задачи и продължава да изпълнява само ключовите. Именно това се случва малко преди кацането на модула „Игъл“. Наземният контрол и астронавтите се доверяват на преценката му.

„Софтуерът беше направен така, че не просто да съобщава, че има проблем, свързан с хардуера, но и да се опита да го преодолее“, казва Маргарет. „За щастие, му се довериха и само след 30 секунди се чу Нийл Армстронг да казва: „Игъл“ кацна“.

 

Маргарет Хамилтън

 

Подлуняване

По това време Маргарет е начело на екипа, занимава се с професия, която още не съществува. И е само на 32.

След „Аполо“ част от кода е използвана за изпращането на „Скайлаб“ – първата орбитална станция, а после и в совалките.

А как ли изглежда софтуерът в онези времена?

Писането на код започва на големи листове хартия. Човек, наричан перфоратор, на базата на написаното създава перфокарти – картонени листове с дупки на определени места.

След като е проверено, че всичко е наред, кодът се изпраща във фабрика, където вече е трансформиран във вида, в който го ползват пракомпютрите. Медните проводници и магнитите се нанизват на дълга тел, която „помни“ нулите и единиците по доста примитивен начин: минавайки през силен магнит, те се разделят според поляризацията си.

 

Кодът на „Аполо“

Част от компютърния код, създаден от Маргарет и екипа ѝ.

 

Месечина, йо и йо

Едно от най-сериозните предизвикателства е софтуерът да бъде подготвен за всякакви възможни проблеми. Много време ще измине, преди на сцената на софтуерния бранш да се появят специалистите в тестването, но в тази роля влиза дъщерята на Маргарет.

Тя често взема със себе си Лорън, когато ѝ се налага да работи вечерите и уикендите.

„Един ден отново беше с мен, тъкмо бях пуснала симулацията на полета до Луната. Тя много обичаше да ме имитира, като си играе на астронавт. Започна да натиска случайни копчета и симулаторът се включи. После натисна още няколко и всичко заби. Беше стартирала програмата, която трябва да се пусне преди излитането, а уж ракетата вече беше по пътя си към Луната. Цялата памет на компютъра беше заета с настоящата задача и той блокира.

Помислих си: „Боже, ами ако това се случи по време на истинска мисия!“. Веднага предложих на екипа да направим така, че програмите да могат да се пускат само в точния етап, за който са предвидени“.

Шефовете ѝ отвръщат, че това е пълна глупост, защото селектираните, прецизно тренирани астронавти никога не биха могли да направят подобна грешка. Междувременно още на следващата мисия – „Аполо 8“, се случва точно същото. „Това доведе до големи поразии, трябваше да променяме много неща в движение, но едва тогава ми позволиха да направя промяната“.

 

Компютърът на „Аполо“

Така изглежда единият от компютрите в мисията „Аполо“.

 

Ясен месец веч изгрява

„Първите езици, на които програмирах, бяха 16-ични и двоични“, разказва Маргарет. „Пишеш код от нули и единици. Попаднах на добри учители и се научих как по този начин да давам оптимални команди, така че тогавашният хардуер да успее да се справя колкото може по-добре. С помощта на учителите си създадох нещо, което може днес да се нарече „мини операционна система“.

„Размерът на компютрите, с които аз и колегите ми работехме преди „Аполо“, варираше от огромен – с размера на стая, до такъв като цял склад“, разказва Маргарет. Когато се включва в лунната мисия обаче, трябва да подготвя програмата на два значително по-малки, почти идентични компютъра. Направо лаптопи, тежащи само по около 30 килограма

„Аполо 11“ има два компютъра на борда си, почти идентични. Единият се намира в „Колумбия“, а другият – в „Игъл“.

 

Между две луни

„Докато работех по програмата за търсене на вражески самолети, за първи път ми стана интересна темата за надеждността на софтуера. Когато компютърът просто спре по средата на изпълнението на твоя код, това няма как да бъде скрито. Светлините мигат, алармите пищят отвсякъде. Това ме караше да опитвам да предвидя къде може да изникне проблем“, разказва Маргарет.

Дебъгването е същинско приключение. „Единствената информация, която компютърът даваше на програмиста, беше регистърът, който да ти посочи частта от паметта, където програмата се е забавила.“

„Другият вариант беше просто да слушаш. Когато програмата вървеше нормално, компютърът звучеше като прибоя на красив плаж. Така го и наричахме, „звука на прибоя“. Случваше ми се да се обади посреднощ някой от операторите и да ми каже, че нещо не е както трябва, защото „вече не чувам прибоя“. Така се появи още един начин на дебъгване“.

 

Маргарет Хамилтън

 

Обратната страна на Луната

Каква е истината за прословутата снимка с „огромните папки софтуер“. Е, донякъде днес бихме ги нарекли пиар. Да, разбира се, това не е точно кодът, който е използван в „Аполо 11“.

За снимката фотографът на MIT идва в лабораторията на Маргарет и я кара да събере всички работни папки, които намира. После кадърът е разпратен до медиите, веднага след успешното кацане на Луната, със съответния текст. Реалният код, използват от двата компютъра на „Аполо“, е с „височина“ около 1/10 от този на снимката.

Всяка от отделните папки на снимката съдържа код, подготвен за машините на борда на някоя от мисиите „Аполо“. Една подобна папка „захранва“ с команди компютъра в лунния модул, а друга – този в командния.

 

Маргарет Хамилтън

Маргарет през 1995 г.

 

 

Лунички

Дали наистина Маргарет Хамилтън е автор на термина „софтуерно инженерство“? Трудно е да се каже, но със сигурност е помогнала много за това той да се превърне в истина.

По онова време инженерството се смята за сериозна наука, а софтуерът все още е по-скоро измислица, нещо шеговито за „сериозните инженери“.

Когато тя започва да се занимава със софтуер, все още няма термин, който да описва тази професия, нито пък тя се учи някъде. Много скоро, през 70-те години това рязко ще се промени.

В първите дни на проекта софтуерът наистина не се взема особено насериозно на фона на другите инженерни дисциплини. „Работехме с много комплексни системи, но никой не смяташе, че това, което правим, е сериозна наука и ключова задача. От отчаяние един ден отидох при другите водещи хардуерни специалисти им казах: „Хей, и ние сме инженери!“.

Дълго време след това те ми го повтаряха като шега. Докато един ден, по време на среща на целия екип, един от най-големите хардуерни гурута в екипа обясни пред всички, че всъщност е напълно съгласен с мен. Процесът по изграждане на софтуер също трябва да бъде приет за инженерна дисциплина, точно както хардуера. Беше наистина паметен момент!“, спомня си Маргарет.

Така се оказва, че очевидно твърдението не е преувеличено и тя е човекът, въвел термина, с който днес се кичат програмистите.

 

Маргарет Хамилтън

Маргарет Хамилтън получава президентската награда от Барак Обама през 2016 г.

 

Луноход, ход

Какъв ли най-важен съвет дава д-р Хамилтън днес на младите програмисти? Да не се ограничават само с „ученето“ на код. „Вярвам, че е също толкова важно да се учат и да имат досег с неща като музиката, изкуството, философията, лингвистиката. И, разбира се, математиката и логиката. Смятам, че всяка от тези области може да помогне в изграждането на един отличен програмист и на човек, умел в решаването на различни проблеми.“

Много изследователи забелязват, че дълги години софтуерният екип и Маргарет почти не са споменавани в спомените и историческите документи на мисията. През годините тя се занимава с различни софтуерни проекти, основава и своя компания, „Хамилтън Текнолъджис“ работи по проекти в областта на системно инженерство. Най-накрая стига и до докторантурата. Публикува над 130 научни статии, участва в проекти и конференции. Така или иначе, тя не постига някакви зашеметяващи успехи в тази област, които да привлекат вниманието на медиите и обществото.

Момичето до планината от код влезе с трясък и с пълна сила във фокуса на прожекторите през 2016 г., когато Барак Обама я награди с президентския медал на свободата, който оттогава не е връчван на никого. Тя стана толкова популярна, че година по-късно „Лего“ ѝ посвети сцена в специалната си колекция за жени изследователки, а „Гугъл“ я почете, като с помощта на 100 000 огледала от слънчевата обсерватория в пустинята Мохаве изрисува образа ѝ.

А гледката наистина е впечатляваща:

Луна президент

Да, немалко специалисти са на мнение, че приносът ѝ е преувеличен през последните години. Изведен е на преден план и се използва точно тогава, когато на мода идват идеите за половото равенство. А заради знаменитата си снимка тя е подходящ медиен продукт, който да привлича внимание.

И все пак, където и да е истината… планината от код, която си е свършила работата в точния момент, не може да бъде подложена на съмнение. А, особено ако и вие професионално се занимавате със софтуер, със сигурност си струва да си я припомните следващия път, когато „забиете“ в решаването на някоя задача и ви се иска физически да се саморазправите с компютъра…

Маргарет Хамилтън

В чест на Маргарет е създадена и лего колекция

 

<a href="https://karamanev.me/author/georgik" target="_self">Георги Караманев</a>

Георги Караманев

Програмист, журналист на свободна практика и писател. Още за мен – четете тук.
„Дигитални истории“ сборник

Най-нови публикации:

Голата истина. Алгоритмите, които събличат

Голата истина. Алгоритмите, които събличат

Скролвате си фийда и вътре има гола снимка… на която сте вие, както майка ви е родила. Никога не сте се снимали така и все пак всичко е толкова реално?! Това вече е напълно възможно да се случи и...

повече информация
IT, любов и боровинки

IT, любов и боровинки

– Имам една мечта… – започва, леко неуверен Нено. Двамата с Криси са се качили на хълма с внушителната панорама към Долината на розите и бъдещата ферма. – Да гледам боровинки. Ще бъдеш ли до мен? –...

повече информация
„Хората си оставаме същества, за които е важно да притежават“

„Хората си оставаме същества, за които е важно да притежават“

Проф. дфн Стоян Ставру е способен да се вглъби в материя, която най-често смятаме за скучна, за да я изпълни със смисъл, да разкаже достъпно и атрактивно, да намери неочакван поглед към теми, важни...

повече информация
FM-2030. Той не умира

FM-2030. Той не умира

Наляво или надясно? Нагоре! Той вярваше, че когато дойде 2030 г., ще се пробуди от ледовете, за да отпразнува 100-годишния си юбилей. Беше убеден, че по това време ще сме стигнали небесата, ще сме...

повече информация

Още публикации по темата:

От рубриката:

IT, любов и боровинки

IT, любов и боровинки

И двамата работят в света на информационните технологии. Той е програмист, тя – проектов мениджър. Днес заедно са собственици на 4700 корена боровинки, които през лятото зарадваха с впечатляващия си вкус стотици купувачи. Гледат и 5 декара рози, редуват дейлитата с прекопаване, разговорите за data science с такива за агрономство.
Понякога животът е цветя и рози, нужна е само смелост, за да го оцениш и преосмислиш. Да повярваш в мечтите си. И да забравиш за стереотипите…
– Имам една мечта… – започва, леко неуверен Нено. Двамата с Криси са се качили на хълма с внушителната панорама към Долината на розите и бъдещата ферма. – Да гледам боровинки. Ще бъдеш ли до мен?
– Да, на 100%! – отвръща тя, без да се замисли. – Идея си нямах с какво се захващам… – допълва Криси днес.

повече информация
FM-2030. Той не умира

FM-2030. Той не умира

Наляво или надясно? Нагоре!
Той вярваше, че когато дойде 2030 г., ще се пробуди от ледовете, за да отпразнува 100-годишния си юбилей. Беше убеден, че по това време ще сме стигнали небесата, ще сме населили други планети. Ще сме загърбили злободневните си дърления и, окрилени от технологиите, ще вървим напред в човешката еволюция.
Дали е бил прав FM-2030? Дали с точната си ръка на баскетболист няма да ни изненада в прогнозите си със стрелба от тройката?
Ако се окаже така, само след 7 години ще можем да обсъдим детайлите със самия него. Ако наистина бъде съживен, забравеният създател на трансхуманизма, избрал име като на радио канал, със сигурност ще има какво да ни разкаже… В обратния случай ще се превърне в поредния мечтател, надценил човечеството и изпреварил своето време.

повече информация
Исус. Програмистът, дошъл от гетото

Исус. Програмистът, дошъл от гетото

„Най-трудно беше да взема есенцията от двата свята, в които живея, и да ги комбинирам в един. Изисква се доста емоционална енергия и висока емпатия. Бил съм отхвърлян от българи, защото съм циганин и от цигани, защото „се правя“ на българин. Бориш се да бъдеш уважаван на противоположни фронтове“.
Имам удоволствието да ви представя Исус Костов! За колегите си е просто „Джизъс“, а за мен – силен пример как човек може да победи средата, предубежденията, дори себе си, за да постигне онова, за което мечтае. Колкото и да изглежда далечно, дори невъзможно.
Пътят му тръгва от циганското гето, а днес е софтуерен инженер в реномирана компания. Учи сам онлайн, така и не се отказва, започвайки от училище, където често ходи гладен, с обувки без подметки. За да стигне до днес, натрупал сериозен опит в професията.
„Най-ценното, което програмирането ми даде безспорно е свободата“, казва Исус. „То ми донесе възможността да се измъкна от трудното положение, в което бях и да си изградя живот, в който съм независим и мога да помагам на семейството си“.
Следващата му цел е да вдъхнови повече хлапета да преследват мечтите си. Да не се отказват, потискани от средата и от обстоятелствата.
А какво ли ще стане, ако подобни истории променят отношението и на обществото ни, и на айти сектора към тези деца?

повече информация

Най-новите:

Голата истина. Алгоритмите, които събличат

Голата истина. Алгоритмите, които събличат

Скролвате си фийда и вътре има гола снимка… на която сте вие, както майка ви е родила. Никога не сте се снимали така и все пак всичко е толкова реално?!
Това вече е напълно възможно да се случи и ето защо е важно да сме готови. И да си задаваме следващите въпроси: как си струва да променим отношението си към това, което виждаме? Така че да отговаря адекватно на действителността, до която ни доведоха технологиите.

повече информация
Какъв е „Произходът на българите“?

Какъв е „Произходът на българите“?

Кои са прабългарите, откъде идват предците ни? Какво имат да ни кажат новите технологии в търсенето на отговора? Наследници на траките ли сме, дали идваме от далечните степи, или пък сме сармати? Как генетиката се оказа поредната голяма научна стъпка, която ни даде много отговори за миналото и на практика остави валидна само една теория?
Какъв е произходът на българите? Защо този въпрос толкова сериозно ни вълнува и вкарва в ожесточени спорове хилядолетие и половина по-късно?
Тази тема се превърна в най-четената дигитална история, по същото време излезе книгата на историка доц. д-р Тодор Чобанов – „Произходът на българите – дебатът през XXI век“. Изданието на „Българска история“ дава най-важното от съвременния поглед. Ето защо има още толкова съществени отговори, които си струва да бъдат добавени.

повече информация
IT, любов и боровинки

IT, любов и боровинки

И двамата работят в света на информационните технологии. Той е програмист, тя – проектов мениджър. Днес заедно са собственици на 4700 корена боровинки, които през лятото зарадваха с впечатляващия си вкус стотици купувачи. Гледат и 5 декара рози, редуват дейлитата с прекопаване, разговорите за data science с такива за агрономство.
Понякога животът е цветя и рози, нужна е само смелост, за да го оцениш и преосмислиш. Да повярваш в мечтите си. И да забравиш за стереотипите…
– Имам една мечта… – започва, леко неуверен Нено. Двамата с Криси са се качили на хълма с внушителната панорама към Долината на розите и бъдещата ферма. – Да гледам боровинки. Ще бъдеш ли до мен?
– Да, на 100%! – отвръща тя, без да се замисли. – Идея си нямах с какво се захващам… – допълва Криси днес.

повече информация
„Хората си оставаме същества, за които е важно да притежават“

„Хората си оставаме същества, за които е важно да притежават“

Кога и как ще си разделим собствеността върху звездите? Обречени ли сме като цивилизация да бъдем водени от непрестанното желание да притежаваме? Защо изкуственият интелект е мощен инструмент, но същевременно и фантазия, която е обречена да не се претвори в реалност? Време ли е да включим алгоритмите във вечната битка на човека за справедливост?
Проф. дфн Стоян Ставру е способен да се вглъби в материя, която най-често смятаме за скучна, за да я изпълни със смисъл, да разкаже достъпно и атрактивно, да намери неочакван поглед към теми, важни за всички ни.
„Предизвикай правото!“, призовава юристът в тематичния си сайт. Завършил право и психология, той има специално отношение към технологиите и много неочаквани амплоа. Дипломиран планински водач, учител по японските бойни изкуства джодо и айкидо, водещ на подкаста Vox Nihili, в който се чуват „шепоти от бъдещето“ и главен редактор на експертна правна система „Лексебра“.

повече информация
FM-2030. Той не умира

FM-2030. Той не умира

Наляво или надясно? Нагоре!
Той вярваше, че когато дойде 2030 г., ще се пробуди от ледовете, за да отпразнува 100-годишния си юбилей. Беше убеден, че по това време ще сме стигнали небесата, ще сме населили други планети. Ще сме загърбили злободневните си дърления и, окрилени от технологиите, ще вървим напред в човешката еволюция.
Дали е бил прав FM-2030? Дали с точната си ръка на баскетболист няма да ни изненада в прогнозите си със стрелба от тройката?
Ако се окаже така, само след 7 години ще можем да обсъдим детайлите със самия него. Ако наистина бъде съживен, забравеният създател на трансхуманизма, избрал име като на радио канал, със сигурност ще има какво да ни разкаже… В обратния случай ще се превърне в поредния мечтател, надценил човечеството и изпреварил своето време.

повече информация
Селфита, които ще спасяват животи

Селфита, които ще спасяват животи

Една дълго подценявана технология, узряла в днешния ден, може да спаси животите на много хора.
Понякога, в света на бурно развиващите се технологии, историите лъкатушат между голямата мечта и нереалното. Но много са аргументите, които показват, че тук се крие един огромен, неочакван пробив. Чрез малки промени в температурата на определени зони на тялото, уловени от термокамера и обработени с помощта на изкуствен интелект, могат да бъдат предсказани редица здравословни проблеми. Начинанието развива българският стартъп Kelvin Health.
Георги Къдрев е специалист по информационни технологии, отдавна се занимава и с предприемачество. Дълги години развива проекта Imagga, който неусетно се превръща в компания, технологичен лидер в разпознаването на изображения.
Пътят на Kelvin Health започва в първите дни на пандемията. Екипът е изправен пред предизвикателството да обработва изображения, показващи температурата на човешкото тяло в опит моментално да се разпознава ковид инфекция. Докато постепенно се оказва, че този метод, приеман едва ли не за алтернативен, може да се превърне в пробив за медицината. В технология, която да влезе във всеки дом и да спасява животи. Медицински директор на начинанието е известният сърдечносъдов специалист проф. Иво Петров.
Може ли термалната диагностика да се превърне в революция в медицината? Кои заболявания ще бъдат диагностицирани с новата технология? Може ли изкуственият интелект да удължи живота ни? Какво е за един стартъп да се превърне в еднорог, но не с пазарна оценка от милиард долара, а заради… милиард спасени човешки животи?

повече информация
Share This