Lea Carpenter Interview, plus links to author biography, book summaries, excerpts and reviews

Lea Carpenter
Photo: © Huger Foote

Lea Carpenter

An interview with Lea Carpenter

Below is a transcript of an interview with the author for her novel, Ilium, with Zibby Owens of Zibby Media.

Zibby Owens: Welcome, Lea. Thank you so much for coming back on "Moms Don't Have Time to Read Books." This is so surreal that we're doing this again all these years later. Oh, my gosh.

Lea Carpenter: Thank you so much for having me. As I was saying, I remember so well coming and sitting at this desk. Think of everything that's happened. It's just incredible. Now I'm sitting here by an army of awards. Seriously, congratulations. It is so incredible what you have built. Thinking about your novel, which I loved, as you know, if you consciously wrote it as almost a metaphor for what you yourself have done?

Zibby: We're not going to talk about my novel. 

Lea: Okay, okay, okay. If you want me to interview you about your book later, we can. Congratulations.

Zibby: Thanks. You too.

Lea: Thank you.

Zibby: We're talking like this — I probably will have said this in the intro. Lea was my very first guest on this podcast. It was when I sat here interviewing you with my long list of printed-out questions, totally overprepared, the opposite of today, where I was like, oh, I love this. I felt like I had gotten to know you in a whole new way when we get to sit like this as opposed to trying to find time for a coffee or something. Getting a chance to listen to you and your writing and all the stuff, even though I knew a lot of it, I was like, this is what I want to do forever. It was really you.

Lea: I'm so glad. I'm so glad. Thank you for having me back.

Zibby: Okay, Ilium. Enough preamble. Tell listeners, please, what Ilium is about. Am I pronouncing it right? Ilium?

Lea: Yeah, Ilium. The title was in place as a working title for a long time. Then it just stuck. It came from a real series of paintings done by the artist Cy Twombly. That painting cycle, as it's called, was called Fifty Days at Iliam, I-L-I-A-M. It's Twombly's depiction of the Trojan War. At some point, someone decided that Iliam, I-L-I-A-M, was too obscure, but that Ilium, which really is the name of the Trojan city, could work. The book is a love story, as you know, but it also, I hope, gets at some of the larger issues of these, what I'll call forever wars. We live and have lived for a long time, maybe forever, in an era where wars don't really have any starts and finishes. The book gets a bit into that at the end. I really wanted a title that sounded strange and exotic because the book is a story of a young woman who dreams of a life that's more exotic than the one she has and who, sure enough — be careful what you wish for — gets pulled into not only a marriage that was very unexpected, but a role where she is the central actor in what is, in the end, effectively, an assassination, but which begins as a reconnaissance operation where she's sent in to meet, originally, and then live with this family in France — I can tell you about my inspiration for the French family — and to get to know them. That's really the only mandate. What you realize over time is that this French family is not what they appear to be at all. In fact, they are complex people who participated at a very high level in a war in Russia and in Lebanon. The whole story that she's been pulled into is a revenge operation for something that happened long before the book opened. I hope that's not too long.

Zibby: It's not too long. One of the things that's really interesting is how people get roped into what they are doing. What is her name, the woman?

Lea: She doesn't have a name.

Zibby: Okay, good. I was like, oh, my god, how did I forget her name? Look how bad I am. I can't remember her name.

Lea: I'm really bad with naming characters. Somehow in this instance, I managed to write an entire book where I never gave her a name. Then it worked because people will say, and one of the characters says in the book, that the ideal intelligence asset, someone who, for example, a CIA convinces to spy for us is someone who's sort of a blank slate and someone who's very vulnerable. John le Carré wrote an incredible book, the backdrop of which is the Middle East, so it's also very timely, called The Little Drummer Girl. In that book, which was very much an inspiration for me in writing Ilium, there's a young actress who becomes a very savvy intelligence asset for the Israeli Mossad. What makes her perfect is she's an actor. She's a trained actress. Spies do a lot of acting.

Zibby: So we actually have this big pool of potential spies, right? We just have to tap into Hollywood. Too bad the strike's over. That would've been the time.

Lea: You can be the liaison.

Zibby: Yeah, side hustle. Hollywood side hustle. Patriotism. Your unnamed character starts out longing for more than she has. She wants to get into this garden, which is like the locked garden reminiscent of — not Bryant Park. Downtown. We actually have a garden.

Lea: Yes, Gramercy.

Zibby: Gramercy Park. And then ends up marrying Marcus, who owned the garden. Now she's in it in ways that she never could've imagined.

Lea: Which raises the question, was she being surveilled and they knew she wanted the garden, so they bought it and that was part of the long game of seducing someone to spy for their country?

Zibby: Wow. It goes even further back. Oh, my gosh. Watch out where you take your kids and what gardens and parks you frequent. You paint her as someone who's just looking for the missing piece. There's just something she's longing for. Then she clicks into this other thing. You have a whole scene with Raj, who is friends, colleagues with Marcus, another espionage, CIA person that you don't know right away what his role is, but then you figure it out as he explains it. The two of them are talking. He basically proposes, if you will, that she become an asset by the time he knows that she will never say no. This is after she's had one lovely dinner party where she's sneaking into bedrooms and just getting to know this family. He gets her to a point where it's obvious, okay, you should do this. This grooming, it's so subtle and yet so effective. This is a whole piece of espionage that is obviously the most critical piece. How did you find out all this information? What research did you do? What do you think about it?

