Interview: Writer James Ellroy on his love for historical fiction, his peculiar writing process and more

Illustration by Jacob Yeates
James Ellroy at the Iowa City Book Festival: Oct. 2, 7:30 p.m. at Old Brick | Oct. 3, 6:30 p.m. at FilmScene. For more information, visit — Illustration by Jacob Yeates

James Ellroy is an author of 19 books, including a singular body of historical fiction that encompasses his first “L.A. Quartet” (The Black Dahlia; The Big Nowhere; L.A. Confidential; White Jazz) and the “Underworld U.S.A. Trilogy” (American Tabloid; The Cold Six Thousand; Blood’s a Rover). Ellroy returns to L.A. noir in the recently released, inaugural title of his second L.A. Quartet, Perfidia, a 700-page novel told in real-time over 23 days in December 1941 on the eve of the attack on Pearl Harbor.

On Oct. 2 at 7:30 p.m., Ellroy will be at Old Brick as part of the Iowa City Book Festival to discuss Perfidia with fellow novelist Craig McDonald. Then on Oct. 3 at 6:30 p.m., he will appear at FilmScene for a book signing for Perfidia, as well as a screening of L.A. Confidential, the film adapted from his novel.

In anticipation of his visit, Ellroy answered some questions for Little Village by email.

Little Village: “The Underworld U.S.A. Trilogy” focused on American criminal life circa 1958 to 1972. What made you return to Los Angeles of 1941?

James Ellroy: I decided to unify my entire career as a historical novelist. To begin with, I’m not a thriller writer. I’m not a crime writer. I’m not a mystery writer. When I began the original “L.A. Quartet”—four books set between 1946 and 1958—I merged the crime novel and the historical novel.

With the “Underworld U.S.A. Trilogy”—three books set between 1958 and 1972—I merged the crime novel, the historical novel and the political novel. I decided to go back and write the second “L.A. Quartet,” which would be set in Los Angeles with characters, real-life and fictional, from the first two extended bodies of historical fiction and render them as younger people during World War II.

The grand design is to create a seamless 31-year fictional history of Los Angeles, my hometown, and America, my country. It’s a seamless continuation. For example, Kay Lake is feminine lead of The Black Dahlia, set between 1946 and 1949. She’s the feminine lead and writes in the first person diary format in Perfidia. And the construction behind this is that we’re never in Kay’s mind. We don’t know her thoughts in the earlier written but latter set book. Thus, you have to believe that she is withholding that information from the principal people in her life.

What is your attraction to historical fiction?

I’ve loved history since I was a little boy. I’ve loved American history from 1935 on up, Los Angeles history from 1940 on up. My early cognizance in the 1950s up through the socio-

political strife of the 1960s and into the ’70s. It died for me with Watergate, the death of J. Edgar Hoover. And I love living what I call the “secret human infrastructure of history.” I love rewriting history to my own specifications, juxtaposing large historical events with the passionate lives of men and women in duress.

The larger public events are points of extrapolation. They affect the lives of my principals, some of whom are actual players in the events, some who get caught up innocently or inadvertently in the events. They are moved by the events. They are appalled by the events. And the events ramify and force my characters into moral quandaries wherein they change as the result of interaction with and embracing the world at large.

This is not something of which I uphold. I admire people who go to the forefront of history. And I’m not one of them. It’s not my job. I have no agenda. My job is to view past history, retreat from the current world, live within myself and write these books.

You handwrite your books from massive outlines. Can you illuminate your writing process?

I start out having ideas—fictional, actual. I know I will merge them. I hire researchers who compile fact sheets and chronologies. I’m not looking for any kind of secret information. I am looking for explicative flashpoints. For example, in Perfidia—largely a novel of the grave injustice of the Japanese internment—upon receiving newspaper clippings for the entire month of December 1941, I was gratified to see there was no clear narrative of the early roundups of alleged Japanese subversives. This gave me greater latitude to fictionalize.

I follow the outline down to the most minute details, and I extrapolate only scene-by-scene within the construction of the outline as it exists. The outline for Perfidia was 700 pages. Having that detailed diagram to work from—all plotlines, all character arcs, all milieu inextricably linked from the gate—allows me to extrapolate with the confines of the individual scenes. That’s what gives the books their overall density.

That’s my method in a nutshell. Hundreds of pages of notes, facts, outlines, and then the fictionalizing.

You’ve employed experimental writing styles for three of your novels. As you return to the earlier age of Perfidia, do you utilize a similar type of syntactical play?

The “Underworld U.S.A. Trilogy.” The extremely abbreviated style of the central volume. The middle volume. The Cold Six Thousand. That was then, this is now.

Perfidia is my most explicated prose style since The Black Dahlia. It’s more emotionally resonant. It’s more factually detailed. It’s entirely concise. But no abbreviation of text for dramatic flare. There are no syntactical tricks. It is the language of 1941. The Cold Six Thousand, the most extreme example of concision in my work—secondary volumes would be White Jazz and L.A. Confidential—all three of those styles were calibrated to fit the historical periods that I was writing in.

Sean Preciado Genell lives in Iowa City. His first novel, All the Help You Need, is forthcoming from Slow Collision Press. 

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/interview-writer-james-ellroy-on-his-love-for-historical-fiction-his-peculiar-writing-process-and-more/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Phone</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="242"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>