The Compass Rose is a collection of short stories. I found it uneven and directionless, even for a collection. The stories are grouped by the points of the compass but I cannot discern much of a logic there.

A few of the stories are brilliantly alien, beautiful, way out there, looking at something familiar from an all new perspective – the kind of work I’ve come to expect from Le Guin. But the majority, while good, were not as good as her best. I was just a little bit disappointed. Of course, an average story from Le Guin is still better than what most writers manage to produce, so it was still well worth reading.

Amazon US, Amazon UK.

A quote from the back cover:

Wheeler Burden suddenly finds himself dislocated in time and space, from 1988 San Francisco to Vienna in the year 1897. It is precisely ninety-one years before his last memory and a half-century before his birth.

The place and time – Vienna just at the turn of the century – might seem random, but not so from Wheeler’s point of view. During his school years, he has heard endless stories about this era from one of his teachers, stories so interesting and told with such passion that he feels as if he had already been there. And now he is finally there for real.

In Vienna, Wheeler meets various bright young Viennese, including one Sigmund Freud, as well as a captivating young American lady, with whom he soon falls in love. He is determined not to do anything to change the course of history, but inevitably cannot resist getting involved with the people he meets.

In parallel with his experiences in Vienna, we’re reading about Wheeler’s past life (in the future) as well as about his parents and grandparents. The book is not so much about Wheeler as about his family. The two time stories – the weeks in Vienna, and the years in the past/future – unfold in parallel, and connections between them appear in unexpected places, until the whole thing becomes a strange loop, future history becoming seemingly inevitable.

It’s a love story and a mystery and history lesson and a book about ideas (and how they change the world). If “a rich tapestry” wasn’t such a cliche, I’d call the book that. It’s a great story, well told, a pleasure to read. Somewhat confusing at times, but only enough to make me think when I finished it that I should read it all over again.

Another glowing review.

Amazon UK, Amazon US.

Matt, graduate student in physics, tinkers with some apparatus at work. When he presses the RESET button, the machine disappears, and comes back a fraction of a second later. The next time it is gone for 10 seconds, and then 3 minutes. It turns out that Matt has accidentally created a time machine – but a one-way machine that only goes to the future. He figures out how to stay with the machine while it is gone, and goes off to the future himself. But the first few jumps go kind of wrong (taking him to unsuitable situations) so he jumps again to get away from them, getting further and further into the future. During one of the jumps, he gets a message that seems to be from his future self, so he figures that sometime in the future someone will come up with a way to travel backwards again, and goes looking for that solution.

The book was fun to read, but at the same time simple and shallow. Matt is a simple character with little depth. Despite being stranded in the future, he shows no fear, no anxiety, nor much of any other emotion. The various points in the future are not particularly exciting, and Matt always leaves so quickly that we don’t get to know much about them, or how the world got to that point. Halfway through the book a love interest is introduced. It sort of feels like a Hollywood version of SF. Easy entertainment.

Amazon UK, Amazon US

The Forgotten Beasts of Eld is an adult fairy tale, reminiscent of Stardust (or rather the other way round, since this was written in 1974).

A wizard lives in an isolated castle on top of a mountain. With his mind, he calls great mythical beasts to himself, and binds them to live with him. At one point he also calls a woman, who bears him a daughter and then dies. The daughter, Sybel, grows up and continues in the same vein: living in isolation, with only beasts such as a riddling boar and an intelligent lion for company.

Sybel is happy on her own, but when she becomes the carer for a princeling, she is – inevitably and mostly against her will – drawn into the affairs of ordinary humans. She is beautiful and powerful, and men would love to possess her for both of these.

The book is beautifully written, with a lyrical, dreamlike language. Deep and quiet and yet fast-flowing. It feels ancient, as if it was a fairy tale. While it has its share of standard fantasy elements – sorceresses and warring kings and talking animals – it uses them in a refreshingly different way. There are no grand quests, no kingdoms to save, no dragons to kill. There are just human relationships.

To use a tired cliche, it’s a jewel of a book: small and simple, and yet sparklingly, preciously beautiful.

Amazon UK, Amazon US.

I bought The Dog Said Bow-Wow based on the review at SF Site, which promised brilliant stories full of the unexpected. In reality the quality varied widely. The collection as a whole has no theme or connecting thread. A few stories are from the same world, some even have the same characters, but others go off on some completely different tangent.

Some stories were brilliant: “Slow Life” and “Urdumheim” were memorable and strong. The first is a beautiful, poetic story about life discovered on Titan, and the meeting between humans and those very different minds. The latter is a long creation myth blending Sumerian and Hebrew elements – about the creation of language, consciousness, and death. Nimrod, one of the First, gives his people language, so that they can escape the dark nothingness they originally inhabited. But the creatures of the nothingness come to reconquer the People by stealing their words, and thereby also their ability to think. “Urdumheim” is almost good enough to be worth buying the book for.

