Back to the Moon

Back to the Moon is a science fiction novel and Homer Hickam's first fictional book. Published in June 1999, Hickam wrote Back to the Moon using insider information he learned from NASA.

Back to the Moon
First edition
AuthorHomer Hickam
CountryUnited States
LanguageEnglish
GenreScience fiction
PublisherDelacorte Press
Publication date
June 1999
Media typePrint (hardcover)
Pages447
ISBN0-385-33422-2 (hardcover), ISBN 978-0-440-23538-5 (mass market paperback)

Plot summary

The prologue of the novel begins with a dramatized account of the second EVA of Apollo 17. Astronaut Jack Schmitt discovers orange soil in Shorty Crater at the very end of the EVA and gathers samples in a race against time to get back to the LEM. Meanwhile, Wernher von Braun is watching the end of the mission on TV with other NASA engineers. Katrina Suttner, the young daughter of one of von Braun's colleagues, is in on a secret involving the mission, and is certain that humans will soon return to the Moon.

The novel then skips ahead 30 years. Jack Medaris, the protagonist, is preparing the launch of a privately funded, unmanned mission to the Moon to gather more of the orange soil, which appears to have enormous potential as a source of clean nuclear energy on Earth. Shortly before launch, Medaris' probe is destroyed by unknown terrorists or saboteurs. It also becomes clear that Medaris is driven to go to the Moon to recover the secret left by Katrina, who later became his wife and was killed in a test-stand accident.

Medaris hatches a plot to hijack the Space Shuttle Columbia on a routine mission. The plan nearly comes off, but his renegade pilot is accidentally shot and killed, and one payload specialist from the planned crew, Penny High Eagle, launches with him. Medaris takes the controls of Columbia, and gradually persuades High Eagle that she should help him, if only for their mutual survival. NASA also reluctantly agrees to help, in order to prevent the loss of their spacecraft.

Medaris has developed a new rocket motor which will make it possible to take Columbia into lunar orbit. With the help of High Eagle, he is able to attach the smuggled engine, and boost the shuttle to the Moon. He has also smuggled a bare-bones LEM, of his own design, aboard the shuttle, which will allow him to make a one-man EVA to the Apollo 17 landing site.

Back on Earth, a mysterious consortium is using a private security company to try to sabotage Medaris' mission by any means possible, including hiring a group of computer hackers to take control of a set of hunter-killer satellites parked behind the Moon, and persuading Roscosmos to intervene and take over the shuttle in LEO. In spite of these obstacles, Medaris successfully lands on the Moon, gets the orange soil, retrieves the message from Katrina, and returns to Earth. High Eagle and Medaris form a romantic and physical relationship during the return.

gollark: I can write some code for this if desisred.
gollark: Surely you can just pull a particular tag of the container.
gollark: I can come up with a thing to transmit ubqmachine™ details to osmarks.net or whatever which people can embed in their code.
gollark: It's an x86-64 system using debian or something.
gollark: > `import hashlib`Hashlib is still important!> `for entry, ubq323 in {**globals(), **__builtins__, **sys.__dict__, **locals(), CONSTANT: Entry()}.items():`Iterate over a bunch of things. I think only the builtins and globals are actually used.The stuff under here using `blake2s` stuff is actually written to be ridiculously unportable, to hinder analysis. This caused issues when trying to run it, so I had to hackily patch in the `/local` thing a few minutes before the deadline.> `for PyObject in gc.get_objects():`When I found out that you could iterate over all objects ever, this had to be incorporated somehow. This actually just looks for some random `os` function, and when it finds it loads the obfuscated code.> `F, G, H, I = typing(lookup[7]), typing(lookup[8]), __import__("functools"), lambda h, i, *a: F(G(h, i))`This is just a convoluted way to define `enumerate(range))` in one nice function.> `print(len(lookup), lookup[3], typing(lookup[3])) #`This is what actually loads the obfuscated stuff. I think.> `class int(typing(lookup[0])):`Here we subclass `complex`. `complex` is used for 2D coordinates within the thing, so I added some helper methods, such as `__iter__`, allowing unpacking of complex numbers into real and imaginary parts, `abs`, which generates a complex number a+ai, and `ℝ`, which provvides the floored real parts of two things.> `class Mаtrix:`This is where the magic happens. It actually uses unicode homoglyphs again, for purposes.> `self = typing("dab7d4733079c8be454e64192ce9d20a91571da25fc443249fc0be859b227e5d")`> `rows = gc`I forgot what exactly the `typing` call is looking up, but these aren't used for anything but making the fake type annotations work.> `def __init__(rows: self, self: rows):`This slightly nonidiomatic function simply initializes the matrix's internals from the 2D array used for inputs.> `if 1 > (typing(lookup[1]) in dir(self)):`A convoluted way to get whether something has `__iter__` or not.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.