// Adds dimensions UUID, Author and Topic into GA4
Monday, June 29, 2026
29.4 C
Singapore

THAT VIDEO: What an embarrassment

A few years ago, a Straits Times columnist wrote that one piece of news a Singapore parent did not want to hear was that his child had joined an Opposition party. If you were a parent of one of the Young PAP members featured in this video

[fvplayer src=”http://youtube.com/watch?v=Yirr-HNwnMs”]

you would probably feel the same.

The video, generally described as puke-making, showed just how clone-like the PAP had become — from too much “in-breeding”, as some of the harshest remarks put it.

Said another: “To describe it as ‘robotic’ is an insult to robots!” Indeed. Any group of Secondary One students from a neighbourhood school would have been able to produce a better video, if the objective was to draw people to the party, not be repelled by it.

Does the video deserve the opprobrium it has drawn? Yes, and a lot more – for the simple reason that it is such an embarrassment to Singaporeans. And for the so-called fourth generation leaders to praise the “hard work” the YP have put in.

The Opposition only needs to replay that video come the next general election campaign to remind Singaporeans this is what they have to look forward to for the “best and brightest” YP products. My advice to the leadership: drain that gene pool and start again…

 

- Advertisement -

Hot this week

S$77 billion in new wealth flows into Singapore’s two largest banks

Wealth management fees expanded 25% at DBS and 34% at OCBC in Q1 2026, which UOBKH Jonathan Koh called “hefty”.

School bus fares set to go up next, thanks to elevated fuel prices

School bus operators will be allowed to impose a temporary fuel surcharge of up to 20 per cent on fares for July and August, the Ministry of Education (MOE) said on Friday (Jun 26), citing elevated...

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks