Donna C

Donna C

BookBrowse Reviewer
+ Follow
BookBrowse Reviewer Donna is a BookBrowse Reviewer and has written reviews featured in The BookBrowse Review.

Donna Chavez, a member of the National Book Critics Circle, reviews books for BookBrowse, Publishers Weekly and the American Library Association's Booklist. She is also a freelance writer with numerous publishing credits, including the Chicago Tribune and the Chicago Sun Times, and is a writing coach.

BookBrowse Editorial Reviews (106)

BookBrowse Editorial Review
Confessions of an Innocent Man
by David R. Dow
(4/17/2019)
It is circumstances that carry the wave that sweeps trendy Houston restaurateur Rafael Zhettah to death row in David R. Dow’s taut roller coaster of a thriller. The fact that Dow is a lawyer who has worked with more than a hundred death row clients imbues intimate authenticity into this debut, giving it a spark of life, and even a punch of gallows humor.
BookBrowse Editorial Review
Professor Chandra Follows His Bliss
by Rajeev Balasubramanyam
(4/3/2019)
Rajeev Balasubramanyam encapsulates the theme of Professor Chandler Follows his Bliss in its first chapter after Chandra learns that the thing, the one thing, he's strived for his entire life - the Nobel Prize in Economics - has been snatched from his grasp once again in what is probably his last chance to receive it. Putting on a brave face for his sympathetic colleagues is one thing. But when Jazmine, his teenage daughter, keeps asking if he's alright, this normally stoic scholar, "lost
BookBrowse Editorial Review
The Smiling Man: An Aidan Waits Thriller
by Joseph Knox
(3/6/2019)
The Scandinavians may be currently producing what is considered the golden standard of noir, but The Smiling Man offers something a little different. It is steeped in sweat-drenched heat rather than snowy cold, and trades Nordic brooding nihilism for British wit.
BookBrowse Editorial Review
The Paragon Hotel
by Lyndsay Faye
(2/6/2019)
Lyndsay Faye's arresting The Paragon Hotel focuses on how disparate groups of marginalized people cope in a country founded on the idealistic goal of equal opportunity for all. Her novel is engaging on so many levels that its multiple themes beg us to stop and reflect at frequent intervals, even as the narrative drives us to keep reading.
BookBrowse Editorial Review
The Feral Detective: A Novel
by Jonathan Lethem
(11/14/2018)
I fell in love with Jonathan Lethem's writing when I read Motherless Brooklyn, twice. And while I have loved all of his novels since, I've really been waiting for another mystery. Happily. Ecstatically. This is it! The one I've been waiting for. Okay. It's not quite a mystery in the traditional sense, but that is Lethem's ultimate charm. The plot isn't so much a whodunit as it is a whoisit...
BookBrowse Editorial Review
The Dinosaur Artist: Obsession, Betrayal, and the Quest for Earth's Ultimate Trophy
by Paige Williams
(9/19/2018)
The eponymous dinosaur artist, 38-year-old Eric Prokopi, is the hapless protagonist in a story with roots that crisscross the planet and date back to the 12th century. Every detail builds to a crescendo of events, greed, and crossed purposes that left me breathless.
BookBrowse Editorial Review
The Spy of Venice: A William Shakespeare Mystery
by Benet Brandreth
(8/29/2018)
From the very structure of this book – as a play in five acts with interludes, prologue and epilogue – to the prose and dialogue so true to the Sixteenth Century, to The Spy of Venice's intricate plot, I believe that Brandreth does Shakespeare proud.
BookBrowse Editorial Review
Tiffany Blues: A Novel
by M. J. Rose
(8/15/2018)
M.J. Rose brings Jenny's past to the surface through the young woman's luscious first-person narrative. Indeed, Jenny's voice is so rich with color, possessing so many sumptuous notes, it's like standing under a cool waterfall on a hot day with the sun's light refracting one rainbow after another. But I digress... I often read books that make want to be a better writer. I can't recall if I've ever read a book that made me want to reach for my sketch pad and charcoal. Tiffany Blue
BookBrowse Editorial Review
Tango Lessons: A Memoir
by Meghan Flaherty
(8/1/2018)
I must say I was hesitant to accept that a memoir by such a young woman would be compelling. I'm happy to report that my reservations were unfounded. First, I started to fall in love with tango and by chapter four I'd dialed up a steady stream of the music on YouTube to accompany my reading. Then I became intrigued with Meghan and all of her and tango's anomalies, eager to find out how her journey would end. Finally, the smattering of Argentine history and culture she includes in Tango Lesson
BookBrowse Editorial Review
That Kind of Mother
by Rumaan Alam
(5/30/2018)
Alam writes poetically, easily leaving plot and secondary characters as specters hovering in the background and only bringing them to the fore as needed. This is truly Rebecca's story, and what is on the page is largely from her point of view. Quite an accomplishment for a male author, and all in all he pulls it off quite well, depicting a late 20th century woman grappling with society's skein of often conflicting expectations.
BookBrowse Editorial Review
American by Day
by Derek B. Miller
(5/2/2018)
In his latest crime novel, Derek B. Miller delivers what could be a mosh pit style collision of cultures as a minuet — Norway versus America, Norwegian law enforcement philosophy versus American police practice, male versus female, white people versus people of color, religiosity versus secularism, and more. Thus, this is not a quick-read whodunnit but is, instead, a dance around the edges of a crime in three-quarter-time, paying due respect to the complexities of convention.
BookBrowse Editorial Review
The Woman in the Water: A Prequel to the Charles Lennox Series
by Charles Finch
(4/18/2018)
For me there are two sure signs that I've gotten completely absorbed in a book. One is the number of coffee-stained pages and the second - disaster for a critic expected to take notes - is the sudden absence of anything jotted down in the margins. The Woman in the Water bears all the telltale marks of my immersion into 1850 London. This is my first Charles Lenox Mystery but it won't be my last.
BookBrowse Editorial Review
The Plea
by Steve Cavanagh
(3/21/2018)
[T]he plot twists keep pages flying as Eddie attempts to unravel a case where anyone and everyone – with the exception of Christine – either is or can be guilty of murder. The courtroom scenes are terrific as Eddie carefully constructs his questions of prosecution witnesses, coming head to head with an ambitious and ruthless District Attorney. So who is pointing a loaded gun at Eddie? And why? Getting to the answers is the most fun I've had since reading any of Grisham's best.
BookBrowse Editorial Review
The Girls in the Picture
by Melanie Benjamin
(3/7/2018)
Benjamin tells this story in alternating points of view. Fran's first person account is full of her; her personal thoughts and feelings leap off the page. Hers is a rich, full life told with all the color and sensibility of a talented writer. Mary's universal point of view passages keep the real woman at arm's length. We're getting only a bird's eye view of the beloved actress. Others have criticized Benjamin for this divergence. I think it plays magnificently into the w
BookBrowse Editorial Review
Down the River unto the Sea
by Walter Mosley
(2/21/2018)
In his latest stand-alone crime novel, Walter Mosley continues to write thought-provokingly about interesting, colorful and multi-dimensional characters. They are complex people, some that you might think twice about inviting into your home, but with whom you'd like to have a conversation over a good meal and a fine bourbon, neat.
BookBrowse Editorial Review
This Is How It Begins
by Joan Dempsey
(11/1/2017)
Dempsey's choice to imbue her characters with motives ranging the gamut from light to dark creates a fine literary chiaroscuro that enriches the reading experience. I truly enjoyed This is How it Begins' timely examination of the disturbing potential for desecularization of our Democracy.
BookBrowse Editorial Review
See What I Have Done
by Sarah Schmidt
(8/2/2017)
See What I Have Done is a stay-up-late novel for crime and psychological suspense fans. The profiles feel spot on. The drama is intense. The fetid atmosphere of over-ripening fruit, summer heat and festering emotional wounds is not for sissies. But brace up and dive in.
BookBrowse Editorial Review
Dust Bowl Girls: The Inspiring Story of the Team That Barnstormed Its Way to Basketball Glory
by Lydia Reeder
(4/5/2017)
I’m giving Lydia Reeder's Dust Bowl Girls, about a 1930s women's amateur basketball team and their gristly coach, high praise. From me – a person who closes her eyes and ducks when a ball is thrown to her – this is significant indeed. But I was immediately taken by Coach Sam Babb, Reeder's distant relative, who devoted his life to women's basketball and to developing a trophy winning women's basketball team during the early years of the Great Depression.
BookBrowse Editorial Review
Little Deaths
by Emma Flint
(2/15/2017)
Emma Flint’s fine debut is all about smashing boundaries. Once upon a time, mysteries and noir novels were not considered literary fiction. While that boundary has already been broken – think Umberto Eco’s The Name of the Rose or Michael Chabon’s The Yiddish Policemen’s Union – how about the notion that true crime can cross over into literary fiction territory? Flint, a longtime fan of true crime stories, has succeeded in melding that genre into Little Deaths, a novel about
BookBrowse Editorial Review
Strangers in Their Own Land: Anger and Mourning on the American Right
by Arlie Russell Hochschild
(2/1/2017)
As with any sociological study, it is a given that those being studied are changed by the very process of being observed, and one wonders if (and how much) their stories were nuanced so as not to offend Hochschild. On the other hand, I don’t think anyone could offer a better, more empathetic view of the lives and culture of these Tea Party sympathizers who would ultimately become Trump voters. Strangers in Their Own Land is thought provoking and well written, with a novelist’s ear for dia
BookBrowse Editorial Review
A List of Cages
by Robin Roe
(1/18/2017)
Robin Roe has written one helluva young adult debut novel. Alternating first person narratives by a couple of adolescent boys striving to be and do the right thing in a world seemingly ill-suited to their needs feels all too familiar. And Roe’s professional experience as a former counselor imbues the story with jarring grimness, taking an unblinking, behind-the-headlines look at child abuse.
BookBrowse Editorial Review
The Hermit
by Thomas Rydahl (author), K.E. Semmel (translator)
(1/4/2017)
If you can be comfortable with Scandinavian noir played out against the sun-drenched backdrop of balmy Fuerteventura, in the Canary Islands, you’re in for a treat. Rydahl’s debut is just that, complete with a complicated, anguished sexagenarian Danish transplant named Erhard Jørgensen, plus a seemingly unsolvable mystery, and a couple of goats named Laurel and Hardy.
BookBrowse Editorial Review
Holding Up the Universe
by Jennifer Niven
(11/16/2016)
I don’t know what there is not to love about this book. Throughout, Niven makes Jack and Libby's motives clear even as they make really bad choices. And athough a reader – young or adult – may not be a three-hundred-pounder or a prosopagnosiac, we all struggle with our own insecurities and suffer fears of rejection. Holding Up the Universe is a peon to setting aside those insecurities and opening ourselves to whatever the universe brings. Highly recommended, young (14+) or older adult.
BookBrowse Editorial Review
The Boat Rocker
by Ha Jin
(11/2/2016)
...as a first person narrative of a – perhaps too-naïve – Asian-American man's experience, The Boat Rocker is a compelling glimpse into the mirror he holds up to the world of 21st Century politics, nationalism and journalism, and publishing.
BookBrowse Editorial Review
Commonwealth
by Ann Patchett
(9/21/2016)
Though not told in chronological order, the story unfolds organically, each chapter building to the climax. And if it weren’t for the fact that all her books enjoy the same organic quality I might credit that to Commonwealth's autobiographical inspiration. But Patchett just seems to know all of her characters so intimately, and they move in a world we recognize and say things we might given similar circumstances. Even their bad decisions – and there are many here – make sense at the time.
BookBrowse Editorial Review
My Name Is Leon
by Kit de Waal
(9/7/2016)
So did I identify with Leon, despite being an elderly white American woman? Well, I unconsciously started referring to the book’s title as “I Am Leon.” Thanks to de Waal’s magnificent character development, my name might be Donna but now I am Leon too.
BookBrowse Editorial Review
A Meal in Winter: A Novel of World War II
by Hubert Mingarelli (author), Sam Taylor (translator)
(8/3/2016)
Though brief, this is neither a fast, nor easy read. Mingarelli touches on so many inconsistencies within the human psyche, and so much cognitive dissonance. He explores how very treacherous the world is due to longstanding, yet misguided, ideals of masculinity and authority. The story inspires questions as to whether these ideals are outmoded and at odds with a civilized, modern society. The truths Mingarelli writes about are still too relevant for comfort. Read this at risk of Emmerich, Bauer
BookBrowse Editorial Review
The Noise of Time
by Julian Barnes
(6/22/2016)
Far from feeling cheated out of more biographical information or details of the man’s creative process, I felt very much in touch with Shostakovich’s heart and his struggle to maintain some semblance of the standard of integrity he’d set for himself. Barnes lets us hover over the composer’s life, peep into his thoughts, and envision what life under tyranny is like for the creative mind of the genius. From youth to old age when, “his mind no longer skittered,” but, “limped carefully from one anxi
BookBrowse Editorial Review
I Let You Go
by Clare Mackintosh
(6/1/2016)
Sometimes it’s a reach to see how a book becomes an international bestseller. Other times – well, other times there’s Clare Mackintosh’s I Let You Go, and from page one you’re asking yourself, where has this terrific book been all my life?
BookBrowse Editorial Review
The Invisible Guardian
by Dolores Redondo
(5/4/2016)
Redondo’s narrative is slowed a bit by longish descriptive passages that plunge us into the embrace of the cold, dark, mid-winter forest. And the investigation is not necessarily conducted according to the flawless CSI TV show standards we police procedural fans have come to expect. But Amaia’s character development and the glimpse of a culture and language rhythm that is so foreign to me possessed me from the start (not unlike my enthrallment with Jo Nesbø’s Harry Hole series). Throughout The I
BookBrowse Editorial Review
Honky Tonk Samurai: A Hap and Leonard Novel
by Joe R. Lansdale
(3/16/2016)
In Lansdale’s contemporary crime thriller (the latest in his Hap & Leonard series) about two East Texas “brothers from another mother” who earn money where they can – from chicken sexing to private investigating and more – the first person narrative is at once down home and sharp as a diamond tipped glass cutter. This dichotomy sets the tone for narrator Hap Collins’s philosophy of life: even though things can appear to be opposites their multiple facets allow them to peacefully coexist.
BookBrowse Editorial Review
The Drifter
by Nicholas Petrie
(3/2/2016)
Petrie knows what he’s doing as he paints Ash’s ease with children and dogs. We like this guy from the get go. That Peter refuses to act on his physical attraction to his best friend’s widow brings him into sharper nice-guy focus. He is intelligent, gentle when need be and has a sharp wit. We’re rooting for him even if he occasionally behaves as if he’s still in a war zone. Ingrained behaviors are hard to shake.
BookBrowse Editorial Review
A Doubter's Almanac
by Ethan Canin
(2/17/2016)
What sets Canin’s story apart from other dysfunctional family novels is the awesome writing, the mid-plot switch of narrator augmented by the juxtaposition of Milo’s superhuman intelligence and his addiction. It is indicative of Canin’s own genius that he makes all that – plus mathematics references that sent me to Google more than once – work superbly.
BookBrowse Editorial Review
We Are the Ants
by Shaun David Hutchinson
(1/20/2016)
Despite the fact that I am not, as a rule, a fan of magical realism, I totally loved this book about a gay, nerdy, teenager who – while struggling to define himself - is serially abducted by aliens.
BookBrowse Editorial Review
All the Major Constellations
by Pratima Cranse
(11/4/2015)
Pratima Cranse's excellent book went with me to lunch, to the doctor's office, to the kitchen counter as I prepared dinner; its pages spattered with everything from coffee to marinara sauce. Part of it was being able to so easily slip into the indelible memories of a certain phase of adolescence. The rest was being able to pick up on themes that give 17-year-old Andrew Genter's life a point of view I hadn't thought about before. And isn't it the best thing in the world when you suddenly see some
BookBrowse Editorial Review
A Killing in Zion: An Art Oveson Mystery
by Andrew Hunt
(10/7/2015)
Some authors excel at crafting compelling historical fiction, others at building, brick-by-brick, gripping mystery/police procedural plots. Andrew Hunt is crackerjack at both. What's more, in an era of fatally flawed protagonist detectives Hunt gives us a man who is as wholesome as – but no less nuanced than – mother's homemade apple pie.
BookBrowse Editorial Review
The Killing Lessons
by Saul Black
(10/7/2015)
It’s deep. It’s complex. It’s explicit. But, damn, it’s well written. It had to be pure torture to assume the personalities of all these characters, to see and accept them in all their imperfections. But if you can stick with the overt and implied brutality of The Killing Lessons this is, indeed, one hell of a thriller.
BookBrowse Editorial Review
Among the Ten Thousand Things: A Novel
by Julia Pierpont
(8/12/2015)
This is adult fiction at its finest. From the language to the themes to the structure that breaks the rules – interrupting the plot in order to spin out the entire dénouement of their lives mid-book, then returning to the previous micro-view of the present – Among the Ten Thousand Things is not a comfortable book to read, but a fiercely rewarding one.
BookBrowse Editorial Review
Death in Brittany: A Mystery
by Jean-Luc Bannalec
(7/22/2015)
There will be no summer vacation for me this year. But no matter, because I have enjoyed the next best thing: a tour of the romantic north of France, the province of Brittany, along the Atlantic shore. Well, the locale is romantic. The murder is not, nor is the detective tasked with solving the crime.
BookBrowse Editorial Review
Jack of Spades: A Tale of Suspense
by Joyce Carol Oates
(7/8/2015)
Reading (enjoying) Oates’ outstanding first person story about a famous author’s descent into madness made me wonder if there is such a thing as a bildungsroman for alter egos. A kind of coming of age tale about a person’s internal demon that spends a lifetime as a (mostly) harmless, toothless, nascent being that suddenly blossoms into full adulthood. What a delicious – to us horror fans – idea. I wish I had thought of it. Thankfully I didn’t have to. Oates thought of it first. And Jack of Sp
BookBrowse Editorial Review
The Storm Murders: The Storm Murders Trilogy (Volume 1)
by John Farrow
(6/3/2015)
The plot not only thickens, it gels into a teeming, delightful stew (sorry for the mixed metaphor) of clues, red herrings, and blind alleys – some in New Orleans, Louisiana where Sandra is kidnapped. There's even a point where, despite all the law enforcement involved from Montreal to New Orleans to Washington, DC, no one appears above suspicion. Mmm. Delicious. And just when I thought I had it all figured out – yes, Farrow is that tricky – everything I thought was going on was tossed into the a
BookBrowse Editorial Review
The Tightrope Walkers
by David Almond
(4/1/2015)
I truly loved this book, loved Dom and Holly and even Dom’s dad who is so baffled that a son of his can write with such skill. But better than merely loving it, this is an especially good book; a well-written, great story, with fantastic characterization and important themes. I miss Dom already.
BookBrowse Editorial Review
Doctor Death: A Madeleine Karno Mystery
by Lene Kaaberbol
(3/18/2015)
I read this in one sitting, propping it up against the salt-and-pepper shakers at mealtimes. Right away I was drawn in by Danish author Lene Kaaberbol's descriptive prose.
BookBrowse Editorial Review
An Appetite for Violets: A Novel
by Martine Bailey
(2/18/2015)
Can there be anything more fetching to a mystery loving foodie who also enjoys historical fiction than the delicious tale of two women – one a lady, the other a servant – up to some very unsavory doings? No. And Martine Bailey’s debut delivers just that – a tale about Obedience (Biddy) Leigh, a young Eighteenth Century British undercook and the Lady Carinna, Mistress of Mawton Hall.
BookBrowse Editorial Review
The Convert's Song
by Sebastian Rotella
(1/21/2015)
Sebastian Rotella has succeeded in blending a rip-roaring international terrorism thriller with a thoughtful examination of the nature of friendship. I’m sorry to admit I haven't read Rotella’s first novel about Valentin Pescatore (Triple Crossing) because I would like to get to know this character better. Raymond Mercer is utterly so much more fascinating than the good guy. But then I always have had a soft spot for bad boys.
BookBrowse Editorial Review
The Girl Next Door: A Novel
by Ruth Rendell
(1/7/2015)
If you don’t usually like mysteries you will like this one. I can say that with a certain degree of confidence because this is more character study than mystery. Although as a longtime mystery and Rendell fan I can say, also, that this is a very satisfying whodunit.
BookBrowse Editorial Review
Rain Reign
by Ann M. Martin
(11/19/2014)
Rose is the kind of fictional character that anyone would want to know. I realize Rain Reign is a young adult book, but some of the finest fiction of all time has been written for young adult audiences. This is one of them. There is something here that all readers – adults and young people – can benefit from. Should benefit from. I know I have.
BookBrowse Editorial Review
Nine Days: A Mystery
by Minerva Koenig
(11/5/2014)
Wow. That's what I thought as I finished the last page of Ms Koenig's terrific mystery, Nine Days. My next thought: How the heck did I get here? Not because it's an implausible ending. No, sirree. Not only is it a very plausible ending to a delightfully twisty, turny, blind-alley-filled story, but it hints at the beginning of a beautiful friendship between an unlikely but literarily scintillating duo.
BookBrowse Editorial Review
Gutenberg's Apprentice
by Alix Christie
(10/1/2014)
Gutenberg’s Apprentice is my favorite kind of historical novel, the kind that inspires me to stop every couple of chapters and ponder. Alix Christie’s extraordinary book made me want to ponder the tremendous ruthlessness of History (capital H intended), how it takes no prisoners when its gears begin to churn out global change. We see it today in so many ways, but seldom reflect on the individual lives of those who were chosen to mete out those changes. Changes without which nothing
BookBrowse Editorial Review
A Colder War
by Charles Cumming
(9/17/2014)
Cumming writes about spies with an acid-burnt edge of short, staccato chapters that spill information piecemeal on a need-to-know basis and build in true espionage fashion to a teeth-rattling implosion. Cold. So cold indeed. Scary cold.
BookBrowse Editorial Review
One Kick: A Kick Lannigan Novel
by Chelsea Cain
(9/3/2014)
If you like complex protagonists you absolutely must meet Kick. But be forewarned, she is given to fits of out-of-the-blue behavior that can inflict cognitive whiplash. The young woman is very deep and very threatening – threatening to become my favorite fictional character, that is.
BookBrowse Editorial Review
Euphoria
by Lily King
(7/9/2014)
This is a damn good book. It's a compelling story with fascinating characters. Cover to cover, it is just a really great read.

