Katharine B

Katharine B

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

Kate is a freelance writer and livelong lover of literature. The fascination with varying cultures and perspectives that grew from this love led her to pursue an education in the social sciences. Her favorite genres are fantasy, historical fiction, and history. She is also a passionate fiber artist who designs knitting and embroidery patterns. In her free time she can be found experimenting in the kitchen, attempting to teach herself to sew, or enjoying the outdoors.

BookBrowse Editorial Reviews (22)

BookBrowse Editorial Review
So Many Stars: An Oral History of Trans, Nonbinary, Genderqueer, and Two-Spirit People of Color
by Caro De Robertis
(6/18/2025)
So Many Stars shares the personal stories of 20 trans and nonbinary people of color over age 50 who, through their activism, art, and courage, have helped pave the way for the LGBTQ+ community as we know it today. Given the current political backlash against gains in LGBTQ+ rights, with trans rights being targeted in particular, this book is timely and essential. It demonstrates that trans and nonbinary people of color have a long history of fighting for the right to exist and live authen
BookBrowse Editorial Review
Theft: A Novel
by Abdulrazak Gurnah
(3/26/2025)
Theft follows each of these three characters as they come into adulthood. When Karim returns home after university, he and Fauzia fall in love and are soon married. Not long after, Badar is falsely accused of stealing from his employers. Though his innocence is proven, Karim's step-grandfather holds a grudge and insists Badar cannot stay, resulting in Karim and Fauzia inviting him to move in with them. As the three come of age, they grow together and apart in unexpected ways. The story ta
BookBrowse Editorial Review
Linguaphile: A Life of Language Love
by Julie Sedivy
(11/6/2024)
Linguist Julie Sedivy's new book, Linguaphile: a Life of Language Love, explores the connection between human life and language through a fascinating combination of linguistic science and the author's own life story... As Sedivy points out, language is about connecting people, so it's fitting that the memoir sections of Linguaphile are focused more on the relationships in her life than on specific events. She explores both the good and the bad in her connections with her parents, h
BookBrowse Editorial Review
Season of the Swamp: A Novel
by Yuri Herrera
(10/2/2024)
Benito allows himself to be drawn into the chaos of New Orleans and the lives of the people he meets... A major theme of the novel is the failure or refusal to acknowledge the harm that one perpetrates; this is seen not only in Benito but in minor characters as well, such as the slave trader who insists that, as only the middleman, he is not responsible for the suffering he causes. As the book goes on, Benito repeatedly realizes that, despite his genuine empathy, he has missed the extent of peop
BookBrowse Editorial Review
The Night of Baba Yaga
by Akira Otani
(7/17/2024)
When Yoriko Shindo gets into a brawl on a busy street in 1970s Tokyo, she has no idea what the repercussions will be. Her fighting catches the attention of the Naiki-kai, a branch of the Japanese organized crime syndicate known as the yakuza, and she is kidnapped. After a failed escape attempt, they give her a choice—die, or work for them as the bodyguard and chauffer of Shoko Naiki, the boss's daughter. Otani's prose is tight and sharp, conveying a great deal with short, blunt sentences.
BookBrowse Editorial Review
The Light Eaters: How the Unseen World of Plant Intelligence Offers a New Understanding of Life on Earth
by Zoë Schlanger
(5/15/2024)
The human race is completely dependent on plants. Many people, however, give little thought to plants' importance, often seeing them as closer to inanimate objects than fellow living things. Science journalist Zoë Schlanger challenges that view in her engrossing book The Light Eaters, which explores current knowledge of how plants experience the world around them. Schlanger's book offers an engrossing view into the plant world, focusing not on plants' utility to humans or h
BookBrowse Editorial Review
The Painter's Daughters: A Novel
by Emily Howes
(3/20/2024)
Peggy and Molly Gainsborough are sisters and best friends, living an idyllic life in 18th-century Ipswich where they explore the countryside with their artist father. But Molly isn't well—she has episodes of confusion and dissociation, forgetting where she is or what she's doing. The Painter's Daughters follows Peggy's journey to adulthood as she struggles with her fear for and anger at her sister, as well as finding her place in the world. Howes' debut is hard to put down once you'
BookBrowse Editorial Review
Pure Wit: The Revolutionary Life of Margaret Cavendish
by Francesca Peacock
(2/21/2024)
The book delves into Cavendish's philosophical writing, tracking the development of her thinking and apparent confidence in her own theories, and putting them in context for modern readers. Cavendish developed a theory of vitalist materialism, and strongly opposed the theory of mind-body dualism and the existence of a separate spirit world, though she did later clarify that she believed in God. Peacock connects that philosophy, and Cavendish's difficult relationship with the male-dominated intel
BookBrowse Editorial Review
Transient and Strange: Notes on the Science of Life
by Nell Greenfieldboyce
(2/7/2024)
While each essay stands on its own, the collection as a whole becomes something greater, with insights from later pieces connecting with and deepening the reader's understanding of earlier parts. The final essay in particular adds an extra dimension to Greenfieldboyce's relationships with her husband and children. The book deals with painful topics such as miscarriage, sexual assault, and parental death in an open, frank way that ultimately feels poignant but hopeful. It does not shy away from t
BookBrowse Editorial Review
The Prince and the Coyote
by David Bowles
(11/15/2023)
Acolmiztli was a real historic figure, better known today as Nezahualcoyotl, the name he used as ruler of Tetzcoco. He was a celebrated warrior, architect, and poet, as well as part of the Triple Alliance that became the Aztec Empire. Bowles is wonderful at bringing his perspective to life. The world in which Acolmiztli lives is integral to the book's fast-paced, exciting plot, from the religion that guides him, to the complicated interplay between family and political ties, to the class divide
BookBrowse Editorial Review
The Blue Machine: How the Ocean Works
by Helen Czerski
(10/18/2023)
It's an ambitious book, breaking an incredibly complex global "machine" into parts that the layperson can grasp. Czerski uses a wide variety of examples to illustrate her points and relate the science back to ideas more familiar to readers. While this demonstrates just how connected the ocean is to all aspects of life on Earth, the rapid topic shifts sometimes distract from the main ideas she is describing. Unlike many popular ocean science books, the focus is firmly on physics rather than biolo
BookBrowse Editorial Review
Beyond the Door of No Return: A Novel
by David Diop
(9/20/2023)
Beyond the Door of No Return will resonate with readers drawn to either vivid settings or beautiful language. The book's prose is stunningly written and translated, with descriptions well worth savoring. This is a first-rate historical novel, richly conveying both the wider scope of the 18th-century colonization of Senegal and the individuals struggling to survive and find meaning within it.
BookBrowse Editorial Review
Every Rising Sun: A Novel
by Jamila Ahmed
(9/6/2023)
From the beauty of the Caliph's palace to the horror of the Third Crusade, the medieval Islamic world is richly depicted. Ahmed brings to life both the everyday details of 12th-century Persia and the people, places and events that still echo through history, all from a point of view not often seen in Western literature. Every Rising Sun builds on the framework of a beloved classic to create a brilliant new story that captures both the joys and sorrows of womanhood, storyt
BookBrowse Editorial Review
The Parrot and the Igloo: Climate and the Science of Denial
by David Lipsky
(8/2/2023)
Lipsky's writing is quick-witted and highly entertaining. He expertly manages the tone—moments of humor balance out the often-grim subject matter without trivializing it. His depiction of the people involved is personal and vivid, full of funny descriptions and insightful commentary. The Parrot and the Igloo is a disturbing breakdown of how anti-science rhetoric gained first a foothold, and then a major following in American politics. Well-researched and captivatingly written, it's
BookBrowse Editorial Review
The Book That Wouldn't Burn: The Library Trilogy #1
by Mark Lawrence
(7/12/2023)
Over the course of the book, the characters' stories converge in unexpected ways as they seek answers to the questions surrounding them. The romantic elements complement the mystery well, as do excellent worldbuilding and character development, but for me the book's real draw is the opportunity to explore this extraordinary library through the characters' perspectives and experiences.
BookBrowse Editorial Review
Blue Skies: A Novel
by T. C. Boyle
(6/21/2023)
Despite the intensity of the events that take place, this is a book for readers more interested in exploring character than plot. Blue Skies is a family drama set against a backdrop of worldwide calamity. It is horrifying at times, at others darkly comedic. There were moments when I wanted to shout at the characters, and others I wished I could give them a hug. This is not a book for those looking for escapism—the characters, their problems and their failings often feel uncomfortabl
BookBrowse Editorial Review
After the Miracle: The Political Crusades of Helen Keller
by Max Wallace
(5/17/2023)
The book covers a wide swath of history for a single lifetime—from Jim Crow to apartheid, World War I to McCarthy's Red Scare, Helen Keller used her fame to fight for what she believed in. Wallace's writing is nuanced, neither diminishing her accomplishments nor overlooking her missteps, but instead returning Keller to the center of her own life story. After the Miracle is a portrait not of a saint or a miracle, but a woman with strong convictions living in a complicated world. I wo
BookBrowse Editorial Review
Under Alien Skies: A Sightseer's Guide to the Universe
by Philip Plait Ph.D.
(4/19/2023)
The tone is warm and friendly, and often quite funny. Each chapter includes sections of fictionalized descriptions of what it would be like if the reader could actually visit these alien worlds. These are charming, but also might be considered the weakest part of the book. The descriptions of what the hypothetical "you" is seeing and doing are fascinating, but "your" responses to these experiences start to feel a bit repetitive. Under Alien Skies allows readers to connect with astronomy i
BookBrowse Editorial Review
Essex Dogs: A Novel
by Dan Jones
(3/1/2023)
Dan Jones is an accomplished historian, and that background can be seen in the adept way he brings the 14th century to life. Though the issues they struggle with—war, trauma, and substance abuse, among others—are timeless, the ways in which the characters approach them feel very authentically medieval. When people think of the 14th century, they might imagine majestic kings, noble lords, and the legends that have been passed down about them. Instead, Dan Jones brings to life the stru
BookBrowse Editorial Review
The Terraformers
by Annalee Newitz
(2/1/2023)
Newitz has created an incredible setting, bringing to life a planet developed just as much by complex power structures and competing interests as by literal terraforming. The fascinating depth of the worldbuilding never overshadows the plot, and the beautifully written characters feel integral to the setting, shaping it just as it has shaped them. The choices they make don't just change their own lives, but are shown to profoundly alter the lives of generations to come. The Terraformers i
BookBrowse Editorial Review
What We Fed to the Manticore
by Talia Lakshmi Kolluri
(11/2/2022)
Perhaps the most compelling part of these stories is how the author has developed the worldviews of the various characters. She brings a feeling not just of their reaction to the current moment, but also of how their species and lives have shaped their understanding of events. Each of the animals has a distinct sense of history and culture. The creation myth of polar bears, the romances of whales and the social customs of sled dogs are all vibrantly brought to life. There is a tradeoff, however.
BookBrowse Editorial Review
Dark Earth: A Novel
by Rebecca Stott
(9/7/2022)
The vividly developed setting underlays every part of the book, giving the story a magical feel. Londinium's decay serves as a counterpoint to the characters' lives, creating a rich juxtaposition between what has been lost to time on a grand scale and what the characters personally have lost. In Dark Earth, Stott tells a deeply personal story set amidst the sweeping tide of history. Moving and thrilling in turns, it is likely to be a favorite of readers who enjoy historical fiction and fa

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

