// Adds dimensions UUID, Author and Topic into GA4
Wednesday, September 23, 2026
25.3 C
Singapore

Low Thia Khiang is right says 'Duckweed Goh'

Writing in his Facebook saying that he will be taking up the NCMP seat which will be offered to him, Associate Professor Daniel Goh explained the reason for his decision.

“Mr Low (Thia Khiang) is right. NCMPs are essentially duckweeds. He is using a Chinese flower metaphor in a very natural way, the significance and nuances of which many of us, Anglophones, don’t understand,” he said.
“Very crudely, it means NCMPs are like pretty flowers that sink no roots, floating about and contradicting the values of harmony and community,” he added.
Agreeing that objectively such an analogy is true in the long run, A/Prof Goh said that he is in agreement with Workers’ Party opposing the NCMP scheme.
“But for me, personally, at this point in my life, and as I see it, at this point in Singapore’s history, the principle of national service trumps the political principle of opposing the NCMP scheme. If my country sees fit that I contribute as duckweed, then it is my honour to be duckweed Goh. It is no insult; it is a privilege,” he explained.
He further said that duckweeds are not altogether negative because they are seen as resilient and prolific plants valued as livestock feed, for water purification and for alternative biofuel.
“That is, to feed, to clarify and to drive the greater good in our shared commons. And so I hope and will strive”, ‘Duckweed Goh’ expressed his wishes.

Hot this week

‘Leave innocent people alone’: OK Chicken Rice founder in Singapore weighs in on Ed Sheeran’s troubles

Daniel Tan Boon Huat has been posting on social media defending the British singer

UK woman asks Singaporeans for advice after her teeth turned grey due to too much Teh C

From an IG post of @ellsnutrition. She really likes Teh C and asks how grey teeth can be avoided

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