Laura Moriarty Interview, plus links to author biography, book summaries, excerpts and reviews

Laura Moriarty

Laura Moriarty

An interview with Laura Moriarty

How much research did author Laura Moriarty do for her book The Chaperone? Did she even wear a corset to precisely capture the binding details? Find out in this discussion with fellow author Curtis Sittenfeld.

Curtis Sittenfeld is the author of the bestselling novels American Wife, Prep, and The Man of My Dreams, which have been translated into twenty–five languages. Here she talks with novelist Laura Moriarty about her experiences writing The Chaperone.

Curtis Sittenfeld: You tell the story of two characters whose trajectories overlap—Louise Brooks before she becomes famous, and quietly complicated housewife Cora Carlisle, who serves as 15–year–old Louise's chaperone in New York in the fateful summer of 1922. Did you always know they belonged in a book together, or did you decide to write about one of them first?

Laura Moriarty: I always found Louise Brooks interesting. She was an icon of the silent–film era, and I knew she'd grown up in Kansas, and that she was smart and rebellious and sharp–tongued. But it wasn't until I learned that she'd first gone to New York as a teenager with a 36–year–old chaperone that I saw a story I wanted to write. I'm drawn to intergenerational tension, and it must have been strong in the 1920s: I wondered how Louise's generation of flappers appeared to the women who came of age at the beginning of the century—wearing corsets, long skirts, and high collars. This older generation of women had campaigned for suffrage and prohibition of alcohol; they must have been bewildered by the very different values and sensibilities of their daughters. I liked the idea of a chaperone, someone thrown into this dynamic all at once.

Curtis Sittenfeld: Were you a fan of Louise Brooks specifically, or of movies from the 1920s and 1930s generally, or were you exploring an art form unfamiliar to you when you started writing this novel?

Laura Moriarty: I wasn't that familiar with silent films. I didn't know, for example, how hugely popular silent films were in the 1920s, how people would go to the movies several times a week. While I was writing the book, I went to see Louise Brooks's most famous film, Pandora's Box, at the Tivoli in Kansas City, and it was a lovely experience. You can watch old silent films on DVD or even on YouTube, but it was a different feeling watching her up on the big screen, seeing the film the way people saw it all those years ago.

Curtis Sittenfeld: You've clearly done a lot of research. What form did your research take? Were there discoveries you made—about Brooks, or the early twentieth century, or Wichita—that particularly captured your imagination? Was there any incredibly juicy details you came across that just didn't belong in the book?

Laura Moriarty: One of the first things I did, and maybe the most important, was drive down to Wichita and walk around Union Station, where Louise and her chaperone disembarked for New York in 1922. It's boarded up now, but just seeing the physical place helped me see the story and the journey as real. I read Louise's autobiography and Barry Paris's biography of her. I read oral histories of Manhattan in the '20s, and I read travel guides from that era as well. I spent a lot of time learning about 1920s fashion, not just what flappers were wearing, but what most women were wearing, what men were wearing. Overall I learned a lot of details about 1920s clothes, cars, kitchen appliances, and food. I had a character eating peanut butter in one scene until I learned that peanut butter wasn't commercially packaged and sold until 1924. But the biggest challenge was probably getting into the psychology of someone living in that era—to know her values, and how she saw the world.

Here's an interesting bit about Louise that didn't get in the book: After she became famous, she and some friends were dining in a restaurant in Europe; she was bored, and she spotted a man she'd been friendly with, and she asked the waiter to summon him. The man didn't come over right away because he was with a woman, and he didn't want to be rude. When he finally did go over to Louise's table, apologizing and explaining his delay, she picked up a bouquet of roses and sliced him across the face with it, the thorns actually cutting his skin so his face was dripping blood. This story, to me, says a lot about the dark side of Louise's personality. Yes, she was beautiful and intelligent, and she could be very funny, but obviously there was a deep insecurity there, a real destructive rage and immaturity. I couldn't work that scene into the book, but I knew what it told me about Louise, and I thought about it when I was writing her scenes with Cora.

Curtis Sittenfeld: One of your characters was part of the Orphan Train, which placed children with midwestern families (who also happened to be strangers!). Is her experience based on that of anyone real, or is it more of an amalgamation?

