EL

Erin L

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

Erin Lyndal Martin is a writer and artist living in Blacksburg, VA.

BookBrowse Editorial Reviews (23)

BookBrowse Editorial Review
Endling: A Novel
by Maria Reva
(6/18/2025)
Maria Reva's debut novel Endling follows a group of Ukrainian women involved in "romance tours"—a cultural phenomenon akin to the mail-order bride system in which men from around the world come to meet Ukrainian women with the goal of marriage. The part of the book that was most thrilling for me was how the author handled a huge twist. A Ukrainian native raised mostly in Canada, Reva retains close ties to her Ukrainian family and culture. While she was writing Endling, her ho
BookBrowse Editorial Review
Beta Vulgaris: A Novel
by Margie Sarsfield
(2/12/2025)
Ultimately, the disappearances can't be the focus, since Elise's deterioration is the point here. Tom has left her stranded on this beet farm, starving, working all night with harvesting machines, with an overdrawn bank account and a mysterious rash-turned-bruise. I admire the author's attention to detail and how adeptly she varies her prose to show Elise's decline. I didn't close the book with a sense of resolution or satisfaction. Instead, I was sure I felt soil and bugs on me. (Thankfully all
BookBrowse Editorial Review
The Avian Hourglass
by Lindsey Drager
(11/20/2024)
The setting is an unknown city, seemingly in the present day but in an altered world. There are no more birds and no more stars. The unnamed narrator is studying for a test that will determine whether or not she can be a radio astronomer. I loved the eeriness of this world, which is the same as ours aside from several huge erasures. These losses parallel the sense of longing the narrator feels thinking about her father and the abrupt departure, years prior, of The Only Person She Ever Loved. One
BookBrowse Editorial Review
Creation Lake: A Novel
by Rachel Kushner
(9/18/2024)
I really enjoyed the conversations and characters, but I wasn't fully sure what I was reading at times. The plot is slow and mostly light on the action, and I didn't know how I felt about the narrator. This is one of those books where everything clicks into place an hour after finishing. Only then did I see the staggering layers of character development, the unruly threads of modern living, and what it means to be in constant conversation with the past. Once I gave up on Creation Lake bei
BookBrowse Editorial Review
The Swans of Harlem: Five Black Ballerinas, Fifty Years of Sisterhood, and Their Reclamation of a Groundbreaking History
by Karen Valby
(5/15/2024)
Journalist Karen Valby's first book, The Swans of Harlem, introduces readers to the little-known history of the Dance Theater of Harlem, which was founded in 1969 by Arthur Mitchell. Using interviews and research from print archives, Valby deftly crafts information into a compelling narrative centered around the company's ballerinas. The fact that none of the names were familiar to me demonstrated the need for the book's existence. I really enjoy histories like this that focus intimately
BookBrowse Editorial Review
Ilium: A Novel
by Lea Carpenter
(2/21/2024)
Let me confess that I don't watch a lot of spy movies or read spy novels because the plots are too much to keep up with. Please consider that information an extra endorsement for Ilium by Lea Carpenter, a spy novel that's blissfully accessible. Perhaps I clicked with it because it's much more than a spy novel; it's a story about identity and relationships of all kinds. While I took in the suspenseful narrative I also found myself having a lot of Carrie Bradshaw-esque questions about love.
BookBrowse Editorial Review
Beautyland: A Novel
by Marie-Helene Bertino
(1/24/2024)
Beautyland by Marie-Helene Bertino tells the story of a precocious girl named Adina. Living with her low-income single mother in Philadelphia, Adina faces all the trials of childhood and coming of age while feeling deeply disconnected from those around her. The story, though, feels secondary to getting to know Adina. The book intensely impacted the way I think about my relationships with other people. The narrator's voice stays so intimately aligned with the protagonist that her grief cou
BookBrowse Editorial Review
High Bias: The Distorted History of the Cassette Tape
by Marc Masters
(11/1/2023)
Masters' work is thorough: from the creation of the cassette tape to Grateful Dead bootlegging to indie record labels, he covers just about every aspect, complete with quotes from a wide range of musicians. The book is thoroughly researched, and it's obvious that the author enjoyed every minute of it. I was impressed by how much was new to me. And the details that I knew became more magical when collected together. I focus on nostalgia a lot when describing this book, but maybe "hopeful" is a be
BookBrowse Editorial Review
Tom Lake: A Novel
by Ann Patchett
(10/4/2023)
I couldn't believe how easy it was to get into the book and absorbed in Lara's story. As a writer myself, I took a lot of notes about Patchett's style here. Rather than crafting shimmering passages that call attention to her skill, Patchett's gift is to make herself disappear so we can better connect with the characters. The events of Lara's life flow perfectly together, which makes it exciting when we learn how she goes from swimming with a movie star to owning a cherry orchard with a husband a
BookBrowse Editorial Review
Blind Spots: A Novel
by Thomas Mullen
(5/3/2023)
Beyond the technology and crime at the forefront of this story, Mullen reminds readers of our metaphorical blind spots. When we're close to someone, do we overlook certain warning signs? Can we really see those closest to us most clearly? And, in our quest to be seen, are we overlooking things? While a lot of authors write suspenseful thrillers, Blind Spots stands above many for its intricate world-building and smartly crafted characters. The author resolves the main plot points in satisf
BookBrowse Editorial Review
Con/Artist: The Life and Crimes of the World's Greatest Art Forger
by Tony Tetro & Giampiero Ambrosi
(1/18/2023)
The book is an easy read, full of interesting facts about forgeries, all centered around a pretty regular guy. Tetro's story really affected me, particularly when he recounts getting busted. We usually want to see the criminal caught and brought to justice. It's harder when the criminal is a nonviolent man painting at home. Though I expected the downfall, I hadn't considered the collateral damage. I saw how quickly Tetro's friends and associates disappeared and how many clients had betrayed him
BookBrowse Editorial Review
Now Is Not the Time to Panic: A Novel
by Kevin Wilson
(11/16/2022)
Wilson makes the story so compelling that I risked injury as I couldn't put it down while walking around my apartment. The bond that Frankie and Zeke have, formed in creativity and secrecy and the feeling of finally being understood, is completely authentic. The most compelling present-day scenes are when Frankie tries to articulate the events of that summer to her family. Of course, she doesn't know how to explain why she still puts up posters and constantly repeats that line to herself or why
BookBrowse Editorial Review
The Milky Way: An Autobiography of Our Galaxy
by Moiya McTier
(10/5/2022)
Along with giving information, the author often falls into passages of pure poetry. "As long as particles can move around and interact, nothing in space can truly die," she writes. Elsewhere, the galaxy muses "I am space; I am made of space; and I am surrounded by space," lending romance to a description of the galaxy's vastness. McTier is a folklorist and science educator as well as an astrophysicist, and this book gives her the chance to blend the three. Some of my favorite parts were the refe
BookBrowse Editorial Review
Serious Face: Essays
by Jon Mooallem
(7/13/2022)
As an arts journalist myself, I loved "The Story About Charlie Kaufman Has Changed." I remember the early days of the pandemic when we all felt vulnerable and isolated, and we couldn't go out. I called musicians for interviews that ran quadruple their usual length. Mooallem's story about Kaufman, a screenwriter and director, is similar. The two can't meet because of COVID-19, so they have long weekly phone calls instead. The story, then, becomes about the power of connection during a time of soc
BookBrowse Editorial Review
Unlikely Animals: A Novel
by Annie Hartnett
(5/18/2022)
Though Everton, New Hampshire, the town in Annie Hartnett's Unlikely Animals, is fictional, it becomes real through historical research, current events and masterfully drawn characters. This combination makes for a quirky small town like those of TV shows Northern Exposure and Gilmore Girls. The multiple plotlines — Hartnett says in the afterword that she combined several works in progress to write the book — converge thanks to the strength of the characters. And
BookBrowse Editorial Review
The Impossible City: A Hong Kong Memoir
by Karen Cheung
(3/16/2022)
Despite the heavy subject matter, Cheung has a candor and warmth that come through in these pages. The chapters, which read more like separate essays than a cohesive memoir, never feel like lectures. Rather, she gives vivid accounts of her experiences, then connects them to larger social issues. I also love that she explored what it means to be an activist. Cheung has done quite a lot by writing this book. Through her, we're able to humanize a movement and think of those affected by it. We conne
BookBrowse Editorial Review
Harrow: A novel
by Joy Williams
(10/20/2021)
Harrow is a difficult book in many ways. There's nothing easy about reading it, which I happen to like. The book replicates the post-apocalyptic haze it depicts: events are vague and fleeting, people come and go with little to introduce or see them off, and even the main character isn't always central. And yet, I'm utterly haunted by it, likely because there's so much left unknown. Furthermore, as someone who copes with difficulty by using dark humor, I appreciate how nothing is sacred in
BookBrowse Editorial Review
Truthtelling: Stories, Fables, Glimpses
by Lynne Sharon Schwartz
(11/18/2020)
Through their discomfort, Schwartz's characters become uncannily relatable, even if they're not always likable. The writer deftly distills this complexity into stories told in a matter-of-fact style that's never showy or self-indulgent. This book will appeal to readers across numerous demographics. Schwartz offers compelling stories of unflinching candor, ultimately helping readers feel less alone with their shortcomings.
BookBrowse Editorial Review
The Hocus Girl: A Simon Westow mystery
by Chris Nickson
(2/5/2020)
I'm satisfied with how the loose ends were tied up, but I wanted to read more about how the events of the plot changed the characters. After getting to know them through these ordeals, I would've liked to see them move on afterwards, and there's only a glimmer of that. But perhaps my desire to watch these characters grow is a testament to the impression they've made on me and my curiosity about whether they'll transcend this gritty city that gives them life while always threatening to take it aw
BookBrowse Editorial Review
Grand Union: Stories
by Zadie Smith
(11/13/2019)
Zadie Smith is a much-lauded writer known mostly for her novels; On Beauty was short-listed for the Man Booker Prize and Swing Time was long-listed. Short fiction allows for a more experimental approach, which Smith takes advantage of in spades. Grand Union is a challenging, but rewarding reading experience.
BookBrowse Editorial Review
Elsewhere Home
by Leila Aboulela
(5/15/2019)
Aboulela excels at giving equal weight not only to the high-stakes drama of cultural differences, but also more focused concepts, like a schoolgirl's nearsightedness in "Farida's Eyes," or a restaurant worker's inability to cook rice, symbols of their cultural displacement. These stories are quiet in ways that highlight tensions of daily life rather than large-scale cataclysm. In the details, we see that these themes aren't about being Sudanese or British specifically, but the simultaneous sense
BookBrowse Editorial Review
Mama's Last Hug: Animal and Human Emotions
by Frans de Waal
(5/1/2019)
Franz de Waal draws evidence from scientific texts and his own innumerable hours observing chimpanzees, proving his credentials as someone who has both researched and directly engaged. By focusing on the traits we share and telling captivating stories, [he] gets us closer to knowing one another, and our fellow primate species, a little bit better.
BookBrowse Editorial Review
Babel: Around the World in Twenty Languages
by Gaston Dorren
(1/23/2019)
Babel is a fun read for anyone, but will especially delight travelers and language-lovers. The information is accessible to longtime language scholars and casual readers alike; a delightful collection of 20 small windows to much larger worlds.

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

A library, to modify the famous metaphor of Socrates, should be the delivery room for the birth of ideas--a place ...

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 09:05 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
1780261522647 ms 1.78026152265E+012 ms 1 /root/website/app_server.cfm
403 ms 403 ms 1 /root/website/readers/index.cfm
256 ms 256 ms 1 /root/website/readers/dsp_profile.cfm
75 ms 75 ms 1 /root/website/app_layout.cfm
62 ms 62 ms 1 /root/website/app_globals.cfm
57 ms 57 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
29 ms 15 ms 2 /root/website/adsystem/adsystem_mod.cfm
23 ms 23 ms 1 /root/website/queries/qry_get_active_obc.cfm
20 ms 20 ms 1 /root/website/adzones/AdZone6.cfm
19 ms 19 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
18 ms 18 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
11 ms 11 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
10 ms 10 ms 1 /root/website/queries/qry_get_current_competition.cfm
10 ms 10 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
9 ms 9 ms 1 /root/website/adzones/showcase_track.cfm
9 ms 9 ms 1 /root/website/queries/qry_get_following_count.cfm
6 ms 2 ms 3 /root/website/actions/act_spider_tracker.cfm
6 ms 6 ms 1 /root/website/actions/adstatus.cfm
4 ms 4 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
4 ms 4 ms 1 /root/website/queries/qry_get_follower_count.cfm
4 ms 4 ms 1 /root/website/queries/qry_get_member_profile.cfm
4 ms 4 ms 1 /root/website/queries/qry_get_reviews_by_member.cfm
4 ms 4 ms 1 /root/website/site/blocks/dsp_border_booktalk.cfm
3 ms 3 ms 1 /root/website/act_check_login.cfm
3 ms 3 ms 1 /root/website/queries/qry_get_member_info.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/Application.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/main_menu.cfm
0 ms 0 ms 1 /root/website/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_previous_arcs_for_ad.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_reader_reviews_power_reviewers.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_header_newsletter.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_wordplay.cfm
0 ms 0 ms 1 /root/website/site/blocks/email_modal.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
0 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
404 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=6ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 21:05:22.022
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 @ 21:05:22.022
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=6ms, Records=2) in /root/website/actions/adstatus.cfm @ 21:05:22.022
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 @ 21:05:22.022
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=3ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 21:05:22.022
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=5ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 21:05:22.022
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 @ 21:05:22.022
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 @ 21:05:22.022
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=6ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 21:05:22.022
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 @ 21:05:22.022
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 @ 21:05:22.022
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=2ms, Records=1) in /root/website/queries/qry_get_member_profile.cfm @ 21:05:22.022
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) = 12830