More Anagrams

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 31-May-26 07:56 PM
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
1780257389635 ms 1.78025738964E+012 ms 1 /root/website/app_server.cfm
2460 ms 2460 ms 1 /root/website/readers/index.cfm
2125 ms 2125 ms 1 /root/website/readers/dsp_profile.cfm
234 ms 234 ms 1 /root/website/app_layout.cfm
156 ms 156 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
119 ms 60 ms 2 /root/website/adsystem/adsystem_mod.cfm
81 ms 81 ms 1 /root/website/app_globals.cfm
66 ms 66 ms 1 /root/website/adzones/AdZone6.cfm
61 ms 61 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
60 ms 60 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
55 ms 55 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
53 ms 53 ms 1 /root/website/adzones/showcase_track.cfm
26 ms 26 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
24 ms 24 ms 1 /root/website/queries/qry_get_active_obc.cfm
14 ms 14 ms 1 /root/website/queries/qry_get_following_count.cfm
14 ms 14 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
13 ms 13 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_current_competition.cfm
11 ms 11 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
10 ms 10 ms 1 /root/website/queries/qry_get_reviews_by_member.cfm
9 ms 9 ms 1 /root/website/actions/adstatus.cfm
8 ms 8 ms 1 /root/website/queries/qry_get_member_profile.cfm
7 ms 7 ms 1 /root/website/act_check_login.cfm
7 ms 7 ms 1 /root/website/queries/qry_get_follower_count.cfm
7 ms 7 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
6 ms 2 ms 3 /root/website/actions/act_spider_tracker.cfm
6 ms 6 ms 1 /root/website/queries/qry_get_member_info.cfm
5 ms 5 ms 1 /root/website/site/blocks/layout/main_menu.cfm
4 ms 4 ms 1 /root/website/site/blocks/layout/main_search.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.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/dsp_wordplay.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.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/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/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
2461 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 19:56:29.029
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=2ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 19:56:29.029
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=7ms, Records=2) in /root/website/actions/adstatus.cfm @ 19:56:29.029
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 @ 19:56:29.029
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=10ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 19:56:29.029
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=8ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 19:56:29.029
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=4ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 19:56:29.029
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 @ 19:56:29.029
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=7ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 19:56:29.029
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=7ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 19:56:29.029
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=8ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 19:56:29.029
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=5ms, Records=1) in /root/website/queries/qry_get_member_profile.cfm @ 19:56:29.029
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) = 16527

