Connect with us

Oklahoma

Oklahoma’s New Execution Plan Highlights the Magnitude of America’s Death Penalty Problems

Published

on

Oklahoma’s New Execution Plan Highlights the Magnitude of America’s Death Penalty Problems


On January 30, Oklahoma’s Attorney General Gentner Drummond and Steven Harpe, Director of Oklahoma Department of Corrections (ODOC), filed a motion asking the Oklahoma Court of Criminal Appeals to approve their plan to execute six people, with 90 days separating each one of the executions. If the state carries out these executions, it will further solidify its status as one of this country’s most active death penalty jurisdictions.

As the Associated Press noted last year, while “public support and use of the death penalty … continued its more than two-decade decline in the U.S., … support remains high in Oklahoma. A state ballot question in 2016 on whether to enshrine the death penalty in the Oklahoma Constitution received more than 65% of the vote.”

Since October 28, 2021, Oklahoma has carried out eleven executions, and in 2023, it was one of only five states to carry out an execution at all.

A close look at the reasons Drummond and Harpe gave for slowing the pace of Oklahoma executions and at the cases of the people they want to execute offers a disturbing look at the death penalty system in this country.

Advertisement

Let’s start with the reasons Drummond and Harpe gave in explaining why they were requesting 90-day intervals between executions.

Their motion quotes Harpe as explaining that “scheduling of an execution date triggers a series of tasks that must be completed by DOC staff, many of which must occur weeks before the scheduled execution. In addition, the day of an execution affects not only those directly involved in the execution, but the entirety of Oklahoma State Penitentiary, which goes into a near complete lockdown until the execution is completed.”

In an affidavit attached to the motion, Harpe says: “Based on the executions I have overseen, and in my judgment as executive director, the present pace of executions, every 60 days, is too onerous and not sustainable. Instead, a sustainable pace would be every 90 days.”

Harpe told Oklahoma News 4 that “The previous model put a massive strain on ODOC to carry out daily operations due to the time the employees spent away from their primary posts to perform the required number of drills.” Adjusting the execution schedule, he claimed, “will allow ODOC to carry out the court-ordered warrants within a timeframe that will minimize the disruptions to normal operations. This pace also protects our team’s mental health and allows time for them to process and recover between the scheduled executions.”

“Process and recover” from killing another human being, all in 90 days. Seems a bit machine-like to me.

Advertisement

In fact, there is a lot of evidence that the toll on members of execution teams everywhere is substantial and enduring.

A 2022 NPR investigation found that death penalty workers across the country “reported suffering serious mental and physical repercussions. But only one person said they received any psychological support from the government to help them cope.”

NPR says that “The experience was enough to shift many of their perspectives on capital punishment. No one whom NPR spoke with whose work required them to witness executions in Virginia, Nevada, Florida, California, Ohio, South Carolina, Arizona, Nebraska, Texas, Alabama, Oregon, South Dakota or Indiana expressed support for the death penalty afterward.”

The NPR story quotes Jeanne Woodford, a warden who oversaw four executions in California. Woodford had to “speak with the person slated to die, then talk with his family to receive instructions for what to later do with his body. Afterward, she had to speak with the other family involved, too—the family of the victim. You just don’t know what to say to people who are in so much pain. And no one is sensitive to the fact that you as the warden are sitting there thinking, in 30 days, I’m going to have to go in and give the order to carry out an execution of a human being.”

“People think that it would be so easy to go up and execute someone who had committed such heinous acts,” Woodford said. “But the truth is, killing a human being is hard. It should be hard.”

Advertisement

Or as Perrin Damon, a spokeswoman who helped coordinate two executions for the Oregon Department of Corrections, told NPR, “There was more than one casualty. More people are involved than anyone understands.”

And those casualties are unlikely—Harpe to the contrary notwithstanding—to be healed by the 90-day break between executions that Oklahoma is planning.

Beyond the unconvincing argument about staff recovery time, the cases that Oklahoma wants to queue up put the injustices of the death penalty in glaring relief.

Take the case of Tremane Wood.

As a 2022 UPI story noted, Wood “was sentenced to death for the first-degree murder of Ronnie Wipf in 2001, in Oklahoma City. His brother, Zjaiton ‘Jake’ Wood, who said he was the one who stabbed Wipf to death, received a life sentence for the crime.”

Advertisement

The lawyers now representing Wood claim that “in addition to not being the one who actually killed Wipf, … their client’s court-appointed trial lawyer was addicted to cocaine, alcohol and prescription pills at the time of his case.” His trial counsel never presented the kind of mitigation evidence that often persuades juries, even Oklahoma juries, not to impose a death sentence.