Now that we've got that out of the way I want to suggest you ignore other professional reviews of Lily King's Euphoria, at least until after you've read the book yourself. Don't get me wrong. There are no spoilers. But, had I read the reviews, I might have been turned off of this terrific novel about three scientists studying indigenous New Guinea tribes
BookBrowse Editorial Review
Invisible City: A Rebekah Roberts Novel
by Julia Dahl
(6/4/2014)
There is so much packed into Dahl’s scaled-down narrative: the murder (not a spoiler), the contrast between what is taught in journalism class and the reality of boots-on-the-ground reporting, the tacit acceptance of lowest-common-denominator tabloids versus lofty journalistic ideals, the whole motherless child vibe that thrums within Rebekah’s psyche, and the relevance of ultra-conservative, misogynistic religious communities. Indeed, perhaps the only flaw in Dahl’s debut is a few scattered len
BookBrowse Editorial Review
Lovers at the Chameleon Club, Paris 1932
by Francine Prose
(5/7/2014)
...the stories ensue with a medley of deliciously unreliable narrators told, by turns, in the unique voices of Yvonne and Gabor, of his patron, wealthy baroness Lily De Rossignol, of Lionel Maine, and of Gabor’s wife, Suzanne and her niece, Lou’s biographer. Honestly, Prose’s writing is so striking in its own chameleon-like ability to adjust to the diverse points of view and voices that that quality alone makes this a worthwhile read.
BookBrowse Editorial Review
The Storied Life of A. J. Fikry: A Novel
by Gabrielle Zevin
(4/9/2014)
Zevin has written a near-perfect novel. Punctuated by explicit references to classic short stories, implicit literary references, self-deprecating swipes at literary snobs (Is a twist less satisfying if you know it’s coming? Is a twist that you can’t predict symptomatic of bad construction?) and book club discussions, with humor and flawless characterization, The Storied Life of A.J. Fikry fills all the bills in straightforward, no-frills prose.
BookBrowse Editorial Review
Gemini
by Carol Cassella
(4/9/2014)
With expert foreshadowing so delicate that I missed it on the first read, Cassella draws me in with wicked plot twists until I can’t wait to find out how it all ends, but I don’t want it to end because her descriptions of things, emotions, feelings are so good that I want more.
BookBrowse Editorial Review
The Hit
by Melvin Burgess
(3/19/2014)
It’s been a long while since a thriller made me think; presented me with complex issues even while I was hungrily turning pages to get onto the next step, the next cliff. But Michael Burgess’s The Hit – about Adam, a 17-year-old Manchester youth who goes on a weeklong drug-addled bender knowing he will die at the end of it – does just that. Indeed, now that I think of it, reading the book is a bit like taking a weeklong trip. Except, of course, you’re chomping down the pages so quickly t
BookBrowse Editorial Review
The Book of Heaven
by Patricia Storace
(3/5/2014)
I am not a biblical scholar, nor do I think it's necessary to be one to enjoy The Book of Heaven. As with any magical fiction, Storace takes liberal poetic license with these historical women's stories. The original tales were written by men; told from their perspective. Storace has clearly has pondered these women's lives and experiences and has arrived at these different allegories; told from their perspectives. As a woman it is not all that difficult for me to give myself - and my disb
BookBrowse Editorial Review
The Good Luck of Right Now
by Matthew Quick
(3/5/2014)
The self-awareness, the humanness of these flawed but beautiful characters makes them just as important to the world as Type A overachievers and we ought to learn to appreciate them. This, plus Quick's lovely, sharp, funny prose, is what makes The Good Luck of Right Now a very worthwhile read.
BookBrowse Editorial Review
The Gospel of Winter
by Brendan Kiely
(2/5/2014)
To be honest, as a mother of two (now grown) sons I reacted viscerally to this novel. Make no mistake. There is no graphic sexuality here. No. What is worse is the raw, graphic emotion.
BookBrowse Editorial Review
Detroit Shuffle: A Detroit Mystery
by D. E. Johnson
(11/6/2013)
My only, albeit infinitesimal, complaint is that sometimes Johnson's story arc and wickedly sharp characterizations fall second place under the weight of these meticulously researched descriptions. But as I think about it, that may just be Johnson's secret to plot pacing. Because he is indeed a master at establishing a finely tuned tempo, holding a reader just breathless enough to keep turning page after page.
BookBrowse Editorial Review
Then We Take Berlin
by John Lawton
(10/2/2013)
Have you ever come late to a party thinking you missed most of the fun, only find out that the best was yet to come? Well, I seem to have come late to John Lawton’s party because this is the first book of his that I’ve read. And it is so good that I will now pick up his previous seven (Frederick Troy) books. What’s more, I look forward to his next book about John Wilfred Holderness, aka Wilderness, aka Joe.
BookBrowse Editorial Review
Visitation Street
by Ivy Pochoda
(8/21/2013)
I am in awe of Pochoda's craft, not just because of her skill in placing the reader viscerally at the heart of Red Hook, but because she can do so without sacrificing the story line. There's no noticeable break in the forward action of the plot.
BookBrowse Editorial Review
The Summer of Dead Toys: An Inspector Salgado Thriller
by Antonio Hill
(7/24/2013)
Like the titillating glimmer in the eye of a handsome stranger, a book that makes me laugh on its first page promises pleasures untold. I've been known to be a sucker for both. What's more I've also been known to swoon over well crafted, flawed, quirky or wicked-smart protagonists. And Antonio Hill's Inspector Hector Salgado - from his debut novel The Summer of Dead Toys - is all of these rolled into one.
BookBrowse Editorial Review
The Midwife's Tale
by Samuel Thomas
(3/6/2013)
The sights, the sounds, the aura of midwifery and the city of York in the midst of rebellion resonate as if part of a chorus that thrums behind the tune of Thomas's charming mystery. The only flaw in this otherwise consonant novel is that we know so little of the characters' backstories. I am hoping there will be more from Thomas and the machinations of the team of Lady Bridget Hodgson and her servant, Martha Hawkins.
BookBrowse Editorial Review
The Prophet
by Michael Koryta
(9/12/2012)
Hot diggity! How can you lose by reading a gritty whodunit about football, smack in the thick of football season? Here's the thing: You can't. Even if you're not a football fan. Even if you can't tell a cornerback from a lineman. Because, see, I don't even know the difference between those two positions and I loved this book. Michael Koryta takes full advantage of the football theme in The Prophet. It serves as a story arc, a metaphor and - most interestingly - structure for this dark thr
BookBrowse Editorial Review
The English Monster: or, The Melancholy Transactions of William Ablass
by Lloyd Shepherd
(7/25/2012)
Shepherd's devilishly clever debut isn't just a swashbuckler, nor is it just an historic thriller or a police procedural or even an allegory with a soupçon of magical realism. No. It's an elegant admixture of several genres and a smashing feat of derring-do that roller coasters between the 16th and 19th centuries. And although there is a satisfying conclusion, it is less important than the ride. With all its twists and turns, there is a singular free fall that clinches the story, making the
BookBrowse Editorial Review
Flight from Berlin: A Novel
by David John
(7/25/2012)
If Berlin feels like a scary fog, John's coverage of scenes from the Olympic competitions puts the reader smack inside the roar and excitement of the crowds. Combining the pressure of young athletic performances with the stress of Hitler's efforts to stage a phony humanitarian show for the watching world and the unwinding fictional espionage plot highlights John's authorial mastery. It rivals the very best of spy novels. I would like to see more of Richard Denham, maybe in another adventure sinc
BookBrowse Editorial Review
In the Kingdom of Men: A Novel
by Kim Barnes
(6/14/2012)
Kim Barnes is a genius. I got so swept away in the company of her ruthless, ruthful, grasping men that for the space of 314 pages I was Virginia Mae (Gin) McPhee. Thanks to Barnes's masterly personification, Gin breaks the bonds of the mere mundane fictional heroine - cuts the marionette strings as it were - and blooms into an irrepressible everywoman.
BookBrowse Editorial Review
The Sadness of the Samurai: A Novel
by Victor del Arbol
(5/30/2012)
I have to applaud any author who can weave so many threads into such a smart, fascinating yarn... If you like your thrillers simple, straightforward, good-guys/bad-guys, this is not a novel for you. But if, like me, you like to savor a sophisticated chiller then by all means dig into this one.
BookBrowse Editorial Review
Lehrter Station: A John Russell WWII Thriller
by David Downing
(5/16/2012)
This is not a heartening look at post-war Europe by any means. Nor is it a reassuring view of war, period. And at times characterization and plot take a back seat to setting the scene of the abject devastation of people's lives, friends, family and homes. So, has Downing written a novel or an anti-war polemic? Maybe it is a little of each. For many of us, recent wars have waged nearly invisible damage on our everyday lives; perhaps Downing's work is intended to deliver the feel if not the realit
BookBrowse Editorial Review
Forgotten Country
by Catherine Chung
(3/21/2012)
...Chung knows her protagonist, and the strength of that finely tuned characterization carries the plot. Even when some plot points remain unresolved, it is forgivable because, well, that's just the kind of person Janie is. Her Eastern/Western culture blend doesn't beg easy answers or pat resolutions. So, reader, we will have to forego them as well. No matter. Really. Some of the best books leave us with undigested morsels to ponder at our leisure. Now that Chung has reached such a high bar with
BookBrowse Editorial Review
Or the Bull Kills You: A Mystery
by Jason Webster
(11/3/2011)
Beyond Max's sharply drawn character, Webster weaves a finely intricate mystery with political intrigue, social commentary, and sufficient cultural background for those of us unfamiliar with Spain's complex relationship with bullfighting... Despite a couple minute points off for drawing Max too like other fictional crime fighters, Webster's protagonist is strong enough and the narrative well-crafted enough to stand this series debut in good stead among its peers. I really can't wait to read more
BookBrowse Editorial Review
Killed at the Whim of a Hat: A Jimm Juree Mystery, #1
by Colin Cotterill
(9/21/2011)
Cotterill's wry, irreverent sense of humor is a drone missile that quietly cruises from page to page, taking no prisoners. In varying degrees, everybody and everything is fair game. In short, this is my kind of book. So much so that while reading it I stopped several times to recite passages aloud to my husband.
BookBrowse Editorial Review
The Wild Life of Our Bodies: Predators, Parasites, and Partners That Shape Who We Are Today
by Rob Dunn
(8/4/2011)
Some readers may feel that the message biologist and noted science writer Rob Dunn conveys is somewhat unsavory, but no one can deny his delivery is outstanding. In other words, you won't want to shoot this messenger just because his assertions have a certain "ew" factor. With a brio and rakish good humor only a biologist can bring to the table, Dunn details exactly how "biological" we human beings are - even as we try our darnedest to separate ourselves from the microscopic, symbiotic critters
BookBrowse Editorial Review
Funeral for a Dog: A Novel
by Thomas Pletzinger
(4/6/2011)
Picking up Pletzinger's literary tour de force, Funeral for a Dog, feels like crashing a party that is in full swing by the time you walk in the door. If you've ever entered a roomful of people you don't know, but who all know each other, you can relate. It may take some time and trust in Pletzinger's authorial skill to get into the groove of the book - and maybe a glass or two of wine - but in the end, your efforts will be worthwhile.
BookBrowse Editorial Review
The Fates Will Find Their Way: A Novel
by Hannah Pittard
(3/9/2011)
Pittard so successfully and effortlessly blends these boys' voices into those of grown men that even though we never truly know for certain what happens to Nora, by the last page we do feel that the mystery, the fantasies about Nora Lindell have come full circle.
BookBrowse Editorial Review
Miracles, Inc.: A Novel
by T.J. Forrester
(2/3/2011)
Forrester's wizardry at creating a truly complex character makes reading this book a thoroughly amusing mental exercise.
BookBrowse Editorial Review
Take Me Home: A Novel
by Brian Leung
(11/3/2010)
Brian Leung's haunting, lyrical love story is a powerful parable about how someone's personal history can be superseded by the creative machinations of those involved in writing history... In the end, it seems that Leung is reminding us that the stories - both personal and national - that endure are not necessarily the whole truth but simply a version of the storyteller's truth.
BookBrowse Editorial Review
Great House: A Novel
by Nicole Krauss
(10/20/2010)
One of the best things about being a BookBrowse book critic is gaining advance notice that a favorite author has written a new book. Which is why, as soon as I learned that Nicole Krauss had a new novel slated for release, I jumped at the opportunity to review it. I have been a fan for a while and couldn't wait to read her latest. She did not disappoint. Great House possesses the same inventive, graceful prose that she's known for.
BookBrowse Editorial Review
Keeper: One House, Three Generations, and a Journey into Alzheimer's
by Andrea Gillies
(9/8/2010)
There are memoirs that inspire and there are memoirs that are inspired. Gillies's exceptional, award-winning account of caring for her ailing mother-in-law fits squarely into both categories... Punctuating her candid personal experiences and lots of medical information on Alzheimer's are glorious morsels of truth gleaned from the wisdom of the ages... This is not a feel-good book. At times, everyone's suffering is so raw it's painful. But this is also a beautiful, perceptive and inspiring book.
BookBrowse Editorial Review
The Debba
by Avner Mandelman
(9/8/2010)
If The Debba were a building it might be an M.C. Escher-like structure with staircases doubling back onto themselves creating an awesome network of levels and plotlines. On the surface this may appear to be a murder mystery, but from page one it became clear to me that it was much more than I was expecting... This is a fine book for readers who, like me, have basically only broad-brush knowledge of Middle East politics, have few preconceptions about said politics and who relish ingeniousl
BookBrowse Editorial Review
The Lonely Polygamist: A Novel
by Brady Udall
(7/8/2010)
Thanks to Udall's awesome ability to craft these lives and this place – the American west – Golden et al come off the page and join the reader ... I am going to miss Golden Richards. And Trish, Golden's fourth wife. And Cooter, Golden's bug-eyed dachshund mix who, due to an obsessive licking problem, occasionally has to wear tiny undershorts that once belonged to a Swingin' Baby Timmy doll and are "all white except for a yellow explosion on the rear, inside of which the words HOME RUN!!! were pr
BookBrowse Editorial Review
The Ask: A Novel
by Sam Lipsyte
(4/21/2010)
No sacred cows are spared by Sam Lipsyte's laser wit as he chronicles the analog life and digital times of protagonist Milo Burke. What this means is, rather than a sleek, flashy hi-def 21st century video game Milo's tale more easily resembles an old-fashioned pinball game... The Ask makes delicious fun at the expense of this man whose job consists of begging (called "the ask") donations (called "the give") from tightfisted millionaires to benefit his third-rate university.
BookBrowse Editorial Review
The Bad Book Affair: A Mobile Library Mystery
by Ian Sansom
(3/3/2010)
Mr. Sansom's fourth in the Mobile Library Series is a 3-D book. No, it is not a pop-up book. Nor is it so described because the characters and their small town in Northern Ireland come forward fully formed like Venus from the sea, although that is certainly part of it. It's because in addition to depth and definitude, Sansom adds a third dimension: daftness. Daftness is such a rarified dimension, a stratum where only the immensely gifted can survive. Here is where Sansom thrives. The characters,
BookBrowse Editorial Review
Chronic City
by Jonathan Lethem
(10/21/2009)
If Jonathan Lethem's novels were food they would pile the pounds on those who consume them, not from empty calories but from a rich feast of extravagant fare, like lobster in drawn butter or Eggs Benedict swimming in creamy hollandaise. It invariably takes me a long time to read his books because every page bursts with lush language. Lethem uses words and tosses reality around with awe-inspiring creativity. With the possible exception of Motherless Brooklyn (which I loved and re-read to s
BookBrowse Editorial Review
This Is Where I Leave You
by Jonathan Tropper
(10/7/2009)
Be warned: you will laugh. You may not always be proud of why you're laughing, but unless you're a paragon of virtue who can resist all urges to indulge in a little schadenfreude, you will laugh. Laughter aside, however, beneath Tropper's wicked sense of humor there is a universal substructure of wisdom that is applicable to all families and blood relationships. Read it and weep… and laugh.
BookBrowse Editorial Review
Girl in a Blue Dress: A Novel Inspired by the Life and Marriage of Charles Dickens
by Gaynor Arnold
(9/2/2009)
Freshman novelist Gaynor Arnold exquisitely manages to imbue a story that takes place more than 150 years ago with a ripped-from-today’s-headlines texture, while simultaneously hurtling readers headlong into the heart and soul of Victorian womanhood... Thank you, Gaynor Arnold, for one fine novel.
BookBrowse Editorial Review
Huge
by James Fuerst
(8/12/2009)
Fuerst’s small-time detective and his whodunit mystery delivered me straight to readers' heaven... Huge's narrative voice swings seamlessly from snappy wiseguy cant to philosophical musings, pre-teen naïveté and savvy smarts without losing the essence of the boy's character... An unlikely combo of pulp PI-wit plus 19th Century transcendentalism contributes to Eugene's uber-unique charm.
BookBrowse Editorial Review
The Big Steal
by Emyl Jenkins
(8/12/2009)
Although we don't know whether or not protagonist Sterling Glass is a "traditionally built" woman, she does possess much of the same type of homespun, parent-inspired wit and wisdom of Alexander McCall Smith's Mma Precious Ramotswe... This generates an irresistible charm and adds depth to a character that becomes frosting on the cake of what I would call an engaging American parlor mystery.
BookBrowse Editorial Review
The Bellini Madonna: A Novel
by Elizabeth Lowry
(6/10/2009)
Elizabeth Lowry’s Thomas Joseph Lynch can hold his own among the best fictional characters. In the end we do like Lynch but abhor certain aspects of his character. He may not be trustworthy but he is a hell of a storyteller and Lowry's elegant-on-steroids prose (Oxford English Dictionary editor, indeed) does as much to elevate Lynch to best-fictional-character status as do his actions. Crackpot or not (you decide) we would have Thomas Joseph Lynch over for dinner but likely count the silver afte
BookBrowse Editorial Review
A Visible Darkness: A Mystery
by Michael Gregorio
(4/22/2009)
Chief among the many gifts the husband and wife writing team of Michael G Jacob and Daniela De Gregorio bring to this atmospheric thriller is the ability to deliver the environment of Prussia's Baltic Coast in 1808 as a living, breathing, odiferous locale. Indeed, it is fair to say I spent a good deal of the time reading this novel with my nose wrinkled. But that is a good thing, since the effect not only enhances a sense of place but brings the summer of 1808 to the forefront to the extent that
BookBrowse Editorial Review
Losing My Religion: How I Lost My Faith Reporting on Religion in America-and Found Unexpected Peace
by William Lobdell
(4/22/2009)
One way I can tell whether a nonfiction book has met its goal is if, after finishing it, I want to call the author and invite him/her to lunch. I have to say that nothing would make me happier than spending a quiet spring afternoon sipping a nice sauvignon blanc and chatting with Bill Lobdell. I feel just that close to him. More than that, I feel we are kindred spirits; battered souls on a quest to make sense of a confusing world. Better yet, I think there are more people who have a lot more in
BookBrowse Editorial Review
Bruno, Chief of Police
by Martin Walker
(4/1/2009)
I’m glad to know that Walker promises more Bruno books. As for the flagship novel of the series, it was such a pleasure to read that I can’t help but suspect Walker had equal fun writing it.
BookBrowse Editorial Review
Eclipse
by Richard North Patterson
(2/19/2009)
Simplicity is something to which Patterson never succumbs, even though at times it might feel a blessing. But in the cosmos of Eclipse there are almost more strata of complex desire, motivation and intention than it is possible to track. And each desire, motivation and intention eclipses something else until no character is able to see things plainly. It is what sets a Richard North Patterson thriller apart from its competitors on bookstore shelves and keeps him hitting the New York Times
BookBrowse Editorial Review
Beat the Reaper: A Novel
by Josh Bazell
(2/5/2009)
In between dodging bad guys Brown tries to keep up his hospital rounds and patient care while becoming more and more sleep-deprived and even more "upper" drug dependent. Things become increasingly zany to the point where he notes that, "you may have taken things too far…when you're holding a knife you've just made out of your own shinbone." Oh, yeah. Beat the Reaper is just that gritty. But it is testament to Bazell's skill that he can deliver a message of personal responsibility and acco
BookBrowse Editorial Review
Land of Marvels: A Novel
by Barry Unsworth
(1/21/2009)
Unsworth has a narrative style that sneaks up on you. Understated, subtle but not slow moving each sentence entices, lures, teases, dares you to read the next until you are immersed in a place, a time, a convergence of personalities that you can't get out of your head. And that's okay, because Land of Marvels proves you can trust this Booker Prize winning author. The characters are true to themselves. The place is familiar yet exotic and more than a little scary. And the times, well, the
BookBrowse Editorial Review
Bamboo and Blood: An Inspector O Novel, #3
by James Church
(1/7/2009)
James Church has crafted the quintessential quiet man trying his best to do his job within a corrupt and volatile political system while not allowing its values to reset his own moral compass. The narrative says it all as Inspector O's first person account unveils a man of few words – indeed the dialogue is spare almost to the point of stark – but with incredibly picturesque and insightful observations. O is at once a man of his country, one gets a picture of a land of lean beauty and unforgivin
BookBrowse Editorial Review
The Graveyard Book
(10/15/2008)
In all – despite brief bouts with rather grisly evildoers – this is a most satisfying tale suitable for children ten and older. Gaiman's lyrical prose not only mitigates the book's more unpleasant occurrences it elevates the stature of its warmest and most endearing characters. And his crisp dialogue speaks to the kind of hipness that pre-teens most enjoy.
BookBrowse Editorial Review
The Black Tower
by Louis Bayard
(10/1/2008)
Good books satisfy a reader's curiosity about plot points. Excellent books do that plus they leave a reader with more, rather than less, to ponder about life and the world we live in. Damn you, Bayard, your book with all its questions will haunt me for a long time to come.
BookBrowse Editorial Review
The Irregulars: Roald Dahl and the British Spy Ring in Wartime Washington
by Jennet Conant
(9/18/2008)
Conant's spirited account brings all these characters and their wartime intrigue to scintillating life as she drops names and exposes more extramarital affairs among the nation's powerbrokers than today's religious right wingers could shake a "shame-on-you stick" at.
BookBrowse Editorial Review
Tethered: A Novel
by Amy Mackinnon
(8/13/2008)
Tethered is the first book in recent memory that I absolutely could not read fast enough to see how it comes out .... I still can't say whether Tethered should be categorized as a mystery or a literary novel but what I do know is that with her stupendous prose and intricate characterizations MacKinnon has penned a winner.
BookBrowse Editorial Review
A Vengeful Longing: A Novel
by R. N. Morris
(7/11/2008)
While characterization is a commanding aspect of Morris's book the author is equally adept at grounding the story with a powerful sense of place and time. He depicts the political atmosphere of mid 19th century Imperial Russia using a light, almost painterly, hand. Subtle hints to the era's diverse attitudes toward the Tsar and government in general lie buried within the dialog. More explicit descriptions of the sweltering summer heat plus lengthier passages portraying the unspeakably bleak livi
BookBrowse Editorial Review
Finding Nouf
by Zoe Ferraris
(6/18/2008)
Finding Nouf is as much a riveting mystery as it is an absorbing profile of the conflict between the traditional and the modern in Saudi Arabian/Islamic culture.