Lea: I'll start with the easy part of that question, which is the research. When I was writing my last book, Red, White, Blue, I had the chance to spend a lot of time talking to one person in particular who had worked at the CIA, not, by the way, Elliot, but someone who'd worked there who generously gave his time to me to really talk to me about the mechanics of espionage and spy craft. A lot of what Red, White, Blue was, and I don't know if it worked or not as a book, but was my own fascination with, really, the mechanics. With Ilium, I tried to lean away from that because it actually can be quite boring in the end. It's sort of like when you take your first physics class. It's really exciting. Then you think, well, I'd much rather look at a painting. No offense to physicists. From a mechanical standpoint, this, they call it spotting, assessing, and developing of an asset can take a long time. This person I interviewed for Red, White, Blue said two things I'll never forget.

One was you might spot, assess, and develop an asset with a sandwich in thirty seconds in Afghanistan. Whereas in China, you might spot, assess, and develop an asset over fifteen years. Very different kinds of situations, and one which required the urgent, quick developing, in China, as we all now know very well has been playing a very, very long espionage game. The other thing he said which I'll never forget is asking someone to spy for a country is like asking someone to marry you in this way; you only ask the question once, ideally, and you only ask it when you know what the answer is. By the time you're actually closing the sale, so to speak, you should have such a relationship with that person that you know they're going to do it. I thought to myself, what would be the ultimate situation in which you could not say no when you were asked to engage in espionage? I thought, what if your husband asks you to do it? What if it's someone you really love? Not only do they ask you to do it, but they ask you to do it when you know it's a very critical time in their life?

Zibby: I was reading the book. I leaned over to Kyle. I was like, "I think maybe Lea is a spy."

Lea: No.

Zibby: I know you say you didn't know this about your dad until later and all this stuff, but maybe after business school, this whole publishing, writer thing you've got going is just a cover.

Lea: It's funny. As you know, I went to The Paris Review. There was always this, not even a dirty little secret or not even a rumor, but a true element of the DNA of The Paris Review, which was that when it was started in Paris in the fifties, that was a time when we were very focused on these kind of espionage propaganda efforts. We often used as fronts, CIA — not we, but our CIA often used as fronts, cultural organizations. One of the founders of The Paris Review, Peter Matthiessen, who, of course, went on to be not just a great writer, but I think the only writer ever to have won the National Book Award in both fiction and nonfiction, true hero of mine, had worked at the CIA. We go through cycles as Americans in how we feel about spies and espionage. Sometimes we think it's cool and glamorous. Sometimes we think it's dirty and something to be condemned. My recollection is when it came up that people realized that Matthiessen had been a spy, people were upset about it. Unlike the way we position our Greatest Generation of military heroes, a lot of people think spying is not okay.

Back to the second part of your question, what do I think about it? I think espionage is a layer of how the world works. There's capitalism. There's industry, finance, publishing, creativity. It's like that quote in the notes I sent you, that Cormac McCarthy quote, which is, war has always been there, the ultimate craft waiting for the ultimate practitioner, which is man. I think espionage has probably always been there too. Are there kinder, gentler versions of espionage? Probably. Is TikTok one large espionage operation? Some people think it is. I think there are a lot of different ways to do it. It does and will involve human beings. What I was trying to get at a little bit in the book is — when she steps into this role, it's exciting. It takes her away from what her life was. It's only as she starts to realize some of the darker elements of it and the truth of why she was really chosen that you get into some of the moral complexity. Espionage is not for the faint of heart. What is the kind of person who wants to walk around every day with an identity that's not their real identity? It involves a lot of reckoning with, how much truth can you tell the people that you love?

When I look at people I know in that line of work who are in our generation who now have, as we do, teenage kids or still-young kids or kids approaching college age, at what point are you going to really talk to your child about the truth of what you do? Some people can't really say anything. It's very complicated stuff. I think that's why I find it endlessly fascinating too. There was James Bond. There is Jason Bourne. Tony Gilroy, who claims he never read a Robert Ludlum novel — I don't know if that's true — but who did just such incredible work with his Bourne trilogy and is an amazing writer, Tony Gilroy will say that — in film and television, people always talk about cracking the story. It's true of novels too. He gave a speech in which he said that the moment in which they cracked Bourne was the moment in which they decided he doesn't know who he is, and that's the heart of who he is. He has all these skills. There's a famous scene in, I think it's the first Bourne that Tony Gilroy did where he's in a restaurant describing to his girlfriend all the things he knows how to do.

"I can tell you the license plates of the nine cars parked out in the parking lot. I can tell you that the guy eating the sandwich at the bar is left-handed and weighs two hundred and fifty pounds and knows how to handle himself in a fight." He gives his speech, at the end of which he says, "And I don't know who I am." Bourne is morally okay because even though he's an assassin, he doesn't know why. It was an interesting workaround to make him a hero and a killer at the same time. Then you have Bond, who is a killer too, but he also is a misogynistic, gambling, swashbuckling, very charismatic character. These are not, nor do they pretend to be, real portraits of people in espionage, who tend to be people you might not even notice if you pass them on the street. That's when the conversation about what espionage is gets into John le Carré and Graham Greene and people who wrote about spies who were bureaucrats and spies, who were killers, but not at all glamorous. I tried to give a little bit of both in here. Listen, no doubt, there's a lot of moral compromise. The question then becomes, if the moral compromise is for a noble end, doing something good for the country, then is it okay? In this story in this book, Ilium, at the very, very end of the book, as you know, after you've hopefully gotten to know this Russian character over the course of the book, I try and tell you his backstory and why he did what he did. Maybe people will come away from the book remembering that part of it.