Laura Moriarty: The thing that got me about the Orphan Trains was that the experiences were so varied. Some of the kids went from neglect and hunger in New York to loving farm families who couldn't wait to fatten them up, who gave them medical care, an education, affection. And some of the kids became the victims of terrible cruelty, and more hunger, and more neglect—it all depended on who adopted them off of the train. Because the experiences of the children were so varied, I wouldn't say this character's experience is an amalgamation, though she isn't based on any one real person either. Her story is just what could have happened to a child, and what probably did happen to many of them.

Curtis Sittenfeld: Like Cora, you yourself live in Kansas, and you've set earlier fiction there. What do you like about writing and living in a place that's not considered a literary hotbed? (Admittedly, I ask this as someone who lives in nearby Missouri!)

Laura Moriarty: I love my town, Lawrence, Kansas, so I'm glad I get to live here. I've never felt that wanting to write required me to live in New York. There are so many great authors living there, of course, but I can get their books here, or I can read their stories online or in journals. And there's a great community of writers right here in my town. I teach creative writing at the University of Kansas, and I have creative colleagues and thoughtful graduate students, and I have a writing group I meet with almost every week. I suppose it's a little humbling to write from Kansas. I know I'm not at the literary center of the universe. But that might not be a bad thing.

Curtis Sittenfeld: I want to ask you a variation of a question I've been asked. I wrote a novel, American Wife, that borrowed from the life of a real person—Laura Bush—but I changed her name. You've written about a real person—Louise Brooks—and used her real name, but she's no longer living. Do you feel any moral qualms about portraying a real person saying and doing things that you've made up?

Laura Moriarty: I was so excited about this book when I started it that I didn't have a lot of moral qualms. But the more I read about Louise and the more I wrote about her, the more I started to really care for her, and I did worry about getting her right, portraying her in a way that was accurate. I tried to keep my depiction true to what I learned from her autobiography and biographies about her. It's impossible to know what she'd think of my portrayal, but I hope she would approve. In any case, I don't think Louise Brooks ever lost too much sleep over what other people thought of her.

Curtis Sittenfeld: Your descriptions of Cora wearing a corset are incredibly convincing. Did you—for the sake of research, of course—ever try one on yourself?

Laura Moriarty: I don't think I've ever tried on a corset, though a certain bridesmaid's dress did require a torturous bustier that will stay forever burned in my sensory memory.



Laura Moriarty, Author of The Chaperone, on Historical Fiction

I don't feel much nostalgia for the past - I'm a big fan of voting rights, permanent-press clothes, and antibiotics - but I've always loved reading historical fiction. I like the way it makes me think about previous generations, and how their lives and worries were very different from mine. I also like the way historical fiction reminds me to think of my own era as simply another moment in time, one that will seem antiquated too someday. Not only did you have to create a whole world and a cast of characters, but you also had to capture the essence of a time you've never experienced.

And then, a little over two years ago, I fell in love with the idea for a novel that had to take place, most emphatically, in 1922. I'd already written three novels, but they were all set in places I'd lived, in times I'd experienced. My work drew on scenes I'd witnessed, in settings that I knew and understood. But this was different. This novel had to take place in 1922 because that was the year a bobbed-haired Louise Brooks, soon to become a silent-film star and an icon of her generation, left her hometown of Wichita for New York accompanied by a chaperone. Not much is known about the real chaperone except that she was a thirty-six-year-old housewife of good standing, but I imagined her as my heroine, a complicated woman who would have her own reasons for going to New York. I could imagine her character, and how impossible it would be for her to keep someone like Louise Brooks from impropriety. And I could imagine how the summer might change the chaperone's life in ways she never anticipated.

But I couldn't just imagine 1922. Or Louise Brooks. Because both really existed. And I had to get the details right.

Fortunately, I find the 1920s fascinating. It was a decade of rapid change for women, for technology, and social mores. Hemlines were rising, then falling again. Alcohol was both illegal and widely available. I plunged into reading. Documentaries, old photographs, and field trips were helpful, too. I read a 1922 edition of Emily Post's Etiquette in Society, in Business, in Politics and at Home. I got my hands on an old tour guide to New York City, complete with subway maps and hotel and restaurant recommendations. I found a B. Altman catalogue for the summer of 1922 - it was full of fawning descriptions of mushroom hats and straw turbans, bathing suits made of wool jersey, whalebone corsets, boudoir caps, and middy suits for children. I went to a train museum. I read Louise's autobiography and biographies about her. I drove into Kansas City to watch her finest film, Pandora's Box, up on the big screen at the old Tivoli Theater, and I studied her expressions, the way she moved. I read archived 1922 articles from Ladies' Home Journal and The New York Times, and I spent a winter afternoon talking with a friend's mother, now in her eighties, who'd grown up in Wichita. The more I learned, the more I realized how much more I had to learn - but I began see and feel and hear and smell Louise and Cora's world as vividly as if I'd lived in it myself.

