ADVERTISEMENT

A Sunday for anger

Published Sep 21, 2025 12:05 am  |  Updated Sep 20, 2025 04:21 pm
DRIVING THOUGHTS
If you are unaware that massive protest rallies are happening across the country today—if you’ve missed the calls on social media, the news reports, or even word-of-mouth—then you are either disconnected from reality or willfully turning a blind eye. Or perhaps, worse, you are part of the corrupt system that has driven tens of thousands of citizens to give up their Sunday for protest.
Two major rallies in Metro Manila—one at Luneta and another at the Edsa Shrine—are taking place alongside dozens more across the nation. These are not merely symbolic gatherings. They are expressions of deep, festering anger over the unrelenting reports of ghost flood control projects, substandard infrastructure, padded contracts, and the obscenely lavish lifestyles of officials who have long abandoned the values of honesty and public service.
And this isn’t just about one agency, one contractor, or one set of bad actors. As more investigations unfold, we’re seeing how far the rot goes—taxpayer money diverted not only from infrastructure, but from multiple government programs meant to serve the public. Corruption, once whispered about, is now being openly admitted—even by discredited contractors who confess that nothing moves unless you "give."
I will not rehash every sordid detail. We’ve all seen or heard them by now. Instead, I write this to remind us all why we must stay angry. Because corruption feeds on complacency. Resignations—however dramatic—are not solutions. They are, at best, a pause.
We must not forget. Not this time.
This flood of corruption is not an abstract issue. It is an attack on every working Filipino who pays income tax—taxes that are deducted from salary, overtime, holiday pay. These taxes are meant to fund schools, hospitals, roads, and disaster relief. Instead, they’re lining pockets and building mansions.
Anyone who has listened to the Senate or House investigations has likely felt the same overwhelming emotions: anger, at the theft of our taxes; shock, at the utter failure of oversight; and helplessness, at a system that too often allows the guilty to escape accountability.
But we must not allow that helplessness to win. The outrage we see on social media, in news reports, and in the streets today is not just venting—it is a warning. A signal to those in power that the public will no longer tolerate impunity. That we demand justice.
So far, some movement has occurred. An Independent Commission on Infrastructure has been formed. Top officials—including the Senate President and Speaker of the House—have resigned. But these are only the beginning. The people have spoken—and must continue to speak—because the fight for accountability does not end with public apologies or high-profile resignations.
Today, Sept. 21, marks the 53rd anniversary of the declaration of martial law—a day that should remind us of what happens when power is abused without restraint. Let our collective rage on this day be more than symbolic. Let it be the fire that forces structural reform, that compels transparency, that rebuilds our institutions, and that reclaims the integrity that has long been buried by greed.
Let this Sunday be remembered—not just as a day of protest—but as the day the people demanded something better. (Email: [email protected])
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.