Democracy in Crisis: Populism, belonging and inside jokes at Trump’s reality show rally

A crowd gathers at Trump’s Harrisburg rally April 29, 2017. — photo courtesy of Baynard Woods

It’s hard to know what to make of these post-election Trump rallies. The latest one, in Harrisburg, Pennsylvania, was intended to celebrate his first 100 days in office. It also served as a distraction from the People’s Climate March, which brought hundreds of thousands of demonstrators to D.C., and the White House correspondents’ dinner, which Trump did not attend.

The rally was a sign that the fun won’t stop, that Trump will keep on trolling the establishment — his attempt to signify he is still a populist and a nationalist, a man of the largely white swaths of dispossessed America that support him.

When I put on my Willie Nelson T-shirt, white running shoes and Orioles ball cap, I wasn’t trying to catch anyone in some kind of James O’Keefe sting shit. I thought of it more like a restaurant critic going incognito. I would, I thought, write a review, reviving my old beat as a theater critic.

Trump called Harrisburg a “war zone” during the campaign, but its Farm Show Complex and Expo Center had the air of a carnival on a hot Saturday afternoon as a line zigzagged through the parking lot — the closer you got to entering the arena, the more the bursts of air conditioning coming out of the swinging doors smelled like cowshit. It was like the parking lot of a NASCAR race or a Grateful Dead concert in the 1990s. All of the bootlegged merch signified belonging — they were all pro-Trump or anti-liberal — but it also offered individuality. People in line laughed and commented on the slogans on each other’s shirts or bumper stickers. It was, in fact, almost exactly the way the left acts about each other’s signs at marches.

A young guy with a kilt and a Kek flag walked by.

“Where are you from?” a woman flipping through a People magazine asked.

“The People’s Republic of Kekistan,” he said.

“Pakistan?” she asked.

“Kekistan,” he said.

“You’re from there?” she asked.

“I have roots there,” he said.

“He’s from Pakistan?” a man asked the woman.

“I think Kakistan,” the woman with the magazine said. “He said he has roots there. Maybe his grandmother or someone remembers something about it.”

The man and the woman both laughed. They did not know that, for the 4chan message-board troll, the joke was on them. Kekistan is not a real place but an alt-right memedom created to give an even deeper sense of belonging to the Pepe the Frog-identifying fringe of online shit-posters for Trump. If all the Trumpists got a sense of belonging by coming to the rally, the Keksters saw themselves as the avant-garde, the Dada wing of the patriarchy.

Trump addresses the crowd at the Harrisburg rally April 29, 2017. — photo courtesy of Baynard Woods

People say that Trump is a break from the Republican party that came before him. And while he did disrupt the establishment, in reality he is its apotheosis as the Party of No. There is nothing he is particularly for — so you can pin your issue on him — but he is essentially about being against. And if you aren’t one of the things he is against, then you can feel like he is for you. And now he is president.

“You seem pretty down, like you have something heavy weighing on you,” a voice came from the seat beside mine. I looked over and saw an older woman with thick, stark white hair and a black shirt with a bright floral pattern and a high neck.

I almost laughed. She was right.

We were in the front row, sort of off to the side and behind the stage, and when Trump came out, he would be walking toward us and she was excited. It was her third rally. Her support of Trump came mainly from a worry for her grandchildren, but the rallies she had been to also inspired her. “It’s been hard,” she said, telling me that two of her children had died in the last year. It was a heartbreaking exchange.

Then Trump came out.

“I could not possibly be more thrilled than to be more than 100 miles away from Washington’s swamp, spending my evening with all of you, and with a much, much larger crowd and much better people, right?” he said when he took the stage. The crowd roared and waved their signs.

Trump validated the audience again and again and made the crowd feel like his “accomplishments” were theirs and the slights against him were really aimed at them. I was the enemy, the journalist, who lives in a city full of carnage. But unlike black or brown people or women or others threatened by the regime based on their being, I could hide my press pass and pretend to belong.

Supporters at Trump’s Harrisburg rally April 29, 2017. — photo courtesy of Baynard Woods

Although the crowd delighted in Trump’s long and rambling speech, the main event seemed to be the expected melee in the parking lot afterward. The Kek flag fellow was there with a few of his friends, along with a bunch of right-wing “free speech” supporters wearing helmets and Based Stickman vigilante imitators walking around trying to look tough.

It was a tremendous reality show. There were screaming matches between left- and right-wing protesters —
although the left contingent was wildly outnumbered, like a dozen kids, most of whom seemed to be queer, of color, or punk, and entirely disorganized — but they were all for the cameras that everyone now carries. Everyone was a “crisis actor,” playing themselves for their own Periscope. Harrisburg was closer to a war reenactment than a war zone, as people sort of hoped it might become violent — like Berkeley, at least. But they just weren’t sure how to do it, or if they really wanted to. If they got home by 11 p.m., maybe they’d catch a glimpse of themselves on the news.

Behind all of this was the reality of state power. The police — on horses and, behind them, in riot gear, with billy clubs and bright flashing lights they would turn on to block the cameras of people trying to film them — commanded the scene.

They periodically charged forward on the horses toward the crowd, which would move back, and then continue milling about like extras wanting camera time.

As I left the Farm Expo, a line of riot cops stood in front of an 18-wheeler whose trailer was decorated with Trump memes. That is America.

Contact and follow on Twitter @demoincrisis. Podcast weekly.

[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='/democracy-in-crisis-populism-belonging-and-inside-jokes-at-trumps-reality-show-rally/#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' >Name</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="35"/><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>