The eli4d Gazette – Issue 065: NPM’s JavaScript Report and Firefox Monitor

NPM’s JavaScript Report

I mentioned the amazing 2018 State of Javascript report in the last issue. Right on the heels of this report, NPM came out with its own survey results.

It’s interesting to compare NPM’s survey results with the 2018 State of Javascript report. It is also important to keep in mind that NPM is a private company whose goal is to enhance and increase the usage of its services (nothing wrong with that but it’s important to know which grains of salt to use).

Some related information:

Firefox Monitor: A way to check if your email address was part of a data breach

A recent episode of Security Now mentioned Firefox Monitor. It is well worth to check your email(s) against sites that have been breached. I checked Monitor with an email address that I’ve used for over a decade and discovered that it was part of 4 data breaches.

Firefox Monitor also gives you some great advice regarding breach related next actions (from the site):

  1. Change your passwords, even for old accounts: If you can’t log in, contact the website to ask how you can recover or shut down the account. See an account you don’t recognize? The site may have changed names or someone may have created an account for you.

  2. If you reuse an exposed password, change it: Hackers may try to reuse your exposed password to get into other accounts. Create a different password for each website, especially for your bank account, email and other websites where you save personal information.

  3. Take extra steps to secure your financial accounts: Most breaches only expose emails and passwords, but some do include sensitive financial information. If your bank account or credit card numbers were included in a breach, alert your bank to possible fraud, and monitor statements for charges you don’t recognize.

  4. Get help creating good passwords and keeping them safe: Password managers like 1Password, LastPass, Dashlane, and Bitwarden generate strong passwords, store them securely, and fill them into websites for you.

Recently Finished Reading

I just finished “Forging Zero”…sigh. I so wanted this independent author to be awesome. The story is similar to taking five extremely different boxes of different jigsaw puzzles and mixing them all in one big jumble. The book had some excellent descriptions of aliens, but the coming-of-age story combined with military grind was exhausting, and the stuttering plot lines kept kicking me out of the story. I ground through the finish but (unfortunately) I won’t be reading any more stories from this author.


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 032

Tech Pick

I’ve had Python on my brain lately due to heavy duty preparation for my upcoming online Python course. So coming across Instagram’s Python technology stack was interesting. The article begins with:

Each day, over 95 million photos and videos are shared on Instagram. The unstoppable photo-centric social media platform has over 600 million registered users — 400 million of whom are active every day. Talk about operating at scale: Instagram kills it at levels most companies can barely even dream about.

Even more impressive, though, is the fact that Instagram serves this incredible amount of traffic, reliably and steadily so, by running Python (with a little help from Django) under the hood. Yes, that Python — the easy to learn, jack-of-all-trades general purpose programming language. The one everybody in the industry dismisses as, “Yeah, Python is great in so many ways, too bad it’s not really scalable.”

I thought that this was a great example to mention to my students – “well if Instagram uses Python at their scale, Python must be a good thing to learn.” And yet this didn’t sit right with me, and I remembered reading an excellent article that clarified my unease: “You Are Not Google”.

Python is a great language for many reasons (easy to learn, lots of built in libraries, great scientific/numeric support (SciPy, Pandas, iPython, NumPy), etc..) but Instagram’s use of it is not one of them. I’m not Instagram, and it’s very likely the case that you aren’t either.

Media Pick

I’ve had “American Gods”aal on my Kindle for what seems like forever. It was recommended by a friend back in 2004 and I got the Kindle version on sale a few months ago (via Bookbub).

Where to begin? The story is like a fractal of a pick-up stick game. You think “really Neal – a pick-up stick game?” And there’s Gaiman laughing manically. So you play the game and read the book 1 bit at a time…and just when you think you understand, repeating themes and whispers of previous chapters slap you across the face.

My Kindle highlights are filled with too many sentences from this book, and I can hardly pick a favorite. Here’s an example:

“The house smelled musty and damp, and a little sweet, as if it were haunted by the ghosts of long-dead cookies.”

aal = Amazon affiliate link

Random

I’m a big OmniFocus, but recent (XML) corruptions have been worrisome (on the positive side OmniFocus support is top notch). One database corruption happened in March, and another just happened about a week ago. My favorite data format is plain text. But I haven’t come across a plain text task management system that implements GTD and spans mobile and Mac OS X as seamlessly as OmniFocus.


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 028

Tech Pick

I came across a nice visualization of the technologies involved in becoming a front-end developer, back-end developer, or a DevOps engineer:

