James B

James B

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

James Broderick teaches English and Journalism at New Jersey City University. A former reporter and editor, he writes both non-fiction and fiction.

BookBrowse Editorial Reviews (26)

BookBrowse Editorial Review
Killers of the Flower Moon: The Osage Murders and the Birth of the FBI
by David Grann
(4/19/2017)
Grann's shock at discovering that the murder plots against the Osage might have gone far beyond those outlined in the trial – and his zeal for discovering the parties responsible for the dozens of unprosecuted murders – makes Killers of the Flower Moon more entertaining than a book about such a dire subject should be. He seems driven to amend the historical record, to prosecute, even from the distance of several generations of history, those responsible for the deaths of these now-forgott
BookBrowse Editorial Review
The New Odyssey: The Story of the Twenty-First Century Refugee Crisis
by Patrick Kingsley
(3/8/2017)
Patrick Kingsley, author of The New Odyssey, tells a hell of a story. And in some ways, it's become the story of our times. There's no way Kingsley could have foreseen the election of Donald Trump as U.S. president when he began to report first-hand the plight of refugees from Syria, Egypt, sub-Saharan Africa and throughout Europe, several years ago. But Trump's headline-making "Executive Order" restricting access to the United States for refugees from certain designated countries has giv
BookBrowse Editorial Review
Tribe: On Homecoming and Belonging
by Sebastian Junger
(2/1/2017)
Junger is content to diagnose the problem as he sees it, and other than a couple of feel-good examples of "giving back" from a World War II vet and a businessman who volunteered to cut his salary to keep paying his employees, the book offers no substantive solutions to the problem of the loss of tribalism in modern American culture. I wish he had looked more closely at countries outside of the U.S.—Italy, for example—where the idea of "family" still implies a more cohesive social bond. Still, th
BookBrowse Editorial Review
The Terranauts
by T.C. Boyle
(1/4/2017)
The book flap promises "an epic story of science, society, sex, and survival," and though one expects a bit of hyperbole from a publisher's marketing department, I couldn't help but wonder if the person writing that had read even a little of the novel, as The Terranauts is not in any way "epic." In fact, it's the opposite; it's a book of very small, closely observed moments. Regular readers of Boyle's fiction will recognize a few of his pet themes at work here: the consequences of thought
BookBrowse Editorial Review
City of Dreams: The 400-Year Epic History of Immigrant New York
by Tyler Anbinder
(11/16/2016)
It would take a ridiculous number of pages to chronicle all the fascinating revelations embedded within Anbinder's brick of a book, a sprawling chronicle which lives up to its subtitle: The 400-Year Epic History of Immigrant New York. For all its comprehensiveness, it remains a compelling – and at times touchingly personal – page-turner.
BookBrowse Editorial Review
Hag-Seed: Hogarth Shakespeare
by Margaret Atwood
(10/19/2016)
There are many, many moments in Hag-Seed when the reader–who will get more out of the novel if she has seen or read the original play though it's not necessary to enjoy the book–will no doubt smile in wry recognition as Atwood appropriates Shakespeare's plot twists and characters for her contemporary story. That's one of the delights of Hag-Seed, the surreptitious recasting of a timeless work in our own time. But it's also one of the limitations. Hag-Seed is so dependent on
BookBrowse Editorial Review
I Contain Multitudes: The Microbes Within Us and a Grander View of Life
by Ed Yong
(9/21/2016)
Yong brings to his celebration of these single-celled organisms the two qualities you want in any science writer: enthusiasm for his subject, and a metaphorical mind. Yong's zeal for his subject matter is, if you'll pardon me, infectious; and his gift for metaphor and analogy helps make palpable the mind-bending scope of the subject matter ... but for many readers, I suspect there might simply be a limit to their depth of fascination with this tiny, teeming legion of life. The book has no real p
BookBrowse Editorial Review
What We Become
by Arturo Perez-Reverte
(8/3/2016)
In previous works like The Siege and The Club Dumas, the poignancy and emotional devastation was a by-product of the tightly knit story, while in this book the emotional revelations feel like an adjunct to the plot, tacked on to give the derring-do of the almost 500 pages an emotional heft. Within each of the time frames, there is intrigue aplenty. Jewel thieving in exotic and dangerous places among characters of the highest and lowest social stature offers an attractive palate for
BookBrowse Editorial Review
Mothering Sunday: A Romance
by Graham Swift
(6/22/2016)
Tucked within the 175 pages of this story are enough ideas hinted at for several seasons of episodic television, perhaps even a century-spanning epic, rooted in the realm of Upstairs-Downstairs-style domestic intrigue. Swift effectively immerses the reader in the life of a relatively powerless chambermaid in the early going, but the rapid unfolding of events in the latter half prevents the arc of Jane's life from being genuinely affecting.
BookBrowse Editorial Review
The Loney
by Andrew Michael Hurley
(5/18/2016)
Fans of gothic horror and psychological thrillers will sense the presence of Horace Walpole, Mary Shelley, and even Poe, hovering over this book like guardian angels of darkness. But Hurley's narrative never provides the climatic jolt necessary to bring the otherworldly terrors fully into this world. His story offers a thoughtful, restrained, and literary denouement but most fans of gothic fiction will want a few doors noisily slammed, a few bell towers to crumble to dust, and maybe even a reani
BookBrowse Editorial Review
Sunny's Nights: Lost and Found at a Bar on the Edge of the World
by Tim Sultan
(4/20/2016)
Woven into the story of Sultan's enchantment with Sunny's (he eventually left his job at the Paris Review offices in Manhattan to work as a bartender at Sunny's once the place began opening more regularly) is the story of the rise, fall, and gentrification of Red Hook, Brooklyn, a once-seedy and crime-filled backlot to Manhattan's glittering cinemascape. There is an elegiac quality to the last few chapters as we watch a once truly unique bar become the newly christened destination for a crowd of
BookBrowse Editorial Review
While the City Slept: A Love Lost to Violence and a Young Man's Descent into Madness
by Eli Sanders
(3/16/2016)
Every public official in a position to effect change in the mental health system ought to read this book and reflect deeply on its lessons. The rest of us can simply be moved to the tears summoned by the enduring love, tentative hope, and inconsolable pain of this searing human tragedy.
BookBrowse Editorial Review
The Age of Genius: The Seventeenth Century and the Birth of the Modern Mind
by A. C. Grayling
(3/2/2016)
Building a book-length argument around his contention that 'the seventeenth century is the moment when one world-view was displaced by another because the scientific displaced that of faith,' Grayling paints a picture of astronomers, mathematicians, medical doctors, and even alchemists often reaching conclusions that even they dearly hoped weren't true – because the answers meant opposing Christian doctrine, unwise if you wanted to keep your job, freedom or head...To my ear, though, the tone of
BookBrowse Editorial Review
The Confidence Game: Why We Fall for It ... Every Time
by Maria Konnikova
(2/3/2016)
Reading The Confidence Game might not make you immune to all scams and schemes, but it can at least offer you consolation if you ever find yourself wondering how a smart person such as yourself could have ever been so foolish.
BookBrowse Editorial Review
A Prisoner in Malta: A Christopher Marlowe Mystery
by Phillip DePoy
(1/20/2016)
Marlowe was a genuine man of mystery – and thus the perfect protagonist for a novel in which his shadowy associations, his ready wit, and his reputed swordsmanship are all called upon to save his own life and that of his beloved Queen of England. The first of a projected series of mystery novels featuring Marlowe, A Prisoner in Malta finds the dashing, romantic poet-playwright at his swashbuckling, wise-cracking best. And Edgar Award-winning author Phillip DePoy pulls out all the stops in the se
BookBrowse Editorial Review
And West Is West
by Ron Childress
(11/18/2015)
Novels with a strong social message – much like vegan food – tend to come in two types: blatantly good for you with little attempt to dress up the flavor, or deceptively healthy, so tasty you don't even realize you are consuming something that's beneficial. The former tend to favor theme over plot or characterization. The latter category is harder to pull off, requiring embedding a social agenda within a compelling, organic story. These differing approaches kept coming to mind as I read Ron Chil
BookBrowse Editorial Review
The Blue Guitar
by John Banville
(11/4/2015)
Banville, a prolific and critically regarded Irish novelist whose previous works have won some of the most prestigious literary awards, is a mesmerizing prose stylist, and that's where he triumphs here. His looping, loopy sentences and his bracing and byzantine gift for turning a phrase provide The Blue Guitar with pretty much all of its satisfactions. Readers who have difficulty warming up to the somewhat cynical and even smug tone of the narrator might find the book a challenge, as the
BookBrowse Editorial Review
The Invention of Nature: Alexander von Humboldt's New World
by Andrea Wulf
(10/21/2015)
With almost a hundred pages of explanatory notes and a bibliography extensive enough to comprise a near-lifetime of reading for even avid readers, The Invention of Nature is a serious book about a seriously important figure. Even if it never really transcends standard biography, Wulf certainly makes her case, establishing the singular significance of a man whose work was etched in stone but whose name was written on the shifting sands of time.
BookBrowse Editorial Review
The Wake: A Novel
by Paul Kingsnorth
(10/21/2015)
The Wake's patter brings us closer to the world of buccmaster and his contemporaries as they try to get their minds around the cataclysm of violent social upheaval and foreign domination. The odd spelling, the homophonic inversions, and the archaic vocabulary do take a wee bit of getting used to, but once the reader's eye and ear are acclimated to the language, one's mind is free to engage with the story, which is beautiful and dark.

The Wake is a splendid book, a sort of
BookBrowse Editorial Review
The Man Who Wasn't There: Investigations into the Strange New Science of the Self
by Anil Ananthaswamy
(9/16/2015)
Ananthaswamy deserves credit for wading into this fraught and fecund arena. His book will strike many as a revelation. He presents a persuasive case that it's time to redefine the way we think of personhood, and that the paradigm of defining who we are by how we appear in the world no longer holds currency. Taken as a whole, the work that Ananthaswamy presents offers a prismatic portrait of humanity that focuses on the interior, not the exterior. The implications of this line of thinking are imm
BookBrowse Editorial Review
The Three-Nine Line
by David Freed
(9/16/2015)
The background of The Three-Nine Line is Vietnam, but I wish Freed had allowed it to creep a bit more into the foreground. As an award-winning journalist and feature writer, Freed has the trained eye, and ear, to make different places feel different. Nonetheless, The Three-Nine Line is an efficient and satisfying standalone mystery too, with a dollop of political commentary about the Vietnam War to give it some heft and enough red herrings to keep most mystery fans hooked.
BookBrowse Editorial Review
The Oregon Trail: A New American Journey
by Rinker Buck
(8/12/2015)
Buck is a mildly diverting memoirist, and the chronicle of his personal adventure is not without its moments – though it does suffer from a certain monotony, as only so much narrative momentum can be generated through the recitation of the daily tasks of hitch the mules, steer the wagon, find a campsite, unhitch the mules, cook dinner, sleep under the stars. But his research into the teeming and turbulent existence of the original Oregon Trail pioneers is utterly riveting, from his discussions o
BookBrowse Editorial Review
Paradise Sky
by Joe R. Lansdale
(7/22/2015)
Paradise Sky ticks off all the requisite checkmarks one expects to find in the genre: wide-open spaces, cattle stampedes, crooked poker games, whores with hearts of gold, bounty hunters, Indian raids, laconic cowpokes sitting around a campfire, shooting contests, racist posses, frontier preachers bringing God to the godless, and larger than life legends like Wild Bill Hickok and Calamity Jane. Amid the ebb and flow of all this frontier flotsam is a fairly simple story, set in motion by th
BookBrowse Editorial Review
Pirate Hunters: Treasure, Obsession, and the Search for a Legendary Pirate Ship
by Robert Kurson
(6/17/2015)
Questions of exactness aside, Pirate Hunters is fascinating and suspenseful, a breathless story of shadowy figures and global intrigue, set against the backdrop of hostile oceans and an even more hostile rogues' gallery of ruthless, bloodthirsty pirates. I'd be surprised if the book doesn't strike a chord with most readers – and even more surprised if someone somewhere wasn't already at work turning it into a screenplay. As a potential cinematic blockbuster, Pirate Hunters seems li
BookBrowse Editorial Review
The Black Snow
by Paul Lynch
(6/3/2015)
Lynch, author of the critically well-regarded Red Sky In Morning, seems uninterested in escape – in fact he's doubling down on his Irishness by employing both a style, and a genre, that can't help but summon the spirit of the auld sod. Lynch's literary voice and cadence have very strong echoes of James Joyce (lines from Dubliners and Portrait of the Artist came regularly to my mind as I was reading). Is [its] style is too self-consciously literary for some readers? Pe
BookBrowse Editorial Review
The Last Unicorn: A Search for One of Earth's Rarest Creatures
by William DeBuys
(4/1/2015)
The Last Unicorn is an enthralling and sobering account of a modern-day quest with a mythic underpinning, a tale filled with grace and eloquence and despair. It deals movingly with a brink that is much less celestial but more consequential – for the creatures of the world, and for ourselves.

Reviews (0)

No reviews yet.

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...

The most successful people are those who are good at plan B

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 04:38 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
1780288720233 ms 1.78028872023E+012 ms 1 /root/website/app_server.cfm
959 ms 959 ms 1 /root/website/readers/index.cfm
631 ms 631 ms 1 /root/website/readers/dsp_profile.cfm
158 ms 158 ms 1 /root/website/app_globals.cfm
134 ms 134 ms 1 /root/website/app_layout.cfm
93 ms 93 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
73 ms 37 ms 2 /root/website/adsystem/adsystem_mod.cfm
44 ms 44 ms 1 /root/website/queries/qry_get_active_obc.cfm
40 ms 40 ms 1 /root/website/adzones/AdZone6.cfm
35 ms 35 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
33 ms 33 ms 1 /root/website/adzones/showcase_track.cfm
31 ms 31 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
30 ms 30 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
28 ms 28 ms 1 /root/website/queries/qry_get_current_competition.cfm
21 ms 7 ms 3 /root/website/actions/act_spider_tracker.cfm
20 ms 20 ms 1 /root/website/act_check_login.cfm
19 ms 19 ms 1 /root/website/actions/adstatus.cfm
19 ms 19 ms 1 /root/website/queries/qry_get_follower_count.cfm
19 ms 19 ms 1 /root/website/queries/qry_get_member_info.cfm
19 ms 19 ms 1 /root/website/queries/qry_get_member_profile.cfm
18 ms 18 ms 1 /root/website/queries/qry_get_following_count.cfm
18 ms 18 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
15 ms 15 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_reviews_by_member.cfm
3 ms 3 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.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
1 ms 1 ms 1 /root/website/site/blocks/layout/main_search.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.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_reader_reviews_power_reviewers.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_border_booktalk.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
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
960 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=20ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 04:38:40.040
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=19ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 04:38:40.040
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=18ms, Records=2) in /root/website/actions/adstatus.cfm @ 04:38:40.040
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 @ 04:38:40.040
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=14ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 04:38:40.040
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=14ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 04:38:40.040
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=12ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 04:38:40.040
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 @ 04:38:40.040
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=13ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 04:38:40.040
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=13ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 04:38:40.040
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=15ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 04:38:40.040
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=19ms, Records=1) in /root/website/queries/qry_get_member_profile.cfm @ 04:38:40.040
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) = 9677

get_reviews_by_member (Datasource=bookbrowse_com_new, Time=12ms, Records=0) in /root/website/queries/qry_get_reviews_by_member.cfm @ 04:38:40.040
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) = 9677

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

get_following_count (Datasource=bookbrowse_com_new, Time=17ms, Records=1) in /root/website/queries/qry_get_following_count.cfm @ 04:38:40.040
SELECT COUNT(*) AS following_count
    FROM member_follows
    WHERE follower_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 9677

get_reviewer_number (Datasource=bookbrowse_com_new, Time=11ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 04:38:40.040
SELECT TOP 1 reviewer_number
                FROM reviewers
                WHERE reviewer_email = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = JBroderick@njcu.edu

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 @ 04:38:40.040
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=14ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 04:38:40.040
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) = 77

get_editorial_reviews (Datasource=bookbrowse_com_new, Time=562ms, Records=26) in /root/website/readers/dsp_profile.cfm @ 04:38:41.041
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) = 77

get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=12ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 04:38:41.041
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=17ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 04:38:41.041
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=16ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 04:38:41.041
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=18ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 04:38:41.041
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=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 04:38:41.041
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=16ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 04:38:41.041
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 @ 04:38:41.041
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=15ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 04:38:41.041
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=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 04:38:41.041
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=12ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 04:38:41.041
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=f7837be2d1f0099a-0EC1913D-94C2-EC75-70AF8C8F28E6F2A5; CFID=4086105; CFGLOBALS=urltoken%3DCFID%23%3D4086105%26CFTOKEN%23%3Df7837be2d1f0099a%2D0EC1913D%2D94C2%2DEC75%2D70AF8C8F28E6F2A5%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2004%3A38%3A40%27%7D%23hitcount%3D62%23timecreated%3D%7Bts%20%272026%2D06%2D01%2004%3A38%3A20%27%7D%23cftoken%3D966d3b715352ae49%2D0EC18CF8%2DCCDE%2D83CB%2D6BB063DB5BDB08C5%23cfid%3D4086103%23
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=/9677
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=4086103
cftoken=966d3b715352ae49-0EC18CF8-CCDE-83CB-6BB063DB5BDB08C5
hitcount=63
lastvisit={ts '2026-06-01 04:38:40'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 04:38:20'}
urltoken=CFID=4086105&CFTOKEN=f7837be2d1f0099a-0EC1913D-94C2-EC75-70AF8C8F28E6F2A5
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#=4086105&CFTOKEN#=f7837be2d1f0099a-0EC1913D-94C2-EC75-70AF8C8F28E6F2A5#lastvisit={ts '2026-06-01 04:38:40'}#hitcount=62#timecreated={ts '2026-06-01 04:38:20'}#cftoken=966d3b715352ae49-0EC18CF8-CCDE-83CB-6BB063DB5BDB08C5#cfid=4086103#
CFID=4086105
CFTOKEN=f7837be2d1f0099a-0EC1913D-94C2-EC75-70AF8C8F28E6F2A5
Session Variables:
cfid=4086105
cftoken=f7837be2d1f0099a-0EC1913D-94C2-EC75-70AF8C8F28E6F2A5
sessionid=BOOKBROWSE_4086105_f7837be2d1f0099a-0EC1913D-94C2-EC75-70AF8C8F28E6F2A5
urltoken=CFID=4086105&CFTOKEN=f7837be2d1f0099a-0EC1913D-94C2-EC75-70AF8C8F28E6F2A5
URL Parameters:
9677=
Debug Rendering Time: 9 ms