You are here

News Feeds

Production Incentives

Pembina Institute News - Mon, 05/11/2026 - 02:49
Considerable progress has been made over the past decade in advancing Indigenous-owned renewable energy projects in remote diesel communities. Despite this, independent power producers (IPPs) continue to face strong headwinds as they navigate...

Modern billing systems put more power behind utility rates

Utility Dive - Mon, 05/11/2026 - 02:00

Rate design can reduce grid costs, but first utilities need upgraded billing systems.

Resilient grid design can change what happens when storms hit

Utility Dive - Mon, 05/11/2026 - 02:00

Improve your storm response with targeted design approaches on the distribution grid.

Owning the full stack: What U.S. storage has to figure out next

Utility Dive - Mon, 05/11/2026 - 02:00

Storage is no longer about the breakthrough tech, but who can build and deliver a system at scale.

New Orleans wants to fix its Mardi Gras mess. So why is the trash pile still growing?

Grist - Mon, 05/11/2026 - 01:30

When cleaning crews dug deep into New Orleans’ clogged drains in 2018, they pulled up leaves, mud — and 46 tons of Mardi Gras beads. 

The sheer magnitude of waste accumulated over decades of Carnivals — and its impact on the flood-prone city’s drainage system — shocked many residents and city officials. 

“Once you hear a number like that, there’s no going back,” then-Public Works director Dani Galloway said at the time. “So we’ve got to do better.”

But nearly a decade later, New Orleans is generating more Mardi Gras garbage than ever. During the roughly five weeks of this year’s Carnival season, crews collected 1,363 tons of beaded necklaces, beer cans, plastic cups, and other refuse along the city’s parade routes — a 24 percent increase from the year before and the highest total on record. The trash tonnage is the equivalent of 741 cars. In New Orleans terms, it’s roughly the weight of the Steamboat Natchez or more than 1 million king cakes.  