And really, I knew the biggest challenge of writing this novel wouldn't be getting the details right; it would be getting into the psychology of a woman born in 1886 - to truly understand how she would perceive the world. I didn't want Cora to be a heroine with modern-day sensibilities trapped in 1922. I wanted her to be a woman of her time, struggling with what she thinks she knows, what she's been taught, and what she comes to see for herself. At the same time, I didn't want to think of her as so very different from me. Human emotions - longing, annoyance, jealousy, giddiness, disappointment, hope - are timeless, and stories about the past need not always feel historical.

Before I actually started writing, I drove down to Wichita. Wichita's elegant Union Station, where Louise and her chaperone boarded the train for New York, was still there. It was boarded up, the doors padlocked, but I walked around it once, then twice, and I swear I could almost see them on the platform, standing together in the hot July sun, waiting for the train. The taller woman wore a pretty hat and long skirt; the girl was bareheaded, her dark hair bobbed. A train whistle blew in the distance. I could imagine the humidity, the squeeze of a corset, the guarded silence between them. I imagined until they were real, until I could feel their excitement, all three of us certain a great adventure lay in store.


A Conversation with Laura Moriarty author of The Rest of Her Life

Q: What inspired you to write The Rest of Her Life?

A:. The novel opens with the narrator learning that her bright and accomplished eighteen-year-old daughter has accidentally run over and killed a pedestrian. Whenever I read about accidents like this, I of course have sympathy for the victim and the victim's family; but I also feel terrible - and maybe even more sympathy - for the driver. Here I'm referring to drivers who aren't drunk or drag racing or doing anything overtly irresponsible - I'm thinking about the driver who doesn't see the cyclist when turning right, or the driver who is so distracted by the crying child in the back seat that she just doesn't see the stop sign, etc. That's the crazy thing about cars - they are so much a part of our lives, and I think we forget the damage we can do in them: a small, unthreatening, and basically decent person can get behind the wheel and, in just a moment of distraction, do irreparable damage to another human being. As a novelist, I wanted to look at how a sensitive, idealistic person might deal with the knowledge that she has done so much harm without meaning to.


Q: Both of your novels -The Center of Everything and The Rest of Her Life - are set in Kansas, where you live. Why?

A: I moved around a lot as a kid - my dad was a marine. I came to Kansas for college, and I just fell in love with it. I know it sounds crazy - I've lived in some places known for their beauty - Montana, Utah, Florida, and Maine. I spent a year in Malta. But there is something about the landscape of Kansas - how green and lush it looks in warm weather, how huge the sky appears, how violent the storms are; it all just really appeals to me. I do hate cold weather, so sometimes I think about packing it all up and heading back to Florida. But a wise and irate friend just told me, 'You're not moving to Florida. Don't be ridiculous. You live where people love you. What? You think I'm here for the weather?' I guess that's it. I live in Kansas, and I probably love Kansas, because so many of the people I love live here, and because I have finally lived in one place long enough to not feel like a stranger. I may whine all winter, but this is home.


Q: What other aspects of the novel, if any, are taken from personal experiences?

A:
I try not to put too much of my own experiences into my work, though they probably seep in without me even realizing it. I know you're supposed to 'write what you know,' and to an extent, I do. I use little details from my own experiences - or maybe they aren't my experiences, but a friend's, or a former client from my social work days. It's interesting, because when I read a book I like, my first question for the author would be 'Is this true? Is this you?' So I completely understand the impulse to ask that question of an author. But as a writer, I'm often frustrated by the assumption that I'm writing about myself, if only because I find myself not writing about certain subjects or feelings or circumstances because I don't want people to connect them with me as a person. And that's too bad. I don't write as therapy. I write for the joy of creating, and for the experience of connecting with a reader. I write to get out of my head, not into it.


Q: You've made some interesting comments about being labeled a "chick lit" writer, and about the term in general. How do you define chick-lit, and where do you feel your books lie as far as genre is concerned?