get_reviews_by_member (Datasource=bookbrowse_com_new, Time=9ms, Records=0) in /root/website/queries/qry_get_reviews_by_member.cfm @ 19:56:29.029
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) = 16527

get_follower_count (Datasource=bookbrowse_com_new, Time=6ms, Records=1) in /root/website/queries/qry_get_follower_count.cfm @ 19:56:29.029
SELECT COUNT(*) AS follower_count
    FROM member_follows
    WHERE followed_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 16527

get_following_count (Datasource=bookbrowse_com_new, Time=13ms, Records=1) in /root/website/queries/qry_get_following_count.cfm @ 19:56:29.029
SELECT COUNT(*) AS following_count
    FROM member_follows
    WHERE follower_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 16527

get_reviewer_number (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 19:56:29.029
SELECT TOP 1 reviewer_number
                FROM reviewers
                WHERE reviewer_email = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = katharine.blatchford@yahoo.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 @ 19:56:29.029
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=4ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 19:56:29.029
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) = 153

get_editorial_reviews (Datasource=bookbrowse_com_new, Time=2088ms, Records=22) in /root/website/readers/dsp_profile.cfm @ 19:56:31.031
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) = 153

get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=22ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 19:56:31.031
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=36ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 19:56:31.031
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=20ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:56:31.031
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=23ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:56:31.031
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=19ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:56:31.031
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=25ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 19:56:32.032
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=12ms, Records=4) in /root/website/queries/qry_get_free_newsletters.cfm @ 19:56:32.032
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=19ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:56:32.032
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=14ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:56:32.032
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=15ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:56:32.032
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=CFGLOBALS=urltoken%3DCFID%23%3D4072937%26CFTOKEN%23%3Dbee511dc74c3ee0d%2DFC1774EC%2D036E%2D759E%2D37822C12369A3D2A%23lastvisit%3D%7Bts%20%272026%2D05%2D31%2019%3A56%3A29%27%7D%23hitcount%3D7%23timecreated%3D%7Bts%20%272026%2D05%2D31%2019%3A56%3A27%27%7D%23cftoken%3Dbee511dc74c3ee0d%2DFC1774EC%2D036E%2D759E%2D37822C12369A3D2A%23cfid%3D4072937%23; CFTOKEN=dfe9c292920e2590-FC178A7F-EBC7-9537-1C8B53CD23A65AD8; CFID=4072943; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%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=/16527
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=4072943
cftoken=dfe9c292920e2590-FC178A7F-EBC7-9537-1C8B53CD23A65AD8
hitcount=7
lastvisit={ts '2026-05-31 19:56:31'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-05-31 19:56:27'}
urltoken=CFID=4072943&CFTOKEN=dfe9c292920e2590-FC178A7F-EBC7-9537-1C8B53CD23A65AD8
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#=4072937&CFTOKEN#=bee511dc74c3ee0d-FC1774EC-036E-759E-37822C12369A3D2A#lastvisit={ts '2026-05-31 19:56:29'}#hitcount=7#timecreated={ts '2026-05-31 19:56:27'}#cftoken=bee511dc74c3ee0d-FC1774EC-036E-759E-37822C12369A3D2A#cfid=4072937#
CFID=4072943
CFTOKEN=dfe9c292920e2590-FC178A7F-EBC7-9537-1C8B53CD23A65AD8
Session Variables:
cfid=4072943
cftoken=dfe9c292920e2590-FC178A7F-EBC7-9537-1C8B53CD23A65AD8
sessionid=BOOKBROWSE_4072943_dfe9c292920e2590-FC178A7F-EBC7-9537-1C8B53CD23A65AD8
urltoken=CFID=4072943&CFTOKEN=dfe9c292920e2590-FC178A7F-EBC7-9537-1C8B53CD23A65AD8
URL Parameters:
16527=
Debug Rendering Time: 31 ms