Zibby: This is the ultimate, there are two sides to every story. You might as well just write a book. Meanwhile, my background — you're referencing all these past spies. Do you remember the movie Spies Like Us from the eighties?

Lea: Of course.

Zibby: Oh, my gosh, Chevy Chase with the big fur coat in the snow and everything. This is my reference point.

Lea: Chevy Chase and, was it Dan Aykroyd?

Zibby: Yes, yes.

Lea: Nobody's better than Chevy Chase. The idea of Chevy Chase as a spy —

Zibby: — I think we have to watch it again.

Lea: Was Bill Murray in that too?

Zibby: There was somebody else. Harold Ramis? Was he in that?

Lea: Maybe. Well, then that would've been the Ghostbusters gang.

Zibby: Maybe it was Bill Murray. Anyway, whatever.

Lea: Listen, there's a long history of people glamorizing and sending up or taking down people who do this kind of work. It's fun to look at it from all different angles. Are there two sides to every story? Maybe. Maybe not. In this case, I wanted to say each one of the people brought into this long plan, because at the end of the day it's — the brief backstory of the book is that a group of guys who, when they were very young, were in Beirut. One of them died. Many, many, many years later, a plan comes together to have revenge for that killing. Each one of them got into it for love. Underlying all the other reasons is their love for each other, their band-of-brothers bond that they have, which I think is real. You don't have to go into a war to see it. You and I see it, probably, with the men we know. It's just a natural human instinct to want to protect the thing you love.

Zibby: I feel like at its heart, Ilium is exploring what it means to get to the heart of why someone is doing something and understand people's motivations when there are so many secrets. I feel like with you and your dad and maybe — I don't know. You don't have to talk about it. Finding out your dad was in espionage after he passed away and your close relationship and reverence for him that permeates everything that you do, including using his name, it's like you are literally searching to understand how someone you loved so closely could be involved in this. What does it mean when someone you love so dearly keeps secrets from you? I feel like it's a mental exercise of, what could that look like? What do you think?

Lea: My dad died before I ever wrote anything, and so never saw that I would become a writer, ironically, which was sort of his dream for me, but I never would've had the guts to try to do. Then you go through a loss like that, and it's sort of like, why not? I definitely see that. Although, it's cliché. I definitely see, he died, and everything changed. If I look back on the last decade — I started writing eleven years ago. People say, why do you keep going back to war and espionage and these subjects? I guess now within hindsight, I can say I've probably been looking for my dad for eleven years. I didn't see it that way. What I saw was, I want to take on a tough subject. I want to take on, as I put it, genres filled with books by men, for men, and about men. Maybe I can enter them differently. I don't think these have been sexist genres. I just think they've been genres that have naturally been ones that men are drawn to more than women. As you know, starting with Eleven Days, I tried to do that. With my father, because I was born when he was older, I never thought by the time I was old enough to have a conversation with him — by the time I was a teenager, it never would've occurred to me to say, what were you like fifty years ago? That's also why I encourage folks we know in our generation who have been in these lines of work, and especially if they are, necessarily, covert lines of work, hey, keep a journal. You may never write a book about this or write a memoir about this, but one day, one of your kids is going to say, wait, you were in Fallujah in '04? You were in Syria in '07?

The world is such a complex place. There are people working in all these environments now, Kyiv, Tel Aviv. In forty years, better or worse, all of our memories fade. Won't you be able to say with real clarity what happened? If I could have one day back with my dad and ask him about some of these experiences he had… The CIA was put together by a group of guys who came out of World War II and was very much a new organism. We didn't have a foreign intelligence service. Now some people say we don't have a domestic intelligence service. It was built by guys who came out of military and military intelligence, which was what my dad did. It sounds like quantum physics or something, really not that accessible a topic, but all it is is the marriage of espionage and war work. I'm hoping that this book in particular, because I put a woman at the center, will open some of the magic of those worlds and raise some of the questions but really, at the end of the day, be her story and her love story and how she did it for love. People say that people choose to commit espionage for money or for their personal ideology or worldview or because of their ego. It's kind of cool to be a spy or to go around engaging in this stuff. I wanted to see if I could tell a story that was plausible where she only does it for none of those reasons, but rather because she fell in love.

Zibby: You said in terms of your writing style that the secret is restraint. I flashed back to when you were helping me write what never ended up getting published right after business school. I would send you my drafts. You were like, "No exclamation marks." You were like, "We don't need exclamation marks in literature."

Lea: That's so funny that I said that then. Did you think that was terrible that I said that?

Zibby: No, but I was like, I put exclamation marks all the time in everything. Okay, a world without exclamation points. I literally think of you all the time when I put them in. Then to hear you say restraint, your prose, it's so specific. The way you talk and the sentences are perfect. It has a pacing that's just perfect. It's not sprawling. It's very directed and beautiful. How do you do that?

