Disappointing. Lola's review says it better than I could.
Reviews and Comments
I like books.
This link opens in a pop-up window
Will Sargent reviewed Jane Sexes It Up by Merri Lisa Johnson
Will Sargent rated Saga, Vol. 1 (Saga, #1): 4 stars
Will Sargent rated Saga vol. 2: 4 stars
Will Sargent rated Fatale: 5 stars

Fatale by Ed Brubaker
"The dark days of the Great Depression, ancient secrets of the Middle Ages, haunted plains of the old West, and …
Will Sargent reviewed 'Geisters by David Nickle
Review of "'Geisters" on 'Storygraph'
4 stars
Was it terror, or was it love? It would be a long time before Ann LeSage could decide. For most of her life, the two feelings were so similar as to be indistinguishable. It was easy to mix them up.
That's the thesis of The Geisters, and for most of the book, it slides a razor's edge between the two. On one side, there's Ann -- alone, confused and racked with guilt after an accident that resulted in her brother's crippling and her parents death. About to get married to a man, for love. And then there's the Insect, an invisible force that has followed and tormented Ann for as long as she can remember.
The 'Geisters is a conventional book in some ways -- it doesn't use fancy language, it doesn't confuse. At the same time, it's an alien experience. David Nickle is very good at framing her experience …
Was it terror, or was it love? It would be a long time before Ann LeSage could decide. For most of her life, the two feelings were so similar as to be indistinguishable. It was easy to mix them up.
That's the thesis of The Geisters, and for most of the book, it slides a razor's edge between the two. On one side, there's Ann -- alone, confused and racked with guilt after an accident that resulted in her brother's crippling and her parents death. About to get married to a man, for love. And then there's the Insect, an invisible force that has followed and tormented Ann for as long as she can remember.
The 'Geisters is a conventional book in some ways -- it doesn't use fancy language, it doesn't confuse. At the same time, it's an alien experience. David Nickle is very good at framing her experience in the form of available options, and the options that Ann thinks she has are... well, Ann tries very hard to control her thoughts and how she thinks about things.
The larger issue for me is the Insect. Why did it kill her parents? Even if it loved Phillip, why did it cripple him so severely -- was all just to kill Laurie, who was in the same car? Then why did the Insect let Ann get acute hypothermia? What was the motivation for wrecking the boat? Why did the Insect kill Peter Dumont (was it to kill Mr Sleepy?) and why did the Geisters not run like buggery when that happened? Are they that addicted to terror that they can't turn away from it? And what makes Ann disappear into the room in the Octogon? How did they condition the Incest when the only real contact they had was with Sunderland when she was a child? Why did Ann stay in the tower of the Arch-Liche? Despite taking days in the tower, Sunderland had just dropped her off at the conference center when she escapes, and Ann herself refers to "earlier that morning", but even so the time dilation is odd. And I'm still not sure about what the relationship between Susan and Little is like -- she's not "eaten" so much as distracted, with most of her mental energy being focused outside her body. And Ann's ability to kill (and total lack of empathy for Lily, the 8 year old girl trapped at the bottom of a hole with no poltergeist protecting her) is seems curiously soulless and empty -- there's no rage or joy there, and so it seems like the result of the merging is less, rather than more.
But in spite of that -- it doesn't have to make sense. It's a great book, and a good horror story, and worth reading.
Review of 'Implementing Domaindriven Design' on 'Storygraph'
5 stars
I got this as a Kindle edition, but there is no Kindle edition, so Hardcover will have to do. EDIT: I bought the hardcover as well as the Kindle edition. I'm going to be using this book LOTS.
This is an incredibly comprehensive and complete book. It takes Eric Evan's "Domain Driven Design" and roughly two hundred different blog posts, example projects and community thinking and tries to condense them into a single book.
As such, it goes over DDD from a "what are we doing" requirements perspective to a very detailed CQRS implementation, complete with event sourcing. It references every single blog post I've ever heard about the subject and many I haven't, and tries to put it in the context of a single company. The sheer amount of work and editing for this book must have been staggering -- even if you know DDD backwards and forwards, accumulating …
I got this as a Kindle edition, but there is no Kindle edition, so Hardcover will have to do. EDIT: I bought the hardcover as well as the Kindle edition. I'm going to be using this book LOTS.
This is an incredibly comprehensive and complete book. It takes Eric Evan's "Domain Driven Design" and roughly two hundred different blog posts, example projects and community thinking and tries to condense them into a single book.
As such, it goes over DDD from a "what are we doing" requirements perspective to a very detailed CQRS implementation, complete with event sourcing. It references every single blog post I've ever heard about the subject and many I haven't, and tries to put it in the context of a single company. The sheer amount of work and editing for this book must have been staggering -- even if you know DDD backwards and forwards, accumulating and presenting that information is not at all easy to do.
Especially for newer topics, this book excels. It goes into detail on specialized cases like using datafabric / grid computing for retrieving the state of event source aggregates, using snapshot events, or using Mule's collection aggregator.
Where it really falls over is the humor. You just can't make mock popular culture radio interviews about DDD funny. Likewise, the two cowboys trading bon-mots falls completely flat.
Still, totally worth it, and I find the other reviews that badmouth this book and then push another book "helpfully linked" to be at best dishonest, if not Complete Bullshit.
Quotes!
Simply stated, practicing DDD-Lite leads to the construction of inferior domain models.
The whole Domain of the organization is composed of Subdomains. Using DDD, models are developed in Bounded Contexts.
When we employ DDD, we strive for each Bounded Context to mark off where the meaning of every term used by the domain model is well understood, or at least should be if we’ve done a good job of modeling the software. It’s chiefly a linguistic boundary. These contextual boundaries are a key to implementing DDD.
For example, the term Customer must have multiple meanings. When a user is browsing the Catalog, Customer means one thing, but when a user is placing an Order, it means something else. Here’s why. When browsing the Catalog, Customer is being used in the context of previous purchases, loyalty, available products, discounts, and shipping options. On the Order itself, however, Customer has a limited meaning. Among the few details there is a name with a ship-to address, a bill-to address, a total due, and payment terms. Just by this basic reasoning we see that in the e-Commerce System there is no one clean meaning for Customer. Given this situation, as we look around that system we would expect to find several other terms that have multiple meanings. It’s not a clean Bounded Context with an explicit meaning for each term naming a domain concept.
CQRS is meant to solve a specific view sophistication problem, not to tack on as a cool new style that will strengthen your résumé.
It’s worth noting that CQRS-based views can be both cheap and disposable (for development and in maintenance). This is especially so if you use a simple form of Event Sourcing (see the section “Event Sourcing” later in the chapter and Appendix A) and save all Events into a persistent store, which can be republished at any time to create new persistent view data. Doing so, any single view could be rewritten from scratch in isolation or the entire query model be switched to completely different persistence technology. This makes it easy to create and maintain views that continuously address ongoing UI needs. This can lead to more intuitive user experiences that avoid the table paradigm but are instead much richer.
Each command is sent as an asynchronous message and delivered to a handler designed with the dedicated style. This not only enables each command processor component to receive specifically typed messages, but processors of a given type can be added to deal with command processing load. This approach should not be used by default, as it has a more complex design.
Unless Event logging is a requirement specified by the business, the command model can be persisted using an object-relational mapper (ORM) to a relational database or some other approach.
We can produce domain models that publish Domain Events without the need to support Event Sourcing. As a persistence mechanism, Event Sourcing replaces and is far different from using an ORM tool. Because Events are often persisted in an Event Store as binary representations, they cannot (optimally) be used for queries. In fact, Repositories designed for an Event Sourcing model require only a single get/find operation, and that method takes as a parameter only the Aggregate unique identity. Further, by design Aggregates don’t have any query methods (getters). As a result, we need another way to query, which generally leads to employing CQRS (discussed previously) hand-in-glove with Event Sourcing.
With MySQL, there is a maximum row width of 65,535 bytes. Again, that’s row width, not column width. If we declare even one column with the maximum VARCHAR column type width of 65,535, there is no space left for one additional column in the table.
Design your data model for the sake of your domain model, not your domain model for the sake of your data model.
Events are a domain-wide concept, not just a concept in a single Bounded Context.
There are several possible ways for remote Bounded Contexts to become aware of Events that occur in your Bounded Context. The primary idea is that some form of messaging takes place, and an enterprise messaging mechanism is needed.
As [Evans] indicates, the consistency of all Aggregate instances other than the one used in the single transaction must be enforced by asynchronous means.
two mechanisms in a messaging solution must always be consistent with each other: the persistence store used by the domain model, and the persistence store backing the messaging infrastructure used to forward the Events published by the model.
Using Domain Events allows any number of your enterprise systems to be designed as autonomous services and systems.
Almost-infinite scalability is achieved by allowing for continuous repartitioning of Aggregate data storage, as explained by Amazon.com’s Pat Helland in his position paper “Life beyond Distributed Transactions: An Apostate’s Opinion” [Helland]. What we call Aggregate, he calls entity. But what he describes is still an Aggregate by any other name: a unit of composition that has transactional consistency. Some NoSQL persistence mechanisms support the Amazon-inspired distributed storage. These provide much of what [Helland] refers to as the lower, scale-aware layer. When employing a distributed store, or even when using a SQL database with similar motivations, reference by identity plays an important role.
Since the Command objects can be serialized, we can send the textual or binary representations as messages over a message queue. The object that the message is delivered to is a message handler and is to us a Command Handler. The Command Handler effectively replaces the Application Service method, although it is roughly equivalent and may still be referred to as such. Anyway, decoupling the client from the Service can enhance load balancing, enable competing consumers, and support system partitioning
Will Sargent reviewed When It All Comes down to Dust by Barry Graham
Review of 'When It All Comes down to Dust' on 'Storygraph'
4 stars
Good. Although sexy beautiful female cop with an attitude has been done. She couldn't be fat or have bad teeth?
Will Sargent rated The Coldest War: 5 stars
Will Sargent rated Necessary evil: 5 stars

Necessary evil by Ian Tregillis (The milkweed triptych -- bk. 3)
The history of the Twentieth Century has been shaped by a secret conflict between technology and magic. When a twisted …
Will Sargent reviewed vN: the first machine dynasty by Madeline Ashby
Review of 'vN' on 'Storygraph'
4 stars
A good solid book that starts with "synthetic people" -- sentient robots that look and think like people, and can reproduce by hacking their self-repair functions -- and doesn't go down the rathole of "if only I were a real human."
Instead, vN is about what it means to be a real robot. Are you created for purpose? Is it right to seek revenge on people who created you and your children to be slaves? When you feel programmed love for humans who don't deserve it, how can you trust your own feelings and drives?
vN talks about all this and more. There are places where it's not realistic (in a world with working nanobots and some terrifyingly advanced technology, it's a little odd to think that human bounty hunters and police are still the primary means of law enforcement) but it's always emotionally true, down to the fraught relationship …
A good solid book that starts with "synthetic people" -- sentient robots that look and think like people, and can reproduce by hacking their self-repair functions -- and doesn't go down the rathole of "if only I were a real human."
Instead, vN is about what it means to be a real robot. Are you created for purpose? Is it right to seek revenge on people who created you and your children to be slaves? When you feel programmed love for humans who don't deserve it, how can you trust your own feelings and drives?
vN talks about all this and more. There are places where it's not realistic (in a world with working nanobots and some terrifyingly advanced technology, it's a little odd to think that human bounty hunters and police are still the primary means of law enforcement) but it's always emotionally true, down to the fraught relationship that Amy has with her grandmother, Portia.
Will Sargent reviewed Rainbows End by Vernor Vinge
Review of 'Rainbows End' on 'Storygraph'
2 stars
Meh. Nothing really new in it. If you read Bruce Sterling's Holy Fire, you'd see the introduction to the world of the new, with improbable child geniuses -- and done much better against a European backdrop. The caper is a well known trope. The analysts behind the protagonists and the JITT are swiped from A Deepness in the Sky. And the wacky University hi-jinks was done by Stephenson way back in The Big U.
Which is a pity, because Robert Gu could have been a great character. Here's a man who was a complete bastard by all accounts, with a gift. Now he's dealing with future shock, and a world that no longer cares... and he can't make it care. And yet he's flat and off, thinking about "how to dominate" a 13 year old girl. No-one, not even the complete bastards, thinks like that.
So yeah. Not one of …
Meh. Nothing really new in it. If you read Bruce Sterling's Holy Fire, you'd see the introduction to the world of the new, with improbable child geniuses -- and done much better against a European backdrop. The caper is a well known trope. The analysts behind the protagonists and the JITT are swiped from A Deepness in the Sky. And the wacky University hi-jinks was done by Stephenson way back in The Big U.
Which is a pity, because Robert Gu could have been a great character. Here's a man who was a complete bastard by all accounts, with a gift. Now he's dealing with future shock, and a world that no longer cares... and he can't make it care. And yet he's flat and off, thinking about "how to dominate" a 13 year old girl. No-one, not even the complete bastards, thinks like that.
So yeah. Not one of his better works.
Will Sargent reviewed The human division by John Scalzi
Will Sargent reviewed The Gone-Away World by Nick Harkaway
Review of 'The Gone-Away World' on 'Storygraph'
2 stars
This book is the literary equivalent of the movie "Sucker Punch" -- the blurb promises you ninjas, friendship, monsters, and betrayal. But by the time it happens, you feel stupider for having watched up to that point, and you can't wait for it to be over.
There are so many things wrong with this book. It doesn't read like a first novel, it reads like a first draft. It starts off with the Pipe exploding, and the protagonist and his friends suiting up and heading out. Then the story stops for five chapters to tell you about his life history.
The first two or three of those chapters, I couldn't figure out what had happened. Where was the story? Why on earth would someone write a child like a bad David Foster Wallace impression? And as I kept reading, I was overcome by a distaste for the protagonist that I …
This book is the literary equivalent of the movie "Sucker Punch" -- the blurb promises you ninjas, friendship, monsters, and betrayal. But by the time it happens, you feel stupider for having watched up to that point, and you can't wait for it to be over.
There are so many things wrong with this book. It doesn't read like a first novel, it reads like a first draft. It starts off with the Pipe exploding, and the protagonist and his friends suiting up and heading out. Then the story stops for five chapters to tell you about his life history.
The first two or three of those chapters, I couldn't figure out what had happened. Where was the story? Why on earth would someone write a child like a bad David Foster Wallace impression? And as I kept reading, I was overcome by a distaste for the protagonist that I hadn't felt in quite some time. There's a German word that I couldn't get out of my head -- backpfeifengesicht, which means "a face badly in need of a fist."
Thankfully, the precious bullshit and overwrought sentences calms down onces he gets into a military academy and things start to go wrong. Once there's an actual plot, then the other characters get a chance to breath as well and they stop quite so much like carbon cutouts... and then they get past the point where we came in (the pipe has blown, they're off to save the day) and it starts getting interesting.
...And then it starts going off the rails again.
The problem is ninjas. In a world which has armies, geopolitical conflicts, mass starvation and a soldier running around in the middle of it, bringing in Wacky Movie Ninjas is like watching The Walking Dead and then having pirates invade. It makes absolutely no goddamn sense, unless they're secretly Fantasy Gone Away Ninjas, which I seriously considered at some point. This is why I think it's close to Sucker Punch -- for all that there are ninjas and hijinks and derring-do, it makes no sense.
It gets worse from that point on.
At one point the protagonist is caught by the ankles, while falling off a building, by someone who's literally just decided to hang out underneath the balcony. No explanation.
There are mimes, all with the same name. I hated them.
The antagonist's rationale makes so little sense that at one point the protagonist even stops to wonder why someone would construct such a mindblowingly wasteful and over-complicated plan for so little result. Never explained.
The resolution is so incredibly stupid that I expected the next page to be a "ha ha, you didn't really it to go down like that" type fakeout. Nope.
I feel cheated out of the time that I spent reading this book, and I think slightly less of everyone who reviewed this book and said it was worthwhile. Still, having read it, I have decided what to do with it now: rather than donating it to the library, I'm going to recycle it so there will be one less copy of this book in the world. You're welcome.