Mini-reviews of books I read last month: this time a mix of fiction and non-fiction. Listening to episodes of The Incomparable podcast prompted me to get back into science fiction, so this month I read books by a couple of new young authors in the genre. I also read a collection of short stories by Richard Yates. The two non-fiction books were about achieving excellence and Ruby programming. 1. "Talent Is Overrated" by Geoff Colvin <http://www.amazon.com/Talent-Overrated/dp/1591842948> This book examines the usual explanations given for why certain people achieve excellence in their chosen fields. Hard work is one factor, but many people work hard without distinguishing themselves. Innate talent is another common reason cited, but the author shows that particular natural ability is not enough to achieve consistent high performance. Even several years of experience does not always guarantee good results. Each of these factors helps, but something more is required. The book's subtitle is "what really separates world-class performers from everybody else". So what else does it take to excel consistently? In addition to persistence, talent and a supportive environment, the author emphasises the importance of "deliberate practice". It's not necessarily the quantity of practice: merely repeating the same thing is not enough. Instead, continuous improvement comes from the quality of practice, from always challenging ourselves. A virtuous cycle can develop: talent -> encouragement -> practice -> improvement -> practice etc. The concept of "flow" (Mihaly Csikszentmihalyi), can also play a part. The book includes several examples of great achievers who have exemplified deliberate practice. Benjamin Franklin wanted to be a good writer. As a boy he kicked off a process of continuous improvement lasting years, building steadily from the basics of writing and using high quality benchmarks of writing as a guide for his development. The book also looks at why many workplaces fail to provide environments that allow their employees to excel. Overall, a useful book for anyone wishing to get better at something, as well as for parents and managers. 2. "Eleven Kinds of Loneliness" by Richard Yates <http://www.amazon.com/Eleven-Kinds-Loneliness/dp/0679722211> This is a collection of short stories by the author of "Revolutionary Road". As the collection's title suggests, each story examines some aspect or form of loneliness. The stories are set in or around New York, and were written in the 1950s. Yates specialised in writing critically about the American Dream. Despite outward appearances of happiness and prosperity, many of the characters are struggling within: something is missing. An office girl is on her last day of work before getting married; an ageing, tough, by-the-book boot camp sergeant is facing reassignment; a cabbie is looking for someone to help write and publish his anecdotes; an orphan is trying to fit in at a new school. Each of these everyday characters' story is moving and poignant. It would be interesting to read what Yates would have written about our current, always-connected society. Would he conclude that we are even more "alone together"? While there is obvious melancholy in the stories, they are well written and provide insights into the human condition. 3. "How to Live Safely in a Science Fictional Universe" by Charles Yu <http://www.amazon.com/Live-Safely-Science-Fictional-Universe/dp/0307739457> This is a story about a chronogrammatical time machine repairman, who happens to have the same name as the author. He's spent a decade travelling through time, ostensibly helping repair other people's time machines when they get themselves stuck in the past. But mostly he stays in the "Present Indefinite" or visits alternate versions of himself. He's fallen in love with his time machine's AI operating system, TAMMY, and has an imaginary dog called Ed. One day, when he makes a routine trip back to the present, he sees and shoots a future version of himself. He's now stuck in a time loop, forever, unless he can find a solution in the book that his future self was carrying. That book happens to be called "How to Live Safely in a Science Fictional Universe", and our hero is simultaneously writing it and reading it while he's in the time loop. Are you confused yet? We also learn the story of how Yu's father discovered the science behind grammar-driven time travel, but fails to get the credit. Disappointed, he runs away and hides in some alternate reality. Meanwhile, Yu's mother chooses to perpetually relive a specific happy dinner in her own time loop. According to an interview, the author only intended his name to be a placeholder for the central character's name, but decided not to change it. In some ways the book's inventiveness reminded me a bit of Jasper Fforde's Thursday Next series. The self-referencing title and inclusion of excerpts of the book-within-the-book reminded me of Douglas Adams's "Hitchhiker's Guide to the Galaxy". But, while I mostly enjoyed this book, it didn't quite match the standard of those works. 4. "Stories of Your Life and Others" by Ted Chiang <http://www.amazon.com/Stories-Your-Life-Others/dp/1931520720> This is a collection of short science fiction stories. They are pretty philosophical and thought-provoking in nature, posing hypothetical situations and taking them to logical extremes. I enjoyed most of the stories, but a couple required considerable suspension of disbelief. The first story is a clever retelling of the biblical "Tower of Babel" story from the viewpoint of some workers building the Tower. The interesting "Story of Your Life" tells how the interaction between humans and aliens leads the narrator to adopt a non-linear memory consistent with the alien's view of time and science. Another highlight was the last story, "Liking What You See: A Documentary". It's about a treatment called calliagnosia which removes the ability to distinguish beautiful faces from "ordinary" ones. This supposedly removes prejudices, and spares students the need to spend time and energy on appearance so they focus on their education. A college wants to impose mandatory calliagnosia, on its student body. The story presents with the opinions and arguments of various students, parents, faculty members and other interested parties. 5. "Eloquent Ruby" by Russ Olsen <http://www.amazon.com/Eloquent-Ruby/dp/0321584104> This book is aimed at intermediate-level Ruby programmers. It begins by going over the basics of the Ruby language and outlining the current accepted practices regarding structure and layout of Ruby programs. Part II delves deeper into the language: classes, modules and blocks. Part III looks at metaprogramming, the concept of writing programs that modify themselves dynamically. This is one of the real strengths of Ruby, and underlies the power and flexibility of the Ruby on Rails framework. The final part looks at more advanced concepts like building domain specific languages and packaging gems. Overall, an interesting and well-written book. It gives Ruby programmers a better understanding of some of the "magic" behind the language, and should help improve their programming.