Jurors were never told that Tremane Wood “was neglected by his parents and learned to ‘survive by bonding with his abusive and violent older brother.’” They also did not know that Tremane suffers from PTSD, the result of violence and neglect that he witnessed and endured throughout his life.

And, as is often the case, race played a powerful role in Wood’s trial. The prosecution successfully removed nearly every Black person from the jury pool.

The jury that convicted Wood was made up of 10 white people, one Black person, and one Hispanic person. The Black juror said later that she was “under pressure” from the majority-white jurors to vote for death.

As if that were not enough, in the other cases that are the subject of Drummond and Harpe’s motion, one person suffered from severe brain damage at the time he committed his crime, a second also suffered from brain damage, and the other cases, like Wood’s, were decided by juries that were not presented with crucial mitigating evidence.

Advertisement

Changing the pace of executions, as Drummond and Harpe want to do, may serve the state. But it does nothing to address what the death penalty does to those who administer it or the profound problems that plague it in Oklahoma and everywhere the state kills.



Source link

Oklahoma

TIMELINE: Rounds of storms in Oklahoma continue throughout weekend

Published

on

TIMELINE: Rounds of storms in Oklahoma continue throughout weekend


TIMELINE: Rounds of storms in Oklahoma continue Saturday and throughout weekend

Advertisement

NA

Advertisement

TIMELINE: Rounds of storms in Oklahoma continue Saturday and throughout weekend

Updated: 9:21 AM CDT Apr 11, 2026

Editorial Standards

Advertisement

It’s day two of a six-day stretch of storm risks in Oklahoma, as rain chances are increasing. >> Go to the KOCO weather page | Get KOCO on the Go | Subscribe to KOCO 5’s YouTube channel | Sign up for KOCO 5’s Morning NewsletterKOCO 5 Meteorologist Mikayla Smith says heavy rain is likely Saturday night and into Sunday morning, which could cause flooding. Below is what you need to know. Saturday Storm Risk A level 1 has been issued for western and north-central Oklahoma. The risk zone stretches north to Ponca City and stays west of the OKC metro. A few scattered showers are possible Saturday afternoon, but the bulk of the storms won’t come in until late Saturday heading into your Sunday. Showers start to develop around 1 p.m. and continue east by 5:30 p.m. A second round with heavier rain comes into western Oklahoma around 11 p.m. and midnight. That second wave will continue into central Oklahoma, bringing the heavy ran to the OKC metro around 4:30 a.m. Sunday. The heavy rain will linger in central Oklahoma throughout the morning before moving to the east by the late morning and early afternoon. Sunday Storm Risk The severe weather risk is a little bit higher on Sunday, with a level 2 slight risk in western and central Oklahoma. The OKC metro is included in the risk zone. There’s also a level 1 marginal risk in eastern Oklahoma and near Woodward in northwestern Oklahoma. The big thing with Sunday’s storm threat is that it’s a conditional risk. If the storms move out fast enough in the morning, then we’ll see severe weather in the afternoon. KOCO 5 First Alert Weather Team, led by Chief Meteorologist Damon Lane, has been certified by WeatheRate as providing the Most Accurate Forecast in Oklahoma City for 14 consecutive years. This outstanding achievement underscores KOCO 5’s unwavering dedication to delivering reliable weather forecasts to viewers.

It’s day two of a six-day stretch of storm risks in Oklahoma, as rain chances are increasing.

>> Go to the KOCO weather page | Get KOCO on the Go | Subscribe to KOCO 5’s YouTube channel | Sign up for KOCO 5’s Morning Newsletter

Advertisement

KOCO 5 Meteorologist Mikayla Smith says heavy rain is likely Saturday night and into Sunday morning, which could cause flooding. Below is what you need to know.

Saturday Storm Risk

A level 1 has been issued for western and north-central Oklahoma. The risk zone stretches north to Ponca City and stays west of the OKC metro.

april 11, 2026, oklahoma storm risk

Advertisement

A few scattered showers are possible Saturday afternoon, but the bulk of the storms won’t come in until late Saturday heading into your Sunday.

Sunday Storm Risk

The severe weather risk is a little bit higher on Sunday, with a level 2 slight risk in western and central Oklahoma. The OKC metro is included in the risk zone.

There’s also a level 1 marginal risk in eastern Oklahoma and near Woodward in northwestern Oklahoma.

april 11, 2026, oklahoma storm risk