The article’s point is quite important about not needing to know everything. The key is to get going and to build something, rather than to yak shave by learning without doing. Another way of seeing this is through my favorite Chad Fowler quote:

When it comes to programming: “More than practice, fearlessness is required.”

Media Pick

I’ve been listening to the Audible version^ of Kevin Kelly’s “The Inevitable: Understanding the 12 Technological Forces That Will Shape Our Future”. It’s a fascinating book, and I highly recommend it. You can find some interesting snippets from the book on my blog.

Note: ^ = affiliate link


Thoughts? Feedback? Let me know: @eli4d on Twitter


Meditation and Mindfulness – a Book Review of “The Mindful Geek” and Some Suggestions for the Practice

Note: I have one Amazon affiliate link marked with (^a).

A Book Review of “The Mindful Geek: Secular Meditation for Smart Skeptics”

I just finished “The Mindful Geek: Secular Meditation for Smart Skeptics”(^a) and I found it to be both useful and enjoyable.

I first heard about Michael Taft’s book in David McRaney’s excellent You Are Not So Smart podcast – episode 061. I enjoyed the episode and Taft’s approach to mindfulness and meditation.

I’ve been a big fan of Thich Nhat Hanh’s books. When I read one of his books I typically feel that peace and clarity are within reach, but as soon as I put the book away I feel like I just experienced a magician’s puff of smoke. Or perhaps it’s more along the lines of the “then a miracle occurs” cartoon. Of course, this is likely more of a failing of mine than of TNH’s books.

And a Miracle Happens

Taft’s approach to mindfulness and meditation as a technology is quite refreshing. He approaches this technology in a somewhat computer sciencey way without being dry and boring. He alternates between an explanation of the how/why of meditation/mindfulness and the actual doing of it through specific practices. The meditation algorithm chapter is amazing, and it has an explanation with a flowchart…a FLOWCHART. This excites my geeky heart to no end.

Then there’s the “Reach Out with Your Feelings” chapter that really reaches into emotions – what they mean and how they can help. This is especially helpful for those of us that live more in our heads than in our hearts. Additionally, this chapter begins with a reference to Star Wars (so how could it not be full of awesome?):

It’s time for the Rebel Alliance to make their desperate attack on the Death Star. As Luke Skywalker rolls his X-wing fighter in toward the canyon-like surface of the battle station, the voice of Obi-Wan Kenobi speaks right into his head.

Of course at the end of the day meditation is all about doing rather than conceptually thinking about it. Taft hammers this home through the step-by-step directions for various meditation techniques. Not only that – but he also explains the reason for the specific practices. For each of these practices, he also has a guided audio track (a 5-minute version and a 30-minute version) at https://themindfulgeek.com/guided/. The audio is far from perfect, but that’s ok with me since it’s a guide for doing meditation and it reflects the imperfection of my practice. After all, the guided recordings are not the key; the key is to sit one’s butt down for a minimum of 10 minutes a day.

There are few books that I re-read, but this is one of the few that I will go back to.

You might find Taft’s book and approach useful if:

  1. You are someone that lives more in your head.
  2. You are looking to learn/practice mindfulness/meditation without any religious or philosophical dressing.

Some Suggestions for the Practice

Some additional resources that may be useful in regards to a meditation practice:

  • At the beginning of this year I tested various meditation apps on the iPhone in terms of the teaching of meditation practice and cost (Mindfulness Daily, Headspace, and Calm). I was planning to write an epic post about these apps but in case I never get to it – here are my conclusions:
    • Mindfulness Daily is the winner because it thoroughly teaches you meditation over 21 days and it does not demand a recurring subscription (unlike the other apps). It also provides various daily reminders to snap you out of the daily chatter of your mind.
    • On a daily basis I ended up using the GoodReader app to play Taft’s guided audio track followed by a 5 minute bell timer (below) GoodReader is an amazing app that is truly a Swiss Army knife for all kinds of media (whether reading/writing to PDFs, listening to audio, and so on). It is worth every penny.
  • Blissfully simple audio timers with a bell at the beginning and end: http://www.the-guided-meditation-site.com/zen-meditation-timer.html

  • Episode 82 of the Asian Efficiency podcast had an interview with an interesting guy (Dr. Andrew Hill) who in turn had a very nice (i.e. simple) way to practice meditation. You can find his practice on this page.

In Conclusion…

I initially wrote this article with the intent of just a book review. It ended up being a bit more than I expected.

