Маргарет Гамильтон: «Пацаны, я вас на Луну отправлю»

    «Когда я только начинала работать в этой сфере, все это было для нас как Дикий Запад — мы были первооткрывателями неизведанных земель. Никто нас ничему не учил» Маргарет Гамильтон.



    Это Маргарет. Она пишет код хорошо. Делайте как Маргарет.

    А еще:
    • программист-самоучка;
    • написала код для навигационного компьютера программы «Аполлон»;
    • когда американцы ступили на поверхность Луны ей был 31 год;
    • Маргарет НЕ автор термина «software engineering»;
    • часто брала на работу 4х-летнюю дочку;
    • дочка помогла найти баг в программе.

    Под руководством Маргарет Гамильтон писались программы для бортового компьютера КА Аполлон. В один из самых ответственных моментов миссии Аполлон 11 именно работа Маргарет и ее команды предотвратила возможный срыв высадки на Луну. За три минуты до прилунения сработало несколько аварийных сигнальных устройств. Компьютер был перегруженн входящими данными – в стыковочной радарной системе произошло непроизвольное обновление счетчика, что привело к запросу на выполнение компьютером большего числа операций, чем он был способен обработать. Благодаря устойчивой архитектуре компьютер продолжил свою работу: в разработке бортового ПО использовался подход асинхронного исполнения (asynchronous executive). Процессы с высоким приоритетом (критичные для прилунения) могли прервать низкоприоритетные процессы.

    «После расстыковки командно-служебного и лунного модулей выключатель радара стыковки был поставлен в неправильное положение из-за ошибки в инструкции для астронавтов, радар посылал ошибочные сигналы бортовому компьютеру. Обработка ложных сигналов занимала 15% машинного времени. Бортовой компьютер (точнее, вшитое в него ПО) оказался достаточно разумным для того, чтобы распознать, что на выполнение запрашивается больше операций, чем должно. Далее он выслал оповещение, означавшее для астронавта следующее: «Я перегружен бОльшим количеством задач единовременно, чем предусмотрено, и я продолжу выполнять только наиболее важные, то есть те, что необходимы для прилунения...» По сути, компьютер был запрограммирован на большее, чем просто распознавание ошибочных состояний. В ПО был предусмотрен полный набор программ по восстановлению. В данном конкретном случае реакцией ПО было приостановить работу низкоприоритетных задач и перезапустить (re-establish) наиболее важные. Если бы компьютер не распознал эту проблему и не принял восстановительные меры, я не уверена, что Аполлон 11 совершил бы успешную посадку на Луну.» Маргарет Гамильтон

    «Девушка молоток!
    Но я бы не хотел себе такую жену, ибо смотрелся бы на ее фоне жалко, хоть и программист… LOL»

    Коммент с GeekTimes


    Железо


    image
    Лунный модуль

    image
    Схема навигационной системы

    image
    Ну, вы сами знаете, что это

    image
    Фазы прилунения

    image
    Interfaces Among PGNS, ATCA and the Rendezvous Radar

    Еще немного интересного есть вот здесь:
    [TALES FROM THE LUNAR MODULE GUIDANCE COMPUTER]

    Бортовой управляющий компьютер КА Аполлон


    image
    Бортовой управляющий компьютер КА Аполлон (Apollo Guidance Computer, AGC) проводил вычисления и контролировал движение, навигацию, и управлял командным и лунным модулями в ходе полётов по программе Аполлон.

    AGC был разработан для программы Аполлон в начале 1960-х годов в лаборатории приборов Массачусетского технологического института. Отличительной особенностью конструкции компьютера являлось применение микросхем, что было сделано впервые.

    Также при полёте к Луне использовались два дополнительных компьютера:

    • Цифровой компьютер ракеты-носителя (Launch Vehicle Digital Computer, LVDC), расположенный в приборном отсеке ракеты-носителя Сатурн-5 и
    • Аварийная система наведения (Abort Guidance System, AGS), расположенная на борту лунного модуля на случай отказа PGNCS. AGS могла быть использована для взлёта с поверхности Луны и стыковки с командным модулем, но не для посадки.


    Прошивка


    Сам процесс программирования был не менее трудоемким, чем написание кода. Бортовой компьютер «Аполлонов» использовал систему памяти на магнитных сердечниках, которая хранила данные в двоичной системе. Если провода проходили через ферритовые сердечники в форме кольца, это означало единицу, если шли снаружи – ноль.

    Таким образом, программы физически создавались вручную, на фабриках, где работали в основном женщины. Среди инженеров память на магнитных сердечниках даже получила прозвище LOL-память, где LOL расшифровывалось как little old lady, «маленькая старая леди».

    Маргарет рассказывает о своей работе:


    image
    Core rope memory

    Как происходит «прошивка» в прямом смысле слова. Смотрим на 21-й минуте



    AGC dual 3-input NOR gate


    Память

    image

    image
    Интерфейс бортового управляющего компьютера КА Аполлон, установленный в командном модуле. Над интерфейсом виден индикатор FDAI.

    image
    Шпаргалка с кодами

    Source code



    image


    www.ibiblio.org/apollo/listings/Comanche055/REENTRY_CONTROL.agc.html

    Эмулятор


    Аполлон-11


    image



    Описание посадки Аполлона-11
    20 июля Нил Армстронг и Эдвин Олдрин перешли в лунный модуль, активировали и проверили все его системы, привели сложенные опоры посадочной ступени в рабочее положение. Майкл Коллинз в бортовой телескоп командного модуля на 12-м витке провёл наблюдение ориентиров на подлёте к основному району прилунения для уточнения данных в системе навигации и времени начала управляемого снижения лунного модуля. После этого «Аполлон-11» получил «добро» на расстыковку командно-служебного и лунного модулей. В начале 13-го витка, когда «Аполлон-11» находился над обратной стороной Луны, «Колумбия» и «Орёл» расстыковались. Армстронг с помощью двигателей системы ориентации совершил полный поворот лунного модуля вокруг вертикальной оси, Коллинз визуально осмотрел его и сообщил, что опоры посадочной ступени раскрылись нормально. Когда связь с Землёй восстановилась, Армстронг доложил в ЦУП в Хьюстоне о расстыковке. Отвечая на вопрос об ощущениях, он сказал: «У „Орла“ есть крылья». Коллинз заметил, что «Орёл» отлично выглядит, только летит вверх ногами. На что Армстронг ответил: «Кто-то из нас летит вверх ногами». Коллинз отвёл «Колумбию» на расстояние около 1300 м. В конце 13-го витка, над обратной стороной Луны, на 29,8 секунды был включён двигатель посадочной ступени лунного модуля, «Орёл» перешёл на орбиту снижения с апоселением 105,9 км и периселением 15,7 км. Он летел опорами посадочной ступени вперёд и иллюминаторами вниз, чтобы астронавты могли отслеживать ориентиры на поверхности. Армстронг заметил, что один из ориентиров, кратер Маскелайн W, они пролетели примерно на 3 секунды раньше, чем предполагалось. Это означало, что они сядут дальше расчётной точки. В 102 часа 33 минуты 05 секунд полётного времени вблизи периселения орбиты снижения (примерно в 400 км к востоку от запланированного района посадки) был включён двигатель посадочной ступени лунного модуля, начался этап торможения. Примерно через 4 минуты после этого «Орёл» был повёрнут по крену на 180°, иллюминаторами вверх, Армстронг и Олдрин почти прямо перед собой увидели Землю. Такой поворот был необходим по двум причинам: чтобы посадочный радар смог захватить поверхность и чтобы на завершающем этапе посадки, когда корабль развернётся в вертикальное положение, астронавты могли видеть район, куда садятся. Почти сразу после этого сработала аварийная сигнализация бортового компьютера, о чём Армстронг доложил в ЦУП. Лунный модуль в этот момент находился на высоте 10 200 м. Из Хьюстона ответили, что всё выглядит нормально. Такая нештатная ситуация астронавтами на Земле не отрабатывалась. Как пояснил Армстронг на послеполётной пресс-конференции, во время тренировок имитировалось множество неполадок, и экипаж всегда был «заряжен» на аварийное прерывание миссии, но в реальном полёте астронавты были «заряжены» на посадку. Сигнал тревоги был вызван перегруженностью бортового компьютера, в который помимо навигационных данных поступала ненужная в тот момент информация от радара встречи с командно-служебным модулем (переключатель радара был поставлен Армстронгом в такое положение примерно за 3 минуты до первого тревожного сигнала). Всего за время посадки сигнализация срабатывала 5 раз, что сильно отвлекало внимание астронавтов. Определяющим в принятии решения ЦУПа о продолжении посадки стало слово специалиста по навигационным системам лунного модуля Стива Бэйлза (англ.)русск., который посчитал, что перегруженность компьютера не поставит посадку под угрозу (позднее он вместе с астронавтами получит Президентскую медаль Свободы).

    Через восемь с половиной минут после начала торможения, на высоте чуть менее 2 км, начался этап приближения к точке посадки, бортовой компьютер перешёл к выполнению программы, в соответствии с которой управление двигателем посадочной ступени и двигателями системы ориентации осуществляется автоматически, а астронавты могут вручную лишь корректировать ориентацию. «Орёл» начал медленно поворачиваться в вертикальное положение. На высоте 1,5 км при скорости снижения 30,5 м/с Армстронг на некоторое время отключил автоматический режим, чтобы сделать пробную корректировку ориентации, всё работало нормально. Армстронгу следовало сделать этот тест чуть раньше, чтобы в те мгновения заниматься уже исключительно визуальным поиском подходящей площадки для посадки. Специалисты считают это запаздывание следствием аварийных сигналов компьютера, которые отвлекали внимание командира. Переворот лунного модуля в вертикальное положение давал командиру не только обзор района посадки, но и возможность менять точку прилунения. На внутреннее и внешнее стёкла командирского иллюминатора были нанесены шкалы. Пилот лунного модуля диктовал командиру угловые значения, которые показывал дисплей компьютера, и командир смотрел в иллюминатор так, чтобы обе шкалы совместились. Тогда он видел место, в которое автопилот ведёт корабль. Это место можно было изменить движением рукоятки контроллера. Движение контроллера на один шаг вперёд передвигало место посадки на 1/2° дальше по курсу, одно движение в сторону — на 2° влево или вправо, соответственно.

    На высоте около 460 м Армстронг увидел, что автопилот ведёт корабль в точку на ближнем краю большого кратера, окружённого полем валунов до 2—3 метров в поперечнике (позднее было установлено, что это кратер Уэст, англ. West Crater, диаметром 165 м). На послеполётном опросе он рассказывал, что поначалу посчитал это место хорошим, поскольку с научной точки зрения посадка рядом с большим кратером была бы весьма ценной. Однако Армстронг быстро понял, что посадить «Орёл» в достаточно безопасном месте, не долетая кратера, не удастся. Он решил его перелететь. На высоте примерно 140 метров командир перевёл компьютер в полуавтоматический режим, в котором двигатель посадочной ступени управляется автоматически и поддерживает постоянную вертикальную скорость 1 м/с, а двигатели системы ориентации управляются полностью вручную. Армстронг уменьшил наклон лунного модуля назад с 18° до 5° от вертикали. Это увеличило скорость горизонтального перемещения вперёд до 64 км/ч. Когда лунный модуль пролетал над кратером, командир начал искать место, пригодное для посадки, и выбрал относительно ровную площадку между небольшими кратерами и полем валунов. На высоте около 80 метров вертикальная скорость снижения составляла около 0,5 м/с. Олдрин сообщил, что осталось 8% топлива. Ещё через несколько секунд он добавил, что видит тень «Орла» на поверхности Луны. На завершающем этапе захода на посадку лунный модуль был повёрнут примерно на 13° влево от курса, и тень была вне поля зрения Армстронга. В этот момент загорелось предупреждение, что компьютер не получает данных от посадочного радара. Это продолжалось несколько секунд. На высоте 30 метров Олдрин доложил, что топлива остаётся 5% и что загорелось предупреждение. Начался 94-секундный отсчёт, по окончании которого у Армстронга останется только 20 секунд, чтобы посадить корабль или экстренно прервать посадку и взлететь. Через 33 секунды оператор связи в ЦУПе в Хьюстоне Чарльз Дьюк предупредил, что остаётся 60 секунд. В этот момент посадочный радар вновь на несколько секунд «потерял» поверхность. Частота пульса у Армстронга на завершающем этапе посадки достигла 150 ударов в минуту. На высоте 12 метров Олдрин доложил, что поднимается лунная пыль. Но он редко смотрел в иллюминатор. Армстронг же на послеполётном опросе говорил, что впервые заметил поднимающуюся пыль на высоте чуть меньше 30 м. Сначала это выглядело как прозрачный лист летящей пыли, который немного ухудшал видимость. По мере снижения корабля видимость становилась всё хуже. По словам Армстронга, визуальному определению высоты это не очень мешало, но в густой пелене движущейся летящей пыли было очень сложно следить за статичными камнями и, соответственно, определять вертикальную и горизонтальную скорости.

    Посадка «Орла», снятая на 16-мм камеру через иллюминатор пилота лунного модуля
    Как вспоминал Армстронг, на высоте около 9 метров «Орёл» по неизвестной причине начал перемещаться влево и назад. С движением назад справиться удалось, но полностью погасить перемещение влево не получилось. Ещё более замедлять снижение или зависать было нельзя, поскольку топлива оставалось совсем мало, и допустимый лимит времени до прерывания посадки был почти исчерпан (в одном из своих интервью в 2001 году Армстронг вспоминал, что ему хотелось, чтобы эта первая посадка прошла как можно более гладко, но в то же время он знал, что если погасить горизонтальную скорость и выровнять корабль, то можно было падать примерно с высоты 12 метров и даже больше, в условиях слабой лунной гравитации опоры посадочной ступени должны были выдержать удар). Вскоре после того, как Олдрин доложил, что высота 6 м, вертикальная скорость 0,15 м/с, а скорость горизонтального перемещения — 1,2 м/с, Дьюк из Хьюстона предупредил, что остаётся 30 секунд. Через 9 секунд после этого предупреждения Олдрин закричал: «Сигнал контакта!» Это произошло в 20:17:39 UTC 20 июля (102 ч 45 мин 39,9 с полётного времени). Синий сигнал контакта означал, что лунной поверхности коснулся как минимум один из щупов длиной 1,73 м, которые крепились к трём из четырёх опор (кроме той, где была лестница). Через 1,5 секунды после этого Армстронг заглушил двигатель. На послеполётном опросе он рассказал, что не смог точно определить момента посадки. По его словам, Базз закричал: «Контакт!», но сам он даже не видел загоревшегося сигнала, двигатель работал до самой посадки, потому что она была настолько мягкой, что момент, когда корабль стал на грунт, было сложно определить. После прилунения Армстронг передал Земле: «Хьюстон, говорит База Спокойствия. „Орёл“ сел». Чарльз Дьюк ответил, от волнения оговорившись: «Понял вас, „Свок…“, „Спокойствие“. Вы прилунились. Мы тут все уже было посинели. Теперь мы снова дышим. Спасибо огромное!»

    Лунный модуль стал на грунт с небольшим наклоном назад на 4,5° от вертикали, он так и остался повёрнутым на 13° влево от траектории полёта[84]. Послеполётный анализ показал, что в топливных баках посадочной ступени «Орла» осталось 349 кг топлива. Этого хватило бы на 25 секунд зависания, после чего осталось бы 20 секунд на запуск двигателя взлётной ступени и прерывание посадки (у следующих «Аполлонов» после посадки оставалось от 499 до 544 кг). Как выяснилось, предупреждение о критически малых остатках топлива загорелось раньше времени, потому что топливо в баках начало плескаться после того, как Армстронг наклонил лунный модуль, чтобы перелететь кратер Уэст. Во всех последующих моделях лунного модуля в баках были установлены дополнительные перегородки. Корабль прилунился в точке с координатами 0,67408° с. ш. 23,47297° в. д., в 6858 метрах западнее центра эллипса района посадки. Причиной этого стали мелкие неучтённые изменения ориентации «Колумбии» и «Орла» на орбите вследствие тестирования двигателей системы ориентации лунного модуля, которые затем нарастали в течение двух витков до начала торможения, а также неполная разгерметизация переходного тоннеля между кораблями, из-за чего импульс, который «Орёл» получил при расстыковке, оказался немного больше расчётного.

    [источник]



    Аполлон-8



    image
    Пока 4-летняя Лорен мирно спала на полу лаборатории, мама создавала программы, которые лягут в основу главного командного компьютера «Аполлона».

    При подготовке полета «Аполлона-8», первого пилотируемого космического корабля, добравшегося до орбиты Луны, Маргарет Гамильтон удалось обнаружить серьезную уязвимость, но никто не поверил, что она представляет реальную угрозу. Найти эту уязвимость помогла дочь Гамильтон, которая играла с симулятором компьютера «Аполлона-8», пока ее мать работала. В какой-то момент она включила последовательность P01, запускаемую перед стартом космического корабля, когда симулятор был уже в «полете». Запуск P01 в неподходящий момент привел к сбою; и хотя у космонавтов нет никаких причин допускать такую ошибку, Гамильтон решила добавить несколько строчек кода — сделать своего рода «защиту от дурака». В NASA воспротивились, сочтя, что прекрасно подготовленные астронавты никогда в жизни не смогут так ошибиться. Тогда Гамильтон включила строчку «Не запускайте P01 во время полета» в документацию, но и это показалось руководству излишней мерой предосторожности.

    Вскоре после рождества в 1968 году, когда «Аполлон-8» должен был покинуть орбиту Луны и отправиться на Землю, астронавт Джеймс Ловелл сделал именно то, чего от него никак не ждали — по ошибке запустил P01. В итоге из компьютера «Аполлона» исчезли навигационные данные, и он не мог точно определить свое положение в пространстве. Экипажу корабля пришлось быстро сориентироваться по звездному небу и ввести правильные данные в компьютер, а специалистам NASA, в том числе и Маргарет Гамильтон — провести девять часов в поисках решения, как отправить на «Аполлон» из Хьюстона другие необходимые компьютеру сведения. «Аполлон-8» успешно приземлился, а Ловелл спустя год с лишним применил свои навыки ручного перепрограммирования компьютера космического корабля во время полета «Аполлона-13», экипажем которого он командовал. Миссия «Аполлона-13» завершилась неудачей из-за аварии по пути к Луне, но космическому кораблю удалось вернуться на Землю. Ловелл потом признавался, что ему очень помог в нештатной ситуации «Аполлона-13» прошлый опыт «Аполлона-8» и называл тот инцидент с потерей навигационных данных «плановой тренировкой». Позднее астронавт все-таки признался, что стер данные по собственной оплошности. [источник]

    Software engineering


    Успехи Маргарет в проекте SAGE открыли ей двери в NASA. Маргарет вспоминает:
    «В этой компании принято давать новичкам программу, в которой никто не может разобраться и тем более запустить. Когда я была стажером, мне тоже дали такую задачку. Это была весьма заковыристая программа, и более того, автор кода находил удовольствие в написании комментариев к коду исключительно на греческом и латинском. Так, мне дали эту задачу, и, собственно, я заставила ее работать. Она даже результат выводила на печать на греческом и латинском. Я была первой, кто смог ее запустить.»



    Гамильтон популяризовала термин «software engineering», которую ввел в употребление Anthony Oettinger.[пруф]

    «Я начала использовать это название, чтобы выделить нашу работу среди других видов техники. Когда оно только появилось, все сочли его очень забавным и долго шутили по этому поводу: мол, какие у меня радикальные идеи», – рассказывает она.

    В этой области она была одной из тех, кто разрабатывал концепты, такие как asynchronous software, priority scheduling, end-to-end testing and Human-in-the-loop decision capability, что послужило основой в разработке современного, устойчивого к сбоям программного обеспечения.

    Свободное плавание


    В 1986 году она основала и стала генеральным директором Hamilton Technologies, в Кембридже, штат Массачусетс, компании разработчика языка программирования Universal Systems Language. «Язык универсальных систем», предупреждающем, а не исправляющем сбойные ситуации, который основывается на теории систем и опирается на уроки проекта по разработке бортового программного обеспечения кораблей «Аполлон».
    Список клиентов
    • Abadon
    • ABB
    • Access Research
    • Adtranz Signal
    • Advanced Methods
    • AGS Nynex
    • Apogee Communications Technologies
    • Ariel Technologies
    • AT&T
    • Auburn University
    • BDM International Inc.
    • BMC3 Engineering
    • Boeing
    • Boston University
    • Bowe Software Solutions
    • CA (Ingres)
    • Cadeon Strategic Technologies, Inc.
    • Cambridge Resource Group
    • Canadian Government
    • Chemical Bank
    • Citibank
    • Codemakers Pty Ltd.
    • Computer Sciences Corporation
    • Construction Information Systems
    • Cross/Z International Inc.
    • CSIRO Institute of Information Science & Engineering.
    • Descartes
    • Digital / Compaq Computer Corporation
    • DoD
    • DOE
    • Eidisys
    • FEMA
    • Grumman
    • Hewlett Packard
    • Honeywell
    • Hughes
    • IBM
    • Independent Engineering
    • International Billing Services
    • Lockheed Martin
    • Logicon
    • Loral
    • Los Alamos National Laboratories
    • Massachusetts Institure of Technology (MIT)
    • McDonnell Douglas
    • Mitre
    • Motorola
    • MRJ, Inc.
    • NASA
    • Newbridge Networks
    • NR Pty, Ltd.
    • NRI & NCC Co. Ltd.
    • NSA
    • Pacific States Marine Fisheries Commission
    • Praxis International
    • Rexham Aerospace and Defense Group
    • SAIC
    • Scott Paper
    • SDIO
    • SEI, Carnegie Mellon
    • Select Computer Technologies
    • Software Productivity Consortium(SPC)
    • State of Massachusetts
    • Stratus Group, Inc.
    • Sun Microsystems
    • Systems Automation Technology Ltd. (SAT)
    • Terry Consulting
    • The Registry
    • Toldark Pty. Limited
    • U. of Arizona
    • U. of Florida
    • U. of Minnesota
    • US Air Force
    • US Army
    • US Navy
    • WPL Laboratories




    Почитать еще:


    Wiki:
    Margaret_Hamilton_(scientist)
    (на русском статьи нет)

    GeekTimes:
    Маргарет Гамильтон, ведущий инженер-программист проекта «Аполлон»

    Wired:
    Her Code Got Humans on the Moon—And Invented Software Itself
    Software — and a Woman — at the Heart of Lunar Triumph

    Переводы:
    Ошибка «Аполлона-8» Как программистка NASA в 1968 году нашла уязвимость в космическом корабле
    Бабушка программирования

    P.S.
    «Тогда я часто представляла себе, с какими заголовками выйдут газеты, если что-то пойдет не так. Все будут винить в неудаче меня», — вспоминает Гамильтон.
    Помните, что тестировщик в ответе за все

    P.P.S.
    Отдельное спасибо Саше за помощь с переводом.




    Вместе с компанией Edison продолжаем весенний марафон публикаций.

    Я постараюсь докопаться до первоисточников IT-технологий, разобраться, как мыслили и какие концепции были в головах у первопроходцев, о чем они мечтали, каким видели мир будущего. Для чего задумывались «компьютер», «сеть», «гипертекст», «усилители интеллекта», «система коллективного решения задач», какой смысл они вкладывали в эти понятия, какими инструментами хотели добиться результата.

    Надеюсь, что эти материалы послужат вдохновением для тех, кто задается вопросом, как перейти «от Нуля к Единице» (создать что-то, чего раньше и в помине не было). Хочется, чтобы IT и «программирование» перестали быть просто «кодингом ради бабла», и напомнить, что они задумывались как рычаг, чтобы изменить методы ведения войны образование, способ совместной деятельности, мышления и коммуникации, как попытка решить мировые проблемы и ответить на вызовы, вставшие перед человечеством. Как-то так.

    0 марта. Сеймур Пейперт
    1 марта. Xerox Alto
    2 марта «Позвоните Джейк». История NIC и RFC
    3 марта Грэйс «бабуля COBOL» Хоппер
    4 марта Маргарет Гамильтон: «Пацаны, я вас на Луну отправлю»
    5 марта Хеди Ламарр. И в кино обнаженной сняться и во врага торпедой пульнуть
    7 марта Великолепная шестерка: девушки, которые термоядерный взрыв рассчитывали
    8 марта «Видеоигры, я ваш отец!»
    Летали ли американцы на Луну?

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Edison 83,89
    Изобретаем успех: софт и стартапы
    Поделиться публикацией
    Комментарии 34
    • +14
      Шикарный пост и ни одного коммента. А потом сопли по экрану — никто ничего не пишет!
      Спасибо!!!
      Жду еще постов по теме женщин в IT — Ада Лавлайс, Адель Голдштейн, да много их.
    • +6
      Уже не первое упоминание ее на хабре, но нигде не расписывают дальше ее карьеру и чем занимается, было бы интересно узнать
      • +17
        После таких постов стыдно становится: а чем мы сегодня занимаемся? кнопочки на сайтиках-однодневках добавляем?
        • +12
          • +13
            Проблема не в кнопочках. Проблема в том, что под этими кнопочками лежит система, по сравнению с которой все эти "бортовые компьютеры Аполло" — как бактерия по сравнению с человеком.

            Для того, чтобы красиво прокрутить список SMS'ок на экране вашего смартфона нужно больше ресурсов, чем для того, чтобы рассчитать посадку на Луну! Причём не "затрачивается больше ресурсов" (это-то само собой: современные программы большую часть мощности современных CPU/GPU попросту транжирят), а "реально нужно потратить даже при самом оптимальном программировании". Для того чтобы это понять просто вспомните — на каких компьютерах шла самая первая в мире компьютерная игра и сравните мощности этого компьютера с тем потоком данных, который нужно чтобы просто нарисовать на экране iPhone (или какого-нибудь Samsung Galaxy S7)… да вообще хоть что-нибудь, чёрт побери!

            Разрешение S7 — это 2560x1440x3 байта, а компьютер Apollo порождал только 85'000 15 битных чисел в секунду (да-да, детки — 8 битные байты появились сильно позже), то есть даже чтобы породить нужное количество нуликов и единичек компьютеру Apollo потребуется минута. А если ещё вспомнить, что эти нулики и единички, в общем-то, должны не просто какой-то узор из себя изображать, а какую-то осмысленную картинку...

            А вот дальше возникает вопрос, на который у меня нет ответа: это вообще — хорошо или плохо? То, что мы транжирим столько ресурсов — вроде как плохо… а то, что при этом всем этим могут пользоваться не только тренированные астронавты… вроде ведь как хорошо… Но стоит ли овчинка выделки? Был бы мир лучше если бы люди не тратили так много ресурсов на красивые картинки, а потратили бы их на что-то другое?.. Кто знает...
            • +4
              Как-то на подобные вопросы (почему я делаю какие-то кнопочки вместо того чтоб применять эти технологии и знания для движения человечества вперёд) мне ответили, что бОльшая часть планеты как бы занимается обслуживанием того процента, который и занимается продвижением человечества.
              Хотя многие технологии выходят из потребительских продуктов, и кто знает, если бы никто не стремился создать лучший айфон, может быть и не было бы этих самых новых технологий.
              • 0
                Про то, что выходит из "потребительских продуктов" ещё ладно (если не было бы желания играть в 3D-игры — современные суперкомпьютеры были бы гораздо слабее, к примеру).

                Куда больше вещей, которыми пользуются все вышло из недр военных лабораторий — как к этому относится? Вроде как убивать людей нехорошо, а с другой стороны без военных — фиг знает сколько мы бы ждали того же интернета… и не факт, что долждались бы: альтернативы, которые параллельно с творением DARPA разрабатывались были гораздо более эффективными (на малых масштабах), но не были рассчитаны на отказы, а потому не масштабировались на всю планету, DARPA же в саму основу проекта положила требование отказоусточивости сети при различных отказах (поле боя, струляют), что оказалось очень кстати, когда в сети оказались десятки тысяч автономных систем и миллиарды компьютеров...

                Кто бы оплачивал тот же GPS/ГЛОНАСС/Бэйдоу, если бы они военным не были бы нужны? А так — поверх них "висит" какое-то немыслимое количество вполне гражданских сервисов… часть из них даже "человечество двигает"...
                • 0
                  Тут проблема правильной приоритезации. На военку, а точнее через неё ресурсы тратятся только потому что общество, в т. ч. геополитика до сих пор вот так устроены. Сейчас потихоньку применяются схемы в рамках концепции стабильного развития, но всё равно представители комитетов ООН жалуются на нехватку финансирования, а серьёзные проблемы пока не решены, так, например, войны на ближнем востоке уже вызвали миграцию по численности населения сравнимую со второй мировой. Так что меняем мир к лучшему в рамках собственных возможностей и стараемся понимать как он устроен сейчас (с этим тоже сейчас всё ещё есть проблемы).

                  Да и не в изначальном направлении дело, дело в людях, всегда. Есть, например, BOINC, который делался для науки в институте, а потом перешёл стал полностью открытым и сейчас общая мощность сети для распределённых вычислений работающая поверх технологии сравнима с производительностью машин из верхней части списка TOP-500. В общем прогресс не остановить и завтра, в любом случае, будет лучше чем вчера. К слову, к чему это я, а к тому, что присоединяйтесь ;)

                  Кто бы оплачивал тот же GPS/ГЛОНАСС/Бэйдоу, если бы они военным не были бы нужны?

                  Точно также всё было бы, так же бы собирали налоги с людей и организаций в рамках государств и оплачивали бы. Куча проектов по развитию территорий, сельского хозяйства, промышленности, мониторинга, навигации для государственных нужд и не связанные с военкой используют эти системы.
                  Собственно тот факт, что вопрос вообще ставится и именно в такой формулировке "Кто бы если не военные" как раз и говорит, что проблема "не прямого финансирования", а, в значительной степени через военные организации как раз и есть следствие устройства всего человеческого общества, а не каких то точечных проблем. Общество ещё надо будет целенаправленно развивать какое то количество времени, чтобы пришло понимание всех идей стабильного развития.
                  • 0
                    Общество ещё надо будет целенаправленно развивать какое то количество времени, чтобы пришло понимание всех идей стабильного развития.

                    Одного понимания мало. Пока будут элитарные группы с противоположными интересами — будут и войны.
                    • 0
                      Куча проектов по развитию территорий, сельского хозяйства, промышленности, мониторинга, навигации для государственных нужд и не связанные с военкой используют эти системы.
                      Они используют, но не оплачивают. Более того: даже «совершенно гражданский» Галилео был бы невозможен без капиталовложений, прошедших по «военному ведомству» (создание ракет-носителей и прочего).

                      Общество ещё надо будет целенаправленно развивать какое то количество времени, чтобы пришло понимание всех идей стабильного развития.
                      Если бы всё было так просто. В какой-то момент просто общество придётся ломать или, как минимум, кардинально перестраивать — и пока неясно как это делать.

                      Капитализм, который сейчас везде господствует, по сути своей неустойчив и склонен к организации монополий и вырождению. Эту проблему решили «костылём»: тех, кто «сильно вырос» и пытается «маленьких забижать» государства начинают «лупить по попе». Но это пока есть «большие и маленькие». А если какая-то отрасль у нас столь специализированна, что фабрика определённого сорта нужна вообще в количестве «одна штука на планету»? Пока что эти проблемы протаскивались через военных, но с ростом количества таких «фабрик» это решение себя рано или поздно тоже исчерпает. Попытка СССР решить эту проблему центральным планированием не привела к оглушительному успеху тоже. Так что вопрос «как должно быть организовано общество, чтобы развиваться дальше» остаётся открытым.
                      • +3
                        Попытка СССР решить эту проблему центральным планированием не привела к оглушительному успеху тоже

                        Потому что пытались подогнать под планирование все, в том числе мелочь широкой номенклатуры, которая планированию не поддается. То, что выпускается валом с ограниченным кол-вом модицикаций, вполне себе планируется.

                        тех, кто «сильно вырос» и пытается «маленьких забижать» государства начинают «лупить по попе»

                        Ага, только вчера читал про Xerox — они были пионерами в своем деле, разработали множество технологий, получили гору патентов. А потом американский FTC сказал им, что "так низя" и давайте-ка вы ребята, по добру по здорову, сами отдадите свои патенты? Пришлось отдать, и вскоре доля Xerox на рынке упала с +-100% до 14%.

                        Это, кстати, тонкий намек тем, кто любит вписывать в преимущества капитализма монетизацию своих идей.
                        • 0
                          А потом американский FTC сказал им, что «так низя» и давайте-ка вы ребята, по добру по здорову, сами отдадите свои патенты? Пришлось отдать, и вскоре доля Xerox на рынке упала с +-100% до 14%.
                          А вот тут я не вижу никаких проблем вообще. Авторское право в принципе и патенты в частности — это абсолютно не рыночный механизм. Даже больше: это антирыночный механизм — по определению. Ибо он создаёт монополию.

                          Является ещё одним патчем к рыночному подходу, призван поощрять людей разрабатывать разные новые «ништяки» и появился в виде, близком к современному, после принятия английского закона с очень говорящим названием: Statute of Monopolies. Который, кстати, патенты не ввёл, а отменил (за исключением ограниченного круга). С чего, собственно, и началась промышленная революция в Англии.

                          То что государство иногда подкручивает свой собственный patch — это совершенно нормально. Можно подумать вы никогда не выпускали «заплатку к заплатке».

                          Это, кстати, тонкий намек тем, кто любит вписывать в преимущества капитализма монетизацию своих идей.
                          Эти люди, как минимум, не понимают что такое капитализм :-) Никакой «монетизации идей» он не предусматривает в принципе. Монетизация идей появляется там и тогда, когда государство решает капитализм ограничить.
                          • 0
                            Так и я не вижу! Но постоянно находятся недалекие, которые пересказывают по кругу историю про то, как бедный несчастный советский инженер имея кучу авторских свидетельств, получал несчастные же 150р (премиальные начисления за экономический эффект как-то скромно опускаются при этом), а потом уехал в штаты, изобрел новую технологию и кааааак развернулся. И никто не смеет посягать на его Идею — это же он придумал!

                            В штатах это Antitrust laws.

                            Ах, да — не будем смешивать рынок и капитализм, это разные измерения.
              • 0
                Мы занимаемся natural language processing и испытываем муки совести, когда приходится заниматься всякими кнопочками. А вы? А почему?
              • 0
                Баян немного, но всё равно интересно.
                https://geektimes.ru/post/242925/
                  • +2
                    Очень похожа на Эмми из ТБВ

                    image
                    • +2
                      Странно что вы нашли сходство с Эмми и не нашли с Джоном Ленноном :)
                    • +4
                      прекрасно подготовленные астронавты никогда в жизни не смогут так ошибиться
                      В наше время, я полагаю, многие сочтут странным, что при анализе была рассмотрена только вероятность такой ошибки, но не были учтены возможные последствия. Сколько понадобилось самых разных сбоев и аварий с тяжелыми последствиями, чтобы граничащий с безрассудством оптимизм поубавился…
                      • +1
                        Как говорится, уставы и инструкции по технике безопасности написаны кровью.
                      • +2
                        > Wiki: Margaret_Hamilton_(scientist) (на русском статьи нет)
                        Теперь есть: https://ru.wikipedia.org/wiki/Гамильтон,_Маргарет
                      • 0
                        романтика космических полетов. в кайф наверное было работать над такими проектами, поэтому и результаты соответствующие. когда интересно, работа идет хорошо
                        • +1
                          Нельзя в одну и ту же реку войти дважды. Сейчас запуск чего-то в космос — рутина (ракета-носитель стоит не так дорого по сравнению со стоимостью электроники и ПО на запускаемых аппаратах), а разработка ПО — огромная и очень дорогостоящая отрасль. Причём дорогостоящей её делает не стоимость компонент, которые зачастую стоят, в буквальном смысле слова, копейки — а человеческий фактор: все эти тысячи (а то и миллионы) разработчиков, тестировщиков, etc.

                          Тогда же — стомость аппаратуры была такой, что за всю жизнь та же самая Маргарет и на один компьютер Аполло не скопила бы, а стоимость того компьютера по сравнению со стомостью остального оборудования — была, в свою очередь, копеечная. И вот это вот всё — зависит от простеньких (по современным меркам!) программ, но от ошибки в которых — зависит успех всего мероприятия!

                          Это очень тяжело себе даже представить, а уж каково это было пережить! Как было тогда всё это писать и проверять? Сейчас много вещей мы просто тупо "берём на измор" (прогон тестов после каждого commit'а, к примеру… или хотя бы компиляция после исправления нескольких строк кода) — а как всё это делалось тогда?
                        • +1
                          «Никто нас ничему не учил» — Маргарет Гамильтон.
                          «Молодые они, талантливые, и ведь никто их этому не учил!» © Юлий Гусман :)

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое