Connect with us

California

Art therapy helps CA prisoners improve themselves and their community

Published

on

Art therapy helps CA prisoners improve themselves and their community


CORCORAN, Calif. (KABC) — California is rethinking its prison system in an effort to reduce the recidivism rate which has averaged about 50% over the past 10 years.

At California State Prison Corcoran, Sean O’Brien is using art as therapy.

“Personally? It probably saved my life,” explains O’Brien who is now 34 and has been in prison since he was 16.

Along with other participating artists, O’Brien uses art as a way to explore emotions, reduce stress and improve self-esteem while in prison. Some say it’s using the time instead of just doing time.

Advertisement

“You look around in here, there’s not very much color. We’re surrounded by bricks and concrete and steel. And this is the color that we’re able to bring in here through our art,” says O’Brien as he looks at a wall mural he painted.

And now that art is having a positive impact outside of the prison walls as well.

Rodney Rodriguez of Fresno Skateboard Salvage gathers old skateboards that are trash to many and delivers them to prison artists around the state, who will use the boards as a canvas, creating art for others.

“They’re not just contributing from their talent. Because of where it’s coming from, it’s affecting them emotionally and mentally – and you can see it,” says Rodriguez.

The finished pieces are beautifully unique and auctioned to raise money so Fresno Skateboard Salvage can purchase new skateboards and safety gear for underprivileged kids in Fresno.

Advertisement

At the Boys and Girls club in Pinedale, dozens of kids were given new equipment and training, in part, because of the collaboration with the California Department of Corrections and Rehabilitation.

“I think for them it’s maybe a way of treatment, it’s a way of self-care, a way of mental health for them to cope with the past, the present and the future,” says Lt. Robert Clifton, public information officer at the Corcoran prison.

Artist Omar Cruz explains what the art, and the program means to him:

“You know I’ve done a lot of bad things in the community so I just wanted to make amends and give back to the community. But when Rodney told me why he did it, it changed my whole perspective because I remember he told me a story about – if it wasn’t for someone giving him a skateboard and he started hanging out with skaters and he changed his whole life around.”

Using skateboards to help kids make better life choices is the mission of Fresno Skateboard Salvage, but the art produced by incarcerated men and women has a deeper purpose as well. Studies show a significantly higher success rate of re-entry into society for prisoners who participate in art therapy than for those who do not.

Advertisement

Rodriguez can see why that’s possible.

“If you’re just the bunky (prison bunkmate) of the artist or the bunky’s bunky or a friend of the artist – the people in that community within this institution are being uplifted by colors on a beat-up old skateboard that will benefit a kid.”

Copyright © 2024 KABC Television, LLC. All rights reserved.



Source link

Advertisement
Continue Reading
Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

California

See How Meghan Markle and Prince Harry Celebrated Easter in California With Their Children

Published

on

See How Meghan Markle and Prince Harry Celebrated Easter in California With Their Children


While the royal family gathered in Windsor this morning to attend Easter Sunday services, the holiday looked quite different in Montecito, California for Prince Harry, Meghan Markle, and their two children, Prince Archie and Princess Lilibet.

On Instagram, Meghan shared videos from their day, including feeding their chickens, gathering eggs, watching Archie and Lilibet race on an Easter egg hunt with their dogs following, Lilibet, in a pink dress, holding a large stuffed bunny toy while wearing bunny ears, and Archie working on decorating eggs. “Happy Easter!” she wrote in the caption . Watch the clips here:

In With Love, Meghan, Meghan spoke about collecting eggs from her chickens. “What’s really cool is with whatever’s going on in life, to be able to do something like this,” Meghan tells the camera about collecting eggs from her chickens. “It’s just fun. It’s fun for kids and for adults. But, if a morning starts like this [snaps], you think about your day differently.”

Harry and Meghan’s Netflix docuseries, Harry & Meghan, offered a sweet glimpse into their Easter traditions in California. In the sixth episode, cameras capture the Duke and Duchess of Sussex, along with Meghan’s mom Doria, as they set up an Easter egg hunt for Archie in April 2021.

Advertisement
Screenshot/Netflix

Meghan, pregnant with Lilibet, on Easter 2021.

prince harry meghan markle easter egg hunt netflix
Screenshot/Netflix

Harry places an egg underneath a Peter Rabbit character.

prince harry meghan markle easter egg hunt netflix
Screenshot/Netflix

The Sussexes setting up an Easter egg hunt for Archie in their backyard.

On ShopMy last year, Meghan shared her Easter essentials, which included children’s clothing picks from J.Crew, Boden, and Petite Plume, among other brands, and Easter hosting items such as children’s toys and home goods. Earlier this week, she was spotted shopping for Easter gifts at a local Montecito shop. “She was there for a while, talking to the staff and making selections,” a source told People at the time.

In addition, last month, her brand As Ever launched a limited-edition “Bloom Box” in collaboration with High Camp Supply, a San Francisco-based luxury florist. The box was meant to ship in time for Easter.

