Connect with us

Northeast

DHS salutes veterans turned ICE agents after major arrests across the country

Published

on

DHS salutes veterans turned ICE agents after major arrests across the country

NEWYou can now listen to Fox News articles!

EXCLUSIVE: On Veterans Day, the Department of Homeland Security honored the thousands of veterans who have transitioned from defending the U.S. in uniform to safeguarding the nation’s borders and communities.

“DHS honors the patriotism and heroism of Americans who served our country and continue to protect our homeland and freedoms by arresting the worst of the worst criminals across the U.S.,” a department spokesperson told Fox News Digital.

Assistant Secretary Tricia McLaughlin added that there are more than 7,500 veterans serving as ICE agents – a job where videos and reports in recent months show similarly dangerous situations and confrontations with armed civilian adversaries and violent protesters.

DHS ARRESTS CHICAGO’S ‘WORST OF THE WORST’ AMID SURGE IN DOMESTIC TERROR ATTACKS

Advertisement

Albert Miguel Quinones-Quinones, captured by ICE in Pottsville, Pa, is seen in this mugshot. (Courtesy: ICE)

“Just yesterday, ICE arrested pedophiles, rapists, and other violent criminals. We are eternally grateful to all Americans who have bravely served [and] protected our freedoms. We are only the land of the free because of the brave.”

Veterans-turned-ICE agents took part in several Veterans Day eve operations targeting sex offenders and child predators across locations ranging from Pennsylvania’s Coal Region to the Utah desert. 

On Monday, ICE’s Philadelphia office arrested Columbian national Albert Quinones-Quinones in Schuylkill County, Pennsylvania.

UNION BOSS COMPARES ICE TO AL PACINO MOBSTER AS MORE DEMS PILE ON IMMIGRATION ENFORCEMENT

Advertisement

Jesus Hernandez-Hernandez, arrested by ICE in western New York, is seen in this mugshot (Courtesy: ICE)

Residents in Pottsville – known nationally for being home to America’s oldest brewery; Yuengling; and a once-booming coal industry – are safer now that Quinones-Quinones is off the street, DHS said.

The illegal immigrant has a prior sexual assault conviction in local court and a longer criminal history, according to the agency.

To the north, ICE in Buffalo, New York, arrested Delbes De Jesus Hernandez-Vargas of the Dominican Republic. He has a prior conviction in Bronx County, New York for rape.

Also in The Bronx, ICE corralled Luis Castillo-Flores, 45, another Dominican national with a violent prior rap sheet.

Advertisement

CLICK HERE TO DOWNLOAD THE FOX NEWS APP

ICE Agents converge on a home in Illinois (Christopher Dilts/Getty Images)

In Utah, ICE agents took Guatemalan national Juan Guerra-Ubaldo into custody Monday. The 61-year-old had been previously arrested for sexually abusing a minor in nearby Washington County.

Also out west, Jesus Hernandez-Hernandez was captured by federal agents in Texas, where he previously was convicted of sexually assaulting a child under 14.

Advertisement

Read the full article from Here

Advertisement

New York

How a Geologist Lives on $200,000 in Bushwick, Brooklyn

Published

on

How a Geologist Lives on 0,000 in Bushwick, Brooklyn

How can people possibly afford to live in one of the most expensive cities on the planet? It’s a question New Yorkers hear a lot, often delivered with a mix of awe, pity and confusion.

We surveyed hundreds of New Yorkers about how they spend, splurge and save. We found that many people — rich, poor or somewhere in between — live life as a series of small calculations that add up to one big question: What makes living in New York worth it?

Advertisement

Here’s one way to make New York more affordable: triple your income. After moving from Baton Rouge, La., in 2016 to attend graduate school, Daniel Babin lived mostly on red beans and rice or homemade “slop pots,” renting rooms in what he called a “cult house” and a building on a block his girlfriend was afraid to visit.

Then, in January, he got a job as a geologist with a mineral exploration company, with a salary of $200,000, plus a $15,000 signing bonus. A new city suddenly opened up to him. “I can take a woman out on a $300 dinner date and not look at the check and not feel bad about it,” he said. He also now has health insurance.

Advertisement