A few other stories are relatively average. And then there are the three stories about Surplus and Darger, two con men (or rather, a con man and a con genetically-engineered-man-shaped-dog) in a fantasy future, which everyone seems to like so. These were almost boring in my opinion, very predictable and almost dull in their quasi-Victorian tone.

It’s hard to say anything useful about the book as a whole. It’s uneven, for sure.

Amazon UK, Amazon US.

A seventeen-year-old boy ends up in the wrong place at the wrong time (near a major terrorist attack on San Francisco). Angry men push him into a DHS van and take him to an interrogation facility. He tries to be principled, refusing to unlock his phone etc, but soon surrenders to the interrogators’ will. When they have all they want, he is released, but with very obvious hints that if he mentions his experience to anyone, he could easily disappear.

When he gets back home (where his parents had believed him dead, because they had not been informed of his capture – he could have been a terrorist, after all) he discovers that within just a few days, the city has become a police state, and it’s rapidly getting worse. Everything and everyone is suspected and monitored. Marcus decides to fight for his rights.

I believe this is an important topic: the book would be a decent introduction to the security vs. civil liberties debate, for some part of the target young adult audience. But it’s not a particularly good book. First of all, it’s way too black-and-white, even for teenagers. And Doctorow is so focused on delivering his message that he overlooks the importance of having a good story – or good characters. It’s a polemic lecture rather than a novel: Doctorow makes it all too serious (in a bad way) and loses the fun.

I’m mostly OK with Marcus being smart and hard-working and idealistic, but when you add his perfect goal-oriented efficiency and then make him spout speeches as well, he becomes something of an unlikely construct. The other characters are bare outlines: simplistic, with no development. All the young people, the good guys, sound the same: smoothly hip.

Not a bad book really but not something I’d recommend, except to people who’d read it because they already agree with Doctorow and want to get all riled up about the topic.

Free download at craphound.com, Amazon UK, Amazon US.

Blood Engines was described by a reviewer as sexy urban fantasy with a strong female protagonist, or something in that vein. The character of sorcerer girl Marla Mason sounded interesting based on the review at SF Site: “her do-anything, pragmatic attitude, and the casually cruel streak that runs through her actions. She’s violent, blunt, cautious, prone to making poor decisions as she pursues her own interests, loyal and yet capable of using even her closest friends as tools or weapons when the circumstances demand.”

I was expecting a complex, fun character (and book). But the whole package turned out to be flat, artless, dull, and cliched. The dialogue is downright embarrassing. There is no change in tone or mood, Marla is all attitude all the time, which gets boring very quickly. She has no personality apart from constant bossy snarkiness. And the book itself has no tone apart from Marla’s. She’s supposed to be racing against time to save her life and her town, and yet there’s no real sense of urgency, or danger, or excitement.

I gave up a third of the way through.

Amazon UK, Amazon US.

Un Lun Dun takes place in UnLondon, a distorted, alternative version of London somewhere underneath or nearby the normal one – close enough for things to slip through. This is where London’s lost, broken and obsolete things go: where old Routemaster buses make up the public transport network, and broken umbrellas get new lives as unbrellas.

One day Zanna and Deeba, two 12-year-old girls, accidentally find their way from London to UnLondon. Strange things have been happening to Zanna for a while – foxes bowing to her, graffiti saying “Zanna For Ever” – and when they get to UnLondon they discover that UnLondon is in trouble, and UnLondoners think Zanna is the Shwazzy, their prophesied saviour.

That’s the basics of the plot. Seems to fit the “ordinary girl on quest in magical world” template, except that Miéville goes against the standard fantasy patterns at every turn: the sidekick takes over the hero’s role, the prophecies are wrong, and the quest is not performed according to the Grand Design. But despite this subversion, it all feels predictable. Perhaps because it is so predictably oppositional?

Anyway, the plot almost plays second fiddle to the weird surroundings and characters. The book is chock-full of surreal inventions, piled one upon the other, so much that it all runs together. Bridges that don’t stay in one place, trash bin soldiers, talking books, walking garbage… You don’t stop to say wow! when the next weird thing awaits in the next paragraph.

Unfortunately the wonderfully wild characters get little love after Miéville invents them. They don’t come to life, and they remain distant. They’re just clever ideas. They don’t even seem to care about each other: now and again a secondary sidekick gets killed in a fight, and after a few hours the others seem to have forgotten all about them.

And despite this ceaseless flood of ideas, UnLondon lacks the engrossing weirdness and alienness of Mieville’s other books. Here, the weirdness is limited to the surface of things, and ultimately doesn’t mean much. So giraffes are dangerous, and buses fly. So what? It kind of feels like he’s trying too hard to amuse his young adult readers with cool stuff, to actually pay attention to the story.

