Book review. Ra (novel) 2018

This novel, Ra, is available online free at Apparently there is a paid version of the book with a different ending available on bookstores.

But I didn't get to the ending of the book. The book got boring for me after a while, and I dropped reading it. That said, I loved the book's premise and the first one-third, and that is why I wanted to discuss the book.

The author, Sam Hughes, proposes to us a world where magic is real and is employed as a technology.
   Magic is real. Discovered in the 1970s, magic is now a bona fide field of engineering. There's magic in heavy industry and magic in your home. It's what's next after electricity.
Magic is real, but it is hard work. The spells need to be written very carefully, and it takes a long time to compose/create the spells. And then the spells don't always work, they are very sensitive as to how you cast it. (Hey, it worked at home on my machine!)

The spells also require mana/energy to burn (like electricity in datacenters or gas in Ethereum). There are some basic spells, like doing an "ls" in a new environment, or querying an object or spell. And you can form spells to manipulate matter. But they require more mana/energy to be collected first, and this requires special equipment, like long metal poles and wearable bracelets and rings. Magic is like a force of nature to be harnessed via these equipment and actuated via spells.

In other words, the magic is pretty much computer programming, but without the computers. (This setup should not be surprising since the author is a fiction writer and computer programmer.)

You know the saying "Any sufficiently advanced technology is indistinguishable from magic".  This magic as technology theme reminds me of Mark Weiser's ubiquitous computing vision. And also Neal Stephenson's book Diamond Age.

I am attaching some parts I highlighted from the book without context below. But before that, I like to drop some speculative questions.

1. In this world where magic is a technology, sort of like programming but with matter instead of computers, what do you expect the spells to evolve like? 
How would people compose the spells as a team? Would they be able to come up with similar structures like programming abstractions? Go-to-considered harmful? Structured spell writing, object-oriented spells, functional spells with no side effects?

As one interesting tangent, the book mentioned spells that are self-replicating, quines, which made me read about actual quines in programming languages. A radiation-hardened quine is a quine that can have any single character removed and still produces the original program with no missing character.

2. Can we use this fictional world to teach programming?
It may be possible to engage some middleschoolers better via a story format, and teach them algorithms using this world. Remember, we don't need computers  to teach algorithms.

3. What is a good fictional setup/story to teach Paxos?
I envy blockchain, they already solved this problem. They are always streets ahead.

Some selected parts from the book

Magic is more complicated than pointing a hand and reciting words; one has to think one's way through the spell while saying it, in order for the effect to "catch". It is not unlike performing advanced mental arithmetic.

A man comes to you and claims that spoken mantras have literal power. You'd dismiss the claim out of hand, wouldn't you?

Before the end of 1973 he has discovered a second spell, "eset", which emits small amounts of mana into the world and records the echoes bouncing back off nearby thaumically-aligned materials and architecture

A mage-in-training is a person who intends to spend most of his or her adult life waving a magic staff around for a living and a magic staff is a six-foot-long metal pole for propelling and coercing mana into the right shape.

She intends to make history; she intends to learn literally everything there is to know about magic over the next three years, and then continue at the same pace of discovery for the rest of her life.

Magic is pretty predictable now, because we have some solid theories about how magic moves and we have simulations that can model mana flow in three dimensions properly.

He's a treasurer, no mage, but he knows that a spell like this takes about a month of writing and a month of practice, because of the laundry list of failure cases that have to be handled.

Magic isn't magic. It is a field of science. You do not sit on results. Not results like that/

I just need the right words to say. I want autokinetics, air UI, the fluid pump spell she used for O2, non-vocal casting, DWIM, dynamic shielding, and whatever it is she used for a mana source. To begin with. I want it all and I want to be the first person to go into space without a vehicle.

It is, at its root, a collection of dry and unpalatable nonlinear partial differential equations which are known to be not totally accurate.

Without a human mind behind it, it's just pressure waves in air. There've been dozens of experiments. Thousands. Machines can't spell. Machines can't do magic. It has to be a human being

Machines don't have mana resources. Machines don't have Names. Where's the energy coming?

It's a quine, Laura thinks. She can feel that she's almost got it. It's a magic spell which casts a magic spell which casts a magic spell. Nobody's done that before.

I don't care how right you think you are. I don't even care how right I think you are! I want to see a LATEX-typeset paper from you. You need to show your working, because there are demons at work in your working."

You've got to sell the problem to the mathematicians?" "Yeah. If you want them to bite."

Of course, the laws of physics aren't that stupid. You can't steal limitless thermal energy that way. It's just a freak of mathematics."

One says the correct words, and thinks the correct thoughts at the same time. Then, a physical effect occurs.


Popular posts from this blog

Foundational distributed systems papers

Your attitude determines your success

Progress beats perfect

Cores that don't count

Silent data corruptions at scale

Learning about distributed systems: where to start?

Read papers, Not too much, Mostly foundational ones

Sundial: Fault-tolerant Clock Synchronization for Datacenters


Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3 (SOSP21)