EVENT ALERT!Join us LIVE on June 28 at Dynasty Typewriter in LA.Get tickets here
Let’s have a life-affirming party with Audie Cornish and Ari Shapiro!
The longtime friends and journalists join Sam to explain the latest entry in the pop lexicon: Blue Dot Fever. It’s not a disease, but the terminology behind a recent wave of cancelled concert tours. From Post Malone to the Pussycat Dolls, tickets aren’t selling like they used to. They break down what the phenomenon says about our current economics and culture.
Plus, they share their “Modern Scriptures,” the pieces of pop culture they can always count on to boost their spirits. Including a rapper’s inspiring message and a vintage poem that will bring all the feels.
Audie Cornish and Ari Shapiro’s new podcast from CNN is called Engagement Party.
Sign up for Sam’s Newsletter to get behind the scenes stuff from every interview each week.
The Sam Sanders Show is a production of KCRW and Sam Sanders Productions.
On May 24, 2022, a Border Patrol Tactical Unit fatally shot 18-year-old Salvador Ramos inside a classroom in Robb Elementary School in Uvalde, 77 minutes after Ramos had entered the building to commit the third-deadliest school shooting in American history. Ramos, a former student at Robb, had purchased two high-powered rifles and hundreds of rounds of ammunition just days before he killed 19 students and two teachers. In the aftermath, several victims’ families pushed for gun control at the state level. Their efforts failed in Austin, but they won the support of Republican Congressman Tony Gonzales, who voted for the first federal gun-control legislation enacted in two decades.
Now, four long years later, those families and the rest of their southwest Texas city of 15,000 may soon be represented in the U.S. House by a gunmaker, Second Amendment absolutist, and edgy YouTube personality by the name of Brandon Herrera. A man who has discussed, on camera, the relative merits of mass killers using the sort of rifle deployed in Uvalde rather than other weaponry; spread memes associated with an extremist movement; and rationalized or made light of lethal violence against people with certain political beliefs.
Also known as the “AK Guy”—a reference to his penchant for the Avtomat Kalashnikova (AK) rifle platform—the bearded 30-year-old is a celebrity in an online gun culture that has emerged on platforms including YouTube, where “gunfluencers” like him have amassed millions of followers through firearm reviews, meme roundups, gun-history content, and Second Amendment commentary. A relative newcomer to politics, Herrera first ran for office in the 2024 GOP primary against Gonzales, citing the latter’s vote for modest gun control as inspiration, while Herrera himself has said he’d oppose any new firearms restrictions, including red flag laws. He cast Gonzales then as an out-of-touch, too-moderate incumbent and forced him into a runoff, which Gonzales narrowly won.
Vowing to “finish what we started,” Herrera announced in August 2025 that he would challenge Gonzales a second time. Again, Herrera forced Gonzales into a runoff, but this time, an explosive scandal was brewing around the incumbent congressman, who’d had an affair with a staffer who later committed suicide by self-immolation. Under pressure from House leadership, Gonzales suspended his reelection campaign soon after the March primary, clearing the path to the nomination for Herrera, and, in April, Gonzales resigned. That sets up a special election, the timing of which is set by Governor Greg Abbott.
Herrera in Somerset in February (AP Photo/Brenda Bazán)
Now endorsed by major Republicans, including President Donald Trump, Herrera promotes an “America First” platform centered on gun-rights absolutism, antiabortion policy, border security, term limits, opposition to (some) foreign wars, and tax cuts. Despite his self-described libertarian leanings, he has largely aligned with the hard-right faction of the Republican party on most issues—including the Trump administration’s immigration agenda and “qualified support” for military action in Iran.
The district that Gonzales represented for threeterms and Herrera now seeks to claim is Texas’ 23rd, the state’s largest by area, stretching from El Paso to San Antonio. It used to be Texas’ swingiest U.S. House seat, until Republicans redrew it firmly into their column at the outset of this decade. The district, which changed little in the most recent round of Trump-mandated gerrymandering, is 60 percent Hispanic and plus-15 for Trump based on the November 2024 election.
On the Democratic side, voters in March nominated Katy Padilla Stout, a lawyer and former schoolteacher from San Antoniorunning on economic affordability, healthcare access, reproductive rights, voting rights, climate, gun safety, opposition to a Big Bend border wall (Herrera opposes this too), and the proliferation of data centers. As Republicans seek to wring another five House seats out of Texas in their desperate bid to hold on to the chamber in November, the 23rd wasn’t a district they planned on worrying about.
But now, both sides see a battleground. Polling shows that Democrats have an edge nationally (pending the outcomes of an ongoing nationwide redistricting war), and a majority of Hispanic voters disapprove of Trump. And, in the 23rd, the GOP finds itself running a neophyte with a colorful past rather than an incumbent Navy veteran. Herrera himself has even said that he may be trailing, while Stout has seen an influx of campaign donations.
“Brandon Herrera is probably the exact opposite of the type of candidate that most people want going into a competitive race in this election,” said Matt Angle, a longtime Democratic strategist and the director of the Lone Star Project. “His campaign is not about anything that people really care about.”
University of Texas at San Antonio political scientist Jon Taylor echoed the sentiment that Herrera’s nomination has created an opening for Democrats if they’re willing to invest.
“Stout has at least a puncher’s chance, if not better,” Taylor said. “Brandon Herrera is so radical compared to other candidates that there is an opening. … She is building a grassroots effort and a get-out-the-vote effort. It’s just simply a case of this race seems to still be a little bit under the radar.”
As the contest unfolds, Herrera is facing renewed scrutiny on his influencer past, which, according to the Texas Observer’sreview of Herrera’s online footprint, includes patterns that have gone largely unnoticed: dissemination of memes associated with the “Boogaloo” movement that advocates for a second American Civil War and has inspired acts of terrorism; rationalization of and joking about violent deaths of people whose politics he describes as communist; and sanitization of the Confederacy’s stance on slavery—in addition to his discussion of the comparative accuracy of weapons used in mass shootings.
Herrera and his campaign manager, Kimmie Gonzalez, did not ultimately agree to an interview for this story, despite initially agreeing to set one up when asked in-person at the Conservative Political Action Conference in March.
“Brandon has no association with [the Boogaloo movement] or any group like that and condemns political violence,” Gonzalez said in an emailed statement. “Especially violence inspired by lies told by left-wing journalists that has resulted in the murder of Charlie Kirk and multiple assassination attempts on President Trump.”
Born in Fort Bragg, North Carolina, and raised in a military family, Herrera began making YouTube videos and building guns as a teenager in Fayetteville, where he was active in a local chapter of the Sons of Confederate Veterans. In since-deleted videos from a little more than a decade ago, Herrera—who has described himself as being of Mexican and German descent—wore a shirt referencing the group with a Confederate flag as he described the Civil War as both the “war of Northern aggression” and “the war for Southern independence.” According to Jewish Insider, he remained active with the organization until at least 2019.
Herrera launched his current YouTube channel in 2014, and he formed his own gun-manufacturing business, The AK Guy Inc., the following year. He briefly studied prelaw at Campbell University in North Carolina before dropping out in 2016. By the end of 2018, his YouTube channel had more than 33,000 followers. His first big breakout came the following year, when one of his videos—about how AK owners are more masculine than AR owners—reached millions of views and his follower count surged to 100,000. In 2020, as his viewership further multiplied, he relocated to the San Antonio area (he’s currently registered to vote in a far northwest part of the city, near Boerne), where other YouTube gunfluencers with whom Herrera collaborates live. Within a year, his channel had more than 1 million followers.
“The algorithms have rewarded Herrera videos and his use of rhetoric that appeals to specific online in-groups,” said Taylor Lorenz, a journalist who has long covered internet culture and publishes the newsletter User Mag. “But I’m not sure if it’s politically expedient.”
Advertisement
Herrera’s early YouTube content was largely apolitical: gun reviews, updates on his development of the “AK-50,” and travelogues. Over time, Herrera sought to be more humorous, including with a parody music video of Eminem’s “Without Me.” Then, in 2019, the tone began to shift.
Following several shootings that year, Herrera said in a video—titled “Mass Shootings: An Unpopular Opinion”—that “With these terrible mass shootings that have happened for a good little while, you should be really glad that some of these people are using guns to do this,” arguing specifically that AR-style rifles are “pinpoint instruments” of violence compared to trucks or bombs. “Sorry for the dark video, guys. … Every time something like this happens, I think about doing it, and then I think better of it, but hopefully this was valuable,” he concluded.
In an emailed statement to the Observer, Padilla Stout called the comments “simply unfathomable coming from someone running to represent a district that includes the community of Uvalde.”
After the beginning of the COVID-19 pandemic, Herrera’s videos increasingly provided a window into his political views, social media diet, and the sensibilities of his audience. Couched in plausibly deniable “dark humor,” he began to spotlight memes about the pandemic, political violence, and the “Boogaloo” movement—a loosely organized far-right trend whose adherents, referred to as “Boogaloo Bois,” espouse pro-gun, anti-government, and accelerationist sentiments in preparation for a hypothetical second American Civil War, which they call the “Boogaloo” or other derived nicknames.
“Today, we’re going over a topic that you guys have wanted us to talk about for a very long time,” Herrera said in a January 2020 meme review video. “This … is the Virginia Boogaloo special. I don’t even know if we could say Boogaloo anymore. Apparently the [Anti-Defamation League] says that that is a hate word, to which I reply: It’s only a hate word if they lose.”
The Boogaloo movement emerged from online message board culture around 2012, gained significant traction in 2019, and appeared on the streets in early 2020. Boogaloo Bois—often identifiable by their Hawaiian shirts, military fatigues, and distinct insignia or flags—attended a January 2020 gun-rights rally in Richmond, Virginia, and protests against COVID precautions across the country.
“I know I’m one of the people that talks about all the Boogaloo memes,” Herrera said in a March 2020 video. “This is humor, guys. Just try to settle down on things that could actually be, like, actual actionable threats on real people. Please don’t go to jail. I don’t get any of your views from jail. But now that I’ve thrown that disclaimer out there … back to the Boogaloo memes.”
Following the murder of George Floyd in May of that year, a 26-year-old Boogaloo Boi from Texas named Ivan Harrison Hunter traveled to Minneapolis, where he shot 13 rounds at a police station and helped set it ablaze. Two hours later, Hunter texted Steven Carillo, an active-duty Air Force staff sergeant and fellow Boogaloo adherent in California, to “go for police buildings.” Carillo then carried out two ambush-style attacks against security officers and law enforcement officers in California, killing two. At least 36 Boogaloo members were arrested in 2020 for various acts of terrorism, attempts to incite riots, and a scheme to kidnap Michigan Governor Gretchen Whitmer.
Herrera’s last video on the topic, titled “STOP SIMPING FOR COMMUNISTS,” came in August 2020 after the killing of Garrett Foster, who was shot during an interaction with a driver while openly carrying a rifle during a Black Lives Matter protest in Austin. Foster, who did not fire his weapon, was a Libertarian Party member who had reportedly made Boogaloo-coded posts on social media, leading Herrera to critique the meme’s spread beyond its origin.
“For some people, [Boogaloo is] just a joke and we like wearing Hawaiian shirts and plate carriers and shooting things on the weekends,” Herrera said. “On a philosophical level, it’s more of a stance against government tyranny. … For some reason, it seems to have transformed online into a bunch of angsty teenagers who are simping for communists and want to shoot cops.”
Herrera later said he believes that the lives of communists “don’t count.”
Herrera reading and displaying a meme mocking Foster’s killing (YouTube screenshot)
This was the start of a pattern in Herrera’s videos about political violence: dehumanizing certain people and treating lethal violence against leftists or protesters as darkly comic, deserved, or at least understandable.
In a subsequent video, Herrera made similar statements about Kyle Rittenhouse, who’d then recently killed two men during unrest at a Black Lives Matter protest in Kenosha, Wisconsin. “Good luck, kid. You minted some good commies,” Herrera said in a video, clarifying: “I am not encouraging anybody to go get themselves into some shit. … It’s not worth it.”
During Rittenhouse’s criminal trial, Herrera replied jokingly to an X user who asked whether Rittenhouse would “get off” of the charges: “I mean I’d get off on stacking felonious commies too.”
Herrera’s embrace of Rittenhouse corresponded with his increasing involvement in politics. In 2021, he gave a pro-gun speech at the annual convention of Young Americans for Liberty (YAL), a libertarian student activist organization based in Austin, and in 2022, Herrera and Rittenhouse shot machine guns from a helicopter in a National Rifle Association video. Meanwhile, Herrera continued to publish videos that would later draw controversy.
In one 2022 video about the MP-40, a World War II-era German submachine gun, Herrera goose-stepped in Nazi uniform to a Nazi marching song and described the firearm as “the original ghetto blaster.” In another, from 2023, about a rifle associated with Rhodesia—a brief-lived white-supremacist state in Africa— Herrera expressed affinity for the defeated Rhodesians: “Long story short, the side that was sympathetic with communism won, and now Zimbabwe doesn’t have food.” Rhodesia has become a totem for extremist white supremacists, including the Charleston, South Carolina, church shooter.
Luke Baumgartner, a research fellow at the Program on Extremism at George Washington University, told the Observer that Herrera’s tongue-in-cheek delivery shouldn’t alleviate concern.
“Guys like him have been using the ‘It’s only jokes’ and ‘edgy’ line as a way of masking what they really believe,” Baumgartner said. “Richard Spencer summed it up when he told people in the alt-right to ‘hide their power levels.’ If Herrera is flirting with admiring the SS, Rhodesian light infantry, and the Confederacy, it tells me he’s a semi-closeted white supremacist.”
Herrera (middle) (YouTube screenshot)
Herrera has dismissed such criticism as bad-faith smear attempts. “According to the left, they think I’m apparently the brown face of white supremacy,” Herrera wrote on X.
Hispanic ancestry and identity are not mutually exclusive with white supremacy, as shown by the prominent neo-Nazi Nick Fuentes and the Allen mall shooter, Mauricio Garcia, among others.
The Observer found no evidence that Herrera has explicitly advocated racist political ideas, fascism, or neo-Nazism. But, beyond his many ostensible jokes, Herrera has earnestly expressed views on the Civil War that tend toward the historical revisionism associated with the Lost Cause Myth, which sanitizes the Confederacy and valorizes Confederate leaders and symbols.
In February 2023, Herrera falsely stated in posts on X that “The Confederacy already had a provision with a plan to phase out slavery in their constitution” and that “[The] war didn’t actually become about slavery until 2 years into it.” (The Confederacy in fact seceded to protect slavery, and the institution was shielded in its constitution.)
Four months after that post, signaling a growing political engagement, Herrera testified in a congressional hearing about limiting the powers of the Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF), the agency that regulates the firearms he promotes.
Two months after testifying at the ATF hearing, Herrera again spoke at the annual YAL conference, where he announced his first congressional campaign, which counted Rittenhouse as a volunteer.
Herrera saw an opening: Gonzales had recently been sanctioned by the state Republican Party over his votes to protect same-sex marriage and enact those modest gun reforms after the Uvalde mass shooting, and major GOP donors were pushing to purge more-moderate Republicans from office. Having voted for a commission to investigate the January 6 insurrection, Gonzales was also left running without the backing of Trump.
Herrera’s first entry into electoral politics didn’t dull the edginess of his YouTube content.
In November 2023, Herrera published a video about an incident in Panama where a man fatally shot climate protesters who were blocking a roadway. The video description states that the victims “got their carbon reduced” and promotes links to his merch store and a chance to win a spot at a gun-range day.
“While not a clean shooting, these guys are definitely the winners of the ‘fuck around and find out’ award,” Herrera said, clarifying: “Lethal force against unarmed people that are not posing an active threat to you, it’s not OK; however, if I needed to defend myself in a protest, well… I’m putting together a team.”
Despite scrutiny of his online history, and despite being vastly outraised, Herrera forced his opponent into a runoff. Gonzales then called Herrera a “known neo-Nazi” in an interview with CNN, which Herrera referred to as the congressman “cry[ing] to his liberal friends about me.” Gonzales prevailed by just a few hundred votes.
Following his loss, Herrera spoke at the 2024 YAL convention, where he used terminally online language popular among anti-Semitic conspiracy theorists. “I know it’s easy to take the black pill and assume that nothing we do ever makes a difference, that George Soros and his lizard kids are going to make us eat the bugs and live in the pod and marry the gay frogs,” he said. “But God’s honest truth is that the people in this room … genuinely have the power to shape the direction of this country.”
Herrera continued to produce YouTube content, including a review of a second Nazi-era firearm, reenactments of historical assassinations, and tests of the guns used in attempts on President Trump’s life (though he declined to re-create the assassination of far-right influencer Charlie Kirk). He also made increasingly critical videos about the ATF while gunning, unsuccessfully, to be appointed director of the bureau, which he said he wants to abolish.
Last August, the same month that he was praised by a mass shooter in Minneapolis, Herrera announced his rematch against Gonzales at the annual Gun Owners of America summit. Gonzales had earned Trump’s backing this time around, and the incumbent might have been in the clear—until the San Antonio Express-News confirmed initial reporting by Current Revolt about the congressman’s affair. Herrera pounced, hammering Gonzales online, and the Youtube star, now enjoying more than 4 million followers, narrowly bested Gonzales in the March primary and soon secured the nomination when the incumbent bowed out. As of early June, Abbott had not announced the timing of a special election to fill the seat.
(AP Photo/Brenda Bazán)
Jesse Rizo, board president of the Uvalde Consolidated Independent School District and uncle to 9-year-old Jackie Cazares who was killed at Robb Elementary, told the Observer he was dismayed that a gun-rights absolutist could be Uvalde’s congressional representative.
“If I was having a conversation with somebody that’s thinking about voting for Herrera or for somebody that extreme, I would caution that person,” Rizo said. “You never know when it’s going to affect you.”
As the GOP establishment, including Trump, has increasingly embraced Herrera, at least one conservative Jewish group that once called him a “goose-stepping extremist” has decided to sit out the fight. In its place, Democratic PACs and politicians have used Herrera’s controversial content as fuel for attacks. In March, the Democratic House Majority PAC resurfaced Herrera’s Nazi submachine gun video, leading Democratic Senator Chris Murphy of Connecticut to accuse Herrera of being “an open Nazi enthusiast.” That same month, media outlets and liberal influencers highlighted a podcast clip in which Herrera said he owned a 1939 edition of Hitler’s Mein Kampf. Herrera and his campaign have defended his content on X, describing it as “funny as hell,” while saying he is not anti-Semitic and that he actually intended to mock Nazis.
“The accusations against Brandon Herrera are bizarre, desperate, and false,” Herrera’s campaign manager said in a statement to Politico in March. “Brandon has never done or said anything antisemitic, and he has earned the support of leaders in the Jewish community. In Brandon’s work as a historical firearms educator, he has simulated the execution and poisoning of Adolf Hitler. The misleading clip about Brandon’s rare book collection omits his comments ridiculing and condemning Hitler’s book.”
Throughout his career as an edgy conservative gunfluencer, Herrera has walked the line between sincerity and irony while maintaining some distance from political extremists. Now under the national spotlight, he seems to be further tempering his image. In a March Washington Post article, he distanced himself from prior remarks about the Confederacy, saying that the “war of Northern aggression” was a “historic term” but that “nowadays we call it the American Civil War.”
Yet, even as he distanced himself from one extremist view, he took one step closer to another extremist group.
During the 2026 Conservative Political Action Conference in Grapevine, where he was a featured speaker, Herrera also spoke at a private satellite event held by the Republicans for National Renewal (RNR). Months earlier, Arizona GOP lawmakers had dropped out of an RNR event after they were informed that the group’s leaders had respectively hosted a podcast with a member of a white nationalist group and attended a 2024 conference hosted by Fuentes. That didn’t stop Herrera from speaking at the event, where he was introduced as a “RINO hunter.” Herrera’s campaign manager told the Observer in her May statement that Herrera “has no affiliation or knowledge of the group.”
Whether Herrera’s most controversial choices will hurt his chances in November remains to be seen. As the El Paso Herald-Post editorial board wrote in April, assuming that his track record will render him unelectable may be a misreading of the electorate. “In many parts of Texas, these types of displays do not necessarily disqualify a candidate,” the board wrote. “In fact, in this particular case, they might even serve to signal ideological alignment and mobilize voters on Herrera’s behalf.”
Still, there’s reason to believe Herrera could be the first Republican to lose District 23 since 2012. House Dems believe they are within striking distance, as shown in an April Democratic-aligned poll, and Herrera himself has agreed.
“You always have to fight like you’re behind,” he said at the RNR event. “Right now, based on how the midterms are looking, we might actually be behind.”
With favorable winds at her back, Padilla Stout, Herrera’s Democratic counterpart, believes she can flip enough votes to win.
“Every day, I talk to Republican and independent-minded voters who say they could never vote for a candidate as extremist as Brandon Herrera,” Padilla Stout said in her written statement. “They know that Brandon is a one-issue internet celebrity who is only interested in expanding his national platform and getting more YouTube views. He is not interested in the real issues that are facing families like mine and others across this district.”
QUEBEC – A new language law will require Quebecois meteorologists to stop using the annual list of Atlantic hurricane names generated by the US National Hurricane Center, and instead refer to all named tropical storms as “Jean-Pierre”. “The list of storm names generated each year by the National Hurricane Center does not reflect our language […]
In the 1980s and 1990s (and seemingly beyond), whenever Richard Branson did a photo op, he’d pick up a woman and sort of throw her in the air or whirl her around. There’s a Tumblr dedicated to it. I think that to be above board, this has to be a consensual act. It’s not 100% clear here whether the act of sister throwing that tales place in this comic is consensual. Poor Glenn just has to treat it as another culture’s peculiar ritual.
At least three incidents of mysterious men climbing up from manholes in Brooklyn and Queens have been reported in the past month, prompting warnings from NYC officials about the dangers of exploring the sewer system. What do you think?
“Tell me a better way to seek an audience with the King Of The Cockroaches. I’ll wait.”
Nabeel Jawhar, Systems Analyst
“I hope one day mysterious women emerge from the sewers, too.”
Anita Boucher, Footage Reviewer
“I warned everyone that Mamdani would summon sewer dwellers.”
MUSKOKA, ON – A full-grown dock spider is counting the days until it gets to scurry across your unsuspecting hand, later this summer. Zoology experts report that you will likely emit a piercing shriek and flail about like an idiot, likely spilling whatever beverage you are drinking at the time. “The only thing I love […]
TORONTO – A last minute rule change by FIFA means World Cup fans will no longer be able to bring the moisture inside their own bodies into host stadiums for the tournament. The latest FIFA rules document now states “for the avoidance of doubt, the 60% of human bodies that are made up of water […]
Albertan separatists insist that leaving Canada won’t exclude them from keeping some residual benefits of being Canadian. Here is the list they propose: 1. passports 2. currency 3. smugness 4. those little flags we put on backpacks when we travel so people know we’re not American (2 per person) 5. the obligation to say thank […]
OTTAWA – Prime Minister Mark has unveiled his new federal AI strategy, promising Canadians that artificial intelligence technology is the most advanced, efficient way to surrender all of our collective wealth to US Tech oligarchs. “AI is the technology of the future, specifically the future where 5 astronomically-wealthy Silicon Valley overlords control every resource on […]
Lots of folks tell me they can't forage because they live in the city, but I live in the city, too! Come see how many goodies, often overlooked as weeds, are hiding on one small city lot!
This video looks back at what life was like before the Macintosh through the eyes of the Texas Instruments TI-99.
Chapters 00:00 Introduction 0:02:51 An impossible business 0:05:15 Texas Instruments' strategy 0:08:27 Welcome the TI Dimension! (CPU problems) 0:11:34 Welcome the TI-99/4! (FCC problems) 0:17:44 Keyboard, software and John V Roach problems 0:19:50 The tragedy of the TI-99/7 0:21:10 Welcome the TI-99/4A! My history with the home computer 0:27:42 The TI-99 in 2026: Nostalgia & Collecting 0:31:30 Software packaging 0:36:01 TI's Best Games... and also Chisholm Trail 0:39:25 The Speech Synthesizer 0:42:45 "There's a saying in England..." The Peripheral Expansion Box 0:50:49 The beige TI-99 box opening! 0:53:25 TI's Programming Lanaguages 0:56:37 Infocom and Scott Adam's Adventures 0:59:27 My dream of running Zork on a TI-99 1:05:06 The 10" Ti Monitor 1:06:37 TMS 9918 Video Chip 1:07:49 Children of the 1980's and Computers 1:09:31 FinalGROM 99 1:10:38 Joysticks & Controllers 1:11:45 Faraday Cage and Quality Control 1:12:48 Atari and Funware - forbidden software! 1:13:53 The IBM PCjr and Macintosh square-off! 1:19:01 A word about Charlie Chaplin 1:20:03 Comparisons to the IBM PCjr 1:21:50 The Home Computer Crash 1:24:31 TI-99: The Next Generation 1:27:07 Apple and Sears 1:27:57 The power transformer Recall 1:30:11 Why did TI pull out so suddenly? 1:33:03 Last Man Standing 1:33:56 Credits and 'One More Thing'
“Several women who dated Graham Platner recall ‘unsettling’ behavior. The Democratic candidate for Senate in Maine could be charming, women said in interviews, but some found his actions intimidating and disturbing.” —The New York Times
- - -
I must apologize.
You see, right now Graham Platner is the presumptive Democratic nominee for the Maine Senate seat. If he wins, he will go head-to-head with Susan Collins this fall to try to take her seat. And if early polling is any indication, he has a decent chance of winning.
Much like the main character in this year’s word-of-mouth horror hit Obsession, I view myself as an ally. When I watched Susan Collins cast the deciding vote to put Brett Kavanaugh on the Supreme Court, I had some concerns, as she always does.
When I got that Apple News alert, I knew I had to do something. I couldn’t just sit still and do nothing. What am I, a member of Congress? I had to act.
So I dug out my monkey’s paw from the chest in my attic.
I acquired it at a mysterious shop I happened to walk into one evening about ten years ago, while trying to escape a sudden rainstorm. A charismatic shopkeeper with seemingly ulterior motives talked me into taking it, saying it would make my wildest dreams come true. The shop disappeared the moment I walked out of the building and turned around, which was annoying because I do like to keep the option open for returns with purchases like this.
There were three uncurled fingers on it, but I’ve only used the paw once before, back in January 2020, when I asked for a reason to spend more time at home. (I had been traveling nonstop for work in the months leading up to that, so allow me to give a big oopsies on that as well while we’re here.)
Anyway, I made the wish to unseat Collins and waited. And waited. Honestly, with it being nearly four years, I almost forgot I’d made the wish, but all of a sudden, Graham started surging in the polls. He was a well-spoken, salt-of-the-earth type of guy, and Bernie endorsed him, so I was like, “Cool. Maybe it’ll be chill.”
At first I was appalled, and then I sat and thought to myself, Well, it’s possible he really didn’t know what the tattoo meant. Admittedly, I didn’t either until the story went viral and I looked into it. It was then that I realized that if Graham really was a nazi, there’s an entire political party that’s currently in power where he could go and be welcomed with open arms. And what’s the worst that could happen there? He wins and becomes a senator and just votes alongside the fascist party already in power, enabling their every evil whim? Very low risk there.
Through it all, the people who support him have just gotten louder and more resolute. They think the Deep State is targeting him, that his platform, which focuses on the needs of the many and the fact that he openly seeks to impeach multiple Supreme Court justices, has sealed his fate as the number one threat in the minds of establishment Democrats and Republicans alike. His fans look at him as a martyr for the greater cause.
That’s when I was like, “Oh fuck, I have created a progressive version of Donald Trump.”
My bad, seriously, guys.
Trump running for president three times and winning twice just proves my theory that if you’re gonna have one political scandal, you might as well have a million. At a certain point, all the noise starts to condense and form a shield around you, and Graham is in the process of building his callus right now.
Sure, there’s a chunk of the Democratic base that won’t fuck with him going forward. Still, anyone who is serious about defeating fascism knows that he’s now basically our only hope to remove Susan Collins from power. Which is crucial.
Graham Platner was on the cover of Time magazine. That’s as much motion as a rookie Senate candidate could ever hope for. He might be a lightning rod for controversy, but clearly there is something there that makes this man so popular.
Is it the deep, commanding voice? Or the no-nonsense way in which he communicates? Those burly hands?
Is it the fact that his entire vibe harkens back to a long-dormant version of masculinity? Like someone’s wet dream about Ron Swanson made flesh?
Who knows. All I know is that it was no surprise to learn that this guy fucks.
And honestly? I’m still ridin’ with Biden here. If this dude manages to get into power and even makes a lick of progress towards impeaching Clarence Thomas, fuck it: I’ll provide an alibi for him myself. I’ll tell his wife we were out fishing all weekend—I don’t care.
Wait… shit… is that the actual curse here?
That I… understand MAGA now?
That I myself have been reduced to vociferously supporting a bad man because I see him as the only path forward to helping undo a greater evil? Did M. Night Shyamalan write my life?
It doesn’t matter either way, I suppose. The wish has been wished. There’s no unringing this gravelly voiced bell.
I have one uncurled finger left on the paw. I’ve decided I’m gonna cut to the chase and ask for Trump not to be president anymore.
This is a kind of knowledge base article which resulted from attempts to understand exactly how memory management works in 16-bit Windows. It is not exactly undocumented, but it is also not well documented; even before Windows 3.0 appeared, the assumption was that essentially all application developers were going to use a high-level language and their development tools would take care of the low-level details.
Furthermore, nearly all materials for beginning Windows developers focused on the more visible aspects of Windows programming, i.e. windows, icons, menus, and so on. Memory management was glossed over, even though it was absolutely critical to writing a solid Windows application any more complex than a Hello World program.
Windows 3.0 SDK HeapWalker memory analysis tool
The memory management details and mechanisms are rooted in the 8086 real mode history of Windows 1.x and 2.x, and much of the complexity persisted even when Windows only ran in protected mode starting with Windows 3.1.
Unless noted otherwise, in this article “Windows” refers to the 16-bit line of Microsoft products, not Windows NT.
Introduction to Windows Memory Management
The key to understanding Windows memory management is that from the very beginning, Windows was among other things a fancy overlay manager. For many years, Windows was too big for typical PCs of the time and needed some way to keep only the most active memory segments in physical RAM, with some mechanism to discard and reload less frequently needed segments on demand. Paging was obviously not used because there was no support for it in 8086 and 80286 systems (and before Windows 3.0, those were very nearly the entirety of the installed base).
In the simplest case of an application with one code segment and one data segment, the movable nature of Windows segments is almost entirely transparent. When the application is running, the CS (code) segment register points to the code segment and the DS (data) and SS (stack) segment registers point to the data segment. As long as the application only uses near calls/jumps within its code segment and near pointers to the data/stack segment, it does not care at all where exactly the segments are in memory, i.e. the actual values loaded into CS/DS/SS registers. Windows can move the segments around and everything will work fine.
But even beginning Windows programmers working through a Hello World style example very quickly start suspecting that life is not so simple in the land of 16-bit Windows. The window procedure must be declared as FAR PASCAL, which is fair enough given that it needs to conform to Windows calling conventions. But it also has to be exported from the application’s executable, otherwise the program won’t work properly. That is a concept entirely unfamiliar to non-Windows developers.
To help implement its memory management scheme, Windows adopted and extended the “New Executable” (NE) format first used by “DOS 4”, better known as Multitasking DOS 4.0 and significantly different from PC DOS and MS-DOS 4.0/4.01. Unlike the DOS MZ executable format where an application is effectively a single binary blob, the NE format is segment oriented and each segment is stored on disk separately. That gives Windows the ability to load (or reload) individual segments and move them around in memory.
The NE format also supports imports and exports. Imports are used when an application needs to call external code, such as the OS itself. Exports are used for application code which is externally called.
A window procedure is one such externally called piece of code. It needs to be exported so that Windows can perform its magic on it. Said magic lets Windows fix up the window procedure prolog (entry sequence) so that it loads the application’s own data segment into the DS register.
Shifting Memory
Everything in Windows memory management revolves around segments, contiguous blocks of memory up to 64KB in size. In normal 8086 programming, each segment is identified by its segment address, which directly corresponds to its address in physical memory. Because most segments in Windows can be moved or discarded, they are instead identified by handles. A handle is a 16-bit value which should be considered opaque, even if it might actually a simple index into some table.
For programmers familiar with x86 protected mode, a Windows segment handle is a lot like a protected-mode selector: It is a 16-bit value which uniquely identifies a memory segment, but it is independent of the segment’s location in system memory. The similarity is not coincidental. Steve Wood, the designer of Windows 1.0 memory management, used the Intel 286 protected mode as inspiration1 for the Windows memory manager (the 286 came out in 1982 and work on Windows started in 1983).
A handle refers to a memory segment regardless of where it is in memory, i.e. regardless of what its 8086 segment address is. The GlobalAlloc API allocates contiguous memory from the global heap (possibly more than 64K) and returns a segment handle.
Since the 8086 does not support protected mode, approximating protected-mode functionality takes quite a bit of extra work and discipline. Given that a handle is not a segment address, it can’t be used as the segment portion of a far 16:16 pointer. To address anything in another segment, an application needs to form a far pointer.
To that end, the application needs to call the GlobalLock API which returns a segment address and locks the segment in memory (increments its lock count). While locked, the segment won’t be moved and its segment address will stay valid.
Once it is done accessing memory in the segment, the application calls GlobalUnlock. That decrements the segment’s lock count and once the count drops to zero, the segment may be moved again.
Needless to say, after calling GlobalUnlock, the segment address returned by GlobalLock must be considered invalid. Note that this is a possible source of sneaky bugs—after calling GlobalUnlock, the segment most likely won’t move immediately. An application might erroneously access a previously locked segment after unlocking it and not cause any obvious harm.
Indeed Windows won’t move or discard a segment unless it has to, because it may well be used again. However, once segments are unlocked, Windows may move them around or discard them at any moment.
Now let’s take a closer look at the possible segment types.
Segment Flags
Windows segments have several important attributes which determine how they’re treated by the Windows memory manager.
Segments can be fixed or movable. The names are clear enough; movable segments can be shuffled around by Windows as long as they’re not locked, while fixed segments stay in place. For example, segments which hold interrupt handler routines must be fixed so that interrupt vectors stay valid. Ideally most of an application’s code and data segments would be movable, giving Windows an opportunity to efficiently manage memory. The ability to move segments is necessary because freeing or discarding segments creates “holes” in memory, potentially quickly fragmenting memory. Windows needs to be able to compact segments by moving them in order to consolidate free memory into one or more larger chunks.
Segments can also be discardable or nondiscardable. Code segments are typically discardable because they aren’t writable. If an unused code segment is removed and later needed again, Windows can easily reload it from the original executable. The same is true of resources which are also read-only. Data segments, on the other hand, tend to be non-discardable because they’re usually writable and once they’re modified, they cannot just be reloaded from disk. That said, applications might allow writable data segments to be discardable if they are willing to re-create their contents in case the segment is needed again after having been discarded.
DLLs
Dynamic linking was not yet a widespread technique in the mid-1980s and Microsoft Windows was one of the first systems with support for dynamically linked libraries (DLLs), also called shared libraries. While some larger systems used dynamic linking since the 1970s, UNIX systems only started introducing shared libraries in the mid to late 1980s.
Windows DLLs are NE format images just like Windows applications, but DLLs are not applications. DLLs cannot be executed directly, only loaded and called into by other processes (tasks in Windows parlance). The bulk of Windows was in fact implemented as DLLs (KERNEL, USER, GDI).
DLLs export routines (entry points) that are callable by applications. Applications can be linked against DLLs at link time, with imports referring to DLL names and entry points. DLLs can be also loaded entirely dynamically, and their entry points can be queried by ordinal (number) or by name.
Note that unlike UNIX systems, Windows never had a global name space for dynamic symbol resolution. Symbols from DLLs were always imported first by module name and then by name or ordinal. The two-level name space takes slightly more effort to manage but avoids name collisions, such that if two DLLs export a symbol named Alloc, there is no confusion as to which one is needed because the module name distinguishes between the two. And of course without the two-level name space, imports by ordinal (which are slightly faster and consume less memory) would have been completely impractical.
One key difference between applications and DLLs that is relevant to Windows programming is that DLLs have no stack of their own and always run with the stack of their caller. Although DLLs almost always have their own data segment, it is different from the stack segment, i.e. SS != DS.
This difference means that DLLs must be built differently from applications. The compiler must be told to generate code for DLLs, or more specifically, told that it cannot assume DS and SS registers address the same memory.
In the early days of Windows, the prolog and epilog for DLL entry points was the same as application prolog/epilog. Compiler writers eventually figured out that the prolog for applications can be simplified, because SS equals DS. But that is not the case for DLLs, and DLLs still need to use the old style “fat” prologs that the Windows module loader needs to patch up.
Secret Switches
Microsoft C supported Windows development from its earliest days, i.e. version 3.0 (earlier Microsoft C versions were rebranded third-party products; Microsoft C 3.0 was the first C compiler developed by Microsoft, initially for XENIX and DOS).
However, for many years, this support was almost secret. The Windows specific switches were completely omitted from compiler documentation, or they were listed but users were referred to the Windows SDK. That was the case up to and including Microsoft C 5.1, which documents the fact that the /Gw and /Aw switches exist, but does not explain what they do and how to use them, instead referring to the Windows SDK documentation. This perhaps neatly illustrates the somewhat incestuous relationship between the Windows development group and the Microsoft languages group.
Since Microsoft C 3.0 (1985), the compilers had the /Aw and /Gw switches (and also the /Au switch) .
The /Aw switch is a memory model modifier and specifies that SS != DS, but DS should not be reloaded at function entry (because Windows takes care of that). The /Aw switch is meant to be used when generating DLLs.
The /Gw switch generates Windows prologs and epilogs for far functions. It is required for exported functions located in both applications and DLLs, and it is very much a Windows specialty.
Windows Prologs and Epilogs
So what exactly do those Windows specific function prologs and epilogs look like? Everything is spelled out in the CMACROS.INC file shipped with the Windows SDK. Unfortunately CMACROS.INC is a jumble of MASM conditionals, nearly impossible for humans to read. It’s much easier to see what code the C compiler produces, or what exactly assembly code using CMACROS.INC turns into.
Here’s what Microsoft C 3.0 generates, as shown by a listing file the compiler produces, with added comments:
PUBLIC Proc Proc PROC FAR *** 000 1e push ds ; almost *** 001 58 pop ax ; no-op *** 002 90 xchg ax,ax ; NOP *** 003 45 inc bp ; marker *** 004 55 push bp ; save BP *** 005 8b ec mov bp,sp *** 007 1e push ds *** 008 8e d8 mov ds,ax ; reload DS ; Line 4 *** 00a 8b 46 06 mov ax,[bp+6] *** 00d 03 46 08 add ax,[bp+8] *** 010 83 ed 02 sub bp,2 *** 013 8b e5 mov sp,bp *** 015 1f pop ds *** 016 5d pop bp ; restore BP *** 017 4d dec bp ; recover value *** 018 cb ret Proc ENDP
First of all, note that the prolog seemingly spends a lot of instructions on doing very little real work. It pushes DS, moves it to AX, and then moves AX to DS after saving DS. It also increments BP before pushing it on the stack, and decrements it again after popping.
All in all, seemingly a lot of effort for nothing. But that’s actually the point: The Windows prolog and epilog code is meant to be harmless when it is not needed.
If the function is in fact exported from a Windows NE module, the Windows loader will patch the first three bytes to load the module’s default data segment into AX. Here’s what it looks like in SYMDEB, taken from a random GDI function:
_TEXT:SELECTOBJECT:
5BC1:1840 B80591 MOV AX,9105
5BC1:1843 45 INC BP
5BC1:1844 55 PUSH BP
5BC1:1845 8BEC MOV BP,SP
5BC1:1847 1E PUSH DS
5BC1:1848 8ED8 MOV DS,AX
5BC1:184A 83EC04 SUB SP,+04
In the above case, 5BC1h is the GDI module’s _TEXT code segment, and 9105h is the default data segment of the GDI module.
The Windows memory manager keeps the prolog updated such that if the data segment moves, the exported functions that refer to it get fixed up again to point to the new address.
Note that the NODATA keyword in a Windows .DEF file tells Windows not to patch the function prolog. This is necessary in situations where e.g. an exported entry point simply jumps to another exported function, or if the function has no need to access the data segment.
Now, what about that BP incrementing and decrementing? Windows depends on being able to walk the stack, and therefore applications and libraries must keep the stack frames in a format that Windows will understand.
When the Windows memory manager moves around segments, it must know whether they are referenced in stack frames that are already pushed on the stack. For example, if Windows tries to move a code segment that directly or indirectly called into the currently executing code, it has to either detect the situation and not move the segment, or move it and adjust the stack. What Windows can not do is move the segment and leave the stack as is. The same is true for default data segments.
Non-default data segments are not a problem because they are either locked and cannot move, or are unlocked and therefore correctly written Windows applications do not keep any pointers into such segments.
Incrementing BP before pushing serves an important purpose: It tells Windows that the BP value was pushed by a far function, i.e. there will be both an offset and a segment on the stack. Obviously, for this scheme to work, stacks must be always word-aligned. Fortunately Windows ensures that they are aligned initially, and it takes some effort to misalign them (because there’s no easy way to push an odd number of bytes on the stack).
Comparison with OS/2
It is instructive to compare 16-bit Windows with 16-bit OS/2. The two systems were in many ways very close relatives. Both used the same executable format (NE) with only minor differences. Both used segment-based memory management. Both used the same development tools from Microsoft.
By virtue of using protected mode, OS/2 required less cooperation from the programmer. In protected mode, a segment selector was at the same time the equivalent of a Windows handle and a segment address. Programmers therefore did not need to bother with carefully locking and unlocking segments.
OS/2 applications also did not require any special prolog and epilog code for externally callable functions, and there was no need to explicitly export window procedures etc. from the NE module; there was also no equivalent of (and no need for) MakeProcInstance. In other words, the OS did not need to unwind application stacks, and it didn’t need to patch entry points.
Thanks to the 80286 memory management hardware, segments could be moved, discarded, and reloaded entirely behind an application’s back. There was no need for GlobalLock/GlobalUnlock, eliminating a source of programming errors.
Like Windows DLLs, OS/2 DLL entry points did need a special prolog to set the DS register to the DLL’s data segment, but on OS/2 no special support from the OS was needed. And of course OS/2 DLLs likewise had to be built with the /Aw switch or equivalent, indicating that SS != DS.
Overall, the 286 hardware did a lot of the heavy lifting, and memory management was less work (with less room for bugs) for both the OS and the programmer.
Testing
The Windows SDK provided tools designed to stress the Windows memory management. For example, errors related to incorrect segment locking/unlocking will not show up if there is no memory pressure and the mismanaged segment stays in place. Such bugs can remain hidden and in the worst case, only manifest under difficult-to-reproduce scenarios.
The SHAKER tool in the Windows 1.0 SDK was used to “shake” memory and force segments to be discarded and moved around. This was intended to stress the memory management and reveal memory management bugs which would remain dormant under typical conditions.
Shaker and HeapWalker tools in Windows 1.x SDK
Another tool was HEAPWALK, primarily a diagnostic utility capable of displaying the currently allocated segments and their owners. However, HEAPWALK was also able to allocate all available memory and free it up in 1K increments, simulating low memory conditions.
The Windows 3.0 SDK version of Shaker
Shaker and HeapWalker were still shipped with the Windows 3.0 SDK, not least because Windows 3.0 running in Real mode was minimally different from Windows 1.0 as far as memory management was concerned.
These tools were necessary because although the memory management in Windows was sophisticated, the hardware to back it was lacking (certainly before Windows 3.0 running in protected mode). Instead of letting the hardware catch errors like attempts to access unallocated memory, programmers had to use specialized tools to try and induce errors and hope that bugs will manifest in visible ways. This was not an exact science because in the 8086 architecture, every memory address was valid, and reads and writes always succeeded.
The Windows 3.1 SDK replaced the Shaker tool with Stress, a new utility which was designed to test application behavior under low-resource conditions — limited memory in various Windows internal heaps, running out of disk space, running out of file handles, etc.
The Windows 3.1 SDK Stress tool
Since Windows 3.1 only ran in protected mode, some of the earlier memory management issues were no longer applicable, but low-resource conditions were as relevant as ever.
Summary
16-bit Windows introduced a fairly sophisticated memory management system. Due to lack of hardware support, significant discipline was required on the part of application programmers. If the wrong compiler switches were used, or functions weren’t properly exported, or segments were not correctly locked and unlocked… all bets were off.
References
1. Peter Norton’s Windows 3.0 Power Programming Techniques, Peter Norton and Paul Yao, 1990, page 613.
Flock Safety doesn’t seem to care about anyone. Not its customers, not those captured by its cameras, not even the legislators trying to find a balance between safety and privacy.
Flock started out by pitching its cameras — with built-in license plate readers — to the kind of people with money to blow on unproven tech and the willingness to use it to keep unwanted people (read: not white) out of their neighborhoods. It soon expanded past the gated community market, courting cops who wanted to use the tech to track unwanted people (read: not white) who might be driving around in cars and existing.
As always, both parties (Flock/cops) claimed the tech was essential to capturing the “worst of the worst” — auto thieves, wanted felons, sex offenders, etc. And, as always, real-world use cases were more along the lines of oh, you know, tracking down women seeking abortion options or letting cops keep tabs on their ex-wives.
The problem with Flock isn’t necessarily unique to Flock. It’s a problem almost every third-party contractor creates. When thing go poorly (and they have gone very poorly for Flock recently), no one seems to know who’s responsible for removing the unwanted tech, much less who actually has the authority to shut a surveillance system down.
This has created a problem that has no immediate solution. When Dayton, Ohio shut down its Flock cameras, it had no idea whether contract termination meant the cameras were actually shut off. Worse, law enforcement officials didn’t seem to know either. A fix was needed, and Dayton found a cost-effective way of keeping Flock from operating the unwanted cameras until when (or if!) it decided to roll into town to remove them.
The city of Dayton, Ohio has covered its Flock automated license plate reader cameras with black trash bags in part because police there are unsure whether the cameras are still active and the city also doesn’t seem to know whether it is allowed to take the cameras down. The move comes after months of resident outrage, a scandal in which the city was sharing Flock camera data for immigration enforcement apparently on accident, and a $30,000 audit into how the cameras are being used.
You can see the problem. While the city may have terminated the contract and the PD stating it won’t use the cameras, there’s no real “OFF” switch on the end user side. Because the cameras aren’t truly owned by the city, it has to wait around for Flock to come get its boys. And even though the Dayton PD’s access portal may be dead because it’s parted ways with Flock, that doesn’t mean hundreds of law enforcement agencies around the US don’t have access to the cameras the city has determined can’t be used.
This isn’t speculation. This is something that has already been observed by other municipalities.
Cities are not sure what their contracts state how to extricate themselves from those contracts, or whether the cameras are recording (and where that data is going). This uncertainty highlights the problems associated with using private, third-party surveillance infrastructure. Last week, for example, the mayor of Menominee, Wisconsin said that Flock cameras in the city “have been activated without city council approval.”
That’s some shady shit right there. But it’s not even the shadiest thing Flock has done in terms of (1) supposedly deactivated cameras and (2) garbage bag-covered cameras. Late last year, the city of Evanston, Illinois covered Flock cameras in garbage bags until Flock came to remove them. Then this happened:
The city previously ordered Flock to shut down 19 cameras (18 stationary and one flex camera that can be attached to a squad car) provided by the company and put its contract with Flock on a 30-day termination notice on Aug. 26. The company took down 15 of the 18 stationary cameras by Sept. 8, only to reinstall all of them by Tuesday. This was apparently without authorization from city officials, who sent Flock a cease-and-desist order to take them back down.
What the actual fuck? And yeah, one might be inclined to chalk this up to a simple misunderstanding, but only if one isn’t familiar with Flock’s general disregard for municipal laws:
Company communications with state transportation agencies obtained via public records requests, and interviews with more than half a dozen former employees, suggest that in its rush to install surveillance cameras in the absence of clear regulatory frameworks, Flock repeatedly broke the law in at least five states.
In South Carolina, State Transportation Secretary Christy Hall told Forbes that since spring 2022, her staff has found more than 200 unpermitted Flock cameras during routine monitoring of public roads.
Hence the garbage bags. It appears Flock is willing to activate cameras it’s been instructed to deactivate. And that’s when it’s not installing cameras illegally or thumbing its nose at removal orders by reinstalling cameras it has just removed.
Private companies who pull this sort of shit would be shut down, if not banned, by cities if it involved anything other than cop tech. Somehow, Flock manages to ride this out by claiming to be a cop’s best friend, even as its pretending local laws and regulations don’t apply to it.
I would encourage cities looking to rid themselves of Flock cameras to go one step further: just pry them off the poles and toss them in the nearest dumpster. If Flock wants to retrieve its equipment, it can be directed to the nearest landfill. Or, if cities don’t feel comfortable doing this themselves, they can always host a few foreign exchange students to help ensure Flock cameras remain inoperable until removal.
DES MOINES, IA—Joining a long line of musicians who have threatened legal action against the commander-in-chief, nu-metal band Slipknot issued a public statement Tuesday demanding President Donald Trump stop using their masks during his rallies. “Donald Trump’s vile, evil agenda is not at all aligned with what our terrifying masks represent,” frontman Corey Taylor wrote on X in response to a video the White House posted of Trump waving to the crowd at a rally as he walked out on stage in an expressionless gray mask covered in oozing wounds, black sutures, and dreadlocks made of rope. “We are sickened to see what is supposed to be a celebration of each band member’s inner demon being used to promote such dark and hateful rhetoric. We’ve already been in contact with our lawyers and will not hesitate to pursue all legal remedies should he use our disfigured clown masks or long-nosed gimp suits to advance his disturbing viewpoints in the future.” Taylor went on to state that the band told former Florida Gov. Jeb Bush the same thing in 2016 when he wanted to use their mutant pig boy persona to announce his presidential campaign.