Advertisement

The big thing with Sunday’s storm threat is that it’s a conditional risk. If the storms move out fast enough in the morning, then we’ll see severe weather in the afternoon.


KOCO 5 First Alert Weather Team, led by Chief Meteorologist Damon Lane, has been certified by WeatheRate as providing the Most Accurate Forecast in Oklahoma City for 14 consecutive years. This outstanding achievement underscores KOCO 5’s unwavering dedication to delivering reliable weather forecasts to viewers.

Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

Advertisement

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

Advertisement

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

Advertisement

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.koco.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.koco.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

Advertisement

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

Advertisement

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

Advertisement

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

Advertisement

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

Advertisement

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.koco.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.koco.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

Advertisement

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

Advertisement

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Advertisement

Loading more articles…



Source link

Continue Reading

Oklahoma

Oklahoma City artist returns with Thunder-themed window art for NBA playoffs

Published

on

Oklahoma City artist returns with Thunder-themed window art for NBA playoffs


Melissa Griggs-Hendricks and her team are back to paint Thunder-inspired designs on windows across Oklahoma City, spreading excitement for the NBA playoffs

Advertisement

Oklahoma City artist returns with Thunder-themed window art for NBA playoffs

Melissa Griggs-Hendricks and her team are back to paint Thunder-inspired designs on windows across Oklahoma City, spreading excitement for the NBA playoffs

Advertisement

WELL, OKLAHOMA CITY, IT IS ALMOST TIME FOR THE NBA PLAYOFFS AND WE ARE READY TO THUNDER UP. I’LL TELL YOU WHAT, OUR CITY SURE KNOWS HOW TO SHOW UP AND SHOW OUT. FROM WATCH PARTIES TO HOUSE DECORATIONS, OKC HAS GOT IT GOING ON AND THAT INCLUDES A LOCAL PAINTER. YOU MIGHT REMEMBER FROM LAST SEASON. OUR KOCO EVAN ONSTOT JOINING US LIVE IN THE NEWSROOM. WE HAVE THIS IN OUR NEWSROOM. EVAN, WE’RE ABOUT TO SEE BLUE AND ORANGE ALL OVER OKC. RIGHT. AND A LOT OF IT IS GOING TO BE THANKS TO ARTIST MELISSA GRIGGS HENDRICKS. WE WATCHED MELISSA AND HER TEAM CREATE THUNDER MAGIC ALL OVER OKLAHOMA LAST YEAR, AND NOW SHE IS BACK. AND MAYBE EVEN BETTER THAN BEFORE. MELISSA AND HER ASSISTANT CANDACE PAINT THUNDER IMAGES ON WINDOWS. ABBY, YOU MENTIONED WE HAD ONE RIGHT HERE IN THE KOCO NEWSROOM. AND SO THIS YEAR, THESE LADIES ARE BACK TO SPREAD SOME THUNDER EXCITEMENT. THEY SAY THEY’VE GOT EVEN MORE DESIGNS THIS YEAR AND THEY BELIEVE THEY CAN DOUBLE THE ART THIS SEASON. THEY JUST CAN’T WAIT FOR THE PLAYOFFS TO START. LAST YEAR FOR THE PLAYOFFS, WITHIN A TWO AND A HALF MONTH SPAN, WE PAINTED 157 LOCATIONS. SOME OF THOSE WERE HUGE AND SOME WERE SMALL. AS ONE WINDOW, WE HAVE A GUESS OF ABOUT 25 GALLONS. WE MAY HAVE MISSED A FEW. IT DOESN’T TAKE A TON OF PAPER FOR DESIGN TYPICALLY, BUT YEAH, ABOUT 25 GALLONS LAST YEAR. THIS YEAR I THINK WE’RE GOING TO DO A WHOLE LOT MORE. IT FEELS AMAZING TO BE BACK. I’M SO EXCITED. WE JUST HAD SUCH A GREAT TIME LAST YEAR AND I’VE REALLY MISSED THIS COMMUNITY OF JUST GETTING TO SEE EVERYBODY AND JUST BE A HUGE PART OF ALL THE EXCITEMENT FOR THE PLAYOFFS. YEAH, THEY DO INCREDIBLE WORK. NOW. MELISSA SAYS THAT IF YOU ARE INTERESTED IN HAVING ANY OF YOUR WINDOWS PAINTED, YOU JUST GOT TO CONTACT HER THROUGH EMAIL. WE’RE GOING TO POST A

Advertisement

Oklahoma City artist returns with Thunder-themed window art for NBA playoffs