.nola-mardi-gras-trash { --color-primary: #3c3830; --color-secondary: #777; --color-orange: #F79945; --color-turquoise: #12A07F; --color-fuchsia: #AC00E8; --color-cobalt: #3977F3; --color-earth: #3c3830; --typography-primary: "PolySans", Arial, sans-serif; --typography-secondary: "Basis Grotesque", Arial, sans-serif; --spacing-base: 10px; box-sizing: border-box; font-family: var(--typography-secondary); margin: 1.5rem auto; padding: 0; position: relative; width: 100%; } .nola-mardi-gras-trash * { box-sizing: border-box; } .nola-mardi-gras-trash svg text { font-family: var(--typography-secondary); } .nola-mardi-gras-trash__title { font-family: var(--typography-primary); font-size: 24px; margin: var(--spacing-base) 0; text-align: left; } .nola-mardi-gras-trash__subtitle { font-family: var(--typography-secondary); color: var(--color-primary); font-size: 18px; margin: 0 0 var(--spacing-base); text-align: left; } .nola-mardi-gras-trash__axis-label { color: var(--color-primary); font-size: 14px; } .nola-mardi-gras-trash .axis-grid line { stroke: #e0e0e0; stroke-opacity: 0.7; shape-rendering: crispEdges; } .nola-mardi-gras-trash .axis-grid .domain { stroke: none; } .nola-mardi-gras-trash .domain { stroke: #3c3830; } .nola-mardi-gras-trash .bar-label { font-family: var(--typography-secondary); font-size: 12px; fill: var(--color-primary); text-anchor: middle; } .nola-mardi-gras-trash__footer { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 0px; gap: 16px; } .nola-mardi-gras-trash__credits { display: flex; flex-direction: column; } .nola-mardi-gras-trash__note { color: var(--color-secondary); font-size: 12px; margin-top: 0; margin-bottom: 4px; display: inline-block; font-style: italic; } .nola-mardi-gras-trash__source { color: var(--color-secondary); font-size: 12px; margin-top: 0; display: inline-block; } .nola-mardi-gras-trash__credit { color: var(--color-secondary); font-size: 12px; margin-top: 3px; font-style: italic; font-weight: bold; display: inline-block; } .nola-mardi-gras-trash__logo { height: auto; max-width: 62px; min-width: 50px; margin-left: auto; padding-right: 20px; margin-right: 0; margin-bottom: 0; transform: translateY(-2px); } Mardi Gras revelers are leaving behind more trash than ever Tons of trash collected from New Orleans parade routes, 2011–2026 *No Carnival in 2021 due to the COVID-19 pandemic. Source: City of New Orleans Dennis Dean / Verite / Clayton Aldern / Grist / Alexander Grey / Unsplash (function() { const INIT_KEY = '__grist_nola_mardi_gras_trash_initialized__'; if (window[INIT_KEY]) { return; } window[INIT_KEY] = true; const COLORS = { TEXT: 'var(--color-primary)', BAR: 'var(--color-fuchsia)', BAR_NEGATIVE: '#E57373' }; const BAR_RADIUS = 4; const svg = d3.select('#nola-mardi-gras-trash-bar-chart'); const getSvgHeight = () => parseInt(svg.attr('height')) || 450; const formatCompactWithB = (n) => d3.format('~s')(n).replace('G', 'B').replace('k', 'K'); function calculateYTicks(height, fontSize = 14) { const minSpacing = fontSize * 2; return Math.max(2, Math.floor(height / minSpacing)); } function measureYAxisWidth(svg, scale, chartHeight, formatTick) { const tickCount = calculateYTicks(chartHeight); const TICK_PADDING = 4; const tempGroup = svg.append('g') .attr('class', 'nola-mardi-gras-trash__y-axis-measure') .style('visibility', 'hidden'); const axis = d3.axisLeft(scale) .ticks(tickCount) .tickFormat(formatTick) .tickSize(0) .tickPadding(TICK_PADDING); tempGroup.call(axis); tempGroup.selectAll('text') .style('font-family', 'var(--typography-secondary)') .style('font-size', '14px'); let minX = 0; tempGroup.selectAll('text').each(function() { const bbox = this.getBBox(); if (bbox.x < minX) { minX = bbox.x; } }); tempGroup.remove(); return { width: -minX, tickCount, tickPadding: TICK_PADDING }; } const rawData = [{"Year":"2011","Tons":"930"},{"Year":"2012","Tons":"835"},{"Year":"2013","Tons":"845"},{"Year":"2014","Tons":"895"},{"Year":"2015","Tons":"905"},{"Year":"2016","Tons":"940"},{"Year":"2017","Tons":"1328"},{"Year":"2018","Tons":"1150"},{"Year":"2019","Tons":"1075"},{"Year":"2020","Tons":"1120"},{"Year":"2021","Tons":"0"},{"Year":"2022","Tons":"1145"},{"Year":"2023","Tons":"1165"},{"Year":"2024","Tons":"1065"},{"Year":"2025","Tons":"1100"},{"Year":"2026","Tons":"1364"}]; const categoryColumn = 'Year'; const valueColumn = 'Tons'; const chartData = rawData.map(d => ({ category: d[categoryColumn], value: +String(d[valueColumn]).replace(/,/g, '') })); function wrapSvgText(textSelection, width, lineHeight) { textSelection.each(function() { const text = d3.select(this); const words = text.text().split(/\s+/).reverse(); let word; let line = []; let lineNumber = 0; const y = text.attr('y') || 0; const dy = parseFloat(text.attr('dy')) || 0; let tspan = text.text(null).append('tspan').attr('x', 0).attr('y', y).attr('dy', dy + 'em'); while ((word = words.pop())) { line.push(word); tspan.text(line.join(' ')); if (tspan.node().getComputedTextLength() > width) { line.pop(); tspan.text(line.join(' ')); line = [word]; tspan = text.append('tspan').attr('x', 0).attr('y', y).attr('dy', ++lineNumber * (lineHeight / 14) + dy + 'em').text(word); } } }); } function detectLabelOverlap(labels, bandWidth) { let maxLabelWidth = 0; labels.each(function() { const bbox = this.getBBox ? this.getBBox() : { width: 0 }; maxLabelWidth = Math.max(maxLabelWidth, bbox.width); }); return maxLabelWidth > bandWidth * 0.9; } let rotatedLabels = false; function renderChart() { svg.selectAll('*').remove(); const LEFT_PADDING = 8; let needsRotation = rotatedLabels; const baseBottomMargin = 30; const rotatedBottomMargin = 42; const baseMargin = { top: 12, right: 12, bottom: needsRotation ? rotatedBottomMargin : baseBottomMargin, left: 0 }; const node = svg.node(); const styleWidth = parseInt(svg.style('width')); const attrWidth = parseInt(svg.attr('width')); const bboxWidth = node ? node.getBoundingClientRect().width : 0; const containerWidth = (bboxWidth > 0 ? bboxWidth : 0) || (attrWidth > 0 ? attrWidth : 0) || ((!isNaN(styleWidth) ? (styleWidth > 0 ? styleWidth : 0) : 0) || 600); const svgHeight = getSvgHeight(); const height = svgHeight - baseMargin.top - baseMargin.bottom; if (height <= 0) return; const yMin = d3.min(chartData, d => d.value); const yMax = d3.max(chartData, d => d.value); const yDomainMin = yMin < 0 ? yMin * 1.1 : 0; const yDomainMax = yMax > 0 ? yMax * 1.1 : 0; const y = d3.scaleLinear() .domain([yDomainMin, yDomainMax]) .range([height, 0]); const { width: yLabelWidth, tickCount: yTickCount, tickPadding: yTickPadding } = measureYAxisWidth(svg, y, height, formatCompactWithB); const margin = { ...baseMargin, left: yLabelWidth + LEFT_PADDING }; const width = containerWidth - margin.left - margin.right; if (width <= 0) return; svg.attr('height', svgHeight); const x = d3.scaleBand() .domain(chartData.map(d => d.category)) .range([0, width]) .padding(0.25); svg.append('g') .attr('class', 'axis-grid') .attr('transform', `translate(${margin.left},${margin.top})`) .call(d3.axisLeft(y).ticks(yTickCount).tickSize(-width).tickFormat('')); const xAxis = g => { g.attr('transform', `translate(${margin.left},${height + margin.top})`) .call(d3.axisBottom(x)); const labels = g.selectAll('.tick text') .attr('class', 'nola-mardi-gras-trash__axis-label') .style('fill', COLORS.TEXT) .text(function() { const t = d3.select(this).text(); return t === '2021' ? '2021*' : t; }); if (detectLabelOverlap(labels, x.bandwidth())) { needsRotation = true; } if (needsRotation) { labels .style('text-anchor', 'end') .attr('dx', '-0.5em') .attr('dy', '0.25em') .attr('transform', 'rotate(-45)'); } else { const maxWidth = Math.min(80, Math.max(48, width / chartData.length - 6)); labels .style('text-anchor', 'middle') .call(wrapSvgText, maxWidth, 14); } }; const yAxisGenerator = g => g .attr('transform', `translate(${margin.left},${margin.top})`) .call(d3.axisLeft(y).ticks(yTickCount).tickFormat(d => formatCompactWithB(d)).tickPadding(yTickPadding)) .selectAll('text') .attr('class', 'nola-mardi-gras-trash__axis-label') .style('fill', COLORS.TEXT); svg.append('g').call(xAxis); if (needsRotation ? !rotatedLabels : false) { rotatedLabels = true; return renderChart(); } svg.append('g').call(yAxisGenerator); const chart = svg.append('g').attr('transform', `translate(${margin.left},${margin.top})`); const defs = chart.append('defs'); // Add dashed zero line when data crosses zero if (yMin < 0 ? yMax > 0 : false) { chart.append('line') .attr('class', 'zero-line') .attr('x1', 0) .attr('y1', y(0)) .attr('x2', width) .attr('y2', y(0)) .attr('stroke', '#888') .attr('stroke-width', 1) .attr('stroke-dasharray', '4,4'); } const grayFilter = defs.append('filter').attr('id', 'nola-mardi-gras-trash-greyscale'); grayFilter.append('feColorMatrix').attr('type', 'saturate').attr('values', '0'); const barsMask = defs.append('mask').attr('id', 'nola-mardi-gras-trash-bars-mask'); chartData.forEach(d => { const barY = d.value >= 0 ? y(d.value) : y(0); const barHeight = Math.abs(y(d.value) - y(0)); barsMask.append('rect') .attr('x', x(d.category)) .attr('y', barY) .attr('width', x.bandwidth()) .attr('height', barHeight) .attr('rx', BAR_RADIUS) .attr('ry', BAR_RADIUS) .attr('fill', 'white'); }); chart.append('image') .attr('xlink:href', 'https://grist.org/wp-content/uploads/2026/05/mardi-gras-sequins-alexander-grey.jpg') .attr('x', 0) .attr('y', 0) .attr('width', width) .attr('height', height) .attr('preserveAspectRatio', 'xMidYMid slice') .attr('mask', 'url(#nola-mardi-gras-trash-bars-mask)') .attr('filter', 'url(#nola-mardi-gras-trash-greyscale)'); chart.selectAll('.bar') .data(chartData) .enter().append('rect') .attr('class', 'bar') .attr('x', d => x(d.category)) .attr('y', d => d.value >= 0 ? y(d.value) : y(0)) .attr('width', x.bandwidth()) .attr('height', d => Math.abs(y(d.value) - y(0))) .attr('rx', BAR_RADIUS) .attr('ry', BAR_RADIUS) .style('fill', COLORS.BAR) .style('opacity', 0.65); const labelYears = ['2017', '2026']; chart.selectAll('.bar-label') .data(chartData.filter(d => labelYears.includes(d.category))) .enter().append('text') .attr('class', 'bar-label') .attr('x', d => x(d.category) + x.bandwidth() / 2) .attr('y', d => y(d.value) - 5) .text(d => d3.format(',')(d.value)) .style('fill', COLORS.TEXT); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', renderChart); } else { renderChart(); } window.addEventListener('resize', renderChart); })();

“To see the waste go up that much, it’s just absurd,” said Brett Davis, founder of Grounds Krewe, a nonprofit group trying to make Mardi Gras more sustainable through recycling and waste reduction efforts. 

It’s a century-old tradition for riders on parade floats to shower crowds with beaded necklaces, toys, and other items — collectively known as “throws.” Most are cheap plastic trinkets. The beads are often laden with toxic chemicals, including unsafe levels of lead. Many throws are dropped moments after they’re caught, then crushed under feet and eventually swept up and hauled to landfills. 

City officials initially blamed the rise in rubbish on the popularity of this year’s festivities, which ran from January 6 to February 17 and included more than 30 float parades. An estimated 2.2 million people visited downtown New Orleans during the Carnival season, about 10 percent more than in 2025, according to the Downtown Development District, which drew on data from location analytics company Placer.ai.

“The increase from last year was directly associated with the larger crowds,” Matt Torri, the city’s sanitation director, told the City Council in March. “Anybody who was out at this year’s parades definitely took note that there seemed to be more people enjoying the Carnival season, which is great for the city.”

But a Verite News analysis of annual attendance and city cleanup records shows no clear relationship between crowds and trash levels. Overall, Mardi Gras waste tonnage has trended upward over the past decade, regardless of the year-to-year changes in attendance. The Mardi Gras season in 2020, for instance, drew more people — about 2.4 million — but produced roughly 241 fewer tons of garbage than in 2026.

In the early 2010s, trash tonnage hovered around 880 tons. It spiked in 2017, surpassing 1,320 tons, and has not fallen below 1,000 tons since. The only exception was 2021, when no trash was recorded because the city canceled parades and most Carnival festivities due to the COVID-19 pandemic. 

.nola-mardi-gras-attendance-trash { --color-primary: #3c3830; --color-secondary: #777; --color-orange: #F79945; --color-turquoise: #12A07F; --color-fuchsia: #AC00E8; --color-cobalt: #3977F3; --color-earth: #3c3830; --typography-primary: "PolySans", Arial, sans-serif; --typography-secondary: "Basis Grotesque", Arial, sans-serif; --spacing-base: 10px; box-sizing: border-box; font-family: var(--typography-secondary); margin: 1.5rem auto; padding: 0; position: relative; width: 100%; } .nola-mardi-gras-attendance-trash * { box-sizing: border-box; } .nola-mardi-gras-attendance-trash svg text { font-family: var(--typography-secondary); } .nola-mardi-gras-attendance-trash__title { font-family: var(--typography-primary); font-size: 24px; margin: var(--spacing-base) 0; } .nola-mardi-gras-attendance-trash__subtitle { font-family: var(--typography-secondary); color: var(--color-primary); font-size: 18px; margin: 0 0 var(--spacing-base); } .nola-mardi-gras-attendance-trash__axis-label { color: var(--color-primary); font-size: 14px; } .nola-mardi-gras-attendance-trash .axis-grid line { stroke: #e0e0e0; stroke-opacity: 0.7; shape-rendering: crispEdges; } .nola-mardi-gras-attendance-trash .axis-grid .domain { stroke: none; } .nola-mardi-gras-attendance-trash .domain { stroke: #3c3830; } .nola-mardi-gras-attendance-trash .line { fill: none; stroke-width: 4px; stroke-linecap: round; stroke-linejoin: round; } .nola-mardi-gras-attendance-trash .line--projected { stroke-dasharray: 6 4; } .nola-mardi-gras-attendance-trash .pulsing-dot { stroke: white; stroke-width: 1.7px; } .nola-mardi-gras-attendance-trash .data-label { font-family: var(--typography-secondary); font-size: 11px; fill: var(--color-primary); paint-order: stroke fill; stroke: white; stroke-width: 3px; stroke-linejoin: round; stroke-linecap: round; } .nola-mardi-gras-attendance-trash__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 8px; } .nola-mardi-gras-attendance-trash__legend-item { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--color-primary); } .nola-mardi-gras-attendance-trash__legend-color { width: 16px; height: 3px; border-radius: 2px; flex-shrink: 0; } .nola-mardi-gras-attendance-trash__footer { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 8px; gap: 16px; } .nola-mardi-gras-attendance-trash__credits { display: flex; flex-direction: column; } .nola-mardi-gras-attendance-trash__source { color: var(--color-secondary); font-size: 12px; margin-top: 0; display: inline-block; } .nola-mardi-gras-attendance-trash__credit { color: var(--color-secondary); font-size: 12px; margin-top: 3px; font-style: italic; font-weight: bold; display: inline-block; } .nola-mardi-gras-attendance-trash__logo { height: auto; max-width: 62px; min-width: 50px; margin-left: auto; padding-right: 20px; margin-right: 0; margin-bottom: 0; transform: translateY(-2px); } Carnival trash hit a record even as attendance lagged behind 2020 levels Downtown attendance vs. city-wide trash collection during Mardi Gras, 2020–2026 Attendance (downtown) Trash (city-wide, tons) Source: Placer.ai / New Orleans Downtown Development District / City of New Orleans Dennis Dean / Verite / Clayton Aldern / Grist (function() { const INIT_KEY = '__grist_nola_mardi_gras_attendance_trash_initialized__'; if (window[INIT_KEY]) { return; } window[INIT_KEY] = true; const COLORS = { TEXT: 'var(--color-primary)', SERIES: ['var(--color-orange)', 'var(--color-fuchsia)', 'var(--color-turquoise)', 'var(--color-cobalt)', 'var(--color-earth)'] }; const svg = d3.select('#nola-mardi-gras-attendance-trash-line-chart'); const getSvgHeight = () => parseInt(svg.attr('height')) || 400; // Format for line-end labels: 2 decimal places (e.g., 1.64M, 2.26M) const formatCompactWithB = (n) => { // For small values (< 1000), avoid SI prefix notation (which shows "m" for milli) if (Math.abs(n) < 1000 ? Math.abs(n) > 0 : false) { // Use up to 2 decimal places, trim trailing zeros return d3.format('.2~f')(n); } // Use .3s for 3 significant figures, giving 2 decimal places (e.g., 1.64M, 2.26M) return d3.format('.3s')(n).replace('G', 'B').replace('k', 'K'); }; // Format for y-axis ticks: clean round numbers (0, 500K, 1M, 1.5M, 2M) const formatAxisTick = (n) => { if (n === 0) return '0'; const absN = Math.abs(n); if (absN >= 1e9) { const val = n / 1e9; return (val % 1 === 0 ? val.toFixed(0) : val.toFixed(1)) + 'B'; } if (absN >= 1e6) { const val = n / 1e6; return (val % 1 === 0 ? val.toFixed(0) : val.toFixed(1)) + 'M'; } if (absN >= 1e3) { const val = n / 1e3; return (val % 1 === 0 ? val.toFixed(0) : val.toFixed(1)) + 'K'; } return n.toString(); }; function calculateYTicks(height, fontSize = 14) { // Limit to 4-5 ticks for cleaner appearance const minSpacing = fontSize * 4; return Math.min(5, Math.max(2, Math.floor(height / minSpacing))); } function measureYAxisWidth(svg, scale, chartHeight, formatTick) { const tickCount = calculateYTicks(chartHeight); const TICK_PADDING = 4; const tempGroup = svg.append('g') .attr('class', 'nola-mardi-gras-attendance-trash__y-axis-measure') .style('visibility', 'hidden'); const axis = d3.axisLeft(scale) .ticks(tickCount) .tickFormat(formatTick) .tickSize(0) .tickPadding(TICK_PADDING); tempGroup.call(axis); tempGroup.selectAll('text') .style('font-family', 'var(--typography-secondary)') .style('font-size', '14px'); let minX = 0; tempGroup.selectAll('text').each(function() { const bbox = this.getBBox(); if (bbox.x < minX) { minX = bbox.x; } }); tempGroup.remove(); return { width: -minX, tickCount, tickPadding: TICK_PADDING }; } const rawData = [{"Year":"2020","Attendance":"2400000","Trash":"1123"},{"Year":"2022","Attendance":"1900000","Trash":"1155"},{"Year":"2023","Attendance":"2100000","Trash":"1185"},{"Year":"2024","Attendance":"2000000","Trash":"1050"},{"Year":"2025","Attendance":"2000000","Trash":"1100"},{"Year":"2026","Attendance":"2200000","Trash":"1364"}]; const xColumn = 'Year'; // Dual-axis: Attendance on left, Trash on right const attendanceData = rawData.map(d => ({ x: new Date(d[xColumn]), y: +d.Attendance })); const trashData = rawData.map(d => ({ x: new Date(d[xColumn]), y: +d.Trash })); const seriesData = [ { key: 'Attendance', label: 'Attendance', color: COLORS.SERIES[0], values: attendanceData, axis: 'left' }, { key: 'Trash', label: 'Trash', color: COLORS.SERIES[1], values: trashData, axis: 'right' } ]; function renderChart() { svg.selectAll('*').remove(); const node = svg.node(); const styleWidth = parseInt(svg.style('width')); const attrWidth = parseInt(svg.attr('width')); const bboxWidth = node ? node.getBoundingClientRect().width : 0; const containerWidth = (bboxWidth > 0 ? bboxWidth : 0) || (attrWidth > 0 ? attrWidth : 0) || ((!isNaN(styleWidth) ? (styleWidth > 0 ? styleWidth : 0) : 0) || 600); const svgHeight = getSvgHeight(); const baseMargins = { top: 20, right: 20, bottom: 36 }; const height = svgHeight - baseMargins.top - baseMargins.bottom; if (height <= 0) return; const x = d3.scaleTime(); const yLeft = d3.scaleLinear().range([height, 0]); const yRight = d3.scaleLinear().range([height, 0]); // Attendance domain (left axis) — range from ~1.8M to ~2.4M like the original const [attMin, attMax] = d3.extent(attendanceData, d => d.y); const attPadding = (attMax - attMin) * 0.15; yLeft.domain([attMin - attPadding, attMax + attPadding]); // Trash domain (right axis) — range from ~1000 to ~1400 like the original const [trashMin, trashMax] = d3.extent(trashData, d => d.y); const trashPadding = (trashMax - trashMin) * 0.15; yRight.domain([trashMin - trashPadding, trashMax + trashPadding]); x.domain(d3.extent(attendanceData, d => d.x)); // Measure both y-axis widths const leftMeasure = measureYAxisWidth(svg, yLeft, height, d => formatAxisTick(d)); const rightMeasure = measureYAxisWidth(svg, yRight, height, d => formatAxisTick(d)); const LEFT_PADDING = 8; const RIGHT_PADDING = 8; const margin = { top: baseMargins.top, right: rightMeasure.width + RIGHT_PADDING + 8, bottom: baseMargins.bottom, left: leftMeasure.width + LEFT_PADDING }; const width = containerWidth - margin.left - margin.right; if (width <= 0) return; x.range([0, width]); // Each series uses its own y-scale const yScaleFor = (series) => series.axis === 'left' ? yLeft : yRight; svg.attr('height', svgHeight); const firstSeries = seriesData[0].values; const startYear = firstSeries[0].x.getFullYear(); const endYear = firstSeries[firstSeries.length - 1].x.getFullYear(); const totalYears = endYear - startYear; const minLabelSpacingPx = 60; const maxTicks = Math.max(2, Math.floor(width / minLabelSpacingPx)); const approxYearsPerTick = Math.max(1, Math.ceil(totalYears / maxTicks)); const niceSteps = [1, 2, 5, 10, 20, 25, 50, 100]; const stepYears = niceSteps.find(s => s >= approxYearsPerTick) || niceSteps[niceSteps.length - 1]; const xTickInterval = d3.timeYear.every(stepYears); // Grid lines based on left axis svg.append('g') .attr('class', 'axis-grid') .attr('transform', `translate(${margin.left},${height + margin.top})`) .call(d3.axisBottom(x).ticks(xTickInterval).tickSize(-height).tickFormat('')); svg.append('g') .attr('class', 'axis-grid') .attr('transform', `translate(${margin.left},${margin.top})`) .call(d3.axisLeft(yLeft).ticks(leftMeasure.tickCount).tickSize(-width).tickFormat('')); // X axis const xAxis = g => g .attr('transform', `translate(${margin.left},${height + margin.top})`) .call(d3.axisBottom(x).ticks(xTickInterval).tickFormat(d3.timeFormat('%Y'))) .selectAll('text') .attr('class', 'nola-mardi-gras-attendance-trash__axis-label') .style('fill', COLORS.TEXT) .style('text-anchor', 'middle'); // Left y-axis (Attendance) const yLeftAxisGen = d3.axisLeft(yLeft) .ticks(leftMeasure.tickCount) .tickFormat(d => formatAxisTick(d)) .tickPadding(leftMeasure.tickPadding); const yLeftAxis = g => g .attr('transform', `translate(${margin.left},${margin.top})`) .call(yLeftAxisGen) .selectAll('text') .attr('class', 'nola-mardi-gras-attendance-trash__axis-label') .style('fill', COLORS.SERIES[0]); // Right y-axis (Trash) const yRightAxisGen = d3.axisRight(yRight) .ticks(rightMeasure.tickCount) .tickFormat(d => formatAxisTick(d)) .tickPadding(rightMeasure.tickPadding); const yRightAxis = g => g .attr('transform', `translate(${margin.left + width},${margin.top})`) .call(yRightAxisGen) .call(g => g.select('.domain').attr('stroke', '#3c3830')) .selectAll('text') .attr('class', 'nola-mardi-gras-attendance-trash__axis-label') .style('fill', COLORS.SERIES[1]); svg.append('g').call(xAxis); svg.append('g').call(yLeftAxis); svg.append('g').call(yRightAxis); const chart = svg.append('g').attr('transform', `translate(${margin.left},${margin.top})`); const defs = chart.append('defs'); const isDarkMode = (() => { const container = document.querySelector('.nola-mardi-gras-attendance-trash'); if (!container) return false; const bg = window.getComputedStyle(container.closest('body') || document.body).backgroundColor; const match = bg.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/); if (!match) return false; const luminance = (0.299 * +match[1] + 0.587 * +match[2] + 0.114 * +match[3]) / 255; return luminance < 0.5; })(); if (isDarkMode) { const glowFilter = defs.append('filter') .attr('id', 'nola-mardi-gras-attendance-trash-glow') .attr('x', '-50%') .attr('y', '-50%') .attr('width', '200%') .attr('height', '200%'); glowFilter.append('feGaussianBlur') .attr('stdDeviation', '3') .attr('result', 'blur'); glowFilter.append('feMerge') .selectAll('feMergeNode') .data(['blur', 'SourceGraphic']) .enter() .append('feMergeNode') .attr('in', d => d); } const pulsingCircles = []; const labelInfos = []; seriesData.forEach((series, idx) => { const yScale = yScaleFor(series); const seriesLine = d3.line() .x(d => x(d.x)) .y(d => yScale(d.y)); if (!isDarkMode) { chart.append('path') .datum(series.values) .attr('class', 'line') .attr('d', seriesLine) .style('stroke', 'white') .style('stroke-width', 6) .style('stroke-linecap', 'round') .style('stroke-linejoin', 'round'); } const linePath = chart.append('path') .datum(series.values) .attr('class', 'line') .attr('d', seriesLine) .style('stroke', series.color) .style('stroke-linecap', 'round') .style('stroke-linejoin', 'round'); if (isDarkMode) { linePath.style('filter', 'url(#nola-mardi-gras-attendance-trash-glow)'); } const last = series.values[series.values.length - 1]; const dotRadius = 5; const circle = chart.append('circle') .attr('class', 'pulsing-dot') .attr('cx', x(last.x)) .attr('cy', yScale(last.y)) .attr('r', dotRadius) .style('fill', series.color); pulsingCircles.push(circle); labelInfos.push({ series, dotX: x(last.x), dotY: yScale(last.y), dotRadius, labelText: formatCompactWithB(last.y) }); }); const LABEL_V_PADDING = 4; const MAX_VERTICAL_OFFSET = 40; const SIDE_GAP = 8; const EXTRA_HORIZONTAL_OFFSET = 12; const LINE_CLEARANCE_FACTOR = 1.5; const MIN_LABEL_HEIGHT = 14; labelInfos.forEach(info => { const temp = chart.append('text') .attr('class', 'data-label') .attr('x', -9999) .attr('y', -9999) .text(info.labelText); const bbox = temp.node().getBBox(); info.width = bbox.width; info.height = Math.max(bbox.height || MIN_LABEL_HEIGHT, MIN_LABEL_HEIGHT); info.textEl = temp; }); function resolveCollisions(labels, chartWidth, chartHeight) { labels.forEach(lbl => { const rightStartX = lbl.dotX + lbl.dotRadius + SIDE_GAP; const rightEndX = rightStartX + lbl.width; if (rightEndX <= chartWidth) { lbl.side = 'right'; lbl.anchor = 'start'; } else { lbl.side = 'left'; lbl.anchor = 'end'; } lbl.baseY = lbl.dotY + lbl.height * 0.4; lbl.y = lbl.baseY; }); function layoutSide(side) { const group = labels .filter(l => l.side === side) .sort((a, b) => a.baseY - b.baseY); if (!group.length) return; group.forEach(l => { const minY = l.height; const maxY = chartHeight - LABEL_V_PADDING; l.y = Math.max(minY, Math.min(maxY, l.baseY)); }); for (let i = 1; i < group.length; i++) { const prev = group[i - 1]; const cur = group[i]; const minY = prev.y + prev.height + LABEL_V_PADDING; if (cur.y < minY) { cur.y = minY; } } for (let i = group.length - 2; i >= 0; i--) { const next = group[i + 1]; const cur = group[i]; const maxY = next.y - cur.height - LABEL_V_PADDING; if (cur.y > maxY) { cur.y = maxY; } } } layoutSide('right'); layoutSide('left'); labels.forEach(lbl => { const dy = Math.abs(lbl.y - lbl.baseY); if (dy > MAX_VERTICAL_OFFSET) { const newSide = lbl.side === 'right' ? 'left' : 'right'; const candidateStartX = newSide === 'right' ? lbl.dotX + lbl.dotRadius + SIDE_GAP + EXTRA_HORIZONTAL_OFFSET : lbl.dotX - lbl.dotRadius - SIDE_GAP - EXTRA_HORIZONTAL_OFFSET - lbl.width; const fitsHorizontally = candidateStartX >= 0 ? (candidateStartX + lbl.width) <= chartWidth : false; if (fitsHorizontally) { lbl.side = newSide; lbl.anchor = newSide === 'right' ? 'start' : 'end'; lbl.y = lbl.baseY; } } }); layoutSide('right'); layoutSide('left'); labels.forEach(lbl => { if (lbl.side === 'left') { const lineClearance = lbl.dotRadius * LINE_CLEARANCE_FACTOR + 4; const labelCenterY = lbl.y - lbl.height / 2; const distToDot = Math.abs(labelCenterY - lbl.dotY); if (distToDot < lineClearance) { if (labelCenterY < lbl.dotY) { lbl.y = lbl.dotY - lineClearance; } else { lbl.y = lbl.dotY + lineClearance + lbl.height; } } } }); layoutSide('left'); labels.forEach(lbl => { const gap = SIDE_GAP + (Math.abs(lbl.y - lbl.baseY) > MAX_VERTICAL_OFFSET ? EXTRA_HORIZONTAL_OFFSET : 0); if (lbl.side === 'right') { lbl.x = lbl.dotX + lbl.dotRadius + gap; } else { lbl.x = lbl.dotX - lbl.dotRadius - gap; } }); return labels; } resolveCollisions(labelInfos, width, height); const strokeColor = isDarkMode ? 'rgba(26,26,26,0.9)' : 'white'; labelInfos.forEach(info => { // Position the actual label text with text stroke for readability info.textEl .attr('x', info.x) .attr('y', info.y) .attr('text-anchor', info.anchor) .style('fill', info.series.color) .style('stroke', strokeColor); }); function animatePulse() { pulsingCircles.forEach(circle => { circle.transition().duration(750).attr('r', 5 * 1.2) .transition().duration(750).attr('r', 5).on('end', animatePulse); }); } if (pulsingCircles.length > 0) animatePulse(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', renderChart); } else { renderChart(); } window.addEventListener('resize', renderChart); })();

Since 2020, when the Downtown Development District began tracking visits in the Central Business and Warehouse districts, annual attendance has stayed within a relatively tight range, between 1.9 million and 2.4 million. Still, the trash tally has swung wildly, indicating that other factors are at play. The development district doesn’t track citywide visits, but its annual downtown tally is considered the most accurate indication of Carnival attendance. 

The office of Mayor Helena Moreno and the city’s sanitation department did not respond to requests for comment. 

Parade trash remains a problem for the city’s drainage system. After the infamous bead blockage of 2018, the city began installing temporary filter contraptions, known as “gutter buddies,” at catch basins along parade routes, but conservation groups say the outfalls still spew more litter into canals and Lake Pontchartrain during the Carnival season.

The upswing in trash is occurring alongside a seemingly contradictory trend of waste reduction. In recent years, many parade organizations, called krewes, have cut back on plastic beads and other “junk” throws. They’ve opted for higher-value items like socks, baseball caps, wooden cooking spoons, and metal drinking cups. 

Grounds Krewe and other groups have also expanded their recycling efforts. They set set up stations to collect bottles, cans, and reusable throws, and some volunteers even pick through the parade debris for recyclable items. This year, the groups diverted about 28 tons from landfills. That’s despite the city pulling back its support for recycling this year because of budget concerns. Even if the city government spent the $200,000 it initially earmarked for recycling, “it’s not going to reverse the 24 percent gain” in waste, Davis said.  

There was some hope that the volume of throws would be curbed by rising prices for beads and other trinkets, a result of higher inflation and President Donald Trump’s steep tariffs on imports from China, where most beads are made. Some parade-goers said they noticed the change, taking to social media to complain about stingier krewes.

“We are really perplexed,” Davis said. “All that is happening, with people throwing fewer beads and a lot of krewes switching to higher-quality throws, but waste is still going upward.” 

The swelling tonnage may have less to do with the throwers and more with the catchers. Davis and some city leaders say parade-goers are setting up earlier, staying longer, and bringing even more of the comforts of home: folding chairs, canopy tents, coolers, grills, and wagonloads of food. They’re also chaining together walls of ladders, erecting scaffolding, installing portable toilets, and plunking down generators and old sofas. As the season ends, many of these items are broken, dirty, or too much of a hassle to haul home. 

These abandoned items, which can range in weight from 5 pounds for a folding chair to 300 pounds for a couch, are an increasingly heavy lift for cleanup crews, City Council President JP Morrell said.

“The reality is that they get their use out of this stuff, and then it becomes a tremendous amount of debris that our workers have to deal with because these people had no intention of ever picking this stuff up,” he said. “It goes towards a sense of abject entitlement — that our entire city exists to serve other people’s whims.”

Discarded Mardi Gras beads and trash cover a street after 2014 Mardi Gras celebrations in New Orleans, Louisiana. Gerald Herbert / AP Photo

Many of these gear-laden revelers are territorial, roping off patches of sidewalk or spreading tarps across grassy street medians, known locally as neutral grounds. These public-space appropriators have come to be known as the “Krewe of Chad,” after the name, spraypainted across a large patch of grass, went viral in 2013. 

These “Chadders,” as Morrell calls them, appear emboldened by the recent ebb in the enforcement of the city’s parade rules. Officially, early birds aren’t supposed to set up until four hours before a parade starts, but this rule is regularly flouted. In 2024, the list of banned items grew to include many of the things that have become commonplace — tents, tarps, and viewing platforms among them. A crackdown that year, which included the seizure of truckloads of encampment gear, appeared to briefly change behavior, Davis said. 

But last year, the city announced it would scale back enforcement and prioritize security after a terror attack on New Year’s Day killed 14 people on Bourbon Street. 

Enforcement was further scaled back by the city’s current budget crisis. Amid layoffs and other cutbacks aimed at reducing a $220 million deficit, Morrell admitted that efforts to clear Carnival encampments would be “spotty.”

“How are they going to enforce it? Well, to be honest, we’re hard up for cash,” Morrell said on an Instagram post in early February. He stressed that police and other city departments would “do their best,” but enforcement wouldn’t be as “robust as it could be.”

Torri, the sanitation director, said the city had the capacity to clear large items on just one day before the final cleanup on Fat Tuesday. “Mardi Gras Day was a major undertaking,” he told the council in March. Crews started working at 8 a.m. and didn’t finish until 1 a.m. “It’s a full day of cleaning because of everything that people have brought. Tarps, ladders, tents, coolers, grills are left because they’re disposable things that were only intended to last the weeks of Mardi Gras.”

Davis predicted the trend toward fewer but better throws will continue, and his organization will keep pushing for more reuse and recycling. But, he added, the policies meant to curb parade encampments — and the waste they leave behind — are only as effective as their enforcement.

“Having the krewes throw less is great, but what’s really heavy is a couch and all the stuff people brought out in wheelbarrows,” Davis said. “Unless we have police out there and the trucks to haul it away, this kind of behavior creeps back. And that’s what we’re seeing now.” 

toolTips('.classtoolTips11','A scarce blue metal that helps battery cathodes store large amounts of energy without overheating or collapsing. It is a key component of lithium-ion batteries. ');

This story was originally published by Grist with the headline New Orleans wants to fix its Mardi Gras mess. So why is the trash pile still growing? on May 11, 2026.

Categories: H. Green News

How environmental destruction is built into corporate design

Resilience - Mon, 05/11/2026 - 01:00
Modern corporations are legally and financially structured to prioritize profit over ecological stability. The result is a system that normalizes environmental destruction while diffusing responsibility across institutions and individuals.

Heat‑resistant corals could help reefs adapt to climate change

Resilience - Mon, 05/11/2026 - 01:00
Efforts to save coral reefs from climate‑driven heatwaves focus on conserving and breeding heat‑resistant corals and harnessing resilient algae and bacteria, offering a test case for conservation in a warming world.

A perspective from Lebanon: Who will we be when things get hard?

Resilience - Mon, 05/11/2026 - 01:00
Nate Hagens steps away from analysis and reflects on a call that reframed his thinking. He shares a recent conversation with a close friend living in Lebanon, who, amid ongoing daily violence and loss, has been hosting displaced families and leading meditation practices in her community.

Signify: “We believe resilience is becoming more important to businesses right now”

Climate Change News - Mon, 05/11/2026 - 00:51

In a Q&A with Climate Home News, the head of sustainability at global lighting company Signify explains how the firm is doubling down on its efforts to protect the climate and strengthen resilience.

In March, Signify launched its latest corporate sustainability programme, “Brighter Lives, Better World 2030”.

The programme is the third iteration of a project that started in 2016, aimed at shifting how the company – and its customers – can reduce their environmental impact. 

It centres on enhanced targets to improve energy efficiency, cut greenhouse gas emissions and promote the circular economy. In addition, Signify has set itself a challenging goal to source 41% of its revenue from solutions “that support benefits beyond illumination” by the end of 2030, up from 31% in 2024. Those benefits include efficient food production and increased access to solar lighting.

Signify is aiming to save 60 terawatt hours (TWh) of electricity for its customers; achieve a 35% reduction in the CO2 emissions intensity of its portfolio; and grow its circular product business from 10% to 27.5% of revenue.

Climate Home News spoke with the company’s global head of sustainability, Maurice Loosschilder, to find out how the Netherlands-based multinational plans to reach its targets despite a tough political landscape for green action.

Q: How does Signify’s new sustainability programme build on lessons learned from previous versions?

A: If we look back a little bit, it is a natural next step. Signify [formerly Philips Lighting] became a standalone company roughly 10 years ago and in 2016 we launched our first “Brighter Lives, Better World 2020” programme at the same time.

The first programme mirrored developments in the lighting industry and was very much based on our own operations: reaching 100% renewable electricity, zero waste to landfill in our manufacturing facilities, increasing the energy efficiency in our own portfolio.

Since then, we’ve moved on to think about our entire value chain and the wider social contributions we want our work to be making. But we still want to be thinking about how to improve our own business. Our continued target to double the amount of women in leadership positions is an example of that.

Does the future of green manufacturing lie in 3D printing?

Q: Looking at the political climate, both in the US and Europe, there isn’t the same concern for environmental issues as there was a few years ago. Many corporates are perceived to be rolling back on their environmental commitments. How are you as a company navigating some of these challenges?

A: This is not something new. If we look back on the last five to 10 years, we’ve seen a lot of disruption and change in the market. We’ve had a global pandemic, supply chain disruptions, energy insecurity. At the same time we’ve seen the increased impacts of climate change and all of that is changing the dynamics of doing business right now. 

I think these changes have really tested resilience – the resilience of companies, the resilience of people, the resilience of societies. We really believe that resilience is becoming more and more important to businesses right now. And if you look at what a resilient company is, it is one that decarbonises faster, invests in people, invests in circular solutions and makes its business model more circular. And that’s exactly what we have focused on. It’s about making sure we can cope, and help our customers cope, with changing market circumstances and the geopolitical tensions we see in the world.

Q: Turning to your own commitments, do you feel you have set the right balance between ambitious and achievable?

A: Yes, we strongly believe this programme is the right one for us and our customers, and has been informed by a thorough double-materiality assessment. It is built on three pillars: benefits beyond illumination, energy efficiency and resource efficiency. These are supported by new initiatives, such as Signify Circle, which will support professional customers with their circular economy ambitions.

If we just look at the first pillar, it’s about the positive impact that lighting brings, in terms of productivity, in terms of safety, in terms of food availability, health and well-being, and now we have added solar in there. This is what we mean by “benefits beyond illumination”.

A nurse is pictured in a private health clinic lit by solar power from a micro-grid in a rural village in Nigeria’s Nasarawa state, September 2022 (Photo: Megan Rowling) A nurse is pictured in a private health clinic lit by solar power from a micro-grid in a rural village in Nigeria’s Nasarawa state, September 2022 (Photo: Megan Rowling)

Q: If we take one of your targets to save 60 TWh of electricity for your customers, that seems quite hard to work out. Do you find data availability to be an issue?

A: Data is a challenge in sustainability, but we have been measuring our avoided emissions for years, so we know the data requirements behind it. We’ve done all our homework and with that we have set this target. 

The 60 TWh figure is about the annual electricity usage of Switzerland so it is a substantial amount. But it also reflects the role that lighting plays in general. If you look at a typical city, street lighting alone accounts for about 40% of electricity use. So the potential is enormous.

The International Energy Agency reports that about 8% of global electricity use comes from lighting, and this translates into 2% of global greenhouse gas emissions. That’s really significant and why the opportunity here is so big.

Is electrification a no-brainer in the race to net-zero?

Q: How has the new programme been informed by the UN’s Sustainable Development Goals (SDGs)?

A: Our strategic compass is the Sustainable Development Goals. We committed to six SDGs in the previous programme. The new one has been expanded to cover eight and we conducted a mapping exercise for each of the commitments. I’m hoping that, by the end of this programme, we will see a new version of the SDGs to replace the current goals when they expire in 2030. We remain committed to making our contribution to the SDGs.

Q: Are you seeing higher demand for circular products? What is it that attracts businesses to that option?

A: Yes, we do see an increased demand. For example, we see greater interest in “remanufacturing”, which is a circular business model where we take down the lighting, send it back to our manufacturing site, and upgrade it to the latest technology, but keep the majority of the hardware intact.

I think customers are becoming more and more aware of the fact that regulation is pushing resource efficiency on businesses. And in some countries we see incentives to use circular products, and penalties around sending certain material to landfill. More businesses are becoming aware of this and we strongly believe there is a market for circular products.

How off-grid solar is beating the odds to transform lives in rural Africa

Q: Do you have customers that are facing real resource pressures, in terms of scarcity, increased costs or supply chain constraints that are making them think more about circular issues?

A: The whole market is currently impacted by geopolitical tensions and the disruptions that come as a result. Light as a Service, for example, could be a way for businesses to de-risk because there is no capital expenditure involved. Customers see real value in only having to pay to keep it running. 

If we look longer term, then resource and material efficiency is something the whole world should be thinking more about. How can we decouple economic growth from the increased use of natural resources? We believe the circular economy is the answer.

This interview has been shortened and edited for clarity.

Adam Wentworth is a freelance writer based in Brighton, UK.

The post Signify: “We believe resilience is becoming more important to businesses right now” appeared first on Climate Home News.

Categories: H. Green News

British climate finance largess in Brazil

Ecologist - Sun, 05/10/2026 - 23:00
British climate finance largess in Brazil Channel News brendan 11th May 2026 Teaser Media
Categories: H. Green News

Congress Gave States Enough Money to Fix Every Road in America; Some States Set It On Fire Instead

Streetsblog USA - Sun, 05/10/2026 - 21:02

The last federal transportation law gave states more than enough money to fix every crumbling highway and bridge in America — but a disturbing share of departments of Transportation sunk that windfall into expanding highways instead, a new report found. And unless Congress learns from its mistakes and finally requires transportation officials to “fix it first,” we will continue to set billions of taxpayer dollars on fire.

A stunning 16.3 percent of U.S. roads that were eligible for federal money were still rated in “poor” condition in 2024, according to a recent Transportation for America analysis — despite Congress providing state DOTs with $56.8 billion in largely unrestricted transportation funds that year alone, and nearly $1.5 trillion over the 30 years prior.

Experts say it would take $43.2 billion per year to maintain all of the country’s existing roads in “acceptable” condition, or roughly 23 percent less than Congress authorized annually under the Infrastructure Investment and Jobs Act.

And the authors of the report say the waste may be even worse than it seems.

Because increasingly lax reporting standards conceal broken roads from public view, and DOTs routinely mis-categorize expensive expansion projects as simple “maintenance” or lump them into a mysterious “other” category, Transportation for America suspects the national highway network is actually even more drastically overbuilt than it appears on paper.

That means that even a steep increase federal dollars may not be enough to repair our rapidly expanding transportation network — at least without using that money to shift people onto modes other than driving and take pressure off our battered asphalt.

“We’re still adding to the system faster than we’re able to take care of it,” said Mehr Mukhtar, the group’s senior policy associate. “We’re still seeing inconsistencies and a lack of transparency in reporting standards. And all of this just leads us to the conclusion that until we see a meaningful shift in our priorities, and in how we’re tying our spending to our outcomes, the backlog of roads in poor conditions is going to persist — and likely it’s going to worsen.”

Mukhtar traces much of America’s pothole crisis to a long-standing tradition of giving states broad latitude over how they spend their federal “formula” dollars, or grants doled out to DOTs based on a pre-determined government calculation.

In the absence of federal rules to rein them in, many states pick ribbon-cuttings for new and “improved” — i.e., widened — highways over the unsexy work of repaving the lanes they already have, even if those lanes are falling apart.

A whopping 24 states chose to spend less than $2.35 on maintenance for every dollar they spent on expansion — a ratio that Transportation for America says is alarming — despite the fact that those states have a higher share of roads in poor condition than the national average.

Worse, experts say those expansions won’t come close to accomplishing the goals they’re theoretically supposed to achieve. Decades of research has shown that widening roads does nothing to fix traffic jams over the long term, encourages drivers to fill newly added lanes, and saddles communities with compounding long-term maintenance obligations that they can’t keep up with.

It’s a little like adding a ballroom to a house when the roof is so leaky that rain is pouring in — except that ballroom is somehow accelerating a traffic violence crisis that claims nearly 40,000 lives a year, super-charging climate change, and amplifying income inequality by reducing access to jobs, rather than, say, hosting waltzes.

“That’s fiscally irresponsible, and it’s a burden on taxpayer dollars,” Mukhtar added.

Of course, not all states are neglecting their maintenance backlog in favor of climate arson — and some of them are even offsetting the worst offenders.

Communities like North Dakota, South Dakota, Minnesota and Vermont won applause from the report’s authors for strong repair-to-expansion ratios, which helped bring their average road conditions above the national average — though, to be fair, many of those states have a high share of depopulated rural roads that need less-frequent maintenance than highly trafficked urban arterials. Still, Mukhtar credited those communities with lowering America’s total share of roads and bridges in poor condition by three percentage points between 2018 and 2024.

But she warned that extremely modest progress won’t be enough to outrun America’s looming maintenance obligations. The report says every new lane-mile of highway built will cost future taxpayers $47,300 per year to maintain in good condition — roughly the cost of a year’s out-of-state tuition at a decent public university — and America built 119,257 of them in the six years the researchers analyzed.

Worse, even some of the “good” states are still delaying maintenance until its bridges are on the brink of collapse, driving maintenance costs well above the average. Mukhtar pointed to Michigan, whose maintenance spending, which looks impressive on paper, actually masks the fact that the Wolverine State tends to postpone repaving until roads are so bad that they need to be totally rebuilt.

“With the costs of construction ballooning and inflation rising, even those same dollars don’t get stretched as far now as they would have decades ago, if [states] started prioritizing repair earlier,” she said.

With the Infrastructure Investment and Jobs Act due to expire on Sept. 30, Mukhtar said Congress has a rare opportunity to restore sanity to the transportation system and finally require states to “fix it first,” rather than adding endless new ballrooms to a falling-down house.

That might look like setting “tangible goals, such as reducing the backlog by half,” requiring federal agencies to collect better data on the actual condition of roads, and establishing enforceable mandates that state DOTs be more transparent about how taxpayer dollars are spent.

And until they actually do, no voter should believe a politician who pledges to “fix America’s crumbling roads and bridges” — because nearly $57 billion a year later, they still haven’t done so.

“Whenever a transportation bill is passed, we hear the same thing come out of Congress time and time again: the same rhetoric about fixing crumbling roads and bridges, and why we need to increase funding,” said Mukhtar. “But I think what we need to see this time around are enforceable requirements, which actually compel states to spend that money on fixing it first.”

Monday’s Headlines Should Be Obvious

Streetsblog USA - Sun, 05/10/2026 - 21:01
  • The Guardian asked experts how to fix traffic-choked cities, especially in light of high gas prices. The answers: Expand and improve transit, create more space for pedestrians and cyclists, focus on providing alternatives for commuters traveling into the city core from car-centric suburbs, and address the reasons why people choose to drive, such as service hours and safety concerns.
  • Uber is shifting tactics away from fighting with local governments and labor unions as it seeks to roll out robotaxis, according to Axios. Meanwhile, the National Highway Traffic Safety Administration is investigating Uber partner Avride after at least 16 documented autonomous vehicle crashes (Tech Crunch).
  • Urban trees counter half the heat island effect from climate change in cities, but less so in poorer neighborhoods, according to a new study. (Associated Press)
  • Seattle’s Sound Transit adopted a two-decade plan to close a $34 billion budget gap in future capital projects. (KOMO)
  • The first Vision Zero report from Indianapolis indicates that traffic deaths fell to 85 last year from a high of 120 in 2021, but a number of major roads remain dangerous. (WTHR)
  • Nashville Mayor Freddie O’Connell, whose major accomplishment has been passing the “Choose How You Move” transit expansion referendum, will run for re-election. (News Channel 6)
  • San Antonio is considering dropping speed limits on neighborhood streets from 30 miles per hour to 25, but in places where it’s already been done, it hasn’t had an effect on driver behavior. (Report)
  • Amtrak is adding cars to its Missouri River Runner route to accommodate additional riders traveling to the World Cup in Kansas City. (Mass Transit)
  • Construction on Baltimore’s long-awaited Purple Line is complete, but service won’t begin until late 2027 at the earliest. (Maryland Matters)
  • An Omaha traffic reporter is still out of work after having been hit by two different drivers in separate crashes; one as a pedestrian, one while she was behind the wheel. (KETV)
  • Cincinnati’s Red Bike bikeshare had a record number of users in 2026. (CityBeat)
  • Kansas City opened a new bike and pedestrian bridge on Grand Boulevard. (Fox 4)
  • Lime introduced a new type of bikeshare bike in Seattle that looks like a scooter with pedals. (Seattle Bike Blog)
  • Pending the governor’s signature, South Carolina recently became the first East Coast state to adopt the “Idaho stop,” allowing cyclists to proceed through a yield sign or red light when it’s safe to do so. (Palmetto Walk Bike)
  • A lot of people like to ride the D: The new Metro line in Los Angeles opened last weekend to great fanfare. (Streetsblog LA)

Ode To Joy

Common Dreams - Sun, 05/10/2026 - 20:14


In a triumphal move back toward democratic rule, Hungary's new leader Péter Magyar took his oath of office Saturday in a "regime-change" ceremony rich with symbolism before thousands of jubilant constituents. The sense of a hopeful new political era resonated in Magyar's tribute to a victory for "ordinary, flesh-and-blood people" - and in the gleeful moves and air guitar of unstoppable "dancing machine" and new Health Minister Zsolt Hegedűs. Lookit this guy boogie. Damn, we can't wait.

The day's celebration" marked Magya's stunning defeat last month of authoritarian Viktor Orbán after 16 years in power. A 45-year-old lawyer who founded the center-right Tisza party in 2024, Magyar won a two-thirds majority over Orbán’s nationalist Fidesz party, which will allow him to roll back many of Orbán’s policies. Tisza now controls 141 seats in the 199-seat Parliament, with over a quarter held by women; Fidesz won 52 seats, down from 135, and far-right Mi Hazánk (Our Homeland) took six. Magyar has vowed to restore democratic institutions, clamp down on corruption, repair ties with the EU, where Orbán often vetoed key decisions including support for Ukraine, and unlock about $20 billion of EU funds to help jump-start Hungary's struggling economy,

Magya was sworn in at the sprawling Parliament building as tens of thousands of Hungarians gathered outside in Kossuth Square. Marking the sea change his victory represents, the EU flag flew for the first time since Orbán’ removed it in 2014, and the Beethoven-inspired European anthem Ode to Joy, symbolizing peace and solidarity, rang out. "Today, every freedom-loving person in the world would like to be Hungarian a little," Magya told the crowd in a message aimed at healing the deep divisions of Orbán's rule. "You have taught (the) world that the most ordinary, flesh-and-blood people can defeat the most vicious tyranny...Today is the fulfillment of a long journey made together (to) once again be a common homeland for all Hungarians."

As the party went all day and into the night - when Magyar took on DJ duties - the high point of its joy and fervor may have come after Magyar's speech when Zsolt Hegedűs, unable to restrain himself, broke out into dancing as the singer Jalja began performing The Hanging Tree: "Strange things have happened here." Hungary's new 56-year-old Health Minister and an internationally recognised orthopaedic surgeon who spent 10 years working for the UK's NHS, Hegedűs had already gone viral last month when, on stage after Magyar's landslide victory, he busted out some fiery dance moves and air guitar in his excitement. This time, he said he wasn't planning a repeat performance. Then the music started...And 140 Party members joined in.

"I could see the audience had been waiting for this," he said. "I didn’t want to let down the people.” So off he went, delighting everyone (except, possibly, his kids if he has any) with his slick moves. The next day, he ascribed it all to his "emotional roller-coaster" since Magyar's victory, with his chance to repair Hungary's health care system, take down Orbán's hate-mongering propaganda, urge people to focus on their mental health. "It's not that I'm going to start dancing in Parliament, but I want (to) encourage people to adopt a healthy lifestyle...Go outside, dance, be together," he said. "The weight has begun to lift from people’s shoulders." America, weary, ravaged, hungry for peace, just imagine the miracle of it. And for now enjoy his glee.

- YouTube www.youtube.com

Categories: F. Left News

Radicals, Realists, and Repression: The State of Activism in the U.S.

Green and Red Podcast - Sun, 05/10/2026 - 14:50
Join us on May 21st at 6:30pm for a panel on Radicals, Realists, and Repression: The State of Activism in the US. The panel will feature Prof. Thomas Zeitzoff, professor…
Categories: B4. Radical Ecology

2026 SkS Weekly Climate Change & Global Warming News Roundup #19

Skeptical Science - Sun, 05/10/2026 - 08:30
A listing of 28 news and opinion articles we found interesting and shared on social media during the past week: Sun, May 3, 2026 thru Sat, May 9, 2026. Stories we promoted this week, by category:

Climate Change Impacts (6 articles)

Climate Science and Research (6 articles)

Miscellaneous (5 articles)

Climate Policy and Politics (3 articles)

Climate Education and Communication (2 articles)

Health Aspects of Climate Change (2 articles)

Climate Change Mitigation and Adaptation (1 article)

Public Misunderstandings about Climate Science (1 article)

  • Despite big storms, U.S. winters are still warming Events like the January 23rd storm capture headlines and attention, but they don’t occur often enough to outweigh the long-term influence of human-caused global warming on U.S. winter temperatures. climate.us, Rebecca Lindsey, Jan 01, 2031.

Public Misunderstandings about Climate Solutions (1 article)

Climate Law and Justice (1 article)

If you happen upon high quality climate-science and/or climate-myth busting articles from reliable sources while surfing the web, please feel free to submit them via this Google form so that we may share them widely. Thanks!
Categories: I. Climate Science

This summer, the American water crisis becomes real

Grist - Sun, 05/10/2026 - 06:00

Two high-profile water crises, juiced up by climate change and industrial overuse, are building in the U.S. From a city in Texas staring down a drought emergency to a decades-long political crisis coming to a head for the states that rely on the Colorado River, water issues in the West will take center stage this summer — and experts tell WIRED that other places should take notes and start planning ahead for their own future.

In February, following a winter of record-breaking heat, snowpack in various mountain ranges across the American West reached record lows. March came in even hotter, smashing records in states across the region.

“What happened in March was unprecedented and stunning and disturbing and out of this world, frankly — we had temperatures the likes of which we have never seen and couldn’t have happened without human-caused climate change,” said Brad Udall, a senior water and climate researcher at Colorado State University’s Colorado Water Center. “We had a crummy snowpack that went from crummy to god-awful in three weeks.”

This snowmelt crisis is having dire impacts on the Colorado River, one of the most crucial water sources in the West, which provides water for 40 million people across seven states. River flow in some areas on the Colorado had slowed to a trickle last week, thanks to the early snowmelt this year.

Read Next The West’s unprecedented winter could fuel a summer of disaster

The Colorado River isn’t just a crucial water supply: It also provides power for more than 25 million people through dams at Lake Powell and Lake Mead, the two largest reservoirs in the country. Low water levels in those reservoirs spell trouble for electricity generation. As of Tuesday morning, Lake Mead was sitting at just 17 feet above its record low level, set in July of 2022.

This record dry season is also colliding with a decades-long political crisis on the Colorado River. For years, the states drawing water from the river have sparred over how to equitably divide the supply from the river, as the growth of agriculture and a series of climate-charged droughts have begun threatening the long-term water supply. Alfalfa for cattle feed is the biggest consumer of water from the Colorado, using more water than all of the cities along the river combined. States have missed key deadlines, including one in February, to renegotiate the Colorado River Compact of 1922, which regulates how water in the region is distributed. Each state gets an annual allotment, and the total amount of water is supposed to be divided evenly between an upper basin and a lower basin.

Earlier this month, following dire projections for the summer, the U.S. Interior Department stepped in, announcing a series of actions intended to keep hydropower at Lake Powell running. The government acknowledges that this could lessen hydropower at Lake Mead as well as water availability in states along the lower part of the river.

With all this chaos, there’s a chance, Udall said, that this season’s scarce water could cause a historic first in the next few years: States in the upper basin of the river could fail to deliver enough water to states in the lower basin, violating the 1922 agreement for the first time. This could trigger a potential lawsuit between states.

“What’s frustrating to somebody like myself is this is all foreseeable,” said Udall. “Those of us who are kind of in the know, and that includes a lot of people in the Colorado River Basin, have seen something like this coming for a long, long time.”

Read Next In Texas, Corpus Christi’s water crisis may be a glimpse into the future

Even with this dire set of circumstances, it’s unlikely that the millions of people who rely on the Colorado River will reach Day Zero, the term for when municipal water sources run dry. No U.S. city has ever gotten to that point.

However, there’s a region that could be inching closer to this kind of catastrophe. Officials in Corpus Christi, the eighth-largest city in Texas, said last week that the city is set to reach a Level 1 drought emergency — what it defines as 180 days of water demand outpacing supply — by September. Some projections say that, barring major weather patterns that bring more rain, municipal water sources could run dry by next year.

People living in Corpus Christi are already under restrictions for their water use, including limits on lawn watering and car washing. Residential water bills also increased by an average of just under $5 this year. City officials said that industrial customers would be asked to cut use by 25 percent in September.

“We don’t want to wreck our economy,” Corpus Christi city manager Peter Zanoni told NBC News of the decision to wait until September to declare a Level 1 drought emergency, which would force those industrial customers to curb their use. “We don’t want to have operations close down.”

Corpus Christi’s water supplies come overwhelmingly from surface water sources. Two of the most important local sources — the Choke Canyon Reservoir and Lake Corpus Christi — have reached critically low levels over the past few years as drought has gripped the region. As of Tuesday, they were sitting at 7.4 percent full and 8.7 percent full, respectively.

Read Next Arizona’s water is drying up. That’s not stopping the data center rush.

Many of the city’s problems stem from industrial water use. Corpus Christi is a major petrochemical hub, and the largest industrial consumer of water in the area, according to permit statistics obtained by Inside Climate News, is a joint Exxon Mobil and Saudi Basic Industries Corporation plastics plant. The plant used an average of 13.5 million gallons of water each day between 2022 and 2024. The average residential customer, according to the city, uses 6,000 gallons per month. (Exxon Mobil did not return a request for comment.)

The city has discussed building a desalination plant to provide water to its industrial customers — including the Exxon plant, which began operating in 2022 — for years. But the project’s potential costs ballooned to more than $1 billion, while residents expressed concerns about the ecological impacts the plant could have. Last year, regulators voted to pass on the project, with no backup plan for water supply in place. On Wednesday, the Houston Chronicle reported that Texas Governor Greg Abbott’s office had denied Corpus Christi additional funding for a separate desalination plant.

“Some lessons to learn from this situation that are important for a lot of cities, especially in the Southwest, is that water infrastructure projects are getting more expensive with time,” said Shane Walker, director of the Water and the Environment Research Center at Texas Tech University. “If you think you can wait around and get a cheaper deal on a water infrastructure project, it’s probably the opposite.”

This push and pull between attracting business and what a city can maintain waterwise, Walker said, is a common tension for city planners. As more cities in Texas see population growth — and struggle with planning out their water needs — more of them need to be thinking much farther ahead.

“You have to think of a 20-year time horizon as urgent,” Walker said. “If you’re relying on groundwater — groundwater is a finite resource. Lakes are vulnerable to drought. What’s your alternative supply?”

There could be some short- and medium-term relief for both Corpus Christi and the Colorado River. At a water update briefing last week, Zanoni said that recent rains had been “beneficial” to the region, helping to boost water levels in Lake Texana, another water source for the city. Udall said that recent wet weather has also helped stabilize some conditions out West. And the upcoming El Niño phenomenon — forecast to be one of the most intense El Niños on record — could bring a heavy monsoon season to the West this summer.

But both the municipal situation in Corpus Christi and the regional crisis for the Colorado River have specific similarities: a lack of attention to slow-building problems, exacerbated by industrial use. Climate change is pushing water crises like these to a new type of breaking point.

“Around the world we’ve seen climate change events that are really big and massive,” Udall said of the crisis on the Colorado River. “Maybe this is the first worldwide climate change crisis that’s going to force really fundamental policy-level decisions to be made, and fundamental changes in how we operate. Seven states, two nations, 40-plus million people, a whole bunch of farmers, and major cities are going to have to completely rethink how they use this resource.”

This story was originally published by Grist with the headline This summer, the American water crisis becomes real on May 10, 2026.

Categories: H. Green News

May 10 Green Energy News

Green Energy Times - Sun, 05/10/2026 - 04:16

Headline News:

  • “Why Rolls-Royce Is Hiring Cabinet Makers And Tattoo Artists To Build Its Cars” • Last month, British automaker Rolls-Royce showed off what is called “Project Nightingale.” It is a car, the company’s new, electric two-seater. Production begins at the factory in Goodwood, England, next year, but there’s one catch: all 100 units are already sold. [ABC News]

Project Nightingale (Rolls-Royce image)

  • “Two Years After Completion, Plant Vogtle Still Looms Over The Nuclear Debate” • As states across the country weigh a new wave of nuclear energy, many in Georgia urge caution. Plant Vogtle’s newest reactors came online there two years ago. The customers are paying for the project, and many say they are not getting their money’s worth. [Inside Climate News]
  • “‘Triple Whammy’: Antarctica’s Sea Ice Collapse Is No Longer A Mystery” • A study found that deep ocean heat, strong winds, and a self-reinforcing feedback loop have destabilized the ocean around Antarctica since 2015. Researchers warn that the losses could disrupt ocean currents, accelerate warming, and add to rising sea levels worldwide. [Euronews]
  • “Gujarat Launches 870 MW Of Battery Storage for Stable Renewable Power” • Gujarat commissioned 870 MW of battery storage in five sites. This capacity is crucial for a more resilient renewable power grid capable of integrating intermittent solar and wind sources. The initiative upholds the Gujarat Integrated Renewable Energy Policy. [Whalesbook]
  • “Microsoft Weighs Abandoning Renewable Energy Target In AI Boom” • Microsoft is in the spotlight amid reports that the tech titan is considering delaying or abandoning its ambitious 2030 goal of meeting 100% of its hourly electricity use with renewable energy. This shift shows friction between hyperscalers’ climate pledges and AI’s power demands. [MSN]

For more news, please visit geoharvey – Daily News about Energy and Climate Change.

Judi Online dan Perkembangan Teknologi AI dalam Permainan

Socialist Resurgence - Sun, 05/10/2026 - 03:22

Ucapan itu bukan sekadar candaan. Dunia judi online memang berkembang sangat cepat, terutama sejak teknologi Artificial Intelligence (AI) mulai masuk ke dalam sistem permainan digital. Perubahan tersebut bukan hanya terlihat dari tampilan visual yang makin realistis, tetapi juga dari cara platform memahami perilaku pemain secara detail.

Teknologi AI Mulai Mengubah Cara Permainan Berjalan

Beberapa tahun terakhir, teknologi AI menjadi salah satu fondasi penting dalam industri hiburan digital. Banyak platform game online mulai menggunakan sistem otomatis yang mampu mempelajari pola permainan pengguna. Teknologi ini bekerja diam-diam di balik layar, namun dampaknya terasa nyata.

AI digunakan untuk menganalisis data pemain, mulai dari waktu bermain, jenis permainan favorit, hingga kebiasaan melakukan taruhan. Dari situ, sistem akan memberikan rekomendasi permainan yang dianggap paling sesuai dengan karakter pengguna.

Bagi sebagian pemain, fitur ini terasa membantu. Mereka lebih mudah menemukan game yang cocok tanpa harus mencoba satu per satu. Tetapi di sisi lain, ada juga yang merasa sistem tersebut membuat permainan menjadi semakin intens dan sulit dilepaskan.

Rian pernah mengalami momen itu. Awalnya ia hanya mencoba satu permainan slot karena rekomendasi muncul di halaman utama. Namun beberapa menit kemudian, muncul lagi rekomendasi lain dengan tema yang mirip dan bonus yang terlihat lebih menarik.

“Kayak aplikasi streaming film,” ujarnya. “Semakin sering dimainkan, semakin ngerti apa yang kita suka.”

Pengalaman Bermain yang Kini Terasa Lebih Personal

Salah satu alasan mengapa AI berkembang pesat di industri game online adalah kemampuannya menciptakan pengalaman yang terasa personal. Teknologi ini mampu membuat pemain merasa diperhatikan oleh sistem.

Jika dulu permainan online terlihat monoton, sekarang tampilannya jauh lebih interaktif. Ada animasi dinamis, efek suara yang menyesuaikan situasi permainan, hingga fitur live chat otomatis yang mampu menjawab pertanyaan pemain dalam hitungan detik.

Bahkan beberapa platform sudah memakai AI untuk mendeteksi emosi pemain melalui pola aktivitas mereka. Ketika sistem melihat pengguna mulai pasif atau kehilangan minat, permainan akan memunculkan promosi tertentu agar pemain kembali aktif.

Di sinilah teknologi menjadi pedang bermata dua.

Di satu sisi, inovasi tersebut menunjukkan kemajuan luar biasa dalam dunia digital. Pengalaman bermain menjadi lebih nyaman, cepat, dan modern. Namun di sisi lain, muncul pertanyaan besar tentang batas antara hiburan dan manipulasi perilaku.

Industri Judi Online Semakin Kompetitif

Perkembangan AI juga membuat persaingan antar platform judi online semakin ketat. Banyak penyedia layanan berlomba menghadirkan teknologi terbaru agar pengguna betah lebih lama di platform mereka.

Mulai dari sistem keamanan berbasis AI, deteksi aktivitas mencurigakan, hingga fitur anti-kecurangan kini menjadi bagian penting dalam operasional situs modern. Teknologi ini membantu menjaga stabilitas permainan sekaligus meningkatkan kepercayaan pengguna.

Beberapa pengamat industri digital menilai bahwa AI sebenarnya tidak selalu membawa dampak negatif. Jika digunakan secara tepat, teknologi ini bisa membantu menciptakan sistem permainan yang lebih aman dan transparan.

Contohnya adalah fitur responsible gaming yang mulai diterapkan beberapa platform besar. Sistem AI dapat mendeteksi pola bermain berlebihan dan memberikan peringatan otomatis kepada pengguna agar beristirahat.

Walau belum diterapkan secara merata, langkah tersebut menunjukkan bahwa teknologi juga bisa diarahkan untuk melindungi pemain, bukan sekadar meningkatkan keuntungan perusahaan.

Ketika Teknologi dan Emosi Manusia Bertemu

Yang menarik dari perkembangan ini bukan hanya soal mesin atau algoritma, melainkan bagaimana manusia meresponsnya secara emosional.

Banyak pemain merasa permainan digital sekarang lebih “hidup”. Mereka tidak lagi sekadar menekan tombol taruhan, tetapi seperti masuk ke dalam dunia virtual yang penuh interaksi.

Ada suara dealer langsung, tampilan grafis ultra-realistis, hingga sistem AI yang membuat permainan terasa responsif terhadap tindakan pemain. Semua itu menciptakan sensasi yang jauh berbeda dibanding era awal judi online beberapa tahun lalu.

Namun di balik kecanggihan tersebut, ada satu hal yang tetap tidak berubah: manusia tetap menjadi pusat dari semua keputusan.

Teknologi bisa membantu membaca pola, memprediksi kebiasaan, bahkan menciptakan pengalaman yang terasa personal. Tetapi kendali tetap berada di tangan pemain itu sendiri.

Rian akhirnya menyadari hal tersebut setelah beberapa kali terlalu larut dalam permainan. Ia mulai membatasi waktu bermain dan melihat judi online sebagai hiburan digital, bukan jalan instan untuk mendapatkan keuntungan besar.

“Teknologinya makin pintar,” katanya pelan. “Makanya pemain juga harus lebih pintar.”

Masa Depan Judi Online dan AI Masih Akan Terus Berkembang

Melihat perkembangan saat ini, banyak pihak percaya bahwa hubungan antara AI dan industri judi online akan semakin erat di masa depan. Kemungkinan besar, teknologi akan menghadirkan pengalaman bermain yang lebih realistis melalui virtual reality, analisis data real-time, hingga sistem interaksi yang semakin menyerupai manusia.

Bagi industri digital, AI adalah alat untuk menciptakan efisiensi dan pengalaman pengguna yang lebih baik. Tetapi bagi pemain, pemahaman dan kontrol diri tetap menjadi hal terpenting.

Karena pada akhirnya, secanggih apa pun teknologi berkembang, keputusan manusia tetap menjadi faktor utama yang menentukan arah permainan.

Categories: D2. Socialism

Zimbabwe’s Fast Track Land Reform Program: A Struggle for Justice, A Lesson in Chaos

AFSA - Sat, 05/09/2026 - 10:45

Zimbabwe’s Fast Track Land Reform Program (FTLRP), launched in 2000, sought to correct colonial-era land inequalities by redistributing land from approximately 4,500 white commercial farmers — who held over 70% of arable land — to millions of landless Black Zimbabweans. While rooted in legitimate grievances, the program’s hasty and often violent implementation triggered severe economic collapse, social disruption, and environmental degradation.

This case study examines the FTLRP’s historical context, motivations, and wide-ranging impacts, drawing critical lessons for future land reform efforts across Africa and beyond.

Read the case study here

Categories: A3. Agroecology

Champlain Valley Indivisible

Backbone Campaign - Sat, 05/09/2026 - 06:07

No Kings No Wars.Step Up For Democracy.

Categories: G2. Local Greens

Pages

The Fine Print I:

Disclaimer: The views expressed on this site are not the official position of the IWW (or even the IWW’s EUC) unless otherwise indicated and do not necessarily represent the views of anyone but the author’s, nor should it be assumed that any of these authors automatically support the IWW or endorse any of its positions.

Further: the inclusion of a link on our site (other than the link to the main IWW site) does not imply endorsement by or an alliance with the IWW. These sites have been chosen by our members due to their perceived relevance to the IWW EUC and are included here for informational purposes only. If you have any suggestions or comments on any of the links included (or not included) above, please contact us.

The Fine Print II:

Fair Use Notice: The material on this site is provided for educational and informational purposes. It may contain copyrighted material the use of which has not always been specifically authorized by the copyright owner. It is being made available in an effort to advance the understanding of scientific, environmental, economic, social justice and human rights issues etc.

It is believed that this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit to those who have an interest in using the included information for research and educational purposes. If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. The information on this site does not constitute legal or technical advice.