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

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



Це Маргарет. Вона пише код добре. Робіть як Маргарет.

А ще:
  • програміст-самоучка;
  • написала код для навігаційного комп'ютера програми «Аполлон»;
  • коли американці ступили на поверхню Місяця їй був 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



Опис посадки Аполлона-1120 липня Ніл Армстронг і Едвін Олдрін перейшли в місячний модуль, активували і перевірили всі системи, призвели складені опори посадкової ступені в робоче положення. Майкл Коллінз бортовий телескоп командного модуля на 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
  • Automation Systems 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 березня Маргарет Гамільтон: «Пацани, я вас на Місяць відправлю»

американці Літали на Місяць?

/>
/>


<input type=«radio» id=«vv71723»
class=«radio js-field-data»
name=«variant[]»
value=«71723» />
Літали і повернулися
<input type=«radio» id=«vv71725»
class=«radio js-field-data»
name=«variant[]»
value=«71725» />
Літали, але не повернулися
<input type=«radio» id=«vv71727»
class=«radio js-field-data»
name=«variant[]»
value=«71727» />
Не літали, все зняли в Голлівуді
<input type=«radio» id=«vv71733»
class=«radio js-field-data»
name=«variant[]»
value=«71733» />
Зелений Кіт відправить свій супутник, ось тоді дізнаємося
<input type=«radio» id=«vv71735»
class=«radio js-field-data»
name=«variant[]»
value=«71735» />
Інше

Проголосувало 93 людини. Утрималося 22 людини.


Тільки зареєстровані користувачі можуть брати участь в опитуванні. Увійдіть, будь ласка.


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.