Melissa Griggs-Hendricks and her team are back to paint Thunder-inspired designs on windows across Oklahoma City, spreading excitement for the NBA playoffs

Updated: 7:52 PM CDT Apr 10, 2026

Editorial Standards

Advertisement

Oklahoma City is preparing for the NBA playoffs, and artist Melissa Griggs-Hendricks is bringing Thunder spirit to life with her signature window art. >> Download the KOCO 5 app | Subscribe to KOCO 5’s YouTube channel | Sign up for KOCO 5’s Morning NewsletterGriggs-Hendricks, along with her assistant Candace, is painting Thunder-themed images on windows throughout the city, including one at the KOCO newsroom. “Last year for the playoffs, within a two-and-a-half-month span, we painted 157 locations. Some of those were huge and some were small as one window,” Griggs-Hendricks said. “We have a guess of about 25 gallons. We may have missed it. It doesn’t take a ton of paint for a design. Typically, they get about 25 this year. I think we’re going to do a whole lot more.” She expressed her enthusiasm for returning this season. “It feels amazing to be back. I’m so excited. We just had such a great time last year, and I really miss this community of just getting to see everybody and just be a huge part of all the excitement for the playoffs,” Griggs-Hendricks said. Get the latest news stories of interest by clicking here.Griggs-Hendricks and her team say they have even more designs planned this year and believe they can double their output from last season. Top HeadlinesWoman dies after being hit by a train in Pauls Valley, OHP saysOut-of-this-world playlist: Here’s what the Artemis II astronauts have been listening in spaceOHP releases details of deadly crash involving Oklahoma State softball team’s busRollover crash involving multiple vehicles causes significant traffic on SB I-35 near GoldsbyPennsylvania woman’s Ring camera captures machete-wielding neighbor

Oklahoma City is preparing for the NBA playoffs, and artist Melissa Griggs-Hendricks is bringing Thunder spirit to life with her signature window art.

Advertisement

>> Download the KOCO 5 app | Subscribe to KOCO 5’s YouTube channel | Sign up for KOCO 5’s Morning Newsletter

Griggs-Hendricks, along with her assistant Candace, is painting Thunder-themed images on windows throughout the city, including one at the KOCO newsroom.

“Last year for the playoffs, within a two-and-a-half-month span, we painted 157 locations. Some of those were huge and some were small as one window,” Griggs-Hendricks said. “We have a guess of about 25 gallons. We may have missed it. It doesn’t take a ton of paint for a design. Typically, they get about 25 this year. I think we’re going to do a whole lot more.”

Advertisement

She expressed her enthusiasm for returning this season.

“It feels amazing to be back. I’m so excited. We just had such a great time last year, and I really miss this community of just getting to see everybody and just be a huge part of all the excitement for the playoffs,” Griggs-Hendricks said.

Get the latest news stories of interest by clicking here.

Griggs-Hendricks and her team say they have even more designs planned this year and believe they can double their output from last season.


Top Headlines

Advertisement
Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

Advertisement

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

Advertisement

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.koco.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.koco.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

Advertisement

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

Advertisement

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

Advertisement

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

Advertisement

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

Advertisement

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

Advertisement

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.koco.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.koco.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

Advertisement

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

Advertisement

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…



Source link

Advertisement
Continue Reading

Oklahoma

Oklahoma City man claiming to be financial investor charged with fraud

Published

on

Oklahoma City man claiming to be financial investor charged with fraud


A federal grand jury has charged an Oklahoma City man with dozens of counts of wire fraud, money laundering, and aggravated identity theft.

From June 2021 through December 2025, officials say 36-year-old Matthew Mclain Veazey presented himself as a successful financial investment professional. Public records indicate that Veazey encouraged friend and family to send him money by claiming he had special access to favorable investment opportunities due to his connections.

However, authorities say Veazey kept the money for himself and used it for personal expenses.

Court records allege that investors gave Veazey $2.38 million, but those funds were never repaid. Authorities say Veazey fabricated text messages and email communications from real people to convince victims that his investment activities were real.

Advertisement

This week, a federal grand jury returned a 30-count indictment charging Veazey with 21 counts of wire fraud, five counts of money laundering, and four counts of aggravated identity theft.

Comment with Bubbles

BE THE FIRST TO COMMENT

If convicted, Veazey faces up to 20 years in federal prison and fines up to $250,000 for each count of wire fraud, up to 10 years in federal prison and fines up to $250,000 for each count of money laundering.



Source link

Advertisement
Continue Reading

Trending