Mr. Babin, 32, a marine geologist who also leads an acoustic string band, now navigates two economic worlds, one shaped to his postdoctoral income of $70,000 a year — when his idea of a date was a walk in Central Park — and the other reflecting his new income. In this world, he is shopping for a vintage Martin Dreadnought guitar, for which he will gladly drop $4,000.

Finding a New Base Line

On a recent morning at Mr. Babin’s home in Bushwick, Brooklyn, where he shares a 6,800-square-foot cohousing space with 17 roommates, he was still figuring out how to manage this split.

Advertisement

Daniel Babin lives in a cohousing space modeled on the ethos of Burning Man, the annual arts festival in Nevada.

Advertisement

“I’m feeling less inclined to just let it rip than I was a few months ago,” he said of his spending habits. He socks away $1,500 from each paycheck, and has not moved to replace his 2003 Toyota Corolla, an “absolute dump” given to him by his father. “Hopefully, I’m returning a little bit to some kind of base-line lifestyle that I’ve established for myself over the last five years,” he continued. “Because the fear is lifestyle inflation. You don’t want to just make more money to spend more money. That’s not the point, right?”

Lightning Lofts, the cohousing space where Mr. Babin has lived since January 2024, bills itself as part of a “social wellness movement” and seeks to continue the ethos of Burning Man, the annual communal art and cultural festival in the Nevada desert.

For a room with an elevated loft bed and use of common areas, Mr. Babin pays $1,400 a month in rent, plus another $250 for utilities and weekly housecleaning.

Advertisement

He was first drawn to the organization through its events, including open mic “salons” where he played music or read from his science fiction writings. These were free or very cheap nights out, unpredictable and fascinating.

“You would see dance and tonal singing, and some dude wrote an algorithm that can auto-generate A.I. video based on what you’re saying — beautiful storytelling,” he said.

Advertisement

“So I just showed up every month, basically, until they let me live here.”

The room was a good deal. He had looked at a nearby building where the rent was $1,900 for a room in a basement apartment that flooded once a month. “Ridiculous,” he said.

Advertisement

But beyond its financial appeal, Mr. Babin liked the loft’s social life. “I used to be chronically lonely, and I just don’t feel lonely anymore,” he said. “Which is fantastic in a crazy place like New York. It’s so alive and it’s so isolating at the same time.”

Splurging on Ski Trips

Before Mr. Babin got his new job, he used to go to restaurants with friends and not eat, trying to save up $35 for a “burner” party — in the spirit of Burning Man — or Ecstatic Dance, a recurring substance-free dance party. He loved to ski but could not afford a hotel, so he would carry his old skis and beat-up boots to southern Vermont and back on the same day.

Advertisement

“Going on a hike is a pretty cheap hobby,” he said, recalling his money-saving measures. “Living without health insurance is a good one.”

He still appreciates a good hike, he said. But on a recent ski trip, he splurged on new $700 boots and another $300 worth of gear. “I’m like, this is something I’ve wanted for 10 years, so I deserve it,” he said.

Advertisement

He bought a $600 drone to take pictures for his social media accounts, and then promptly crashed it into the Caribbean (he’s now replacing the rotors in hopes of returning it to health).

He cut out the red beans and rice, he said, but his usual meal is still a modest $13 sandwich from the nearby bodega or $10 for pizza. “If I’m getting takeout and it’s less than $17, I don’t feel too bad about it,” he said.

Advertisement

A Future After Cohousing

A big change is that dating is much more comfortable now, and he feels more attractive as a marriage prospect. “It turns out that a lot more people pay attention to you if you offer them dinner instead of a walk in the park,” he said.

He is now thinking of leaving the cohousing space — not just because he can afford to, but because his work has kept him from joining house events, like the regular potluck dinners. “I sometimes feel like a bad roommate, because part of being here is participating,” he said. “I feel like there might be someone who would enjoy the community aspect more than I’m capable of contributing right now.”

Advertisement

He sounds almost wistful in discussing his former economizing. If it weren’t for the dating issue, he said, he would not need the higher income or lifestyle upgrades. “I never really felt like I was compromising on what I wanted to do,” he said.

He paused. “It’s just that what I was comfortable with has changed a little bit.”

Advertisement