Lea: Thank you for saying that. Shelley Wanger, Shelley Wanger, Shelley Wanger. Shelley Wanger is my editor at Knopf. Shelley took on Eleven Days when it was maybe forty thousand words. It was a dream of what something could be. I've worked with her for ten years very closely. Shelley is the greatest gift that could've happened to me in my career. I've learned so much from her. She is herself quite restrained. She has so many terrific authors she's worked with, up to and including Joan Didion. The reason I mention Joan Didion is that when I delivered Ilium, Shelley said, in her inimitably very low-key, self-deprecating way, she said, "I've removed some of the conjunctions." Hadn't becomes had not. Can't becomes can not. That kind of a thing. She said, "But please feel free to put them back in." That led to a conversation about conjunctions in which she said, "Joan Didion really felt that conjunctions are for journalism, not for literature." She'll say something like that so gently. Then I think, oh, my god, I'm never going to do another one again, ever. God forbid I break the Joan Didion rule. Shelley has helped me see the value of — I guess restraint is the right word since I used it. Every book I've ever delivered to her has become what it has ultimately become because she has helped me understand what I can remove. She does a lot of other things too. I think that's its own kind of art. This book is very short, which I hope makes it readable. I admire the other kinds of writing. I'm not really as capable of doing them. I tried here — here's the other thing — to plot it. I spent a lot of time during the pandemic trying to adapt Red, White, Blue as a feature film. For that, I worked with a company called The Ink Factory. They're totally terrific. The Ink Factory was started by the sons of John le Carré, and so they do all of the le Carré projects.

Zibby: One of the sons announced a new book this week or something.

Lea: Oh, really?

Zibby: Yeah, it's coming out. They just announced it Friday, I want to say, really recently, that he has a new book coming out. Alex? Alex something.

Lea: I haven't seen that. Stephen and Simon run The Ink Factory. There's a younger son who edited le Carré's letters.

Zibby: Him. I bet it's him. Nick, maybe?

Lea: Yes.

Zibby: Nick, okay.

Lea: I'd love to look at that. I don't know if he writes under a different name.

Zibby: It's Nick Harkaway?

Lea: Yes. David Cornwell was the real name of the author whose pen name was John le Carré. I learned so much working on that project about what, architecturally, makes a piece of espionage work, for le Carré or for anyone. I learned so much about story from Stephen Cornwell and talking to his associate, Michele Wolkoff, there. They really helped me see how I don't write plot very well, I think is a way to put it. I was absolutely hellbent on finding the plot of this book. I thought, this book is going to have a beginning and a middle and an end. She's going to be called on a mission. She's going to go on the mission. She's going to complete the mission. Then she's going to reflect back on the mission. I'm literally going to do two plus two equal fours if it kills me. As you know, with Eleven Days and Red, White, Blue — sometimes I think it is laziness. Sometimes I think it is fear. It might be a combination of the two. Writing something that's very plotless and sort of free of things like timelines is my default mode. I had to get discipline to do this. I hope it worked.

Zibby: It definitely worked.

Lea: Thank you. News flash. After thousands of years of literature and ten years trying to write, there's a reason that people respond to classically written stories. I teach this class now at Columbia. I tell my students Aristotle's Poetics is basically keeping people's — it's attention capturing for dummies. It is how you hold someone's attention. Guess what? How do you hold someone's attention? You use the classical principles of story. It's all there in the Poetics, which you can read in twenty minutes. It's really about bringing someone in and using character and plot to hold their attention. That was the goal here, part of the goal.

Zibby: Wow, it's so cool. Speaking of keeping people's attention, often, people's attention wanders to watching things on TV versus reading. I don't have time for this, or whatever. This is an Apple project, right?

Lea: Yes.

Zibby: Tell me what the status is. That was a very weaving way of bringing that in. What's the status of this? What is going on with Red, White, Blue? What happened with the adaptation? What is your film story?

Lea: What is going on with Ilium is that the incredible, incredible, incredible filmmaker Alfonso Cuarón has optioned the book for Apple. I am not writing the project. I am so excited to see what it looks like. They are working on the script. I think that's where it is now. What's going on with Red, White, Blue, I'm adapting it. I'm really new to film and television, as you know. It is humbling. You throw a thousand things at the wall, and maybe one sticks. I had the outrageously strange experience of writing a screenplay that got made, the first thing I wrote which got made into a film, as you know. After that happened, I remember my agent said, "That's never happening again," my agent in his inimitably sweet but candid way. That business as a writer is so much about doing as much as you can and learning and having humility that it's so rare that something gets made, as you well know from your brother and your husband. I am trying to adapt both Eleven Days and Red, White, Blue. Finally, I've gotten away from my fear of that. I am working on both of those projects now, so I'll let you know where those eggs thrown at the wall end up. In both cases, I'm working with people I really admire.

Zibby: Last question. As a mom, if one of your boys said they wanted to go into espionage, how would you feel about that?

Lea: Complicated. I was just working on a scene for the Eleven Days adaptation the other day in which a mother and a son — that book is really about a mother and a son. In this scene, the mother, Sara, and her son, Jason, are sitting on the steps of the Lincoln Memorial, a place I've spent a lot of time and done a lot of deep thinking and steps on which I have sat with the children. He tells her, "Look, I'm going away. I'm taking this job." She's very upset about it. He says, "This is what I want to do. This is totally riskless." She, herself having had a career in espionage, says, "That's always what they tell you. That's how they get you in." The argument builds until he finally says, "It's so hypocritical of you to criticize my choice when this is what you did. This is what you loved." She says, "It's exactly because this is what I did and loved that I'm in a position to choose." I think parenting is, speaking of humbling activities, also defined by a kind of internal hypocrisy because we want to safeguard and protect them long after we are able to or maybe even meant to.

