Deprecated: Creation of dynamic property MWP_EventListener_PublicRequest_SetHitCounter::$requestStack is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 53

Deprecated: Creation of dynamic property MWP_Worker_Kernel::$responseCallback is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/Worker/Kernel.php on line 38

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/Worker/Request.php on line 198

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/better-wp-security/core/modules/core/class-itsec-admin-notices.php on line 141

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dh_wy9y3p/kellyhills.com/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/SetHitCounter.php on line 113
book reviews – Life as an Extreme Sport
Life as an Extreme Sport

Book Review – Fire and Ice

Fire and Ice: A Beaumont and Brady Novel (Beaumont and Brady)Fire and Ice: A Beaumont and Brady Novel by J.A. Jance
My rating: 4 of 5 stars

This was my first exposure to JA Jance – and it introduced me to two of her characters. I found myself delighting in the tiny details and geographical accuracy of her Seattle-and-environs setting, and marveling at her ability to not only switch voice but the literal point of view she was writing in as she shifted between Beaumont and Brady’s stories, and slowly brought them together.

Beaumont’s of the Washington State Attorney General’s Special Homicide Investigation Team (go ahead, figure out the acronym and then grin) has taken over a case spanning several counties: women are being killed, their teeth removed from their bodies, and the bodies rolled in tarps, dumped, and burned. But this latest body might be the break they need: the teeth haven’t been removed. Will this be the lead Beaumont and his team need to track down the killers?

In Arizona, Cochise County Sheriff Joanna Brady has her own headaches. There’s a homicide at an out-of-the-way ATV park, her new medical examiner is impossible to work with, a local nursing home might be neglecting their patients to death, and she’s the best man in a wedding at the end of the week. The last thing she needs is to lose one of her deputies to a death in the family, leaving her shorthanded and attempting to placate her family, a surprise intervention by the feds, and her colleagues.

The book is by no means perfect – especially in Brady’s half of the story, which raises more questions than it answers. (By no means do all of the problems introduced in Brady’s life end up anywhere near resolved.) But even with this awkwardness and lack of revolution, the book was engaging and entertaining, which in the end is all I ask for from the mystery novels I read.

That said, would I read another Joanna Brady book? Maybe, maybe not. But I’ll definitely look for more Beaumont novels – the combination of the setting and character prove irresistible!

View all my reviews

Book Review – Spartan Gold

Spartan Gold (Fargo Adventure, #1)Spartan Gold by Clive Cussler
My rating: 1 of 5 stars

Overall, a disappointing outing from Cussler and Blackwood. In this novel, Remi and Sam Fargo, treasure hunters extraordinaire and generous philanthropists, find themselves up against the forces of a mysterious Ukranian crime boss who traces his ancestry to Persia, and Xerxes the Great. Both are after the secrets of the lost cellar of Napoleon and the potential treasure it will lead them to.

The major issue here is that there is no threat. Remi and Sam repeatedly face down the bad guys, and do so in non-lethal manners that allow the bad guys to escape and the Fargo’s to run free. Once or twice it might work, but after the third or fourth time it becomes repetitive, and the sense of threat and peril to the characters vanishes. You know they’re going to get out of it okay, so there’s no tension. This echoes through to the end of the book, which hits the climax and conclusion inside a handful of pages.

The mystery that the Fargo’s are following requires putting together obscure clues left behind by Napoleon and his chief confidant – an interesting idea, but a difficult one that doesn’t leave much room for the reader to figure out what is happening along with the characters. This lack of involvement, combined with transparent motivation for the stereotypical bad guy and muddled logic for involving the main characters, leads to a thoroughly unsatisfying read.

Cussler’s books are normally better than this. Skip this book; if you’re in the mood for Cussler, pick up a NUMA/Pitt or Isaac Bell book instead.

View all my reviews

Book Review – The Emperor’s Tomb

The Emperor's Tomb (Cotton Malone, #6)The Emperor’s Tomb by Steve Berry
My rating: 4 of 5 stars

Cassiopeia Vitt has a problem. She owes ex-pat Russian Lev Sokolov a favour, and he’s come to collect. His young son was kidnapped in China, a growing problem no one will admit exists. In her effort to find Sokolov’s son, she steals an ancient Chinese artifact – a lamp – and then she finds herself kidnapped and being waterboarded. She does the only thing she can think of: she tells her kidnappers and torturers that Cotton Malone has the artifact they so desperately want.

With that, Cotton finds himself pulled back into Cassiopeia’s orbit, and once again running from mercenaries who want him dead. Only, this time, that running takes him through Vietnam, into China, and into the hands of his Russian nemesis, Viktor Tomas.

The Emperor’s Tomb continues Steve Berry’s tradition of mixing historical fact with present-day fiction, and destroying at least one (inter)national treasure while doing so. Those not inclined towards historical detail might find aspects of the novel slow – Berry lovingly details much of China’s dynastic history, scientific legacy, and political systems – but those familiar with Berry’s work will appreciate the fact that goes into his fiction.

This is not the book to start with, if you’ve never read any of the Cotton Malone novels, and that would be my single complaint about this book. It assumes you’ve read the Malone novels, and recently – or that your memory for detail is excellent! Several times, I found myself needing to consult older novels just to remember the relationships between the characters, and it would have been nice to see that history spelled out just slightly more than it was in the book.

View all my reviews

Book Review – The Templar Salvation

The Templar SalvationThe Templar Salvation by Raymond Khoury
My rating: 3 of 5 stars

This sequel to The Last Templar finds us catching up with Tess Chaykin and Sean Reilly – and discovering that their happily ever after wasn’t quite so happy, or ever after.

Following the formula he established in The Last Templar, The Templar Salvation starts off with a historical prologue before bringing us to the current day, when we are dropped down mid-mission with Reilly in Vatican City. Reilly’s doing the unthinkable, and using his connections to get into the Vatican Archives, where he can then go about breaking into a forbidden section. Why? Because someone’s kidnapped Tess – and this is the only way he knows he’ll be able to see her again.

Of course, if it was that easy, the book would be over in a chapter. Instead, Reilly faces a curveball that requires him to apologize and then offer his services to the Vatican – and go on a journey that finds him once again chasing the footsteps of the Templars.

Rich with detail and history, Khoury’s sequel does something that’s too rare in sequels: shows the reader how real life can affect heroes and heroines, and what happens when the high of the adventure fades and life returns. But just as pleasantly, Tess and Sean realize these issues and work with them, even as they work together to unravel this latest mystery of the Templars.

View all my reviews

Book Review – The Chase

The ChaseThe Chase by Clive Cussler
My rating: 3 of 5 stars

The first of the Isaac Bell novels, the reader is introduced to a new era for Cussler – the end of the Wild, Wild West, when railroads brought civilization to the frontier.

The Butcher Bandit has been declared a ghost by local police across multiple states. He comes in, robs banks, shoots all witnesses, and disappears before anyone realizes he’s been there. No one knows what he looks like, no one knows how he gets in and out of town, and no one knows where he will strike next. Can Van Dorn Detective Isaac Bell, with his blend of cutting-edge science and no-nonsense practicality, stop the Butcher Bandit before the body count climbs? The outcome isn’t as clear as you might think.

While Cussler has adventure writing down to his own science, there’s something missing from this book. It’s fun and exciting, but there’s something by-the-numbers here, and that takes away from some of the ultimate enjoyment of the book. Thankfully, the problem rights itself in the sequel, and this is an excellent start to a hopefully long-lived series of books.

View all my reviews