A:
I don't know that I've ever been explicitly referred to as a "chick-lit" writer. I think because it's a relatively new term, people are still working out the definition, but I worry that the subtle but persistent marginalization of women writers has entered the process. I see 'chick-lit' as a term for escapist and entertaining books that are by and about women. When I think of 'chick-lit,' I think of books with high-heeled shoes, or purses, or lips on the cover. Some of them are fun to read, some of them are thought-provoking, and some of them are well written. Many of them are formulaic with vapid and materialistic protagonists, but you could say that of a lot of genres. The problem, for me, is that it's a slippery slope - for certain people, 'chick-lit' refers to any book that has a predominantly female cast. People can read what they want, and they usually do, but when I write, I'm thinking about not only my characters and their world, but also the world we all actually live in and the competing philosophies and points of view it inspires. I certainly don't think it's wrong to want to read something light every now and then - people need escape and entertainment. But my characters are not stressing out about how to land a husband, and they're not going on shopping trips for five hundred dollar shoes. My characters, like most women - like most people- in the real world, deal with things like poverty and hard choices and regret and hope and how difficult it can be to love someone in the active sense of the word. I hope what I write is literary fiction - it's usually categorized that way. But in bookstores and in the media, my work is sometimes labeled 'women's fiction.' This isn't necessarily a bad thing - I am a woman, and my protagonists are women, and most of my readers are women. But you don't see 'The Kite Runner' categorized as Men's Fiction, though all of the major characters are male. 'A Prayer for Owen Meany' isn't Men's Fiction. I don't even think most book stores have a section for 'Men's Fiction,' unless it refers to gay literature. As I understand it, 'Men's Fiction' is just called 'Fiction.' That's sort of the unspoken rule: literature - Moby Dick, The Lord of the Flies - can be almost entirely populated by male characters, but if a book has mostly female characters, it becomes 'women's fiction;' which for some people, unfortunately, is synonymous with 'chick-lit.' The implication is that stories about women's lives are 'lite' and frivolous simply because they are about women.

I know this double standard isn't just a huge marketing conspiracy. The truth is women readers will buy and read books by and about men. (I'm guessing that more than half of the readers of 'The Kite Runner' and 'Owen Meany' were female.) I know there are some men who read fiction by women, and I know there are a few highly respected female writers - Zadie Smith, Joyce Carol Oates, and Virginia Woolf - who have a significant male readership. But I would argue that even at that level of writing (genius), there are a lot more women reading about fictional male characters than vice-versa. Maybe this is just human nature, the way it is. And so sales categories reflect that.

But I don't write chick-lit. I write books about women. Our lives are as serious and as full of wonder and grief as men's, and a female protagonist does not equal a beach read. I wish sales reports would show that more male readers were as curious about our lives and stories as I have always been about theirs. I can't imagine not having read The Lord of the Flies, or Moby Dick, or Heart of Darkness, or This Boy's Life, or A Separate Peace, or Malcom X, or The Fortress of Solitude, or the hundreds of other amazing books I've loved that are by and about men. But if the marketers are correct, and most men don't want to read about women, I can't make them. It's okay. Women buy more books anyway.


Q: Did you have a particular message in mind when you wrote The Rest of her Life?

A:
When I was developing the characters, it occurred to me that the idea that you could cause so much harm by just being distracted was a good metaphor for (accidentally) bad parenting. I've heard parenting instructors warn people 'no one gets out of bed in the morning and says, 'I'm going to really screw up my kid today.' Similarly, no one gets in a car and thinks, 'I'm going to get on my cell phone and roll through a stop sign and kill someone.' But we do these things. We get distracted. We're full of good intentions, but we don't see what's right in front of us. So after you make the mistake, you can promise to be more attentive, more careful. But you also have to consider the harm you've already done.


Q: How do you come up with plot-lines? Do you develop a main character first and find that a story naturally follows?

A:
With The Center of Everything, I came up with the narrator, Evelyn, first. That is such a voice driven novel, and I was somewhat content to just sort of follow her voice and see where it led. I say 'somewhat' because when I was writing it, people would ask 'what's your novel about?' and I would have to say 'it's about a girl growing up in Kansas.' Their eyes would sort of glaze over with pity, and I would get worried. All those how-to books on writing have these rules - the protagonist has to want something, the conflict has to be established by the third page, etc, and I didn't have any of that. But I think following Evelyn's voice and her character was the right way to write that particular book. In contrast, I considered the plot for The Rest of Her Life before I developed any of the characters. That's also supposed to be a big no-no - in graduate creative writing programs, you hear a lot about how you're supposed to come up with characters first unless you're just writing a mindless pot-boiler. But for this book (The Rest of Her Life) I really wanted to investigate a particular situation, and I do feel as if the characters I finally decided on are dynamic and round characters. I think the characters and their inner conflicts echo some of the themes that the plot brings up.