Ferraris, an American who spent some time in Saudi Arabia, clearly came away with a comprehension of and sensitivity to the virtues and the flaws of a culture that pours through her characters' thoughts and actions and culminates in a great read. I hope there are more adventures with Nayir and Katya to come.
BookBrowse Editorial Review
The House at Riverton: A Novel
by Kate Morton
(5/15/2008)
While other reviewers have faulted The House at Riverton for being slow moving I think it moves along at just the right pace. In order to get to know Grace in all her complexity the plot couldn't be rushed. Peering, as we do, into her memories gives us a thorough understanding of where she has been, how she has evolved and who she currently is. It also establishes motivation for the actions of the people she summons up from her past. In the end I was glad to have become acquainted with Gr
BookBrowse Editorial Review
Wolf Totem
by Jiang Rong
(4/17/2008)
There is so much to glean from Jiang Rong's sprawling semi-autobiographical novel that it's tempting to suggest a second read, if not the whole book, at least parts of it. Although Jiang has taken criticism in other reviews for underdeveloped characters, there is no need to develop them further. So what if, aside from Chen, Bilgee, Little Cub and the landscape, the others are distinctly 2-D? The story is told. The points are made. Powerfully. Jiang's recollections of his time on the steppes of I

Reviews (2)

Half-Blood Blues: A Novel
by Esi Edugyan
Superb (2/29/2012)
As a lifelong blues/jazz fan I couldn't wait to read this book after I read about it over a month ago. It was so well worth the wait! What a terrific book. Edugyan captures the tone, rhythm and feel of the characters, their dialog and narrative. And he creates a real sense of time and place, particularly the episodes that take place in Nazi Germany. Even so you can really feel the contrasting atmospheres of fear (of the Nazis) and freedom (of the music). This book superbly combines the worlds of music, history, mystery and literary fiction. I highly recommend "Half-Blood Blues". It is well written, original and enjoyable with memorable characters.
The Marriage of True Minds
by Stephen Evans
I laughed. I cried. I'll read it again. (2/18/2008)
Evans has created a perfectly limned representation of a flailing two-headed, multi-armed creature struggling to reign in the mercurial insanity of Nick Ward and Lena Grant’s relationship. They’re divorced, they’re ex-law partners, they’re still in love and their love has made them both more than a little crazy. None of that takes anything away from this witty, clever and charming little story. Indeed, it’s all the better because of the insanity.