get_reviews_by_member (Datasource=bookbrowse_com_new, Time=3ms, Records=0) in /root/website/queries/qry_get_reviews_by_member.cfm @ 21:05:22.022
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) = 12830

get_follower_count (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/queries/qry_get_follower_count.cfm @ 21:05:22.022
SELECT COUNT(*) AS follower_count
    FROM member_follows
    WHERE followed_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 12830

get_following_count (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/queries/qry_get_following_count.cfm @ 21:05:22.022
SELECT COUNT(*) AS following_count
    FROM member_follows
    WHERE follower_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 12830

get_reviewer_number (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 21:05:22.022
SELECT TOP 1 reviewer_number
                FROM reviewers
                WHERE reviewer_email = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = erinlyndalmartin@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 @ 21:05:22.022
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 @ 21:05:22.022
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) = 114

get_editorial_reviews (Datasource=bookbrowse_com_new, Time=229ms, Records=23) in /root/website/readers/dsp_profile.cfm @ 21:05:22.022
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) = 114

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

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

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

ORDER BY NEWID()
get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=9ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 21:05:23.023
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=8ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:05:23.023
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=5ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:05:23.023
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=5ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:05:23.023
SELECT	a.start_date, a.adid, a.end_date, a.camp_views, a.image_name, a.alt_text, a.views, a.code, a.adsize
        FROM	adsystem a
        WHERE	a.adid = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1112

get_quotes (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 21:05:23.023
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 @ 21:05:23.023
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=4ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:05:23.023
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 @ 21:05:23.023
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=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:05:23.023
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; CFGLOBALS=urltoken%3DCFID%23%3D4074028%26CFTOKEN%23%3D4aca90287de8bd%2DFE8DFDCE%2DD276%2D3791%2D5E26E1AE8953EF59%23lastvisit%3D%7Bts%20%272026%2D05%2D31%2021%3A05%3A22%27%7D%23hitcount%3D3%23timecreated%3D%7Bts%20%272026%2D05%2D31%2021%3A05%3A19%27%7D%23cftoken%3D4aca90287de8bd%2DFE8DFDCE%2DD276%2D3791%2D5E26E1AE8953EF59%23cfid%3D4074028%23; CFID=4074029; CFTOKEN=b779f123fa85cc00-FE8E06A3-EDEE-E77F-BEEE7E467D02F68D
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=/12830
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=4074029
cftoken=b779f123fa85cc00-FE8E06A3-EDEE-E77F-BEEE7E467D02F68D
hitcount=5
lastvisit={ts '2026-05-31 21:05:22'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-05-31 21:05:19'}
urltoken=CFID=4074029&CFTOKEN=b779f123fa85cc00-FE8E06A3-EDEE-E77F-BEEE7E467D02F68D
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#=4074028&CFTOKEN#=4aca90287de8bd-FE8DFDCE-D276-3791-5E26E1AE8953EF59#lastvisit={ts '2026-05-31 21:05:22'}#hitcount=3#timecreated={ts '2026-05-31 21:05:19'}#cftoken=4aca90287de8bd-FE8DFDCE-D276-3791-5E26E1AE8953EF59#cfid=4074028#
CFID=4074029
CFTOKEN=b779f123fa85cc00-FE8E06A3-EDEE-E77F-BEEE7E467D02F68D
Session Variables:
cfid=4074029
cftoken=b779f123fa85cc00-FE8E06A3-EDEE-E77F-BEEE7E467D02F68D
sessionid=BOOKBROWSE_4074029_b779f123fa85cc00-FE8E06A3-EDEE-E77F-BEEE7E467D02F68D
urltoken=CFID=4074029&CFTOKEN=b779f123fa85cc00-FE8E06A3-EDEE-E77F-BEEE7E467D02F68D
URL Parameters:
12830=
Debug Rendering Time: 13 ms