It isn’t a bad book, but I came to it with high hopes. I know that Miéville can do a lot better (Perdido Street Station is one of the most memorable books I have read) so I was disappointed. It’s not because this is a YA book, either: both Coraline and the His Dark Materials trilogy were much more interesting than this.

Amazon UK, Amazon US.

In a way, Working Effectively with Legacy Code does what it says on the tin: gives advice on how to work with legacy code. But while the title is technically correct, it is also misleading enough to be harmful.

After all, I have been working with legacy code without any help, and making progress cleaning it up, too. So why would I need a book? What can it possibly do to help, other than commiserate and advise me to refactor? For a long time I dismissed the book as “probably won’t help me much in practice”.

Well, it turns out that the book is not really about how to work with legacy code. Michael Feathers has his own, very specific, definition of legacy code: for him it means code without tests. And he also has a very specific definition of working with legacy code: for him it means adding no more untested code. Whenever a change or a new feature is needed, the affected parts of the code base need to be made testable first.

Redefining the problem from “working with legacy code” to “making untestable code testable” suddenly makes the topic appear very useful indeed, and the book turned out to be excellent. Like numerous other reviewers, I wish I had read it a year ago!

It’s full of practical advice, with lots of great examples, rather than high-level principles. Very pragmatic, where other software design veer off into idealism: “you often need to make your design worse before you can make it better” was a recurring theme here that I really sympathise with. It was a very inspiring rbook, making my fingers itch to refactor. On top of that it’s interesting, well-written, and very obviously written by an experienced, knowledgeable expert.

The book is structured sort of like a cookbook, question-answer style: “I need to make a change. What methods should I test?” I cannot imagine using the book to look up answers to such specific, disjointed questions. No, the book needs to be read and digested, and then re-read and re-digested, repeating until you’ve fully internalized all its ideas. I’ve read it once from cover to cover (skipping only the C/C++ specific advice) and I know I will be browsing it for inspiration many times. The numerous cross-references make it a very browsable book.

However. I like the general idea of making all legacy code testable, but in practice it’s not always practicable. GUI code is the most obvious example: it’s hard to test in the best of cases, and in a legacy code base, making it testable is a hopeless battle. I’m not going to refactor an entire 1500-line aspx page so that I can test my one-line change which makes a certain element invisible in certain circumstances. And more generally, making legacy code “non-legacy” is a worthwhile goal, but sometimes the change really is small and safe enough, and entangled enough, that making it testable is just not worth it. But I guess the book needs to be more categorical than reality: aim for the stars, get to the treetops.

Amazon US, Amazon UK.

I discovered, in some weekend supplement or free newspaper or something, that Stieg Larsson was the world’s second best selling author last year. And I barely knew what books he had written – something in the crime genre, which I’m normally not at all interested in. But someone who sells that well is a phenomenon worth reading just for the sake of being informed, so I decided to read Stieg Larsson’s Millennium series.

One evening Eric came home with all three books and I got started. Read the first book in two days, during which I spent every free moment reading. Started on the second book straight after I finished #1, and then started #3 immediately after #2, and read until 2AM just so I wouldn’t have to wait until the morning to finish it.

You can easily find plot summaries for all three books on the web if you’re interested. To put it briefly, the books are about Michael Blomkvist (middle-aged crusading journalist full of righteous anger about economic crime etc) and Lisbeth Salander (punkish lone-wolf genius hacker girl) who solve mysteries and bring bad guys to justice.

Salander becomes more and more of a superhero, less and less believable. A socially inept loner suddenly impersonates a rich lady speaking German with a Norwegian accent? Digging herself out of a grave after being shot in the head? Come on…

The first book is a quiet, calm mystery story, where Michael tries to solve a decades-old missing person case (abandoned long ago by the police, but not by the people involved). The second book is more of a detective story, with police and motorcycle gangs – ups the pace and adds action and violence. The third book adds political conspiracy theories and turns into a semi-thriller.

So the series is a kind of spiral, escalating in speed and level of action, which was a bit of a disappointment for me. I got hooked by the first book, and wasn’t entirely happy about how the books shifted towards more action, more people and a larger scene. One of the redeeming qualities for the later books was that Lisbeth got more space, and she is more fun than Michael.

All three books are entertaining, full of suspense and memorable characters. The language is hard-boiled and the writing generally no-frills, with little effort wasted on scenery etc, as is standard for the genre. But it flows smoothly and has a lot of energy. Some reviewers complain about the pages wasted on diversions and off-topic ramblings, but in my opinion they add to the books’ charm. I liked the rough edges. Alltogether, lots of fun.

In Swedish: Män som hatar kvinnor, Flickan som lekte med elden, Luftslottet som sprängdes.

In English: The Girl with the Dragon Tattoo on Amazon UK, Amazon US; The Girl Who Played With Fire on Amazon UK, Amazon US; The Girl Who Kicked the Hornets’ Nest on Amazon UK, Amazon US.