Connect with us

New Hampshire

Video: Light icy mix, slick spots possible

Published

on

Video: Light icy mix, slick spots possible


Video: Light icy mix, slick spots possible

Advertisement

AND NOW THERE’S SOME ICE UP NORTH THIS MORNING. SO SOME LOCALIZED SLICK SPOTS POSSIBLE NOW AND PROBABLY THROUGH THE NEXT COUPLE OF HOURS, SAY THROUGH ABOUT 9 OR 10 A.M. AS THE TEMPERATURES HOVER NEAR FREEZING, ESPECIALLY NEAR AND NORTH OF THE LAKES REGION. SO ANYTHING UNTREATED MAY BE A BIT SLICK. WINTER WEATHER ADVISORY IN EFFECT FOR GRAFTON, CARROLL AND COOS COUNTIES THROUGH 10 A.M. AND THIS IS WHERE MOST OF US ARE SEEING TEMPERATURES NEAR OR BELOW 32. WE’RE RIGHT THERE IN PLYMOUTH AND IN LACONIA, SOME HIGHER ELEVATIONS THROUGH CHESHIRE AND SULLIVAN COUNTIES AS WELL. SITTING VERY CLOSE TO FREEZING. SO BASICALLY ANYWHERE YOU SEE THIS BLUE COLOR HAS AT LEAST THE CHANCE FOR HAVING SOME LIGHT FREEZING RAIN. IT’S A HEAVIER RAIN IN NORTHERN NEW HAMPSHIRE, AND EVEN WITHIN JUST THE PAST COUPLE OF MINUTES. FOR THOSE OF YOU IN THE GREATER CONWAY AREA. YEAH, YOU SEE THIS LIGHTNING BOLT ON THE RADAR. SO SOME THUNDER WAKING YOU UP IN THE MOUNT WASHINGTON VALLEY AND RIGHT ALONG ROUTE 16. AND AGAIN, IT IS KIND OF FUNNY THAT WE’RE TALKING ABOUT THUNDER AND LIGHTNING. THE TEMPERATURES ARE SO CLOSE TO FREEZING. REALLY DOESN’T HAVE MUCH OF AN IMPACT ABOUT WHAT’S GOING ON UP IN THE CLOUD, BUT CERTAINLY DOWN AT GROUND LEVEL. ANYWHERE YOU SEE THIS PINK COLOR, THAT RAIN COULD BE FREEZING ON CONTACT. IT’S A LITTLE BIT MILDER RIGHT ALONG THE CONNECTICUT RIVER, BUT YOU GET JUST EAST OF THERE, OVER THE HIGHER ELEVATIONS OF THE WHITE MOUNTAINS AND UP INTO THE GREAT NORTH WOODS AS WELL, THROUGH, SAY, ERROL BERLIN, GORHAM. THAT’S WHERE THEY’RE LIKELY SOME SLICK SPOTS TO CONTEND WITH THROUGH THIS MORNING. YOU SEE THE PINK COLOR LINGERING IN NORTHERN NEW HAMPSHIRE THROUGH ABOUT 7 A.M. ON FUTURECAST. NOT COMPLETELY DRY. FARTHER SOUTH, THOUGH, THE DRIZZLE, THE LOW CLOUDS. THE FOG MAKING FOR A CHILLY, MURKY MORNING COMMUTE OUT THERE, THERE MAY BE A POP UP SHOWER OR DOWNPOUR MID MORNING, EVEN FAR SOUTH, AND THEN FROM MIDDAY AND BEYOND, THE CLOUDS WILL SLOWLY START TO BREAK APART FROM WEST TO EAST. THAT SHOULD ALLOW FOR SOME SUNSHINE THAT WILL WARM OUR TEMPERATURES UP A BIT LATER ON. TODAY. ONE LAST FRONT COMES IN LATER ON THIS EVENING. ALONG. IT COULD COME IN ADDITIONAL SPOT SHOWER OR DOWNPOUR. MUCH OF WESTERN AND SOUTHERN NEW HAMPSHIRE MAKES A RUN TOWARD THE UPPER 50S TO NEAR 60 DEGREES TODAY, WITH THAT SUN BREAKING OUT THIS AFTERNOON, BUT LIKELY SOME COOLER POCKETS IN THE LAKES REGION IN THE MOUNT WASHINGTON VALLEY THAT KEEP TEMPERATURES THERE A BIT CLOSER TO THE 50 DEGREE MARK. ITS OPENING DAY DOWN AT FENWAY. FIRST PITCH THERE IN BOSTON, COMING UP AT 210. THINGS SHOULD BE DRYING OUT, BUT YOU SEE THE TEMPERATURES A LITTLE BIT COOLER GIVEN THEY’RE RIGHT ALONG THE COASTLINE, THOUGH IN THE LATE INNINGS THERE COULD BE SOME SUNSHINE. NOT A BAD APRIL DAY FOR OPENING DAY DOWN AT FENWAY PARK. AND IT LOOKS LIKE WE’RE GOING TO GET IN OPENING DAY AT DELTA DENTAL STADIUM. THAT’S WHERE WE FIND OUR FRIEND, METEOROLOGIST KEVIN SKARUPA. THIS MORNING, KEVIN, THE FISHER CATS FIRST PITCH COMING UP LATER ON TONIGHT. WHAT CAN WE EXPECT FOR THAT? YEAH, IT’S A GOOD THING THAT WE’RE NOT HAVING THE THE GAME AT 6:03 A.M. BECAUSE YOU SEE THAT. YEAH. 30S AND A LITTLE BIT OF DRIZZLE OUT HERE EARLY THIS MORNING. WE ARE LOOKING AT IMPROVING CONDITIONS AS YOU’VE BEEN TALKING ABOUT. AS WE GRADUALLY GO THROUGH THE DAY. WE CLIMB THROUGH THE 40S THIS MORNING, THROUGH THE 50S THIS AFTERNOON WITH THE BUILDING BREEZE AND WITH ANY SORT OF SUNSHINE AT ALL. YOU’RE TALKING UPPER 50S. THAT IS FOR FIRST PITCH JUST AFTER 6:00 THIS EVENING. THEY ARE FACING THE BINGHAMTON RUMBLE PONIES, WHICH JUST HAPPENED TO BE THE DEFENDING CHAMPS OF THE DIVISION. SO THEY’RE RIGHT OUT OF THE FRYING PAN AND INTO THE FIRE. RIGHT TONIGHT. 6:03 P.M. A LOT OF NEW STUFF TO CHECK OUT HERE WITH THE FISHER CATS. WE WILL HAVE MUCH MORE COMING UP FROM THE GIFT SHOP COMING UP IN JUST A FEW MINUTES. BACK TO YOU. SOUNDS GREAT, KEVIN, THANKS FOR THAT. AND IT’S GOOD TO SEE THAT WE’LL HAVE SOME BRIGHT AND WARMER WEATHER FOR FIRST PITCH LATER ON THIS EVENING. WE’LL HANG ON TO THE BRIGHT SKIES TOMORROW, BUT THE TEMPERATURES FALL ON SATURDAY, LIKELY REACHING THE 50S IN THE MORNING AND PROBABLY BACK IN THE 40S FOR THE AFTERNOON. UNFORTUNATELY FOR EASTER EGG HUNTS ON SUNDAY, IT IS LOOKING DAMP WITH TIMES OF CLOUDS AND SHOWER