We are talking to New Yorkers about how they spend, splurge and save.

Continue Reading

Boston, MA

One Boston Day 2026: How to volunteer, take part across Boston

Published

on

One Boston Day 2026: How to volunteer, take part across Boston


One Boston Day 2026: How to volunteer, take part across Boston

Advertisement

HE’S NOW BEING CHARGED WITH ARMED ROBBERY. WE’RE COMING UP ON 637 AND WE ARE ALMOST THERE. A WEEK FROM TODAY, THOUSANDS OF RUNNERS WILL TURN ONTO BOYLSTON STREET AND CROSS THE FINISH LINE OF THE BOSTON MARATHON AND BOSTON AND THE BAY ARE KICKING OFF A WHOLE WEEK OF EVENTS BEFORE THE BIG DAY. STARTING WEDNESDAY, THE LINES ARE PAINTED PENDING GOOD WEATHER. THE WORK ON THE STARTING LINE BEGINS THAT DAY IN HOPKINTON. WORK ON THE FINISH LINE IN BACK BAY SHOULD BEGIN ON THURSDAY. SO EXCITING. ON WEDNESDAY IT WILL MARK ONE BOSTON DAY. OF COURSE, THAT’S THE DAY WE HONOR HOW THE CITY CAME TOGETHER IN THE DAYS FOLLOWING THE BOSTON MARATHON BOMBING. YOU ARE ASKED TO SHARE ACTS OF KINDNESS ALL DAY LONG. FINALLY, EVERYTHING MARATHON RELATED COMES TOGETHER ON FRIDAY WITH THE BOSTON MARATHON FAN EXPO. LIKE PREVIOUS YEARS, THAT WILL BE AT THE HYNES CONVENTION CENTER. FOR INFORMATION ON ALL THE EVENTS THIS WEEK, YOU CAN KEEP AN EYE ON WCVB.COM AND OUR MOBILE APP. THAT IS A THRILLING MOMENT WHEN YOU GO TO PICK UP YOUR NUMBER. IT WON’T BE LONG NOW. THE 130TH BOSTON MARATHON ON MONDAY, APRIL 20TH, WCVB.

Advertisement

One Boston Day 2026: How to volunteer, take part across Boston

Updated: 2:17 PM EDT Apr 13, 2026

Editorial Standards

Advertisement

Residents and visitors are encouraged to share acts of kindness marking One Boston Day on Wednesday, honoring how the city came together in the days after the Boston Marathon bombing, 13 years ago. The day will also include the annual memorials along Boylston Street. “I hope everyone will join their neighbors today in honoring those we lost and celebrating the love that makes Boston a home for everyone,” Mayor Michelle Wu wrote in a statement. “As spring arrives in Boston each year, we are reminded of the hope and spirit of our city,” said Bill Richard, who created a foundation in honor of his son, Martin, who was killed in the bombing.How to get involvedThe city of Boston and partner organizations are offering several ways for people to participate in One Boston Day and related events, according to the city:Volunteer projects citywide: City departments will host service opportunities on April 15 and in the days leading up to Marathon Monday.Neighborhood cleanup: A youth and family cleanup is scheduled for Saturday, April 18, at 9 a.m. at Franklin Park Playstead, organized by the Mayor’s Office of Civic Organizing. Volunteers are asked to register ahead of time. Free ‘Stop the Bleed’ training: Virtual sessions will be held April 15 at noon and 6 p.m. to teach lifesaving bleeding control techniques, offered by the Stepping Strong Center at Brigham and Women’s Hospital. Acts of kindness: Residents are encouraged to perform individual acts of kindness in their neighborhoods throughout the day and week.

Residents and visitors are encouraged to share acts of kindness marking One Boston Day on Wednesday, honoring how the city came together in the days after the Boston Marathon bombing, 13 years ago.

Advertisement

The day will also include the annual memorials along Boylston Street.

“I hope everyone will join their neighbors today in honoring those we lost and celebrating the love that makes Boston a home for everyone,” Mayor Michelle Wu wrote in a statement.

“As spring arrives in Boston each year, we are reminded of the hope and spirit of our city,” said Bill Richard, who created a foundation in honor of his son, Martin, who was killed in the bombing.

Advertisement

How to get involved

The city of Boston and partner organizations are offering several ways for people to participate in One Boston Day and related events, according to the city:

  • Volunteer projects citywide: City departments will host service opportunities on April 15 and in the days leading up to Marathon Monday.
  • Neighborhood cleanup: A youth and family cleanup is scheduled for Saturday, April 18, at 9 a.m. at Franklin Park Playstead, organized by the Mayor’s Office of Civic Organizing. Volunteers are asked to register ahead of time.
  • Free ‘Stop the Bleed’ training: Virtual sessions will be held April 15 at noon and 6 p.m. to teach lifesaving bleeding control techniques, offered by the Stepping Strong Center at Brigham and Women’s Hospital.
  • Acts of kindness: Residents are encouraged to perform individual acts of kindness in their neighborhoods throughout the day and week.

`;
}

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

`;
}

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

Loading more articles…



Source link

Continue Reading

Pittsburg, PA

Man sues Pittsburgh police, alleges violation of constitutional rights

Published

on

Man sues Pittsburgh police, alleges violation of constitutional rights


play

Two Pittsburgh police officers are being sued in federal court over allegations that they misidentified and arrested an Allegheny County man on assault charges without probable cause and violated his constitutional rights.

In a lawsuit filed against Officers Brian Shelton and Joseph Giles, 22-year-old Chiyeh Green alleged that he was wrongfully held in jail for six days despite an ankle monitor from past charges showing he was at home during the time of the assault police accused him of committing, according to an April 9 report by the Pittsburgh Tribune-Review.

Advertisement

Here’s what we know.

What led up to Pittsburgh officers arresting Green?

On July 20, 2025, an assault on Sydney Street on Pittsburgh’s South Side was livestreamed on Facebook, the Pittsburgh Tribune-Review reported. The video showed a victim, who is not named, being assaulted by a man and a woman, according to the lawsuit.

During the investigation, officers spoke to the woman, who the victim knew, and were given the name of the man, the suit said. Police were told that the man was the father of the women’s children, with the victim showing Shelton a Facebook profile for “Sly Green.”

How did Pittsburgh officers identify Green?

The Facebook profile the victim pulled up for Shelton showed a Black man, who Shelton wrote “matched” the perpetrator in the video, the lawsuit said.

While with the victim, Shelton received a call from a Pittsburgh detective, who told him that Giles had learned of the video and identified Green as the attacker.

Advertisement

When was Green arrested?

Green was charged on July 24, 2025, with Shelton and several officers arresting him at his home five miles from where the assault took place, the lawsuit said.

His probation officer was also present at the home and told police that Green was on house arrest with an ankle monitor.

How long was Green held in jail?

Green was held at the Allegheny County Jail for six days. The charges were dismissed at a bond hearing on July 30, the Pittsburgh Tribune-Review reported.

“Mr. Green was falsely accused of a crime he clearly did not commit,” said Amanda Shields, one of Green’s attorneys. “We look forward to seeking justice.”

Advertisement

Lawsuit: ‘Only identifiable similarity’ between Green and perpetrator ‘is their race and/or skin color’

The lawsuit alleged that the video of the assault “clearly depicts a different individual who does not resemble” Green committing the act.

“The only identifiable similarity between the male perpetrator depicted in the video evidence and the plaintiff (Green) is their race and/or skin color,” the lawsuit said.

In his affidavit of probable cause, Shelton didn’t include that Green was on probation and wearing an ankle monitor during the incident, according to the lawsuit.

“Shelton conducted a constitutionally deficient investigation by willfully and/or with reckless disregard ignoring exculpatory evidence as well as reasonably discoverable exculpatory evidence,” the lawsuit said.

The lawsuit includes claims of emotional trauma and suffering, economic damages, malicious prosecution, false arrest, false imprisonment, equal protections violations and intentional infliction of emotional distress.

Advertisement

Eliza Durham, public information officer for the Pittsburgh Bureau of Police, told USA TODAY Network the department can’t comment on pending litigation.

Finch Walker is the education reporter at FLORIDA TODAY. Contact Walker at fwalker@floridatoday.com. X: @_finchwalker. Instagram: @finchwalker_.





Source link

Continue Reading

Trending