Watson Ladd writes: I just got my hands on a copy of Bruce Sterling's latest, The Caryatids. Bruce Sterling is an amazing short story author, but his characterizations and plot fall short of the demands of the novel, making The Caryatids ultimately unsatisfying. The vision of a world run amok is panoramic in scale, but an additional 100 pages would have been well used to tie the plot together.
The titular characters are clones of the wife of a Balkan warlord. Seven were born, but in the chaos of war only four survived, each one picking a different role. They each have enormous hatred for each other, but the origins of this hatred are not explained. Given Sterling's inability to create narrative interest in his characters this is probably a good thing. However, his depictions of this hatred are melodramatic and do not fit with the personalities of the Caryatids.
The book is divided into three chapters, each from the life of one of the four sisters. Each chapter takes place in a different one of the world powers: the Acquis devoted to building a bright new future, the Dispensation devoted to spectacle and manipulated by a shallow ruling class, and China, the last surviving nation state. Each chapter is a portrait
of life in the respective society, followed by action advancing the main plot.
Technological marvels are the main draw of any Sterling work, and they are here in spades. From neural interfaces to lightbulbs that make flesh transparent little of this is new, but the social reactions to technological change are equal parts geek and Luddite. Indeed, there is little wrong with Sterling's depiction of the world, modulo the convolutions his characters go through to support the plot.
The main plot is the scheming of a man known as Montalban to bring the Caryatids together. But why this is necessary, or what happens afterward, is never really discussed. The Epilogue offers more questions then answers, and many characters vanish, despite having been promised major roles. The plot introduces so many subplots in need of resolution that the publisher could have titled the book Six Novels in Search of an Author.
Anyone looking for unity of form or a deep novel of ideas should look elsewhere. But for all its flaws The Caryatids is fun to read.
Watson Ladd writes: A bill has been introduced in the house of representatives that would end the warrantless spying on Americans that the NSA has been performing, and make it clear that FISA or the normal warrant process are the sole means through which electronic surveillance may be authorized. The NSA Oversight Act was introduced on January 4, 2007 and is currently stuck in committee.
Watson Ladd writes: Dennis Kucinich has reveled his articles of impeachment for Cheney. They are for lying about Iraq's prewar nuclear abilities, lying about the relationship between Saddam and Osama, and for trying to do the same to Iran. The text of the charges and a ton of supporting material are available here.
Watson Ladd writes: Perl, Python, and many other languages claim string processing, and in particular pattern matching, as an application they were designed for. But this article shows how slow most of the regex engines now used are due to the use of Henry Spencer's regex package as inspiration. How many more performance losses are due to historical accident.
Watson Ladd writes: Microsoft research has created the Joins Concurrency Library for C#. This library uses the join calculus to model concurrency. No locks or condition variables are required, eliminating a lot of errors. A paper exists.
Watson Ladd writes: With all major microprocessor manufactures choosing to go multicore rather then cranking up clock speeds getting performance gains will be a software problem. If applications aren't using multiple threads, they don't get a performance boost. But multithreading is a pain to deal with. So what is your strategy for writing multithreaded code? Is it join calculus, software transactional memory,non-interacting threads,rendezvouses,actors, or the Real Programmers choice of mutex and condition variables? Which do think will be the dominant technique over the next 30+ years?