The short answer is it would depend. Is he sitting at a desk in Virginia, or he is going into one of these conflict zones? I would hope if one of the kids came to me and said that, that I would be supportive, but the real game is not a novel, as we all know. I think it would probably be worrisome. You want your kids in environments that you understand. International espionage is the definition of an environment that you, necessarily, cannot understand unless you're working in it. Now at this point, Vail, who you know won't even disclose the name of a girlfriend if he has one, so he's well on his way to being trained in the art of espionage. I think it'd be very complicated. My father — I found a letter. There are thousands of letters. One of the letters that I found after he died that he had written home to his father during the war said, effectively, "You know Dad, I'm realizing that the more people want to tell you about all of the covert work they're engaged in, the less covert work they're engaged in. The people who are really doing the work never ever talk about it." I remember reading that and thinking that remains true.

Zibby: Wow. Lea, congratulations. Another unbelievable, wonderful book with so much art to it. The plot piece is amazing, too, this time. All of it is just wonderful.

Lea: Thank you so much, Zibby.

Zibby: Creation of character, all of it is — you're such a pro. I've admired you for so long, and your writing. This is just another example of how fabulous it is. Congratulations.

Lea: Thank you. Thank you for supporting me, your friendship, everything. Thank you.


Zibby Media is a women-led start-up founded by Zibby Owens, dedicated to deepening connections between readers and authors and to building a community of book lovers. Zibby Media is comprised of a boutique publishing house, a daily interview podcast, retreats and events, a book club, and Zibby's Bookshop, an independent bookstore in Santa Monica, CA. Click here to sign up for their newsletter.

Unless otherwise stated, this interview was conducted at the time the book was first published, and is reproduced with permission of the publisher. This interview may not be reproduced or reprinted without permission in writing from the copyright holder.

Membership Advantages
  • Reviews
  • "Beyond the Book" articles
  • Free books to read and review (US only)
  • Find books by time period, setting & theme
  • Read-alike suggestions by book and author
  • Book club discussions
  • and much more!
  • Just $60 for 12 months or $20 for 3 months.
  • More about membership!

Books by this Author

Books by Lea Carpenter at BookBrowse
Ilium jacket Red, White, Blue jacket
Membership Advantages
  • Reviews
  • "Beyond the Book" articles
  • Free books to read and review (US only)
  • Find books by time period, setting & theme
  • Read-alike suggestions by book and author
  • Book club discussions
  • and much more!
  • Just $60 for 12 months or $20 for 3 months.
  • More about membership!

Read-Alikes