BookBrowse Book Club

Book Jacket
The Cover Girl
by Amy Rossi
Find them early enough, and they will always be her girls.

Members Recommend

  • Book Jacket
    The Sister's Curse
    by Nicola Solvinic
  • Book Jacket
    The Lost Story of Eva Fuentes
    by Chanel Cleeton
    A mysterious book links three women across generations in this novel by New York Times bestselling author Chanel Cleeton.
  • Book Jacket
    The Vanishing Place
    by Zoë Rankin
Who Said...

Judge a man by his questions rather than by his answers.

Click Here to find out who said this, as well as discovering other famous literary quotes!

Book
Trivia
  • Book Trivia

    Can you name the title?

    Test your book knowledge with our daily trivia challenge!

Wordplay

Solve this clue:

W the C A the M W P

and be entered to win..

Your guide toexceptional          books

BookBrowse seeks out and recommends the best in contemporary fiction and nonfiction—books that not only engage and entertain but also deepen our understanding of ourselves and the world around us.

 


Debugging Information
ColdFusion Server Developer 2021,0,13,330286
Template /readers/index.cfm
Time Stamp 01-Jun-26 12:20 AM
Locale en
User Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Remote IP 127.0.0.1
Host Name 127.0.0.1


Execution Time

Total Time Avg Time Count Template
1780273232190 ms 1.78027323219E+012 ms 1 /root/website/app_server.cfm
3554 ms 3554 ms 1 /root/website/readers/index.cfm
3052 ms 3052 ms 1 /root/website/readers/dsp_profile.cfm
253 ms 253 ms 1 /root/website/app_globals.cfm
166 ms 166 ms 1 /root/website/app_layout.cfm
118 ms 59 ms 2 /root/website/queries/qry_get_preview_by_id_for_search.cfm
93 ms 93 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
80 ms 40 ms 2 /root/website/adsystem/adsystem_mod.cfm
80 ms 80 ms 1 /root/website/queries/qry_get_active_obc.cfm
44 ms 44 ms 1 /root/website/queries/qry_get_current_competition.cfm
43 ms 43 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
42 ms 42 ms 1 /root/website/adzones/showcase_track.cfm
42 ms 21 ms 2 /root/website/queries/qry_get_preview_awards_by_id.cfm
41 ms 41 ms 1 /root/website/adzones/AdZone6.cfm
40 ms 40 ms 1 /root/website/actions/adstatus.cfm
40 ms 40 ms 1 /root/website/queries/qry_get_member_profile.cfm
40 ms 40 ms 1 /root/website/queries/qry_get_reviews_by_member.cfm
34 ms 34 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
33 ms 33 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
32 ms 11 ms 3 /root/website/actions/act_spider_tracker.cfm
30 ms 30 ms 1 /root/website/queries/qry_get_following_count.cfm
25 ms 25 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
22 ms 22 ms 1 /root/website/act_check_login.cfm
21 ms 21 ms 1 /root/website/queries/qry_get_member_info.cfm
18 ms 18 ms 1 /root/website/queries/qry_get_follower_count.cfm
15 ms 15 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
9 ms 9 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
1 ms 1 ms 1 /root/website/act_libraryIPLogin.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/site/blocks/dsp_border_booktalk.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/main_menu.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/formurl2attributes.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_current_ezine.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_reader_reviews_power_reviewers.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_header_newsletter.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_wordplay.cfm
0 ms 0 ms 1 /root/website/site/blocks/email_modal.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
3 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
3557 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=31ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 00:20:32.032
SELECT	a.bot_number
        FROM	bots a
        WHERE	charindex(a.bot_name, ?) > 0
		OR a.bot_ip = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Parameter #2(cf_sql_varchar) = 127.0.0.1