Contact me via Twitter (@eli4d) if:

  • You’ve read the book and have ideas/opinions about it.
  • You found a great, simple, and effective approach to meditation (URLs to specifics would be very useful).
  • You want to say ‘hello’ 🙂 .

Book Review: Neptune Crossing (The Chaos Chronicles Book 1) by Jeffrey A. Carver

Note:  This post contains affiliate links to Amazon.

Spoiler Free review of Neptune Crossing (The Chaos Chronicles Book 1) by Jeffrey A. Carver.

Review

Rating:

  • Harlequin level: n/a
  • Plot/action/story: 5
  • Solid conclusion: 5
  • SciFi thrill: 4
  • Fantasy thrill: n/a
  • Part of a series but doesn’t skimp (as applicable to this book): 5

Overall thoughts about the book

I’ve decided that for this year, I will endeavor to do quick reviews that are spoiler free.

If there’s one thing that has allowed me to read a ton of books (as in 10-15 books) last year it was my purchase of the Kindle Voyage.  The reading quality and compactness of this device has been amazing.

Before I talk about Neptune Crossing I should mention a couple of things.  First of all, I found out about it through BookBub.  I used to get many of the free books that BookBub suggested.  However, after reading a few duds, I’ve become more careful about my choices.  These days I look at the reviews (especially the negative ones) to see if it’s worth reading.  It certainly has become more difficult to find good books from new authors (just like app selection on the App Store).

My first introduction to Jeffrey A. Carver was Panglor which I got through BookBub (Neptune Crossing came through the same route).  I really tried to read this Panglor but the character was so exhaustingly trite and without any redeeming qualities that I gave up on the book fairly quickly.  If I need whining, I need to look no further than real life humans.  Why would I spend delicious reading time on whining?

I was in between books in terms of the Kindle Owner’s Library (once per month you can borrow a book), when I decided to read Neptune Crossing since it was in my Kindle library.  Thankfully, Neptune Crossing was nothing like Panglor.  I should also say that I had no background about the author when I read both books (not that this really matters…if a story is bad, then it’s bad regardless of the author’s fame and other books).

It was slow going initially (first 70 pages or so) and I didn’t like John Bandicut, the main character.  But John was sufficiently ‘real’ to see me through the first part.  The other thing that bugged me about the first part is that the initial alien is rewritten after the first 70 pages or so which really bugged me.  In the afterward, Carver mentions that he changed point of view when writing the book and had to rewrite the whole beginning.  This may be why the beginning was disappointing.

The other thing is that Carver seems to be obsessed with the phrase “hooked his thumb”.  He uses this throughout the book and it actually took me out of the story because it’s somewhat of an unusual phrase for me.  I recognize that it’s a minor nit picky thing to mention but it was a minor thing that made an impact on the book’s readability for me.