All the books below are recommended as read-alikes for Lea Carpenter but some maybe more relevant to you than others depending on which books by the author you have read and enjoyed. So look for the suggested read-alikes by title linked on the right.
How we choose readalikes

  • Julie Clark

    Julie Clark

    Julie Clark is the New York Times bestselling author of The Last Flight. It has earned starred reviews from Kirkus, Publishers Weekly, and Library Journal, and the New York Times has called it "thoroughly absorbing". It's ... (more)

    If you enjoyed:
    Ilium

    Try:
    The Last Flight
    by Julie Clark

  • Rachel Kushner

    Rachel Kushner

    Rachel Kushner is the author of Creation Lake, her latest novel, The Hard Crowd, her acclaimed essay collection, and the internationally bestselling novels The Mars Room, The Flamethrowers (named a Top 100 Best Book of the ... (more)

    If you enjoyed:
    Ilium

    Try:
    Creation Lake
    by Rachel Kushner

We recommend 5 similar authors

View all 5 Read-Alikes

Non-members can see 2 results. Become a member
Membership Advantages
  • Reviews
  • "Beyond the Book" articles
  • Free books to read and review (US only)
  • Find books by time period, setting & theme
  • Read-alike suggestions by book and author
  • Book club discussions
  • and much more!
  • Just $60 for 12 months or $20 for 3 months.
  • More about membership!

BookBrowse Book Club

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

Members Recommend

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

The fact of knowing how to read is nothing, the whole point is knowing what to read.

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 /author_interviews/full/index.cfm
Time Stamp 01-Jun-26 12:26 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
1780273592711 ms 1.78027359271E+012 ms 1 /root/website/app_server.cfm
638 ms 638 ms 1 /root/website/author_interviews/full/index.cfm
205 ms 205 ms 1 /root/website/app_layout.cfm
204 ms 204 ms 1 /root/website/author_interviews/full/dsp_main.cfm
160 ms 160 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
144 ms 144 ms 1 /root/website/app_globals.cfm
113 ms 38 ms 3 /root/website/adsystem/adsystem_mod.cfm
109 ms 55 ms 2 /root/website/queries/qry_get_books_by_author_id.cfm
67 ms 67 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
66 ms 66 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
60 ms 60 ms 1 /root/website/adzones/AdZone6.cfm
55 ms 18 ms 3 /root/website/queries/qry_get_member_account_types.cfm
55 ms 18 ms 3 /root/website/site/blocks/membership_advantages.cfm
43 ms 43 ms 1 /root/website/queries/qry_get_books_by_author_id_lite.cfm
39 ms 39 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
38 ms 38 ms 1 /root/website/adzones/showcase_track.cfm
36 ms 36 ms 1 /root/website/queries/qry_get_active_obc.cfm
30 ms 30 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
25 ms 25 ms 1 /root/website/queries/qry_get_current_competition.cfm
24 ms 24 ms 1 /root/website/actions/adstatus.cfm
21 ms 5 ms 4 /root/website/actions/act_spider_tracker.cfm
18 ms 18 ms 1 /root/website/act_check_login.cfm
17 ms 17 ms 1 /root/website/adzones/AdZone2.cfm
17 ms 17 ms 1 /root/website/queries/qry_get_member_info.cfm
13 ms 13 ms 1 /root/website/queries/qry_get_author_readalikes_by_id.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_all_books_by_author_id.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
11 ms 11 ms 1 /root/website/queries/qry_get_bb_briefs_by_author.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_current_ezine.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/act_libraryIPLogin.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/formurl2attributes.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_free_newsletters.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_top_author_block.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_menu.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
639 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

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

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

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

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

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

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

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

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

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

	AND 		getdate() < arc_on_ad_dt
	
		ORDER BY  	NEWID()
get_active_obc (Datasource=bookbrowse_com_new, Time=11ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 00:26:32.032
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE 		a.arc_obc_flag = 1
	AND			a.arc_active_flag = 0
	AND 		arc_closed_flag = 1
	AND 		getdate() >= arc_on_ad_dt
	AND 		getdate() < arc_off_ad_dt
	ORDER BY  	NEWID()
get_recent_obc (Datasource=bookbrowse_com_new, Time=9ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 00:26:32.032
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE a.arc_number IN (select top 4 arc_number
							from		arcs
							WHERE 		arc_obc_flag = 1
							AND			arc_active_flag = 0
							AND 		arc_closed_flag = 1
							AND 		getdate() > arc_off_ad_dt
							ORDER BY	arc_on_ad_dt DESC)
	ORDER BY  	NEWID()
get_books_by_author_id (Datasource=bookbrowse_com_new, Time=19ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 00:26:32.032
select	a.book_number, a.book_title, a.book_sub_title, book_short_summary,
				(CASE WHEN f.edition_publish_dt < g.edition_publish_dt OR g.edition_publish_dt IS NULL THEN f.edition_publish_dt
                      ELSE g.edition_publish_dt 
                      END) "publish_dt"
		
        from 	books a
		inner join book_author_mapping e ON e.book_number = a.book_number
        inner join authors d ON d.author_number = e.author_number
        left outer join editions f ON a.book_number = f.book_number and f.edition_paperback_flag = 0 
   		left outer join editions g ON a.book_number = g.book_number and g.edition_paperback_flag = 1 
		
       	where 	d.author_number = ?
        and 	a.book_number IN (	select	distinct b.book_number 
        							from	categories a, category_book_mapping b 
                                    where 	a.category_number = b.category_number 
                                    and 	a.category_active_flag = 1)

		order by publish_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3912

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=22ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 00:26:32.032
select	d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, d.author_pronunciation,
				i.author_info_number, i.author_number, i.author_info_image, i.author_info_entry_dt,
                i.author_info_url, i.author_info_interview_summary, i.author_info_interview, i.author_info_biography, i.author_info_copyright_info
                		
        from 	authors d, author_info i
		
        where 	d.author_number = ?
        and 	d.author_number = i.author_number
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3912

get_all_books_by_author_id (Datasource=bookbrowse_com_new, Time=11ms, Records=2) in /root/website/queries/qry_get_all_books_by_author_id.cfm @ 00:26:32.032
select	a.book_number, 
        		'' AS ezine_preview_number,
                a.book_title, 
                a.book_sub_title, 
				(CASE WHEN f.edition_publish_dt < g.edition_publish_dt OR g.edition_publish_dt IS NULL THEN f.edition_publish_dt
                      ELSE g.edition_publish_dt 
                      END) "publish_dt",
                '' as "jacket"
		
        from 	books a
		inner join book_author_mapping e ON e.book_number = a.book_number
        inner join authors d ON d.author_number = e.author_number
		left outer join editions f ON a.book_number = f.book_number and f.edition_paperback_flag = 0
		left outer join editions g ON a.book_number = g.book_number and g.edition_paperback_flag = 1
		
        where 	d.author_number = ?
        and 	a.book_number IN (	select	distinct b.book_number 
        							from	categories a, category_book_mapping b 
                                    where 	a.category_number = b.category_number 
                                    and 	a.category_active_flag = 1)        
        UNION

		select	'' AS book_number,
        		ezine_preview_number, 
				ezine_preview_title AS "book_title", 
				ezine_preview_subtitle AS "book_sub_title",
                ezine_preview_publish_dt AS "publish_dt",
                ezine_preview_jacket_image as "jacket"
		
        from 	ezine_previews
		
        where 	ezine_preview_bb_author_link = ?
        and		ezine_preview_bb_link < 1
        
        order by publish_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3912
Parameter #2(CF_SQL_INTEGER) = 3912

get_bb_briefs_by_author (Datasource=bookbrowse_com_new, Time=10ms, Records=1) in /root/website/queries/qry_get_bb_briefs_by_author.cfm @ 00:26:32.032
select	ezine_preview_number, 
				ezine_preview_title, 
				ezine_preview_subtitle,
                ezine_preview_publish_dt ,
                ezine_preview_jacket_image
		
        from 	ezine_previews
		
        where 	ezine_preview_bb_author_link = ?
        and		(ezine_preview_bb_link IS NULL
				 or ezine_preview_bb_link < 1)
        and		ezine_number > 0
        
		order by ezine_preview_publish_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3912

get_author_readalikes_by_id (Datasource=bookbrowse_com_new, Time=13ms, Records=5) in /root/website/queries/qry_get_author_readalikes_by_id.cfm @ 00:26:32.032
SELECT		a.author_number,
			CASE	WHEN datalength(a.author_middle_initial) > 0 
					THEN a.author_first_name + ' ' + a.author_middle_initial + ' ' + a.author_last_name
					ELSE a.author_first_name + ' ' + a.author_last_name
					END AS "author_full_name",
			b.book_number, 
			f.book_title as "book",

			CASE	WHEN datalength(e.author_middle_initial) > 0 
					THEN e.author_first_name + ' ' + e.author_middle_initial + ' ' + e.author_last_name
					ELSE e.author_first_name + ' ' + e.author_last_name
					END AS "liked_author_full_name",
			e.author_number as "liked_author_number", 
			g.book_title as "liked_book",
			c.liked_book_number as "liked_book_number" 

FROM		authors a
INNER JOIN	book_author_mapping b ON b.author_number = a.author_number
INNER JOIN	liked c ON c.book_number = b.book_number
INNER JOIN	book_author_mapping d ON d.book_number = c.liked_book_number
INNER JOIN	authors e ON e.author_number = d.author_number
INNER JOIN	books f on f.book_number = b.book_number
INNER JOIN	books g on g.book_number = c.liked_book_number

WHERE		a.author_number = ?

ORDER BY 	e.author_last_name, e.author_first_name
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 3912

get_ads (Datasource=bookbrowse_com_new, Time=10ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 00:26: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.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) = adzone2
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=6ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 00:26:32.032
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) = adzone2

get_member_account_types (Datasource=bookbrowse_com_new, Time=5ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 00:26:32.032
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_book_image (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/actions/udfs.cfm @ 00:26:32.032
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_jacket_image "hardcover_jacket_image", 
            g.edition_publish_dt "paperback_publish_dt", g.edition_jacket_image "paperback_jacket_image"
    
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4765

get_member_account_types (Datasource=bookbrowse_com_new, Time=5ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 00:26:32.032
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_books_by_author_id (Datasource=bookbrowse_com_new, Time=33ms, Records=2) in /root/website/queries/qry_get_books_by_author_id.cfm @ 00:26:33.033
select	a.book_number, 
				a.book_title, 
				(CASE WHEN UPPER(LEFT(a.book_title, 2)) = 'A ' THEN SUBSTRING(a.book_title, 3, len(a.book_title) - 2) WHEN UPPER(LEFT(a.book_title, 3)) = 'AN ' THEN SUBSTRING(a.book_title, 4, len(a.book_title) - 3) WHEN UPPER(LEFT(a.book_title, 4)) = 'THE ' THEN SUBSTRING(a.book_title, 5, len(a.book_title) - 4) ELSE a.book_title END) "sort_book_title", 
				a.book_sub_title, 
				a.book_entry_dt, 
				a.book_short_summary, 
				a.book_jacket_info, 
                a.book_excerpt, 
                a.book_reading_guide,
				d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, 
				f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages "hardcover_number_of_pages", f.edition_isbn "hardcover_isbn", f.edition_isbn13 "hardcover_isbn13",f.edition_jacket_image "hardcover_jacket_image",
				g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages "paperback_number_of_pages", g.edition_isbn "paperback_isbn", g.edition_isbn13 "paperback_isbn13",g.edition_jacket_image "paperback_jacket_image",
				i.author_info_biography, i.author_info_interview, i.author_info_image, i.author_info_url,
                (select count(c.book_number) as "author_bookcount" from book_author_mapping c where c.author_number = ?) + (select count(e.ezine_preview_number) as "author_bookcount" from ezine_previews e where e.ezine_preview_bb_author_link = ?) as "authorbookcount"
                
		    from books a
            inner join book_author_mapping e ON a.book_number = e.book_number
            inner join authors d ON e.author_number = d.author_number
            inner join author_info i ON d.author_number = i.author_number
            left outer join editions f ON a.book_number = f.book_number and f.edition_paperback_flag = 0
            left outer join editions g ON a.book_number = g.book_number and g.edition_paperback_flag = 1
                        
            where e.author_number = ?
            and a.book_number IN (select distinct b.book_number from categories a, category_book_mapping b where a.category_number = b.category_number and a.category_active_flag = 1)
			
            order by sort_book_title
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3404
Parameter #2(CF_SQL_INTEGER) = 3404
Parameter #3(CF_SQL_INTEGER) = 3404

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 00:26:33.033
select	d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, d.author_pronunciation,
                CASE	WHEN datalength(d.author_middle_initial) > 0 
                        THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
                        ELSE d.author_first_name + ' ' + d.author_last_name
                        END AS "author_full_name",
				i.author_info_number, i.author_number, i.author_info_image, i.author_info_entry_dt,
                i.author_info_url, i.author_info_interview_summary, i.author_info_interview, i.author_info_biography, i.author_info_copyright_info
                		
        from 	authors d, author_info i
		
        where 	d.author_number = ?
        and 	d.author_number = i.author_number
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3404

get_books_by_author_id (Datasource=bookbrowse_com_new, Time=52ms, Records=2) in /root/website/queries/qry_get_books_by_author_id.cfm @ 00:26:33.033
select	a.book_number, 
				a.book_title, 
				(CASE WHEN UPPER(LEFT(a.book_title, 2)) = 'A ' THEN SUBSTRING(a.book_title, 3, len(a.book_title) - 2) WHEN UPPER(LEFT(a.book_title, 3)) = 'AN ' THEN SUBSTRING(a.book_title, 4, len(a.book_title) - 3) WHEN UPPER(LEFT(a.book_title, 4)) = 'THE ' THEN SUBSTRING(a.book_title, 5, len(a.book_title) - 4) ELSE a.book_title END) "sort_book_title", 
				a.book_sub_title, 
				a.book_entry_dt, 
				a.book_short_summary, 
				a.book_jacket_info, 
                a.book_excerpt, 
                a.book_reading_guide,
				d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, 
				f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages "hardcover_number_of_pages", f.edition_isbn "hardcover_isbn", f.edition_isbn13 "hardcover_isbn13",f.edition_jacket_image "hardcover_jacket_image",
				g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages "paperback_number_of_pages", g.edition_isbn "paperback_isbn", g.edition_isbn13 "paperback_isbn13",g.edition_jacket_image "paperback_jacket_image",
				i.author_info_biography, i.author_info_interview, i.author_info_image, i.author_info_url,
                (select count(c.book_number) as "author_bookcount" from book_author_mapping c where c.author_number = ?) + (select count(e.ezine_preview_number) as "author_bookcount" from ezine_previews e where e.ezine_preview_bb_author_link = ?) as "authorbookcount"
                
		    from books a
            inner join book_author_mapping e ON a.book_number = e.book_number
            inner join authors d ON e.author_number = d.author_number
            inner join author_info i ON d.author_number = i.author_number
            left outer join editions f ON a.book_number = f.book_number and f.edition_paperback_flag = 0
            left outer join editions g ON a.book_number = g.book_number and g.edition_paperback_flag = 1
                        
            where e.author_number = ?
            and a.book_number IN (select distinct b.book_number from categories a, category_book_mapping b where a.category_number = b.category_number and a.category_active_flag = 1)
			
            order by sort_book_title
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3084
Parameter #2(CF_SQL_INTEGER) = 3084
Parameter #3(CF_SQL_INTEGER) = 3084

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=17ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 00:26:33.033
select	d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, d.author_pronunciation,
                CASE	WHEN datalength(d.author_middle_initial) > 0 
                        THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
                        ELSE d.author_first_name + ' ' + d.author_last_name
                        END AS "author_full_name",
				i.author_info_number, i.author_number, i.author_info_image, i.author_info_entry_dt,
                i.author_info_url, i.author_info_interview_summary, i.author_info_interview, i.author_info_biography, i.author_info_copyright_info
                		
        from 	authors d, author_info i
		
        where 	d.author_number = ?
        and 	d.author_number = i.author_number
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3084

get_member_account_types (Datasource=bookbrowse_com_new, Time=42ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 00:26:33.033
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=21ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 00:26:33.033
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=44ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 00:26:33.033
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=28ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 00:26:33.033
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=27ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:26:33.033
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone6

get_type (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:26:33.033
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=29ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 00:26:33.033
select top 1 ezine_number, ezine_quote, ezine_quote_title
	    from ezines
	    where len(ezine_quote_title) > 1
	    order by newid()
get_free_newsletters (Datasource=bookbrowse_com_new, Time=0ms, Records=4, Cached Query) in /root/website/queries/qry_get_free_newsletters.cfm @ 00:26:33.033
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=17ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 00:26:33.033
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 @ 00:26:33.033
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 @ 00:26:33.033
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/author_interviews/full/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=CFID=4078162; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; CFTOKEN=a7b596ce40c16e97-05BC6558-009B-F808-047D4934A1AF8903; CFGLOBALS=urltoken%3DCFID%23%3D4078162%26CFTOKEN%23%3Da7b596ce40c16e97%2D05BC6558%2D009B%2DF808%2D047D4934A1AF8903%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2000%3A26%3A32%27%7D%23hitcount%3D136%23timecreated%3D%7Bts%20%272026%2D06%2D01%2000%3A26%3A07%27%7D%23cftoken%3Dd70c68d5ba08749f%2D05BC588A%2D9508%2D4362%2DD5C87341963F9B78%23cfid%3D4078159%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=/author_number/3912/lea-carpenter
PATH_TRANSLATED=/root/website/author_interviews/full/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/author_interviews/full/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=4078159
cftoken=d70c68d5ba08749f-05BC588A-9508-4362-D5C87341963F9B78
hitcount=138
lastvisit={ts '2026-06-01 00:26:32'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 00:26:07'}
urltoken=CFID=4078162&CFTOKEN=a7b596ce40c16e97-05BC6558-009B-F808-047D4934A1AF8903
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#=4078162&CFTOKEN#=a7b596ce40c16e97-05BC6558-009B-F808-047D4934A1AF8903#lastvisit={ts '2026-06-01 00:26:32'}#hitcount=136#timecreated={ts '2026-06-01 00:26:07'}#cftoken=d70c68d5ba08749f-05BC588A-9508-4362-D5C87341963F9B78#cfid=4078159#
CFID=4078162
CFTOKEN=a7b596ce40c16e97-05BC6558-009B-F808-047D4934A1AF8903
Session Variables:
cfid=4078162
cftoken=a7b596ce40c16e97-05BC6558-009B-F808-047D4934A1AF8903
sessionid=BOOKBROWSE_4078162_a7b596ce40c16e97-05BC6558-009B-F808-047D4934A1AF8903
urltoken=CFID=4078162&CFTOKEN=a7b596ce40c16e97-05BC6558-009B-F808-047D4934A1AF8903
URL Parameters:
author_number=3912
lea-carpenter=
Debug Rendering Time: 15 ms