Q: Are there certain conditions that help you focus on writing? Any advice on how to overcome writer's block?

A:
I would not presume to give anyone advice on writer's block, because I myself am tormented by it. Actually, it's not so much block - I always come up with ideas - I just have trouble to committing to one. I get worried I'm on the wrong track, and I want to start over with a different idea, etc. Sometimes this is productive, but if I let myself do this too much, I would never complete anything out of fear of failure. It's okay to back out of a bad idea, but sometimes you just have to push yourself to see something through. I should write that on my arm every morning.


Q: The Rest of Her Life tells the story of Leigh, a mother, and Kara, her teenaged daughter, whose already troubled relationship is tested in the extreme in the aftermath of tragedy. How do you write characters like Leigh and Kara who are going through such an immensely difficult experience?

A:
I try to imagine it. While I'm writing - and I mean while I'm actually composing a sentence or a piece of dialogue - I really try to think what the characters would be feeling. Sometimes I can connect the feeling to something hard I've gone through in my own life. But sometimes I just have to imagine and guess. There is a scene in 'The Rest of Her Life' where the narrator is trying to imagine how the daughter must feel about having killed someone. She can only think of the time when she accidentally hurt a child in a much less permanent way and try to amplify the guilt and shame she felt exponentially. I spend a lot of time thinking 'how would this make me feel?' and, more importantly, 'how would this make this character feel?'


Q: What attracts you to writing fiction? Do you ever consider branching into poetry, non-fiction, or any other type of writing?

A:
One of the things I like about writing is the escape it offers - just as reading a novel allows someone to enter into another world, writing a novel can serve as an escape. It's funny - I love reading memoirs, but I don't think I would ever write one. I have a hard enough time justifying myself to myself. I'd hate to try to do it for critics. So I admire people who write thoughtful non-fiction, exposing themselves so that others might experience another time and place and perspective. But for writing, I'll stick with fiction. I like the idea of really imagining another world, another personality, and getting a break from my own head. I also love the puzzle of trying to figure out the best way to tell a story - which point of view, which part to start out with, what parts to leave out, etc. I won't name names, but I will say I have a person in my life who tells stories without ever seeming to consider any of these things, and it has always driven me absolutely crazy.


Q: Is your Kansas community as small as the one in The Rest of Her Life? Do you find that closely-knit towns tend to band together after a momentous event, however tragic, or, do you think Leigh is right in suspecting the entire town is whispering about her and her family behind her back?

A:
My town, Lawrence, has about eighty thousand people; it's much larger than the town in The Rest of Her Life. However - and I think people from larger cities will relate to this - I've noticed I have a smaller radius with the city limits where I shop and live and recognize people, and sometimes that feels like a very small town. I know that when I don't want to bump into someone at the grocery store, I will. So if I really, really, really don't want to bump into that someone, I will go to a grocery store on the other end of town. (Here I understand I'm admitting to how neurotic I can be. I can only assure people this doesn't happen often.) But the narrator of The Rest of Her Life doesn't have the option of driving across town. There is no across town, and there is only one store. She has to face people. I think that is a major difference between small towns and larger communities, and so the small town setting can make for better drama. I also think this gives small towns a different character as a whole. If you know you are going to bump into someone over and over again, you are going to be more invested in - and possibly more cornered by - your relationship with that person. That's going to affect the way everyone interacts with everyone else.

But I don't know if 'closely-knit' is always such a good thing. Small towns can be small minded and claustrophobic. But just like larger towns, they can be full of caring and support. Before the accident, the narrator of The Rest of Her Life enjoyed living in a small town, knowing things about her neighbors - not in a mean-spirited way - I would call her a kind-hearted voyeur. But she doesn't like it when, after her daughter's accident, she realizes other people are talking about her. She finds it hard to believe (and maybe hard to accept) that other people are looking at her own messy life with the same compassion she had when looking at theirs. Her daughter's accident forces her to see herself as part of the community, not just someone standing on the sidelines.


Q: What are you working on now?