Milder air gradually returns today after a damp start. The weekend is split with some sun Saturday, then shower chances on Easter. Cooler air will follow a front that moves in later Sunday.A winter weather advisory will be in effect for Coos, Carroll and Grafton counties until 10:00 a.m.Drizzle and light icing in higher elevations continues this morning, and a quick downpour can’t be ruled out. Clouds should gradually erode for some sunny breaks this afternoon. Temperatures will climb to near or just above 60 degrees in southern and western New Hampshire, though we may only get to near 50 in parts of the Lakes Region and Mt. Washington Valley.A spot evening shower or downpour is possible, otherwise partial clearing tonight with lows in the 40s.Partly sunny on Saturday. Temperatures may briefly climb into the 50s during the morning, then an easterly breeze will knock readings back into the 40s for the afternoon.An approaching front will keep Easter cloudy and unsettled. There may be some scattered showers early in the morning, with steadier light rain possible during the afternoon. Clearing skies but cooler air for early next week.

Milder air gradually returns today after a damp start. The weekend is split with some sun Saturday, then shower chances on Easter. Cooler air will follow a front that moves in later Sunday.

Advertisement

A winter weather advisory will be in effect for Coos, Carroll and Grafton counties until 10:00 a.m.

Drizzle and light icing in higher elevations continues this morning, and a quick downpour can’t be ruled out. Clouds should gradually erode for some sunny breaks this afternoon. Temperatures will climb to near or just above 60 degrees in southern and western New Hampshire, though we may only get to near 50 in parts of the Lakes Region and Mt. Washington Valley.