So the first third sucked a little bit.  But the last two thirds of the book took off just like the spaceship that is described in that part of the book.  I couldn’t put down the last part of the book even if the last few pages took a weird “2001 A Space Odyssey” (http://amzn.to/1RvFr9O) turn where everything became odd and weird and a setup for the second book.

The writing was very good and very descriptive.  No minor editorial errors to take you out of the story.  While the character is not fully likable, he is ‘real’ which is what redeems him.  To be truthful, I really don’t like John Bandicut through the whole book, but he plays the role of the reluctant hero well.  He is a regular guy with regular abilities.  Heck, he’s a regular guy with some short-circuited regular abilities.

The story ended up being pretty good with a good mixture of solid scifi technology, chaos theory and lots of action.  The last 20 pages were kick ass and I couldn’t help but finish the book.

Lastly, the book stands on its own regardless of other books, so kudos on that.  I certainly didn’t feel the need to read any more of The Chaos Chronicles books to feel a sense of closure and satisfaction with this book.

Some nicely described sentences/phrases from the book (a few among many):

Before he could ask, he felt a sudden sense of memories falling into place like the tumblers of a lock…

The solar system was a vast, cold, dark, and lonely place and he had just set course for himself across its enormous emptiness.

He imagined the planets gathered around, watching and applauding as he smashed straight into the ___, and he wanted to look right for the event.

…but his thoughts were like chunks of ice in a packed floe, vibrating with energy, but too jammed together to move.

Book Review: “Swarm” by B.V. Larson

Warning: Spoiler Alert: If you intend to read the book, please do not read this review.

Review

Rating:

  • Harlequin level: n/a
  • Plot/action/story: 5
  • Solid conclusion: 5
  • SciFi thrill: 4
  • Fantasy thrill: n/a
  • Part of a series but doesn’t skimp: n/a – Not sure since I haven’t read any other books in the series (yet)

Overall thoughts about the book

I borrowed B.V. Larson’s “Swarm” from the Kindle Owner’s Library. The reviews were decent though I didn’t have high expectations.

The story is told from the main character’s first person point of view. Although the analogy is weak – it reminds me of the falling into the rabbit hole part of “Alice in Wonderland”. It is a well edited book that has a fast pace.

Kyle Riggs is a computer science teacher at Merced University. He lives on a small family farm with 2 kids. His wife passed away 10 years before in a car accident.

I like the fact that Larson doesn’t dawdle. Within a few pages, the big bad shows up – an alien ship that abducts and kills his son and daughter. Then the big black arm of the ship takes him.

As a parent, it’s heart wrenching to watch Kyle’s helplessness as his kids are killed. When he takes command of the ship after passing its nasty tests, you think that he could bring the kids back due to the ship’s advance technologies but it’s one of those false hope moments that crushes Kyle and you as a reader.

I recognized the voice then, the one in my head that was saying these attractive things. It was the evil, chattering hope-monkey. I had met this creature before, mostly in dreams, after Donna had died. She would be alive in my dreams and I would awaken, smiling, planning my day with her. But each morning I would rediscover with fresh despair that she was still dead. A grief counselor I’d talked to had named the phenomena the hope-monkey.

I think it’s this visceral sort of connection to this character that makes the story great. I’m not sure if I would feel that connection if I wasn’t close to Kyle’s age and life stage.

The technological description is fairly raw and detailed. But I think that beyond the introduction, the thing that kept my interested was Kyle’s computer science approach when dealing with an alien AI. His whole debugging approach resonated with me from a software development point of view.

I think that any software geek would definitely enjoy the book from a problem/puzzle point of view. The automated nature of the Nanos and the Macros is also quite interesting in a programmatic puzzle sort of way.

And just when you think it’s a big happy ending and the ‘good guys win’, Larson smacks you upside the head with cold computer logic setting you up for his second book. If you’ve dealt with computer programming, then the realism of this computer logic based ending is quite sobering and makes the book great.

“Swarm” is the first of the Star Force series (currently at 12 books). I’m definitely willing to give book 2 (“Extinction”) a chance. But I’m leery of such series since many times they end up being more a money play rather than an amazing saga. Maybe Larson’s series is different…I don’t know.

Some neat passages:

I felt as if I were suffocating, as if a great hand had come down and closed over me, putting me out like fingers snuffing a candle flame.

I thought about what Crow had said about achieving independence. No political group was allowed to do so unless it was strong enough to fight for its freedom.

Alliances are always forged in the fires of necessity, rather than poured from the sweet wine of love. I recalled having read that quote somewhere and it seemed particularly apt today.

Internally, I did not call myself a volunteer. I recalled having been drafted by a silent, black starship, in the middle of the night.

A smile split my face. Stupid machine. It had been programmed not to answer any questions about the creators. But it hadn’t been programmed not to answer questions in the negative. In other words, it could talk about what they were not.

Book Review: “Childhood’s End” by Arthur C. Clarke

Warning: Spoiler Alert: If you intend to read the book, please do not read this review.

Rating:

  • Harlequin level: n/a
  • Plot/action/story: 5
  • Solid conclusion: 5
  • SciFi thrill: 5
  • Fantasy thrill: 5
  • Part of a series but doesn’t skimp: n/a

Overall thoughts about the book

While I’ll do my best to describe my impression of “Childhood’s End”, I have to admit that words fail me. It is a stunning novel beyond description. I read it on my Kindle and immediately ordered a 1953 hardcover version the moment that I finished it. I rarely do that…actually, I never do that.

While I understand that scifi purists might scoff at Clarke’s combination of scifi and the paranormal, I don’t think anyone can deny his storytelling mastery when it comes to both.

Clarke divides the book into 3 parts:

  1. Earth and the Overlords
  2. The Golden Age
  3. The Last Generation

In Earth and the Overlords we are introduced to the mysterious Overlords that show up just as man is about to take off to the stars. This theme of man being prevented from reaching the stars is repeated over and over again and the last part of the book resolves this fundamental issue. Mankind does not ever take off but man’s children leave on a completely different route into the universe.

Getting back to this first part, Clarke plays with and refuses to answer whether the Overlords are ‘good’ or ‘evil’. Are they really here to help mankind or do they have a different agenda? He also taunts the reader with the most basic of questions – what do the Overlords look like and why do they refuse to show themselves?

He constantly hints at a hidden agenda and he uses the relationship of overlord Karellen with the human Stormgren to both clarify and obscure the Overlord/mankind relationship. This part of the book is best summed up by the last paragraph of part one:

And Stormgren hoped that when Karellen was free to walk once more on Earth, he would one day come to these northern forests, and stand beside the grave of the first man ever to be his friend.

There’s this bittersweet tone that the above paragraph sets for the next section of the book – The Golden Age.

In The Golden Age we are immediately shown what the Overlords look like. Sure it’s 50 years later and the Overlords have had time to affect man in a way that brings utopia to all mankind. But it’s still shocking to find that the Karellen (and therefore all Overlords) looks like Satan.

At this point I was sure that the Overlords’s agenda was ‘evil’ and of course I was wrong once again. Clarke is like an amazingly strategic volleyball player that sets up a fake spike and has one of his compatriots slam the ball on his confused opponents.

Mankind’s utopia is in full swing when we’re introduced to Rupert Boyce. Through Rupert we meet George Greggson and his future wife – Jean. And through Rupert’s séance party Clarke shows us some slight hints to the Overlord’s actual agenda. It has to do with Jean revealing the exact location of the Overlord’s homeworld (actually the location of their sun). In the process of showing us this we are also introduced to Jan Rodricks, who in the last section of the book, turns out to be the last man on earth.

Jan figures out a brilliant way to be a stowaway on an Overlord ship reaching for the stars and visiting their world. This daring move in conjunction with time dilation assures his place as the last man on earth.

The Golden Age closes with a one-two punch. The first punch is Karellen’s clear dictate that mankind would never reach the stars:

“It is a bitter thought, but you must face it. The planets you may one day possess. But the stars are not for man.” “The stars are not for man.” Yes, it would annoy them to have the celestial portals slammed in their faces.

The second punch is the bittersweet passage that continues the build up of the ending in this constant circular drumbeat sort of way. As I mentioned before – words fail me.

It had been the Golden Age. But gold was also the color of sunset, of autumn: and only Karellen’s ears could catch the first wailings of the winter storms. And only Karellen knew with what inexorable swiftness the Golden Age was rushing to its close.

The Last Generation begins with the pettiness of George Greggson and the eventual move of both him and his family to New Athens – a sort of modern day commune. Here in New Athens Clarke builds up and hammers through the transformation of the Greggson’s children and the eventual transformation of all of the children of the world.

As a parent, some passages are utterly terrifying:

“I’ve only one more question,” he said. “What shall we do about our children?” “Enjoy them while you may,” answered Rashaverak gently. “They will not be yours for long.” It was advice that might have been given to any parent in any age: but now it contained a threat and a terror it had never held before.

and

It was the end of civilization, the end of all that men had striven for since the beginning of time. In the space of a few days, humanity had lost its future, for the heart of any race is destroyed, and its will to survive is utterly broken, when its children are taken from it.

Here Clarke reveals the full plan of the Overlords and the upcoming extinction of mankind. He also intersperses Jan’s journey to the Overlord home-world. It is a sort of high-tech rendition of biblical hell with less drama and lots of tech. Through Jan we get to see that the Overlords are really in their own sort of purgatory.

Jan is truly the last man on earth and through him we see the ascendence of man in the form of the children’s merger with the Overmind. Yet this merger is strange and inexplicable. We don’t know what really becomes of the children, we just know that they are no longer an obvious remnant of mankind.

They were emptier than the faces of the dead, for even a corpse has some record carved by time’s chisel upon its features, to speak when the lips themselves are dumb.

The Overlords are stuck in their own hell. They are servants to a master that they cannot understand. They are at an evolutionary dead-end and the only thing that they can do besides serving the Overmind is to do their best to understand that which they cannot understand. And yet Karellen assures us that they will not bow their heads without a fight.

Yet, Karellen knew, they would hold fast until the end: they would await without despair whatever destiny was theirs. They would serve the Overmind because they had no choice, but even in that service they would not lose their souls.

The above passage reminds me of Invictus and the way Clarke applies it applies to the Overlords – man’s version of Satan is quite astounding.


>Invictus by William Ernest Henley

Out of the night that covers me,
Black as the pit from pole to pole,
I thank whatever gods may be
For my unconquerable soul.

In the fell clutch of circumstance
I have not winced nor cried aloud.
Under the bludgeonings of chance
My head is bloody, but unbowed.

Beyond this place of wrath and tears
Looms but the Horror of the shade,
And yet the menace of the years
Finds, and shall find me, unafraid.

It matters not how strait the gate,
How charged with punishments the scroll,
I am the master of my fate:
I am the captain of my soul.


Man’s children have ascended and become something else (we don’t know if they’re in ‘heaven’, we just know they’re in ‘something else’). But the Overlords…they’re still fighting to be the captains of their soul.

Book Review: “Rendezvous with Rama” by Arthur C. Clarke

Warning: Spoiler Alert: If you intend to read the book, please do not read this review.

Rating:

  • Harlequin level: n/a
  • Plot/action/story: 5
  • Solid conclusion: 5
  • SciFi thrill: 5
  • Fantasy thrill: n/a
  • Part of a series but doesn’t skimp: n/a (I consider this book to be a standalone; later books based on Rama seem to have been an attempt to cash-in on its success)

Overall thoughts about the book

Rendezvous with Rama (RWR) is my first Clarke book and I choose it from the Kindle owner’s library based on the highest rating for his books. I know that he is quite famous for “2001 a Space Odyssey”. I vaguely remember the movie and I’m not sure if the novel interests me since it was written to complement the movie and not before it.

Anyway, back to RWR – where to begin? The build up of the book is really slow, and I initially thought it would be one of those “and a weird alien ship showed up, and it left…the end”. It’s hard to describe the book and maybe that’s the charm of it. The whole book is about aliens that you never meet. The closest description is towards the end of the book, where a holographic library displays the clothing of a typical Raman (and no – it has nothing to do with noodles). You really only see the effects of the Ramans but not the Ramans themselves.

I suppose that another way of looking at this book is that it is like a description of negative space, describing what’s not there by describing what’s there (I know – that this sounds like a crazy way of describing the book…but that’s what it feels like to me). The description of the environment and the ship is extremely rich. I had a hard time in fully comprehend the Cylindrical Sea and how everything was positioned in terms of magnitude and size. There was one part of the book that made me feel some nausea, and I’ve never had that happen to me. Roller coasters equal nausea for me but never a book. That was an unexpected and delicious surprise.

There have been some interesting attempts to model Rama. I wish I was a physics teacher so I could assign a full modeling of Rama as a project to my students. It would be an interesting study in celestial mechanics and a great investigation into the accuracy of Clarke’s physics and description. Besides, I would LOVE to explore a 3D model of Rama with accompanying passages from the book so I could fully appreciate the work. On the other hand, maybe I just need to go back to the book and re-read it more carefully because at the end of the day my imagination will never match someone else’s rendered view of Rama.

The use and description of technology is interesting in that it doesn’t stick out like a sore thumb. The novel was written in 1972 but the tech talk doesn’t jar you as a reader. I suppose that this is another aspect of its brilliance.

Rama’s use of the sun to refuel reminds me of Stargate Universe and how Destiny refueled. There’s also the Tin Man episode from STTNG where where the bioship uses spin to generate an energy pulse. Rama’s spin and the associated cocoon reminds me of Tin Man.

The book parallels Rama’s arrival – a slow build up of suspense, the wonder of exploration, a bomb that’s ready to destroy everything (those crazy Hermians), and a conclusion that leaves one slightly unsettled. If you’re into any sort of science fiction, RWR might be extremely fulfilling. It’s one of the few books that is a worthwhile read and a re-read.

Favorite quotes:

“In every earlier landing, he had known what to expect; there was always the possibility of accident, but never of surprise. With Rama, surprise was the only certainty.”

“Things were not what they seemed; there was something very odd indeed about a place that was simultaneously brand new and a million years old.”

“He had learned a lesson, though it was not one that he could readily impart to others. At all costs, he must not let Rama overwhelm him. That way lay failure, perhaps even madness.”

“To most people, Mercury was a fairly good approximation of Hell; at least, it would do until something worse came along.”

“He would hate to engage in a dogfight with anything larger than a pigeon.”

“He looked back upon the towers and ramparts of New York and the dark cliff of the continent beyond. They were safe now from inquisitive man.”

“It was a good plan—and it failed completely.”

To act or not act—that was the question. Never before had Norton felt such a close kinship with the Prince of Denmark.”

“Whatever honors and achievements the future brought him, for the rest of his life he would be haunted by a sense of anticlimax and the knowledge of opportunities missed.”