A:
I hope I'm working on my next novel! I write every day, but when I start on a project, I spend a lot of time worrying I'm on the wrong track - the wrong idea, the wrong point of view, the wrong opening, the wrong tone. I know that at some point, I just have to pick something and commit to it. I can make myself crazy trying to figure out whether I'm making the best choices. I know that there are many ways to tell a story, many choices that would be the right one. Charles Bukowski asked, "How can you say you love one person when there are ten thousand people in the world you would love more if you ever met them? But you'll never meet them." It's cynical, but it's also funny and true, and a lot like writing. At some point, you have to quit obsessing over the finding the 'right' character or point of view or opening, and just try to love the one you're with.

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 Laura Moriarty at BookBrowse
The Chaperone jacket While I'm Falling jacket The Rest of Her Life jacket The Center of Everything 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 Laura Moriarty 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

  • Kate Atkinson

    Kate Atkinson

    Kate Atkinson won the Whitbread (now Costa) Book of the Year prize with her first novel, Behind the Scenes at the Museum. Her four bestselling novels featuring former detective Jackson Brodie became the BBC television series ... (more)

    If you enjoyed:
    The Chaperone

    Try:
    Shrines of Gaiety
    by Kate Atkinson

  • Melanie Benjamin

    Melanie Benjamin

    Melanie Benjamin is the New York Times bestselling author of The Children's Blizzard, Mistress of the Ritz, The Girls in the Picture, The Swans of Fifth Avenue, The Aviator's Wife, The Autobiography of Mrs. Tom Thumb, and ... (more)

    If you enjoyed:
    The Chaperone

    Try:
    The Girls in the Picture
    by Melanie Benjamin

We recommend 16 similar authors


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 truth does not change according to our ability to stomach it

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 03:06 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
1780326386715 ms 1.78032638672E+012 ms 1 /root/website/app_server.cfm
792 ms 792 ms 1 /root/website/author_interviews/full/index.cfm
257 ms 257 ms 1 /root/website/author_interviews/full/dsp_main.cfm
232 ms 232 ms 1 /root/website/app_layout.cfm
220 ms 220 ms 1 /root/website/app_globals.cfm
182 ms 91 ms 2 /root/website/queries/qry_get_books_by_author_id.cfm
171 ms 57 ms 3 /root/website/adsystem/adsystem_mod.cfm
167 ms 167 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
90 ms 90 ms 1 /root/website/adzones/AdZone6.cfm
68 ms 68 ms 1 /root/website/queries/qry_get_active_obc.cfm
59 ms 59 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
52 ms 52 ms 1 /root/website/queries/qry_get_books_by_author_id_lite.cfm
52 ms 52 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
49 ms 49 ms 1 /root/website/adzones/showcase_track.cfm
38 ms 38 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
37 ms 37 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
36 ms 36 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
34 ms 34 ms 1 /root/website/adzones/AdZone2.cfm
26 ms 26 ms 1 /root/website/act_check_login.cfm
26 ms 9 ms 3 /root/website/site/blocks/membership_advantages.cfm
24 ms 8 ms 3 /root/website/queries/qry_get_member_account_types.cfm
17 ms 17 ms 1 /root/website/actions/adstatus.cfm
17 ms 17 ms 1 /root/website/queries/qry_get_current_competition.cfm
13 ms 13 ms 1 /root/website/queries/qry_get_member_info.cfm
9 ms 2 ms 4 /root/website/actions/act_spider_tracker.cfm
9 ms 9 ms 1 /root/website/queries/qry_get_all_books_by_author_id.cfm
5 ms 5 ms 1 /root/website/queries/qry_get_bb_briefs_by_author.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_author_readalikes_by_id.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/formurl2attributes.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_current_ezine.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_border_booktalk.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_header_newsletter.cfm
0 ms 0 ms 1 /root/website/site/blocks/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/head.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
793 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=8ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 15:06:26.026
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=12ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 15:06:26.026
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=8ms, Records=2) in /root/website/actions/adstatus.cfm @ 15:06:26.026
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 @ 15:06:26.026
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=58ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 15:06:26.026
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=2ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 15:06:26.026
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=7ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 15:06:26.026
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 @ 15:06:26.026
SELECT 	a.arc_number,a.arc_client_url,a.arc_active_dt, a.arc_off_ad_dt,
		b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publisher, 
		b.ezine_preview_publish_dt, b.ezine_preview_jacket_desc, b.ezine_preview_number_of_pages, b.ezine_preview_bb_comments, b.ezine_preview_isbn13,
		c.ezine_preview_category_name AS "ezine_preview_category",
		(select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) as "reviews",
		(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
				 ELSE 0
				 END)
 			from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating,
 			(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,1))) AS numeric(12,1)))from arc_allocator where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS "decrating"

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

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