A spot evening shower or downpour is possible, otherwise partial clearing tonight with lows in the 40s.

Partly sunny on Saturday. Temperatures may briefly climb into the 50s during the morning, then an easterly breeze will knock readings back into the 40s for the afternoon.

Advertisement

An approaching front will keep Easter cloudy and unsettled. There may be some scattered showers early in the morning, with steadier light rain possible during the afternoon. Clearing skies but cooler air for early next week.



Source link

Advertisement

New Hampshire

NH Supreme Court overturns conviction of man for voting in two states in 2016 election

Published

on

NH Supreme Court overturns conviction of man for voting in two states in 2016 election


NH Supreme Court overturns conviction of man for voting in two states in 2016 election

Advertisement

DOZENS OF LOCAL BUSINESSES. THE STATE SUPREME COURT HAS JUST OVERTURNED THE CONVICTION OF A MAN WHO. PROSECUTORS SAID VOTED IN THE 2016 GENERAL ELECTION IN MASSACHUSETTS AND IN NEW HAMPSHIRE. RICHARD ROSEN WAS CONVICTED IN 2024 ON A FELONY COUNT OF WRONGFUL VOTING, WHILE YESTERDAY’S RULING CONCLUDED THAT THE TRIAL COURT MADE A MISTAKE BY EXCLUDING EVIDENCE ABOUT ANOTHER MAN WHO ALLEGEDLY CONFESSED TO REPEATEDLY CASTING VOTES IN ROSEN’S NAME IN MASSACHUSETTS, PROSECUTORS WERE ALLOWED TO MENTION EVIDENCE OF SIX PRIOR INSTANCES IN WHICH VOTES WERE CAST IN ROSEN’S NAMES. IN BOTH STATES, THE STATE SUPREME COURT SAID. DOING SO DESPITE ROS

Advertisement

NH Supreme Court overturns conviction of man for voting in two states in 2016 election

Updated: 8:19 PM EDT Apr 10, 2026

Editorial Standards

Advertisement

The New Hampshire Supreme Court has overturned the conviction of a man who prosecutors say voted in the 2016 general election in Massachusetts and New Hampshire.Richard Rosen was convicted in 2024 on a felony count of wrongful voting.Thursday’s ruling concluded that the trial court made a mistake by excluding evidence about another man who allegedly confessed to repeatedly casting votes in Rosen’s name in Massachusetts.Prosecutors were allowed to mention evidence of six prior instances in which votes were cast in Rosen’s name in both states. The New Hampshire Supreme Court said that withholding evidence about another person voting in Rosen’s name unfairly prejudiced the jury.

The New Hampshire Supreme Court has overturned the conviction of a man who prosecutors say voted in the 2016 general election in Massachusetts and New Hampshire.

Advertisement

Richard Rosen was convicted in 2024 on a felony count of wrongful voting.

Thursday’s ruling concluded that the trial court made a mistake by excluding evidence about another man who allegedly confessed to repeatedly casting votes in Rosen’s name in Massachusetts.

Prosecutors were allowed to mention evidence of six prior instances in which votes were cast in Rosen’s name in both states.

Advertisement

The New Hampshire Supreme Court said that withholding evidence about another person voting in Rosen’s name unfairly prejudiced the jury.

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

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

