EH

Elisabeth H

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

Elisabeth Herschbach is an editor and writer from Maryland.

BookBrowse Editorial Reviews (18)

BookBrowse Editorial Review
Gliff: A Novel
by Ali Smith
(2/12/2025)
An ominous vision of a dystopian future of techno-totalitarianism, Gliff is a cautionary tale all too relevant for our current day—a time when surveillance technology is increasingly prevalent, algorithms control the information we see through our social media feeds, a handful of tech oligarchs have growing political sway, and democratic institutions are in decline worldwide. The book deals with dark topics—oppression, inequality, prejudice—but it is also about individua
BookBrowse Editorial Review
Rethinking Rescue: Dog Lady and the Story of America's Forgotten People and Pets
by Carol Mithers
(8/21/2024)
With vividly rendered accounts of the people and dogs Weise has met over the years, the book details her on-the-ground work in some of the city's poorest neighborhoods, from her early days of forging community connections with homeless pet owners in Skid Row to her pioneering intervention program at the South LA shelter that kept thousands of pets safely with their owners and helped bring about a paradigm shift in the concept of animal rescue, inspiring similar programs across the country. Overa
BookBrowse Editorial Review
Hard by a Great Forest: A Novel
by Leo Vardiashvili
(2/21/2024)
Hard by a Great Forest deals with dark themes: war, displacement, loss and grief. But although it includes more than a few harrowing scenes, the book is also funny, touching and infused with quirky charm. Frequent allusions to fairy tales—from the Brothers Grimm to The Wizard of Oz—weave throughout the book. And indeed, with its touches of the surreal (including escaped zoo animals prowling the streets of Tbilisi) and elements that evoke a fairy tale setting (includ
BookBrowse Editorial Review
Wasteland: The Secret World of Waste and the Urgent Search for a Cleaner Future
by Oliver Franklin-Wallis
(9/6/2023)
Wasteland is an engaging read, and Franklin-Wallis writes in a personable style lightened by occasional touches of wit. But it's hard not to come away feeling deflated, despairing at the sheer scale of our wastefulness—and how deeply embedded it is in our way of life. As the book convincingly argues, waste isn't just a byproduct of our consumer economy. In a very real sense, waste is what keeps it running. Corporations' very business model depends on disposability, on
BookBrowse Editorial Review
Fatherland: A Memoir of War, Conscience, and Family Secrets
by Burkhard Bilger
(5/3/2023)
Embedding Gönner's story into the larger context of the era, Fatherland traces his life from the rural village in the Black Forest where he grew up to the battlefields of northern France where he lost an eye in the First World War, and from Bartenheim in German-occupied Alsace to the hilltop fortress where he was imprisoned after the war. The result is both a deeply personal family portrait and an insightful and fascinating wartime history. But while Fatherland is a work of history,
BookBrowse Editorial Review
The Great Displacement: Climate Change and the Next American Migration
by Jake Bittle
(3/1/2023)
Bittle, a staff writer for Grist who covers climate change, writes with compassion and insight about the issues at stake, clearly explaining both the science and the social policy ramifications while also forcefully portraying the human face of the crisis. By foregrounding the personal stories of people whose lives have been devastated by climate disasters, the book starkly conveys what we lose when communities are destroyed by climate change—not just homes, lives and livelihoods, b
BookBrowse Editorial Review
Between Light and Storm: How We Live with Other Species
by Esther Woolfson
(2/1/2023)
The book is structured not as a systematic argument for Woolfson's view or a treatise on animal rights and welfare. Rather, Between Light and Storm is a cultural history of ideas. Interspersing personal anecdotes and reminiscences with discussions of science, literature, art, philosophy and religion, Woolfson surveys the belief systems that have shaped Western attitudes about other species, examining why some strands of thought have prevailed over others and what the repercussions of this
BookBrowse Editorial Review
Wastelands: The True Story of Farm Country on Trial
by Corban Addison
(7/13/2022)
A former attorney with litigation experience, Addison deftly narrates dramatic courtroom showdowns, leading us through the ins and outs of the legal proceedings in five separate class action suits filed against the hog industry's biggest offender: Smithfield Foods, a 15-billion-dollar multinational corporation that controls more than a quarter of the United States market for pork. Drawing on hundreds of hours of interviews, months of on-the-ground research and meticulous documentation from court
BookBrowse Editorial Review
2 A.M. in Little America
by Ken Kalfus
(6/8/2022)
Part dystopian thriller, part political allegory, 2 A.M. in Little America is an intriguing, at times cryptic read with Kafkaesque elements that brilliantly evoke a sense of anxiety and alienation, estrangement and displacement. Ron's memories shift in and out of focus, facts dissolve into uncertainty, identities blur and even the city he moves through morphs into a surreal landscape of optical illusions as the glass buildings he passes cast off a dizzying array of reflections—vivid
BookBrowse Editorial Review
Sentient: How Animals Illuminate the Wonder of Our Human Senses
by Jackie Higgins
(3/2/2022)
Over the course of the book, Higgins introduces readers to a menagerie of creatures—from peacock mantis shrimps and octopuses to orbweaver spiders, cheetahs and duck-billed platypuses—to illustrate the ingenuous sensory mechanisms our animal kin have evolved in adaptation to the world around them. In each case, these examples serve as a springboard for discussing parallels in the sphere of human perception, showing that our senses are both more powerful and more varied than we may co
BookBrowse Editorial Review
The Book of Hope: A Survival Guide for Trying Times (Global Icons Series)
by Jane Goodall and Douglas Abrams
(11/3/2021)
While The Book of Hope is in part a pep talk for the despairing—a "survival guide for trying times," as the subtitle suggests—it is also a stirring call to action, an urgent plea to do all we can to bring the planet back from the brink before it is too late. Structured as an extended conversation narrated by Abrams, the book follows Goodall from Tanzania to the Netherlands to her family home in Bournemouth, England to record their discussions on topics such as the psychology o
BookBrowse Editorial Review
Damnation Spring
by Ash Davidson
(9/22/2021)
A graduate of the Iowa Writers Workshop, Davidson was born in the region where Damnation Spring takes place, and her familiarity with the area shows in the way she brings her setting to life with vivid details that evoke a strong sense of place. Pitch-perfect dialogue makes her characters feel real, and intricate depictions of the logging industry deftly convey the realities of living and working in timber country. Davidson is particularly adept at writing about the natural environment. L
BookBrowse Editorial Review
Secrets of Happiness
by Joan Silber
(6/23/2021)
Once a student of the great short story writer Grace Paley, Silber displays a similar talent for conveying the voice of her characters, for weaving together offhand details that capture the texture of their lives. Secrets of Happiness doesn't have the sort of cohesive unity one expects from a book billed as a novel. Although Ethan returns as narrator in the seventh and final chapter, bringing us full circle, by then too many other characters and too many other tangents have intervened to
BookBrowse Editorial Review
The Arsonists' City
by Hala Alyan
(5/19/2021)
Alyan writes well and with insight, but the pacing stumbles in places. While most of the book proceeds slowly and methodically, the ending feels overly rushed, with too many loose ends wrapped up hastily. And while Mazna and Idris's story is genuinely absorbing, my interest flagged in the portions of the book dealing with the private lives of the Nasr children. Despite some flaws in execution, however, The Arsonists' City is a compelling, multidimensional portrayal of the messy complexiti
BookBrowse Editorial Review
The Lost Family: How DNA Testing Is Upending Who We Are
by Libby Copeland
(5/6/2020)
How much power do our genes have to shape who we are? And as the genetic databases of ancestry companies grow larger and larger, what unforeseen implications might this have for our private lives? Well-researched and thoroughly enjoyable to read, The Lost Family is a fascinating look at these and other issues surrounding the rise of commercial DNA testing. With clear and accessible explanations of the relevant science, Copeland describes the basics of gene sequencing and delves into topic
BookBrowse Editorial Review
The End of the Ocean
by Maja Lunde
(2/5/2020)
The End of the Ocean, ably translated by Diane Oatley, returns to the theme of climate change, this time tackling the environmental threats to our most precious resource: water. A powerful reminder of what's at stake, The End of the Ocean is an unblinkered depiction of the devastating consequences of climate change and the price of inaction.
BookBrowse Editorial Review
The Great Pretender: The Undercover Mission That Changed Our Understanding of Madness
by Susannah Cahalan
(1/8/2020)
Susannah Cahalan's The Great Pretender is a fascinating deep-dive into one of the most influential studies in the history of psychology, Stanford University professor David Rosenhan's 1973 paper "On Being Sane in Insane Places." But while the extent of Rosenhan's influence on the field is clear, it turns out that little else about his story is straightforward. As the book unfolds, it becomes evident that there is yet another layer of meaning to its title—neither Rosenhan nor the det
BookBrowse Editorial Review
A Good Provider Is One Who Leaves: One Family and Migration in the 21st Century
by Jason DeParle
(9/18/2019)
DeParle is a good storyteller, and A Good Provider is an absorbing read. The personal journeys of Tita, Emet, Rosalie, and other family members—fleshed out in rich detail—are seamlessly integrated into broad reflections on the history, controversies, and debates surrounding immigration worldwide.

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

It is a fact of life that any discourse...will always please if it is five minutes shorter than people expect

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 06:36 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
1780295811332 ms 1.78029581133E+012 ms 1 /root/website/app_server.cfm
2844 ms 2844 ms 1 /root/website/readers/index.cfm
2340 ms 2340 ms 1 /root/website/readers/dsp_profile.cfm
333 ms 333 ms 1 /root/website/app_layout.cfm
249 ms 249 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
181 ms 91 ms 2 /root/website/adsystem/adsystem_mod.cfm
138 ms 138 ms 1 /root/website/app_globals.cfm
113 ms 113 ms 1 /root/website/adzones/AdZone6.cfm
109 ms 109 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
108 ms 108 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
71 ms 71 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
68 ms 68 ms 1 /root/website/adzones/showcase_track.cfm
40 ms 40 ms 1 /root/website/queries/qry_get_active_obc.cfm
26 ms 26 ms 1 /root/website/queries/qry_get_current_competition.cfm
26 ms 26 ms 1 /root/website/queries/qry_get_following_count.cfm
24 ms 24 ms 1 /root/website/queries/qry_get_follower_count.cfm
23 ms 23 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
19 ms 6 ms 3 /root/website/actions/act_spider_tracker.cfm
17 ms 17 ms 1 /root/website/actions/adstatus.cfm
16 ms 16 ms 1 /root/website/act_check_login.cfm
16 ms 16 ms 1 /root/website/queries/qry_get_member_info.cfm
16 ms 16 ms 1 /root/website/queries/qry_get_reviews_by_member.cfm
14 ms 14 ms 1 /root/website/queries/qry_get_member_profile.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
8 ms 8 ms 1 /root/website/site/blocks/layout/head.cfm
3 ms 3 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_current_ezine.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_reader_reviews_power_reviewers.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/main_menu.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_previous_arcs_for_ad.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
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
2845 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=17ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 06:36:51.051
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=15ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 06:36:51.051
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=16ms, Records=2) in /root/website/actions/adstatus.cfm @ 06:36:51.051
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 @ 06:36:51.051
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=11ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 06:36:51.051
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=12ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 06:36:51.051
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 @ 06:36:51.051
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 @ 06:36:51.051
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=12ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 06:36:51.051
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=15ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 06:36:51.051
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=11ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 06:36:51.051
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=13ms, Records=1) in /root/website/queries/qry_get_member_profile.cfm @ 06:36:51.051
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) = 13493

get_reviews_by_member (Datasource=bookbrowse_com_new, Time=15ms, Records=0) in /root/website/queries/qry_get_reviews_by_member.cfm @ 06:36:51.051
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) = 13493

get_follower_count (Datasource=bookbrowse_com_new, Time=22ms, Records=1) in /root/website/queries/qry_get_follower_count.cfm @ 06:36:51.051
SELECT COUNT(*) AS follower_count
    FROM member_follows
    WHERE followed_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 13493

get_following_count (Datasource=bookbrowse_com_new, Time=25ms, Records=1) in /root/website/queries/qry_get_following_count.cfm @ 06:36:51.051
SELECT COUNT(*) AS following_count
    FROM member_follows
    WHERE follower_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 13493

get_reviewer_number (Datasource=bookbrowse_com_new, Time=32ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 06:36:51.051
SELECT TOP 1 reviewer_number
                FROM reviewers
                WHERE reviewer_email = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = elisabeth.herschbach@gmail.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 @ 06:36:51.051
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=22ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 06:36:51.051
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) = 121

get_editorial_reviews (Datasource=bookbrowse_com_new, Time=2232ms, Records=18) in /root/website/readers/dsp_profile.cfm @ 06:36:53.053
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) = 121

get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=29ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 06:36:53.053
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=77ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 06:36:53.053
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=37ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 06:36:54.054
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=38ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 06:36:54.054
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=34ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 06:36:54.054
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=22ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 06:36:54.054
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 @ 06:36:54.054
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=22ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 06:36:54.054
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=30ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 06:36:54.054
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 @ 06:36:54.054
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=CFTOKEN=6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33; CFID=4090531; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; CFGLOBALS=urltoken%3DCFID%23%3D4090531%26CFTOKEN%23%3D6b504fd3883d373b%2D12FC8010%2DE9B7%2DAF29%2D9E9E99C8649EAD33%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2006%3A36%3A51%27%7D%23hitcount%3D89%23timecreated%3D%7Bts%20%272026%2D06%2D01%2006%3A36%3A37%27%7D%23cftoken%3D6b504fd3883d373b%2D12FC8010%2DE9B7%2DAF29%2D9E9E99C8649EAD33%23cfid%3D4090531%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=/13493
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=4090531
cftoken=6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33
hitcount=103
lastvisit={ts '2026-06-01 06:36:54'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 06:36:37'}
urltoken=CFID=4090531&CFTOKEN=6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33
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#=4090531&CFTOKEN#=6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33#lastvisit={ts '2026-06-01 06:36:51'}#hitcount=89#timecreated={ts '2026-06-01 06:36:37'}#cftoken=6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33#cfid=4090531#
CFID=4090531
CFTOKEN=6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33
Session Variables:
cfid=4090531
cftoken=6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33
sessionid=BOOKBROWSE_4090531_6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33
urltoken=CFID=4090531&CFTOKEN=6b504fd3883d373b-12FC8010-E9B7-AF29-9E9E99C8649EAD33
URL Parameters:
13493=
Debug Rendering Time: 24 ms