ORDER BY a.arc_on_ad_dt DESC
get_future_obc (Datasource=bookbrowse_com_new, Time=12ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 15:06:26.026
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 @ 15:06:26.026
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=45ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 15:06:26.026
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=30ms, Records=2) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 15:06:26.026
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) = 926

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=19ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 15:06:26.026
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) = 926

get_all_books_by_author_id (Datasource=bookbrowse_com_new, Time=8ms, Records=4) in /root/website/queries/qry_get_all_books_by_author_id.cfm @ 15:06:26.026
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) = 926
Parameter #2(CF_SQL_INTEGER) = 926

get_bb_briefs_by_author (Datasource=bookbrowse_com_new, Time=4ms, Records=2) in /root/website/queries/qry_get_bb_briefs_by_author.cfm @ 15:06:27.027
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) = 926

get_author_readalikes_by_id (Datasource=bookbrowse_com_new, Time=1ms, Records=16) in /root/website/queries/qry_get_author_readalikes_by_id.cfm @ 15:06:27.027
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) = 926

get_ads (Datasource=bookbrowse_com_new, Time=17ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 15:06:27.027
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=14ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 15:06:27.027
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=7ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 15:06:27.027
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=4ms, Records=1) in /root/website/actions/udfs.cfm @ 15:06:27.027
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) = 2715

get_book_image (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 15:06:27.027
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) = 1271

get_member_account_types (Datasource=bookbrowse_com_new, Time=3ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 15:06:27.027
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=81ms, Records=6) in /root/website/queries/qry_get_books_by_author_id.cfm @ 15:06:27.027
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) = 1614
Parameter #2(CF_SQL_INTEGER) = 1614
Parameter #3(CF_SQL_INTEGER) = 1614

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 15:06:27.027
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) = 1614

get_books_by_author_id (Datasource=bookbrowse_com_new, Time=75ms, Records=5) in /root/website/queries/qry_get_books_by_author_id.cfm @ 15:06:27.027
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) = 1801
Parameter #2(CF_SQL_INTEGER) = 1801
Parameter #3(CF_SQL_INTEGER) = 1801

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=21ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 15:06:27.027
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) = 1801

get_member_account_types (Datasource=bookbrowse_com_new, Time=10ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 15:06:27.027
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=11ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 15:06:27.027
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=24ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 15:06:27.027
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=44ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 15:06:27.027
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=19ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 15:06:27.027
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=23ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 15:06:27.027
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=37ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 15:06:27.027
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 @ 15:06:27.027
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=21ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 15:06:27.027
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=8ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 15:06:27.027
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=16ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 15:06:27.027
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=CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; CFTOKEN=338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050; CFGLOBALS=urltoken%3DCFID%23%3D4104932%26CFTOKEN%23%3D338927eeb6cac2a0%2D25358858%2DF5CF%2D865A%2DBD2A630867FBF050%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2015%3A06%3A26%27%7D%23hitcount%3D87%23timecreated%3D%7Bts%20%272026%2D06%2D01%2015%3A06%3A10%27%7D%23cftoken%3D338927eeb6cac2a0%2D25358858%2DF5CF%2D865A%2DBD2A630867FBF050%23cfid%3D4104932%23; CFID=4104932; FREEACCESSCOUNT=1
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/926/author/laura-moriarty
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=4104932
cftoken=338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050
hitcount=92
lastvisit={ts '2026-06-01 15:06:27'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 15:06:10'}
urltoken=CFID=4104932&CFTOKEN=338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050
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#=4104932&CFTOKEN#=338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050#lastvisit={ts '2026-06-01 15:06:26'}#hitcount=87#timecreated={ts '2026-06-01 15:06:10'}#cftoken=338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050#cfid=4104932#
CFID=4104932
CFTOKEN=338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050
FREEACCESSCOUNT=1
Session Variables:
cfid=4104932
cftoken=338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050
sessionid=BOOKBROWSE_4104932_338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050
urltoken=CFID=4104932&CFTOKEN=338927eeb6cac2a0-25358858-F5CF-865A-BD2A630867FBF050
URL Parameters:
author=laura-moriarty
author_number=926
Debug Rendering Time: 15 ms