Categories
Books Projects

Klara and the Sun: Book Review

Back Cover Blurb from Klara and the Sun by Kazau Ishiguru:

Here is the story of Klara, an Artificial Friend with outstanding observational qualities, who, from her place in the store, watches carefully the behavior of those who come in to browse, and of those who pass on the street outside. She remains hopeful that a customer will soon choose her. Klara and the Sun is a thrilling book that offers a look at our changing world through the eyes of an unforgettable narrator, and one that explores the fundamental question: What does it mean to love?

“As I say, these were helpful lessons for me. Not only had I learnt that changes were a part of Josie, and that I should be ready to accommodate them, I’d begun to understand also, that this wasn’t a trait peculiar just to Josie, that people often felt the need to prepare a side of themselves to display to passersby – as they might in a store window, and that such display needn’t be taken so seriously once the moment had passed.”

― Kazuo Ishiguro, Klara and the Sun

from Goodreads

I was so excited about this book. Perhaps that’s where things went wrong.

I found the title by way of someone on social media that I typically enjoy on her list of favorite books of the year. I was pleasantly surprised to find that it was a story with artificial intelligence as a central theme written by a Nobel prize winner. I have been reading about artificial intelligence, both as non-fiction and fiction as a theme over the past year.

This is a blog post exploring what did not work for me about this book.

I enjoyed the beginning of this book. I liked the blank slate of the totally new, fresh out of the box Artificial Friend (AF), Klara.

At some point, I had to check what age this book was written for, because Klara continues to act so child-like and naive that I though it might be a young adult book. To me, it actually has more potential as a YA book. It could be a tale for kids coming of age as AI does, about how to think about themselves, humanity, and artificial intelligence. But it did not go in that direction at all.

There is a weird and disturbing subplot about the mom asking Klara to mimic Josie’s disabilities so that the mom can have a copy of her if she dies. This could be interesting, if it were written differently, but it is not to me. In another execution it could be an inquiry into what it means to be a shadow or an echo of a human you love, rather than simple mimicry; or a better window into how humans think of each other and handle, or don’t handle, loss. I found the current execution narcissistic, weird, and cruel. How dare my sick child inconvenience me on my day off? I will just take this robot when I want to go to some waterfall that means something to both of us! If this is what it means to love, I am depressed. Josie is going to need some serious therapy.

Then, there is a weird mix on the technology side between including references to it, like Klara describing her vision in boxes, and not considering it at all, like no mention or though of feeding back into or advancing the other AI algorithms based on Klara’s learning. So many human hours of coding, annotating speech, image processing, robotics for walking, have gone into bringing us to the precipice of benefitting from AF. We are going to live with an instance for years and not feed any of that learning or data back into the model? Now that sounds wasteful and naive.

So it makes sense to me, or I interpret the book as, Klara is solar powered and therefore obsessed with her power source. That sort of insight is kind of fun. What will AI “worry” about when their worries are separated from those of humans? I originally guessed they would be hungry for data, but power makes sense too. Power always makes sense as a thing sentient beings might want. Then Klara, the AF, starts praying to the Sun.

This, to me, is the opposite of what a good book about what a book about how artificial intelligence plays out in our live might look like. That the Sun would be Klara’s higher power makes sense. I understand that AI is our creation and picks up our biases. Yet, the idea that an AI would pray, much less on behalf of a human, was the final detail that did not work for me. It might be a personal Uncanny Valley or the wrong personification of a machine for me.

I read the Wikipedia plot summary, and I liked where things were headed even less than what I had read so far, so I quit reading. I was so disappointed on a number of levels.

Categories
Projects

Idea life cycle

I have cycled through a lot of ideas in the last couple years. Some were closely related, others seemingly disparate. I would like to record my process so I can use it again later.

Generating my own ideas requires some combination of inspiration and isolation. If I am stuck on a particular step, I should ask myself which of these dimensions I am missing.

1. Intent
If you don’t know where you are going, any road will take you there.” and “Not all those who wander are lost.” are both double edges swords. You can cover a lot of ground without a destination, and while the journey may be pleasant, it is difficult to know when you have arrived.

2. Immersion
There are very few topics where you can contribute something meaningful without first understanding what is already there, gaining some fundamental skills, and learning a few tricks.

3. Incubation
Maintaining conditions suitable for the development of an idea may depend on the field, but can include talking to others, writing, math, coding, or otherwise working through the idea as well as letting it sit in the back of your mind while you go for a walk or take a shower.

4. Insight
This is when you have turned the topic around enough that you have seen something that is uniquely yours. It can arise as an AHA! moment, or slowly appear like mountains over the horizon.

5. Implementation
Now that you have something interesting, do you want to share it with the world? Usually this requires work to put it in a form you can share. Your intention can help you identify when you are done.

6. Integration
How does that thing you just made fit in with your personal story? If you have an incoherent string of things, figuring out how they fit together might help figure out what comes next.

Categories
Projects

R Error: unexpected input in “{“

I’ve been using R lately to help look at some greenhouse data at the Grow Haus. The Grow Haus is a great space filled with good energy and people on a mission to provide sustainable food production, distribution, and education. And good people need good data.

So, I was crushed when my formerly working script to read a .csv file into R and graph that data stopped working. For reference, I am working on a MacBook Pro running OSX (10.6.8) and running R version 3.0.1. I kept getting Error: unexpected input in “{“ when I ran it from the terminal command line using Rscript file.r.  It worked last week. What gives?

I first tested each individual line of the script in the R console, and they all worked. This was originally more frustrating, but then I figured it was a communication problem and decided to run R through the terminal. To start R from the command line instead of just in the console, type R. To load a script into R, use source(‘file.r’). I got the same error again.

So I opened the file in the terminal using vi file.r. This showed me that when I had last saved the file in TextEdit, it had switched from plain text to rich text format and injected a bunch of junk as a header that was preventing R from reading the script. I switched it back to plain text in TextEdit (Format< Make Plain Text) and set the Open and Save preferences to use Plain Text Encoding (UTF-8) when opening or saving files. Then the script magically worked again. Boo to text editors switching stealthily to .rtf mode! Maybe this will be a nudge to get more comfortable using a terminal text editor.

Some bonus R data checking tips: After running source(‘file.r’), ls() will list the loaded variables in your workspace. If you have a table loaded called data, you can see the header and first could rows using head(data).