Advertisement

Headshot of Emily Burack

Emily Burack (she/her) is the Deputy Digital Editor for Town & Country, where she covers entertainment, celebrities, the royals, and a wide range of other topics. Before joining T&C, she was the deputy managing editor at Hey Alma, a Jewish culture site. Follow her @emburack on Instagram, Twitter, and other social media platforms.



Source link

Continue Reading

California

California Politics 360 Full Episode | $13M placed in bets on CA governor’s race

Published

on

California Politics 360 Full Episode | M placed in bets on CA governor’s race


Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done.

Advertisement

California Politics 360 Full Episode | $13M placed in bets on CA governor’s race

Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done.

Advertisement

California Politics 360 Full Episode | $13M placed in bets on CA governor’s race

Advertisement

Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done.

Updated: 8:25 AM PDT Apr 5, 2026

Editorial Standards

Advertisement

At least $13 million has been placed in bets on the California governor’s race. In a state that doesn’t allow online sports betting, why are people allowed to bet on politics? The two most popular betting and prediction sites – Kalshi & Polymarket – are facing a flurry of lawsuits. Last week, Washington filed a lawsuit against Kalshi. Last month, Arizona’s attorney general filed criminal charges against the company. This week, California Sen. Adam Schiff joined three other senators in proposing legislation to block insiders from betting. Gov. Newsom also made some moves on the state level, banning state employees or his appointees and their family members from making bets on these sites using state information. Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done. This year, California voters will decide who they want to be their next governor. Every week leading to the June primary, we will hear from one of the top 10 candidates running for the state’s highest position. This week, Ashley Zavala sat down with Republican Steve Hilton to get his thoughts on the major issues impacting Californians. New changes went into effect this week, impacting who is eligible for CalFresh. Ashley Zavala sits down with the Executive Director of the County Welfare Directors Association, Carlos Marquez III. We take a closer look at the responsibilities for California’s Insurance Commissioner ahead of the June primary.KCRA 3 Political Director Ashley Zavala reports in-depth coverage of top California politics and policy issues. She is also the host of “California Politics 360.” Get informed each Sunday at 8:30 a.m. on KCRA 3.

At least $13 million has been placed in bets on the California governor’s race. In a state that doesn’t allow online sports betting, why are people allowed to bet on politics?

The two most popular betting and prediction sites – Kalshi & Polymarket – are facing a flurry of lawsuits. Last week, Washington filed a lawsuit against Kalshi. Last month, Arizona’s attorney general filed criminal charges against the company.

Advertisement

This week, California Sen. Adam Schiff joined three other senators in proposing legislation to block insiders from betting. Gov. Newsom also made some moves on the state level, banning state employees or his appointees and their family members from making bets on these sites using state information.

Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done.

This year, California voters will decide who they want to be their next governor. Every week leading to the June primary, we will hear from one of the top 10 candidates running for the state’s highest position. This week, Ashley Zavala sat down with Republican Steve Hilton to get his thoughts on the major issues impacting Californians.

New changes went into effect this week, impacting who is eligible for CalFresh. Ashley Zavala sits down with the Executive Director of the County Welfare Directors Association, Carlos Marquez III.

Advertisement

We take a closer look at the responsibilities for California’s Insurance Commissioner ahead of the June primary.


KCRA 3 Political Director Ashley Zavala reports in-depth coverage of top California politics and policy issues. She is also the host of “California Politics 360.” Get informed each Sunday at 8:30 a.m. on KCRA 3.

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’;

Advertisement

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’);
}
}

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;
}

Advertisement

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’);
});
}
}

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

Advertisement

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.kcra.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.kcra.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;
}

Advertisement

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);
}
}

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);
}
}

Advertisement

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

`;
}

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.kcra.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.kcra.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

Loading more articles…

Advertisement



Source link

Continue Reading

California

Loved ones search for missing 15-year-old Southern California girl 

Published

on

Loved ones search for missing 15-year-old Southern California girl 


Loved ones are searching for a Southern California girl who has been missing for more than six months.

Keylin Reyes-Moreno, 15, was reported missing on Sept. 22, 2025, according to the National Center for Missing & Exploited Children (NCMEC).

Reyes-Moreno was last seen in the Pacoima area.

She is 5 feet 6 inches tall and weighs 120 pounds. She has brown hair and dark brown eyes.

Advertisement
Keylin Reyes-Moreno, 15, was last seen in Pacoima on Sept. 22, 2025. (National Center for Missing & Exploited Children)

She may have been heading to the Los Angeles area when she disappeared.

Her family did not mention any health or mental issues that would’ve contributed to her disappearance. They have not heard from her since and are very concerned for her well-being.

Anyone who may know Keylin Reyes-Moreno’s whereabouts or has information on the case is asked to call NCMEC at 1-800-843-5678 or the Los Angeles Police Department at 877-275-5273.



Source link

Advertisement
Continue Reading

Trending