get_member_info (Datasource=bookbrowse_com_new, Time=21ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 00:20:32.032
select 	a.*, 
    		b.member_account_type_name, b.member_account_type_charge, b.member_account_type_charge_frequency,  b.member_account_type_months, 
            c.member_chargetype_name, c.member_chargetype_number, a.member_classification_number, a.member_book_format
	
    from members a, member_account_types b, member_chargetype c
	
    where a.member_account_type_number = b.member_account_type_number
	and a.payment_method_id = c.member_chargetype_number
	and a.member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

adactive (Datasource=bookbrowse_com_new, Time=40ms, Records=2) in /root/website/actions/adstatus.cfm @ 00:20:32.032
SELECT	viewby, section
    FROM	adsystem 
    WHERE	active  = 1 
    AND		start_date <= GETDATE()
    AND 	(viewby = ? OR viewby = 'all')
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = non

get_current_ezine (Datasource=bookbrowse_com_new, Time=0ms, Records=1, Cached Query) in /root/website/queries/qry_get_current_ezine.cfm @ 00:20:32.032
select		top 1 ezine_number, ezine_dt, ezine_image, ezine_brief_description, ezine_introduction
from		ezines
where		ezine_active_flag = 1
and 		ezine_type_number = 4
and			ezine_dt < getdate()
order by 	ezine_dt DESC
get_current_wordplay (Datasource=bookbrowse_com_new, Time=25ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 00:20:32.032
SELECT		a.wordplay_number, a.wordplay_dt, a.wordplay_name, a.wordplay_intro_text, b.wordplay_puzzle_number, b.wordplay_puzzle_question
    FROM		wordplays a 
	INNER JOIN	wordplay_puzzle_mapping c on c.wordplay_number = a.wordplay_number
	INNER JOIN	wordplay_puzzles b on b.wordplay_puzzle_number = c.wordplay_puzzle_number
	WHERE		a.wordplay_number = (	select top 1 a.wordplay_number
                                from wordplays a, wordplay_puzzles b, wordplay_puzzle_mapping c
                                where a.wordplay_number = c.wordplay_number
                                and b.wordplay_puzzle_number = c.wordplay_puzzle_number
                                and a.wordplay_dt < getdate()
                                and a.wordplay_expiration_dt > dateadd(day, -1, getdate())
                                order by a.wordplay_dt asc
                                )
get_ComNo (Datasource=bookbrowse_com_new, Time=21ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 00:20:32.032
SELECT 	TOP 1 	x.competition_number, x.bb_briefs_flag
	from			competitions x
	
		WHERE	x.competition_dt <= getdate()
		AND		x.competition_expiration_dt > dateadd(d,-1,getdate())
get_current_competition (Datasource=bookbrowse_com_new, Time=21ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 00:20:32.032
SELECT 	x.competition_number, x.book_number, x.competition_teaser_title, x.competition_teaser_description, x.competition_intro_text, x.competition_expiration_dt, x.bb_briefs_flag, x.competition_full_info_flag, x.competition_type, x.competition_optin,x.competition_optin_text, 
				a.book_title as "title",
				(b.author_first_name + ' ' +  b.author_middle_initial + ' ' + b.author_last_name) as "author",
	            f.edition_publish_dt AS "hardcover_publish_dt", f.edition_jacket_image as "hardcover_jacket_image",
				g.edition_publish_dt AS "paperback_publish_dt", g.edition_jacket_image as "paperback_jacket_image"
	
		FROM 		competitions x
		INNER JOIN	books a on a.book_number = x.book_number
		INNER JOIN	book_author_mapping c on c.book_number = x.book_number
		INNER JOIN	authors b on c.author_number = b.author_number
		LEFT JOIN	editions f on a.book_number = f.book_number and f.edition_paperback_flag = 0
		LEFT JOIN	editions g on a.book_number = g.book_number and g.edition_paperback_flag = 1

		WHERE		x.competition_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

get_previous_arcs_for_ad (Datasource=bookbrowse_com_new, Time=0ms, Records=0, Cached Query) in /root/website/queries/qry_get_previous_arcs_for_ad.cfm @ 00:20:32.032
SELECT 	a.arc_number,a.arc_client_url,a.arc_active_dt, a.arc_off_ad_dt,
		b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publisher, 
		b.ezine_preview_publish_dt, b.ezine_preview_jacket_desc, b.ezine_preview_number_of_pages, b.ezine_preview_bb_comments, b.ezine_preview_isbn13,
		c.ezine_preview_category_name AS "ezine_preview_category",
		(select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) as "reviews",
		(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
				 ELSE 0
				 END)
 			from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating,
 			(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,1))) AS numeric(12,1)))from arc_allocator where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS "decrating"

