ADVERTISEMENT

Manila Bay reclamation: A test of governance

Published Jan 19, 2026 12:05 am  |  Updated Jan 18, 2026 04:11 pm
SPEAKING OUT
When the rains come, Manila drowns. Streets turn into rivers, homes into islands. Ordinary Filipinos know this pain too well. Now imagine adding concrete walls across the bay, choking its natural flow. That’s what reclamation threatens to do.
Church leaders, fisherfolk, and civic groups are right: this is not just about land. It’s about life, livelihood, and legacy. Manila Bay is more than a postcard sunset—it’s a shield against floods, a pantry for fishermen, and a heritage site for generations.
So why push reclamation? Developers promise jobs, malls, and shiny business districts. Government agencies say it’s “progress.” But progress that sinks our cities and erases our culture is no progress at all.
This is where governance is tested. Will President Marcos Jr. stand with science, faith, and the people—or with short-term profit? Will government prove it can protect Filipinos from climate disasters, or will it gamble with our future?
Reclamation is not just an engineering project. It is a moral choice. To ban it is to say: we value people over profit, resilience over vanity, heritage over concrete.
Ordinary Filipinos don’t need technical jargon. We need leaders who can look us in the eye and say: Your homes will be safe. Your children will inherit a bay that still breathes.
The Manila Bay reclamation debate is more than a policy issue. It is a mirror of governance. And in that mirror, we will see whether our leaders truly serve the people—or merely serve the powerful.
The ₱10M question — can justice outrun power?
For years, the families of missing sabungeros have lived with silence, grief, and unanswered questions. Now, with arrest warrants issued and a ₱10 million bounty on Charlie “Atong” Ang’s head, the hunt is finally on. But let’s be honest: this is not just about one man. It’s about whether our institutions can prove that justice is stronger than money, influence, and fear.
The ordinary Filipino knows this story too well. We’ve seen it in drug lords who vanish, in smugglers who walk free, in politicians who laugh at the law. The question is simple: will this case be different? Will the tracker teams, the Interpol notice, and the bounty finally pierce the armor of impunity?
This is the moment for reform. Not just in catching Ang, but in proving that no one is untouchable. The missing sabungeros are not statistics; they are fathers, sons, breadwinners. Their families deserve closure, and the nation deserves proof that justice is not for sale.
The hunt for Atong Ang is more than a manhunt. It is a test of our collective will. If he is captured, it will show that even the powerful must answer to the law. If he slips away, it will confirm the fears of many—that in the Philippines, justice is still a game rigged for the rich.
The ₱10M question is not just “Where is Atong Ang?” It is “Can we finally prove that justice belongs to the ordinary Filipino?” ([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.