`;
}

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

Loading more articles…



Source link

Advertisement
Continue Reading

New Hampshire

Meditation In Merrimack | Paddle Plunge | Debo Ray Performs | Antiques Road Show: NH Patch Weekender

Published

on

Meditation In Merrimack | Paddle Plunge | Debo Ray Performs | Antiques Road Show: NH Patch Weekender


MERRIMACK, NH — Here is the latest roundup of events around New Hampshire featured on Patch’s news and community websites.

The latest weather can be found here. So, get out.

And do not forget: Event listings are free on one Patch site. You can share your calendar listing on other community sites for a modest fee, starting at 25 cents per day. To get started, visit the Events link on the front page of all Patch sites. Statewide calendar roundups are published on Mondays, Wednesdays, and Fridays.





Source link

Advertisement
Continue Reading

New Hampshire

In rare move, House votes for review of lawmaker’s ‘hate-filled’ social media posts

Published

on

In rare move, House votes for review of lawmaker’s ‘hate-filled’ social media posts


In a rare move, the New Hampshire House voted to initiate possible disciplinary proceedings against Republican Rep. Travis Corcoran Thursday over a series of inflammatory social media posts. The decision comes as partisan tensions and caustic behavior continue to flare in the House.

At issue for Corcoran — who maintains a busy schedule of social media traffic — are recent posts on X, in which he called for a “final solution” in response to a karaoke night invitation from a Jewish lawmaker, and another in which he talked of deporting a fellow lawmaker who was born in the Philippines: “She has to go back,” he wrote.

House Speaker Sherman Packard had condemned the posts earlier, and on Thursday the full House moved to send Corcoran’s case to the Legislative Administration Committee for what Packard described as “review and report.”

Read more: Why it’s so hard to police bad behavior in the NH House

Advertisement

The referral came at the request of the House’s top Democrat, Rep. Alexis Simpson of Exeter. Such referrals are rare: The Legislative Administration Committee hasn’t been asked to consider sanctioning a lawmaker since 2017.

But Corcoran’s online conduct, which often includes inflammatory and offensive posts, has been under scrutiny in Concord for some time. A letter Packard sent Corcoran this week indicated his office has been receiving complaints about his social media activity for more than a year.

“Your verified public writings are negative, targeted and purposely written to leave a hate-filled interpretation,” Packard wrote Corcoran. “In sum, your statements are disrespectful, inappropriate and unworthy of the dignity of our state legislature.”

The “Letter of Caution” Packard sent Corcoran followed Corcoran’s failure to respond to voice messages left by a bipartisan panel of lawmakers tasked with reviewing public complaints about members of the Legislature.

Records from the House clerk’s office show the group, formed in 2019, has sent nine caution letters to lawmakers over the years, taking up a range of conduct issues.

Advertisement

They include rude behavior by a lawmaker at a state DMV office; another lawmaker telling members of the public to ‘shut up;’ and another being dismissive to people weighing in on legislation who are not from New Hampshire.

But several of the letters involve lawmakers’ behavior on social media. One admonished a lawmaker for posting the address of an antagonistic voter on Facebook. Another letter tells a longtime lawmaker that a bipartisan review panel “was unanimously disappointed that you defended your use of the hashtag ‘NHGOPTaliban.’ ”

According to several advisory group’s members, Corcoran has apologized for being non-responsive to the group’s phone calls, but on Thursday he seemed disinclined to back away from his social media posts, or explain himself.

“My only comment for NPR, is that NPR is regime media, the end,” Corcoran said when asked by an NHPR reporter about the House’s action Thursday.

Precedent would suggest Corcoran’s political future will likely fall to voters in his hometown of Weare to decide, as the Legislature rarely censures its members. Lawmakers facing scandal sometimes choose to resign, but the last time the House voted to expel a member was in 1913 and involved bribery allegations. The House’s top Republican says Corcoran’s case boils down to speech rights.

Advertisement

“We’ll see what happens,” said House Majority Leader Jason Osborne. “I think at the end of the day, everyone realizes that members have free speech, and you might not like all of it.”

Behind the headlines you read on our website, there’s a dedicated team of journalists working hard to bring you local news you can trust. On any given day, that can look like:

  • • Reporters hustling to track down sources, get the facts and hold powerful officials accountable
  • • Producers coordinating interviews with people who offer perspectives that go beyond soundbites
  • • Editors carefully vetting our stories to make sure they’re accurate, fair and easy to follow

I believe that journalists, when we do our jobs well, can play a crucial role in connecting people and making communities stronger. But we can’t do this work without you.

Your donations, in any amount, can help keep independent journalism vibrant in New Hampshire — and accessible to everyone, no paywall required.

Sincerely,
Dan Barrick
News Director





Source link

Advertisement
Continue Reading

Trending