FROM arcs a
INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
INNER JOIN ezine_preview_categories c ON b.ezine_preview_category_number = c.ezine_preview_category_number

WHERE arc_closed_flag = 1
AND arc_obc_flag = 0
AND getdate() >= arc_on_ad_dt
AND getdate() < arc_off_ad_dt

ORDER BY a.arc_on_ad_dt DESC
get_future_obc (Datasource=bookbrowse_com_new, Time=19ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 00:20:32.032
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text, arc_on_ad_dt,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages, ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	
	WHERE 		arc_obc_flag = 1

	AND 		getdate() < arc_on_ad_dt
	
		ORDER BY  	NEWID()
get_active_obc (Datasource=bookbrowse_com_new, Time=29ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 00:20:32.032
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE 		a.arc_obc_flag = 1
	AND			a.arc_active_flag = 0
	AND 		arc_closed_flag = 1
	AND 		getdate() >= arc_on_ad_dt
	AND 		getdate() < arc_off_ad_dt
	ORDER BY  	NEWID()
get_recent_obc (Datasource=bookbrowse_com_new, Time=30ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 00:20:32.032
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE a.arc_number IN (select top 4 arc_number
							from		arcs
							WHERE 		arc_obc_flag = 1
							AND			arc_active_flag = 0
							AND 		arc_closed_flag = 1
							AND 		getdate() > arc_off_ad_dt
							ORDER BY	arc_on_ad_dt DESC)
	ORDER BY  	NEWID()
get_member_profile (Datasource=bookbrowse_com_new, Time=39ms, Records=1) in /root/website/queries/qry_get_member_profile.cfm @ 00:20:32.032
SELECT  m.member_number, m.discourse_username, m.member_first_name, m.member_last_name, m.profile_image_url, m.member_full_name, m.member_bio, m.external_link, m.member_classification_number, m.member_email
        FROM    members m
        WHERE   m.member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1351

get_reviews_by_member (Datasource=bookbrowse_com_new, Time=40ms, Records=2) in /root/website/queries/qry_get_reviews_by_member.cfm @ 00:20:32.032
SELECT  a.book_number, a.ezine_preview_number, a.reader_review_number,
            COALESCE(NULLIF(LTRIM(RTRIM(m.discourse_username)), ''), NULLIF(LTRIM(RTRIM(a.reader_review_reviewer_name)), '')) AS reader_review_reviewer_name,
            a.reader_review_title, a.reader_review_rating, a.reader_review_description, a.reader_review_dt,
            (SELECT COUNT(*) FROM reader_review_likes rl WHERE rl.reader_review_number = a.reader_review_number) AS like_count
    FROM    reader_reviews a
    LEFT OUTER JOIN members m ON m.member_number = a.member_number
    WHERE   a.member_number = ?
    AND     a.reader_review_approved_flag = 1
    
        ORDER BY a.reader_review_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1351

get_follower_count (Datasource=bookbrowse_com_new, Time=18ms, Records=1) in /root/website/queries/qry_get_follower_count.cfm @ 00:20:32.032
SELECT COUNT(*) AS follower_count
    FROM member_follows
    WHERE followed_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1351

get_following_count (Datasource=bookbrowse_com_new, Time=29ms, Records=1) in /root/website/queries/qry_get_following_count.cfm @ 00:20:32.032
SELECT COUNT(*) AS following_count
    FROM member_follows
    WHERE follower_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1351

get_reviewer_number (Datasource=bookbrowse_com_new, Time=29ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 00:20:32.032
SELECT TOP 1 reviewer_number
                FROM reviewers
                WHERE reviewer_email = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = donna@thewritecoach.com

get_reader_reviews_power_reviewers (Datasource=bookbrowse_com_new, Time=0ms, Records=50, Cached Query) in /root/website/queries/qry_get_reader_reviews_power_reviewers.cfm @ 00:20:32.032
SELECT 		top 50 reader_review_reviewer_email_address, count(reader_review_reviewer_email_address) as "count"
	FROM 		reader_reviews
	WHERE 		reader_review_reviewer_email_address like '%@%'
	AND 		reader_review_reviewer_email_address <> 'reviews@bookbrowse.com'
	GROUP BY 	reader_review_reviewer_email_address
	
	
	ORDER BY 	count desc
get_reviewer_details (Datasource=bookbrowse_com_new, Time=24ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 00:20:32.032
SELECT reviewer_photo, reviewer_bio, reviewer_first_name, reviewer_last_name
            FROM reviewers
            WHERE reviewer_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 17

get_editorial_reviews (Datasource=bookbrowse_com_new, Time=2774ms, Records=106) in /root/website/readers/dsp_profile.cfm @ 00:20:35.035
SELECT  d.book_number, d.book_title, d.book_sub_title,
                    e.ezine_dt,
                    ep.ezine_preview_number, ep.ezine_preview_title, ep.ezine_preview_subtitle,
                    ep.ezine_preview_author, ep.ezine_preview_jacket_image,
                    mr.media_review_rating,
                    LEFT(mr.media_review, 500) AS review_excerpt
            FROM    ezine_edition_mapping b
            INNER JOIN editions c ON c.edition_number = b.edition_number
            INNER JOIN books d ON d.book_number = c.book_number
            INNER JOIN ezines e ON e.ezine_number = b.ezine_number
            LEFT JOIN ezine_previews ep ON ep.ezine_preview_isbn13 = c.edition_isbn13
                AND ep.ezine_preview_isbn13 IS NOT NULL AND LEN(ep.ezine_preview_isbn13) > 0
            LEFT JOIN media_reviews mr ON mr.book_number = c.book_number AND mr.media_review_type_number = 9
            WHERE   b.reviewer_number = ?
            AND     e.ezine_dt = (SELECT TOP 1 ez.ezine_dt
                                  FROM ezines ez
                                  INNER JOIN ezine_edition_mapping eem ON eem.ezine_number = ez.ezine_number
                                  INNER JOIN editions ed ON ed.edition_number = eem.edition_number
                                  WHERE ed.book_number = c.book_number
                                  ORDER BY ez.ezine_dt ASC)
            ORDER BY e.ezine_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 17

get_preview_by_id (Datasource=bookbrowse_com_new, Time=55ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 00:20:35.035
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 7009

get_author_name (Datasource=bookbrowse_com_new, Time=34ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 00:20:35.035
SELECT 	a.author_number, datalength(b.author_info_interview) as "interview",
		        CASE 	WHEN datalength(a.author_middle_initial) > 0 then a.author_first_name + ' ' + a.author_middle_initial + '. ' + a.author_last_name
		            	ELSE a.author_first_name + ' ' + a.author_last_name
		            	END "author_name"
        FROM 		authors a
        INNER JOIN 	author_info b on b.author_number = a.author_number 
        
        WHERE 		a.author_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3130

get_preview_awards_by_id (Datasource=bookbrowse_com_new, Time=20ms, Records=0) in /root/website/queries/qry_get_preview_awards_by_id.cfm @ 00:20:35.035
select a.book_award_number, a.book_award_name, a.book_award_image, c.book_award_dt
    from book_awards a 
    inner join book_awards_category b on b.book_award_number = a.book_award_number
    inner join book_awards_mapping c on c.book_awards_category_number = b.book_awards_category_number
    where ezine_preview_number =  ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 7009

get_preview_by_id (Datasource=bookbrowse_com_new, Time=27ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 00:20:35.035
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 2377

get_preview_awards_by_id (Datasource=bookbrowse_com_new, Time=20ms, Records=0) in /root/website/queries/qry_get_preview_awards_by_id.cfm @ 00:20:35.035
select a.book_award_number, a.book_award_name, a.book_award_image, c.book_award_dt
    from book_awards a 
    inner join book_awards_category b on b.book_award_number = a.book_award_number
    inner join book_awards_mapping c on c.book_awards_category_number = b.book_awards_category_number
    where ezine_preview_number =  ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 2377

get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=24ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 00:20:35.035
SELECT 	top 10 a.arc_number,arc_promo_text,
		b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publish_dt, 
		(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
				 ELSE 0
				 END)
 			from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating

FROM arcs a
INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number

WHERE arc_closed_flag = 1
AND arc_obc_flag = 0
AND getdate() >= arc_on_ad_dt
AND (select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) > 1
and getdate() <= dateadd(day,1,a.arc_off_ad_dt)

ORDER BY NEWID()
get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=9ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 00:20:35.035
SELECT 	top 3 a.arc_number,arc_promo_text,
			b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publish_dt, 
			(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
					(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
					 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
					 ELSE 0
					 END)
				from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating

	FROM arcs a
	INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number

	WHERE arc_closed_flag = 1
	AND arc_obc_flag = 0
	AND getdate() >= arc_on_ad_dt
	AND (select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) > 1

	ORDER BY a.arc_off_ad_dt DESC
get_ads (Datasource=bookbrowse_com_new, Time=19ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 00:20:35.035
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
	
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

	AND     (b.category_number IN (	SELECT	category_number
									FROM	category_book_mapping
									WHERE	book_number = ?)
      		OR 	b.category_number = ?)
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone6
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:20:35.035
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone6

get_type (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:20:35.035
SELECT	a.start_date, a.adid, a.end_date, a.camp_views, a.image_name, a.alt_text, a.views, a.code, a.adsize
        FROM	adsystem a
        WHERE	a.adid = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1112

get_quotes (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 00:20:35.035
select top 1 ezine_number, ezine_quote, ezine_quote_title
	    from ezines
	    where len(ezine_quote_title) > 1
	    order by newid()
get_free_newsletters (Datasource=bookbrowse_com_new, Time=0ms, Records=4, Cached Query) in /root/website/queries/qry_get_free_newsletters.cfm @ 00:20:35.035
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=8ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 00:20:35.035
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
		 	AND a.adid NOT IN (?) 
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

	AND     (b.category_number IN (	SELECT	category_number
									FROM	category_book_mapping
									WHERE	book_number = ?)
      		OR 	b.category_number = ?)
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = showcase_track
Parameter #2(CF_SQL_INTEGER) = 1112
Parameter #3(CF_SQL_VARCHAR) = 0
Parameter #4(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=16ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:20:35.035
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        		AND a.adid NOT IN (?) 
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = showcase_track
Parameter #2(CF_SQL_INTEGER) = 1112

get_type (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:20:35.035
SELECT	a.start_date, a.adid, a.end_date, a.camp_views, a.image_name, a.alt_text, a.views, a.code, a.adsize
        FROM	adsystem a
        WHERE	a.adid = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 594


Scope Variables

CGI Variables:
AUTH_PASSWORD=
AUTH_TYPE=
AUTH_USER=
CERT_COOKIE=
CERT_FLAGS=
CERT_ISSUER=
CERT_KEYSIZE=
CERT_SECRETKEYSIZE=
CERT_SERIALNUMBER=
CERT_SERVER_ISSUER=
CERT_SERVER_SUBJECT=
CERT_SUBJECT=
CF_TEMPLATE_PATH=/root/website/readers/index.cfm
CONTENT_LENGTH=
CONTENT_TYPE=
CONTEXT_PATH=
GATEWAY_INTERFACE=
HTTPS=
HTTPS_KEYSIZE=
HTTPS_SECRETKEYSIZE=
HTTPS_SERVER_ISSUER=
HTTPS_SERVER_SUBJECT=
HTTP_ACCEPT=*/*
HTTP_ACCEPT_ENCODING=gzip, br, zstd, deflate
HTTP_ACCEPT_LANGUAGE=
HTTP_CONNECTION=upgrade
HTTP_COOKIE=CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; CFTOKEN=78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53; CFGLOBALS=urltoken%3DCFID%23%3D4077981%26CFTOKEN%23%3D78f61de552c0f8c8%2D058685F4%2D9EB4%2D8AC0%2DD2F7029629EDBB53%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2000%3A20%3A31%27%7D%23hitcount%3D72%23timecreated%3D%7Bts%20%272026%2D06%2D01%2000%3A20%3A14%27%7D%23cftoken%3D78f61de552c0f8c8%2D058685F4%2D9EB4%2D8AC0%2DD2F7029629EDBB53%23cfid%3D4077981%23; CFID=4077981
HTTP_HOST=dev.bookbrowse.com
HTTP_REFERER=
HTTP_URL=
HTTP_USER_AGENT=Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
LOCAL_ADDR=127.0.0.1
PATH_INFO=/1351
PATH_TRANSLATED=/root/website/readers/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/readers/index.cfm
SERVER_NAME=dev.bookbrowse.com
SERVER_PORT=8500
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=
WEB_SERVER_API=
Client Variables:
cfid=4077981
cftoken=78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53
hitcount=92
lastvisit={ts '2026-06-01 00:20:35'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 00:20:14'}
urltoken=CFID=4077981&CFTOKEN=78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53
view=books
Cookie Variables:
CFCLIENT_BOOKBROWSE=order=p#member_number=0#member_active_flag=0#member_logged_in_flag=0#library_user_flag=0#view=books#
CFGLOBALS=urltoken=CFID#=4077981&CFTOKEN#=78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53#lastvisit={ts '2026-06-01 00:20:31'}#hitcount=72#timecreated={ts '2026-06-01 00:20:14'}#cftoken=78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53#cfid=4077981#
CFID=4077981
CFTOKEN=78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53
Session Variables:
cfid=4077981
cftoken=78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53
sessionid=BOOKBROWSE_4077981_78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53
urltoken=CFID=4077981&CFTOKEN=78f61de552c0f8c8-058685F4-9EB4-8AC0-D2F7029629EDBB53
URL Parameters:
1351=
Debug Rendering Time: 22 ms