How They Built the Software of Apollo 11 220
LinuxScribe tips a piece up at Linux.com with inside details on the design and construction of the Apollo 11 code. There are some analogies to open source development but they are slim. MIT drafted the code — to run on the Apollo Guidance Computer, a device with less grunt than an IBM XT — it had 2K of memory and a 1-MHz clock speed. It was an amazing machine for its time. NASA engineers tested, polished, simulated, and refined the code. "The software was programmed on IBM punch cards. They had 80-columns and were 'assembled' to instruction binary on mainframes... and it took hours. ... During the mission, most of the software code couldn't be changed because it was hard-coded into the hardware, like ROM today... But during pre-launch design simulations, problems that came up in the code could sometimes be finessed by... computer engineers using a small amount of erasable memory that was available for the programs. The software used a low-level assembly language and was controlled using pairs or segments of numbers entered into a square-shaped, numeric-only keyboard called a Display and Keyboard Unit... The two-digit codes stood for 'nouns' or 'verbs,' and were used to enter commands or data, such as spacecraft docking angles or time spans for operations." Reader Smark adds, "The Google Code Blog announced today that the Virtual AGC and AGS project has transcribed the Command Module and Lunar Excursion Module code used during the Apollo 11 moon landing. The code is viewable at the VirtualAGC Google Code Page."
Fake (Score:5, Funny)
Wow. They sure went out of their way to fake the moon landing. I bet the source-code is fake too :-P
Y
Re: (Score:2, Funny)
lol Cheyenne Mountain doesn't exist.
Re: (Score:2)
The software used a low-level assembly language and was controlled using ... numbers entered into a square-shaped, numeric-only keyboard called a Display and Keyboard Unit
I'm inclined to agree with the parent. This sounds just like the input methods of a Ti-86 calculator...
Re:Fake (Score:5, Informative)
[VERB]66[PRO]
Which loosely translated means give me manual control, I need to land this sucker. If you watch the descent movies you will hear "P66" being called out by the LMP a few minutes before landing. Interesting to note that the 6 is right beside PRO. I wonder if there is a bit of clever UI design in that.
Re:Fake (Score:5, Informative)
Supergeek Builds Homemade Functional AGC (Score:4, Interesting)
This guy wins the ubergeek crown of all time. He actually built a fully functional version of an AGC [klabs.org] out of discrete IC chips. Granted, it is not a true AGC clone, since the exact chips could not be procured in 2000-2004, but he did build a functional workalike of the AGC out of individual TTL chips, and wrote two software emulators, and got his modernized hardware reproduction AGC to run actual original AGC machine code software.
Re:Fake (Score:5, Informative)
This Apollo computer has specs almost identical to ancient 1970s home technologies like the Atari VCS/2600 game console (1 megahertz, 2K ROM). Or an Atari 400/Commodore VIC-20 computers (1 megahertz, ~8K RAM). That gives you a rough idea of how "weak" the computer inside Apollo truly was.
Re: (Score:2)
For more perspective, PC keyboard controllers are similar in processing power to something like this: http://www.cpu-world.com/CPUs/8048/Intel-P8048.html [cpu-world.com]
Re:Fake (Score:5, Insightful)
Re: (Score:3, Informative)
The will to go back (Score:3, Informative)
> Maybe as a country, we have just lost our 'will' to do things?
Partly. But it is also rational. Remember why we did it in the first place. We had to beat the 'Godless Commies' to the moon so we were willing to spend whatever it took and men with balls of steel were willing to climb into rushed spacecraft. And we won a major engagement of the Cold War with only three casualties. When the historians finally settle on things it is likely that Kennedy's Apollo and Reagan's Strategic Defense Initiative
Re: (Score:2)
Re:Fake (Score:4, Insightful)
>>>Kind of embarassing when your multi-gigahertz PC can barely run a word processor, or stalls when trying to display a photo, huh?
>>>
No not really. If I tried to run a modern word processor on an Atari or Commodore computer, it wouldn't even fit. And by the time you stripped-out enough code to make it fit, you'd have a plainjane processor with fixed fonts that are bitmapped and not scalable (i.e. no postscript encapsulation). You'd have pixelated printouts not clean professional documents like today's machines produce.
As for photos, it used to take my Commodore 64 ten minutes to display a simple 320x240 VGA image. If it tried to display one of today's typical 16-million-color photos, first it wouldn't fit into the available memory, and second it probably would take a full day of number-crunching, displaying just one scanline every half hour.
Even newer machines like PowerPC Macs have trouble with our modern technologies. I tried to watch an AVI movie on my 400 megahertz PPC, and it was like watching slow motion. Modern tasks demand a fast clock.
Re:Fake (Score:4, Interesting)
Not powerful in any meaningful sense. Just incredibly robust and failure tolerant.
Some might remember the 1202 alarm when the LEM commander had to take over manual control and land the LEM because, according to the mainstream press, the computer crashed.
Well, it turns out it was not quite that simple. Human error led to the computer reaching a PLANNED restart point. This restart was essentially instant, dumping tasks it could not handle due to missing data, and picking up where it left off.
Aldrin, due to the closeness of the landing decided to take over manually as he had trained to do hundreds of times in the simulator.
But the computer did not fail, it restarted, as programmed, and was back on line long before he even got his hand off the switch.
http://history.nasa.gov/alsj/a11/a11.1201-pa.html [nasa.gov]
Re:Fake (Score:4, Informative)
"That gives you a rough idea of how "weak" the computer inside Apollo truly was."
Or how strong the programmers where.
Most of the code in most programs is for things like UI, security, data validation, help systems and so on.
Very little code is there to do the actual work.
The Apollo system was built to be used by a few highly trained people. It didn't need a help system.
I would rather think of how good the programmers where and frankly the hardware people where than compare it to what we have 40 years latter.
If you want to think about just how far they had come how fast.
This was built only 42 years before men landed on the moon. http://en.wikipedia.org/wiki/Spirit_of_St._Louis [wikipedia.org]
I would say holy freaking jump batman for the moon landing!
Re: (Score:2, Funny)
Wow. They sure went out of their way to fake the moon landing. I bet the source-code is fake too :-PY
No, they couldn't have written in Python as it wasn't even a gleam in Guido's eye yet.
Good Book on the Subject (Score:3, Informative)
Journey to the Moon: The History of the Apollo Guidance Computer
by Eldon C. Hall
ISBN: 156347185X
If anyone is ever in the Mountain View area the Computer History Museum has one of them on display.
Richard Feynman's book 'What Do You Care What Other People Think?' also mentions the software development scheme used for space shuttle hardware in the context of the Rogers Commission report on the Challenger accident.
ISBN: 0393320928
Re: (Score:3, Funny)
Re: (Score:2)
ENGINES OFF. ...
COMPLETED
(You probably meant verb 36 - "fuck". Ooops. I guess you're in for a hard landing.)
Space, Spacecraft *and* Code (Score:5, Funny)
Re: (Score:2)
Wow, I'm glad I didn't see your comment before I took Tami to D'arcy's Pint last week! She's about five foot nothing or shorter and over 200 pounds*, and as we were walking to the car she said "I just had a food orgasm".
If I'd seen your post I'd probably stuck my foot in my mouth and said "a fatgasm?"
That would not have been pretty...
*She has a boyfriend, and it isn't me. he works at D'Arcy's, I can't figure out why he's jealous
README.txt (Score:5, Funny)
For Vista, the following steps may need to be performed manually after installation:
1.
2.
-- README.txt [google.com]
Wow, even rocket scientists don't know how to make code work on Vista.
Re: (Score:3, Funny)
Proper Old Skool (Score:4, Interesting)
As some one old enough to enter raw hex in to a hex keypad on a machine with an LED display having hand assembled the code in the back of her math exercise book during a math lesson (when I should have been learning stats) this doesn't sound too different.
Re:Proper Old Skool (Score:5, Insightful)
Re:Proper Old Skool (Score:5, Interesting)
Re:Proper Old Skool (Score:4, Informative)
I don't believe there was a screw up of computer guidance in Apollo 11. Armstrong landed way off-target because there were large boulders in the way that weren't accounted for properly in the survey photos. This is why they used up almost all of their descent fuel.
Re:Proper Old Skool (Score:5, Informative)
They overshot the original intended landing point by about 4 miles because of a timing error--the descent burn started about four seconds late.
The rocks-and-boulders-and-crater thing you're thinking of was a different issue.
Re: (Score:2)
That's only part of the problem. They were low/long from PDI (power descent initiation) at least partly because of the moon's lumpy gravity, that was poorly understood at the time. That's bascially right from the start. Armstrong noted this in his landmark checks all being about 2 seconds early, which is something like 6000-8000 feet.
Brett
Re:Proper Old Skool (Score:5, Informative)
Armstrong's boulder avoidance flying was undertaken after the crew realised they'd overshot the target site by 4 seconds.
(Unfortunately I find this subject insanely fascinating)
Re: (Score:2)
Several? Oh c'mon, three, tops.
I hate it when people exaggerate.
Re: (Score:2)
Nobody exploded. Three astronauts burned to death in the Apollo 1 fire, but they didn't explode. That was the Space Shuttle Challenger.
And neither of those tragedies had anything to do with software; in both cases, it was hardware design flaws. In Apollo 1 the mistake was using pure oxygen in the cabin, where a spark could incinerate everyone and everything in there (as well as the malfunctioning hardware that caused the spark), in the case of the Challenger it was a management mistake, as the engineeers di
Re: (Score:2)
Glad they didn't hire those Lockheed-Martin programmers who forgot Nasa had standardized on the Metric system [cnn.com] before the Mars Climate Orbiter Mission. Oops!
On a side note, Science Fiction author, Frederik Pohl, posted an interesting anecdote about the first Apollo moon landing [tor.com].
Seth
Re: (Score:2)
No. "Arrogance" was the main factor, plus pressure from above (Congress) to demonstrate that the space program was not just a waste of money. The manufacturer who built the booster rockets called NASA on the day of launch and advised it was too cold to launch, but NASA management decided to ignore that advice because they felt NASA cold do no wrong, and also because they were afraid if the schedule slipped they'd have to face Congressional hearings.
What killed the astronauts that day was a stubborn deci
Re:Proper Old Skool (Score:5, Interesting)
The problem with Apollo 11's guidance wasn't the equpment, it was the moon. Look up MASCONs. Essentially, the moon's density varies from spot to spot and these differences in density changed the gravitational force affecting the LM during its descent. This, in turn, added errors that couldn't be accounted for, pre-flight.
What they did on subsequent flights was to use radar doppler data on the LM as it came around from the backside of the moon to determine the difference between the expected flight path and the actual flight path. Once they had this data, they updated the LM's guidance computer to correct for this effect.
One trickiness is that the state vector of the LM was a 6-tuple. Rather than update the state vector, they figured out that they could just update the range to the landing site by updating 1 number.
Google search for Emil Scheisser. He's the guy who figured this out.
Re:Proper Old Skool (Score:5, Funny)
As some one old enough to enter raw hex in to a hex keypad on a machine with an LED display having hand assembled the code in the back of her math exercise book during a math lesson (when I should have been learning stats) this doesn't sound too different.
You kids and yer "raw hex keypads" and "LED readouts." Why, back in my day, we had toggle switches and light bulbs! And we liked it that way! Now you kids get off my law.....hey, wait...you're a girl? You can stay. :)
Re: (Score:2)
Toggle switches? LEDs? Bah!
In World War 2 us submariners used targeting computers that were nothing but gears and rotary dials. Turn the dial to set distance and speed. Turn another dial to set target speed and bearing. Then read-off the solution on a third dial. We didn't need to stinkin' lights! ;-)
Re: (Score:2)
Exactly. my first computer was a KIM-1 single board that you had to convert your assembler to hex yourself. I did it so much I compiled assembler in my head.
I find it hilarious when programmers today freak out if they don't have 900 metric tons of libraries to use when they program and a nice glossy IDE.
Plus the article summary is misleading, the computer in the lander was lower power in processing than my watch or my old TI scientific calculator. Calling it less powerful than a IBM pc XT is not giving
Re:Proper Old Skool (Score:4, Informative)
The typical keyboard has more than most computers in the 60s. The average gamer keyboard boasts more processing and storage power than the average computer of the 70s.
Basically, they flew to the moon on two keyboards and a programmable mouse.
Re: (Score:2)
And about 1 trillion dollars in debt that we grandchildren are still paying-off. Thanks grandma/grandpa or mom/dad.
(Sorry I know people hate when reality enters the picture, but that's just the way it is. I'd rather face the hard facts than deny them.)
Re: (Score:2)
Best analogy ever. This would, of course, be the one day where I end up without mod points.
Never mind the tech stuff (Score:2)
Re: (Score:2)
Seriously, what the hell? Are you the real AcidBurn?
Re: (Score:2)
a) I have, in fact danced at slimes, sunday night laughtons, friday night laughtons and infest. I used to be mopey mopey hand stapled to forehead and still am on occasion but I'm not averse to a little dayglow and glowsticks when the mood requires.
b) I rode a Z750 to April Whitby.
c) A babe?? Some may think so.
d) Female. Check
e) Yup. Check.
LOL...
Apollo 15 (Score:4, Interesting)
The terrain model in the PNGS had five vectors in memory to represent terrain. Back in those days, RAM was expensive.
Re: (Score:2)
No, you're confusing Apollo 15 with the landscape on the arcade Lunar Lander game, surely!
looking at the code... (Score:3, Funny)
this is clearly a horrible case of bloatware
Re: (Score:2)
So was my ex wife
1 MHz != 1000 Hz (Score:2, Informative)
Re: (Score:3, Insightful)
No love for KHz?
Re: (Score:3, Interesting)
You're wrong. Only RAM or ROM is measured in base 2, due to the innate binary nature of computers (they measure in multiples of 256, 512, 1024, 2048, et cetera). Clock speed is independent of that and measured in base 10 such that 1 megahertz == 1000 hertz.
Anyway:
This Apollo computer has specs almost identical to ancient 1970s home technologies like the Atari VCS/2600 (1 megahertz, 2K ROM) or an Atari 400 computer or a Commodore VIC-20 (1 megahertz, ~8K RAM). That gives you a rough idea of how "weak" t
Re: (Score:2)
peta
tera
giga
mega
kilo
hecto
deca
deci
centi
milli
micro
nano
pico
femto
Re: (Score:2)
Ooops. 1 MHz = 1 million hertz.
I wasn't really thinking. I was hung-up on the base 2/base 10 argument (which frankly pisses me off). It seems the great-grandparent believes 1 MHz == 1024 x 1024 hertz == 1,048,576 hertz which would not be correct.
Re: (Score:2)
Re: (Score:2)
I see no indication at all that he beleived 1 MHz == 1024 x 1024 hertz. You made a mistake and misunderstood what his original post was trying to address. No shame in that...many of us have done the same from time to time. However, just admit your mistake instead of making up stuff to cover your ass.
Re: (Score:2)
>>>I see no indication at all that he beleived 1 MHz == 1024
QUOTE: "The Apollo's Guidance Computer was a snail-like 1.024 MHz" led me to think the poster though clock speeds were measured in base 2.
>>>cover your ass
Thanks for the offer but I'm already wearing Stafford underwear and pants. You can keep your ass-covering.
Re: (Score:3, Informative)
Only RAM or ROM is measured in base 2, due to the innate binary nature of computers (they measure in multiples of 256, 512, 1024, 2048, et cetera). Clock speed is independent of that and measured in base 10 such that 1 megahertz == 1000 hertz.
Absolutely correct. Hertz is an SI unit. Just as 1km = 1000m, so does 1kHz = 1000Hz.
http://en.wikipedia.org/wiki/Hertz
Re: (Score:2)
Amazing (Score:2, Funny)
Re: (Score:2)
but my objects use more than 2k for their vtable entries, memory guard blocks and garbage collector references before I even start writing any of my code, you insensitive clod!
Calculating trajectories for Apollo program (Score:5, Interesting)
http://embedded.com/columns/technicalinsights/218401508?pgno=1 [embedded.com]
"Calculating trajectories for Apollo program"
"Jack Crenshaw describes what he and team members did to research trajectories for the Apollo missions."
Guidance computer explanation (Score:2)
Moon Machines (Score:2)
I've watched these videos on the different engineering challenges faced by the Apollo program well before this 40th anniversary... but now's as good a time to revisit them as any:
http://www.videosift.com/video/Moon-Machines-The-Navigation-Computer-1-5 [videosift.com]
http://www.videosift.com/video/Moon-Machines-Command-Module [videosift.com]
http://www.videosift.com/video/Moon-Machines-Space-Suits-1-5 [videosift.com]
http://www.videosift.com/video/Moon-Machines-Lunar-Rover-1-5 [videosift.com]
http://www.videosift.com/video/Moon-Machines-Saturn-V-1-5 [videosift.com]
Waist deep in snow, uphill both ways (Score:5, Funny)
Re: (Score:2)
I never understood you people who loved your giant, bulky VAX machines and insisted I should use one to get "real" work done.
Bah humbug! I did all my work on an Atari 800 (and later a C-64) which was only slightly bigger than one of today's keyboards. Nice and portable and all you needed was a standard TV to display the code/results.
Re: (Score:2)
I loved my VAX 11/750 - especially when the DEC commissioning engineer forgot to screw the feet of the disk pack unit to the floor and we both had to make a grab for it when it 'took off' across the computer room as soon as the system test started a sequence of random head movements.
Re: (Score:2)
In those days we had to program the computer the size of a school bus strapped to our backs
You had laptops? I'm jealous!
Variation on a theme (Score:3, Insightful)
When I wrote my own equivalent program in C= BASIC, you weren't in a lunar module at all -- you were on foot. There was no fuel, but you had a time limit. You'd been poisoned, you see, and you had to get to hospital, quick. Go too slow, you don't reach the hospital in time, die. Go too fast, run into a wall, die.
I was a very strange child.
Re: (Score:2)
Switching to manual (Score:2)
Atari 2600 (Score:2, Insightful)
!opensource (Score:4, Informative)
Shoehorning a piece of software into an "open source" angle really doesn't do any justice to open source or the software you're writing about.
Instead of writing about open source software, write about good software that happens to be open source. If there is really good software where we know something about the code, like this Apollo software, then write about that. Discuss the collaborative development the engineers did, talk about the open source clone over at Google Code, but calling this "like opensource but only for NASA" is a massive distraction.
less grunt than an IBM XT (Score:2)
The History Channel was running space history stories all day Sunday, and in one of them about Apollo 11 (IIRC it was the show "Modern Machines") they said that a pocket calculator had more power than the 180 lb onboard Apollo computer. Integrated citcuts were very primitive, containing less than 100 transistors each (according to wikipedia).
An XT was far more powerful than a pocket calculator. Your cell phone is more powerful than an IBM-XT.
When they were landing on the moon, the computer was in the proces
And you too can play with the code! (Score:4, Informative)
http://orbit.medphys.ucl.ac.uk/
2: Download the Apollo addon NASSP:
http://nassp.sourceforge.net/wiki/Main_Page
3: Download the virtual AGC/AGC software:
http://www.ibiblio.org/apollo/
4: ?????
(Literally, spend hours trying to figure out how to fly, how to get into orbit, reading the detailed manuals, etc etc etc)
5: Profit!
You can run the code in a simulator (Score:2)
Available here [dunnbypaul.net]
Re: (Score:2)
Great find! Thanks!
Lmitied possibilities were probably a benefit... (Score:2)
A lot of the problems we see with software today are due to the complexity of the hardware and software systems on which it is built. For the most part there are way too many variable to keep in your head at once to make sure they are all coherent.
Interesting story on the virtualAGC page (Score:5, Interesting)
Next time you think you have a tight deadline:
"Final exam (for the advanced student)
Prior to the descent of Apollo 14's LM to the lunar surface, a short in the LM control panel caused the abort switch to be triggered intermittently. If this actually happened during the landing, an abort would have automatically occurred (meaning that the lower stage of the LM would have been jettisoned and the upper stage would have blasted back into space). No landing would have been possible, and the astronauts would have faced the grave situation of needing rescue by the command module. It was therefore necessary, in the orbit or two before descent, for the some of the software designers to work out a fix for this problem that allowed a software lockout of the abort switch during the initial phase of the descent, but also allowed reenabling the abort switch later in the descent, in case the astronauts needed to use it. They did, in fact, work out such a fix. Your mission, should you choose to accept it, is this: Work out such a fix and send it to me. Remember, your fix can only involve erasable memory, since the core-rope containing the program cannot be altered. The fix needs to be keyed in at the DSKY by the astronauts. You have about 90 minutes to figure it out. Go!"
http://www.ibiblio.org/apollo/index.html#Final_exam_for_the_advanced_student_ [ibiblio.org]
Re: (Score:2)
Simple....
If altitude MAX display 80085 on display.
I had room to put in a cookie :-)
Re: (Score:2)
I guess a little more information would be necessary.
NASA on software development for the space shuttle (Score:3, Interesting)
Lunar Lander (Score:2)
Let's give praise for the great game simulating the lunar landing experience. Running out of fuel was such a sick feeling - watching your module helplessly smash into the surface.
Sounds about right (Score:2)
I had a base 2K of RAM and a 1 mhz processor on my Sinclair ZX81 too, and I could play lunar lander (with what we called graphics back then on the whopping 16K expansion).
Re: (Score:2)
And they should have used less, considering reality did all the graphics for them.
I always said it, application programmers have it better than game programmers. They get all their flashy graphics and environment for free. :(
Re: (Score:2)
The module only had 2k, half of the Timex's base memory, and no expansion pack. Dod you write it yourself, or buy it?
Memories (Score:2)
One of his later jobs was QA for every line of code in the fire control computer for Seawolf.
40 Years After the Wright Brothers... (Score:2)
Re: (Score:2)
Huh? The first Wright Brothers flight was 1903. According to wikipedia, "Heavier-than-air aircraft were first used in the military in the Italo-Turkish War", and that war took place in 1911-12.
http://en.wikipedia.org/wiki/Military_aviation [wikipedia.org]
Unless you mean they were unable to build an exactly identical plane from blueprints and get it to function, which wouldn't be a surprise since the blueprints wouldn't account for any variations that were introduced (accidentally or intentionally) when the Wright Brothers
AGC could multitask 8 jobs at once! (Score:2)
In 2K in 1969!
But in the 21st century microsoft have decided that a 1Ghz processor (thats 1000 times faster than the apollo CPU) in a netbook is not enough for poor Windows 7 to run more than 3 applications at a time. Gimme a friggin break! FFS , what kind of idiots are calling themselves systems programmers these days.
Re: (Score:2)
I was wondering if someone would manage to talk shit about Windows in a post about Apollo 11 software. Nice work.
Dadddy how was I made? (Score:2)
Re: (Score:2)
Re: (Score:2)
It wasn't out of memory exceptions, it was 'failed to run all tasks in their timeslice' exceptions. The software was designed to use 95% of the processing power in the worst case, and would have run happily, but NASA procedure was to enable the rendezvous radar prior to landing in case of an abort. The simulator it was tested on didn't fully simulate that radar, so they only found out that processing the extra radar data took more than the spare 5% of CPU time when it was 'tested' for real on the first land
AGC Replica (Score:2)
There is one dude who built a working replica of the AGC and let it run the original flight software:
http://klabs.org/history/build_agc/ [klabs.org]
Lots of good information in those PDFs. Also very interesting that the AGC already ran some simple real-time capable multitasked OS. Simple, but still with a lot of modern ideas in it.
Met one (Score:2)
I had the pleasure to meet John Schinas, one of the programmers tasked with LEM landing and orbital code and the entrepreneur behind a company my wife had the pleasure to work for. An absolute genius.
As I hear the story, he was given the task to write the code and was asked how many team members he'd need, he demurred, saying that he'd just do it himself. Program managers said it was impossible for a person to write 100,000 lines of machine code without error, and after he did it, nevertheless tasked back
Word != Byte (Score:2, Interesting)
Also, keep in mind that this was just data memory, not program memory. A lot of early 8-bit micros loaded their programs into RAM from cassette or paper tape, so the total memory available for data is reduced.
The AGC had 36 KWords of read-only program memory which was woven into core-rope memory by the same "little old la
NASA book online about space program computers (Score:2)
While the article was good, many people will want likely want to read NASA's online book about computers in space travel, covering computers back in the Gemini program through to the space shuttle and unmanned probes. Fascinating stuff:
http://history.nasa.gov/computers/contents.html [nasa.gov]
ROM (Score:3, Informative)
Just calling it ROM doesn't quite convey the level of tech. It was also known as little old lady memory because it was literally copper wire and ferrite cores woven together by little old ladies.
Re: (Score:2)
They should make a movie with him for History Channel or something. Where he gets to tell the "didn't include" stories. Apollo 13 was a nice movie (still love watching it from time to time), but I was already sure (and now it's confirmed) that we didn't even see 10 percent of what happened and what they had to hack together.
IMO it's one of the most interesting pieces of space flight. When people have to think fast and engineer solutions under insane pressure, it shows what they're really made of. And those
Ask Slashdot... (Score:2)
I was watching "From the Earth to Moon", the entire series, there on Saturday and it was all great.
But I especially enjoyed the Apollo 8 episode, where they had dramatized Grumman Engineering's development of the Lunar Module.
From a software engineer's perspective, I thought to myself that there must be a huge amount to learn about the design process, interface design and large scale project management among other things from the whole Apollo project - and I was wondering if there was a book that explored a