Monday, May 01, 2017


PM Lee May Day Rally 2017

“Unless we are as hungry as them, as determined as them ... our cheese will be stolen. We have to make that effort, we have to strive and ... keep our position,” said Mr Lee, noting that national skills redevelopment programme SkillsFuture has given Singapore a good head start.

Sunday, November 06, 2016

This is the crux of progressive enhancement. Here’s the recipe:

Start with a basic web page that functions with nothing but the HTML, using standard semantic mark-up. Yes, it will require full-page GET or POST requests to perform actions, but we’re not going to stop there – we’re going to enhance the page.
Add CSS to style the page nicely; go to town with CSS3 animations if you want
Add JavaScript to enhance the UI and provide all the modern goodies: AJAX, client-side models, client-side validation etc
The benefits are obvious:

If the JavaScript or CSS files (or both) fail for any reason whatsoever the page still works
The use of semantic HTML means the page is fully understandable by search engine spiders
Because everything is rendered in HTML, not built up in JavaScript, it is understandable immediately by assistive devices
Serving fully-rendered HTML is quicker than building that same HTML client-side
Built-in support for older – and newer – browsers and devices
The best web developers on the planet all argue that progressive enhancement is the best way to approach web development. I honestly have no idea why anyone would think otherwise. There’s a good article (it’s actually the first chapter of Filament Group’s “Designing With Progressive Enhancement” book) on the case for progressive enhancement here.

.Net socket debug

Tuesday, January 05, 2016

Obama on gun control

"We know we can't stop every act of violence, every act of evil in the world. But maybe we could try to stop one act of evil, one act of violence"

"We do have to feel a sense of urgency about it. In Dr King's words, we need to feel the fierce urgency of now, because people are dying," he said. "And the constant excuses for inaction no longer do."

"Yes, it will be hard. And it won't happen overnight. It won't happen during this Congress. It won't happen during my presidency," he said. "But a lot of things don't happen overnight. A woman's right to vote didn't happen overnight. The liberation of African-Americans didn't happen overnight. LGBT rights, that was decades worth of work."

- Barack Obama

Wednesday, December 30, 2015

starting nodejs

a) express --sessions projectName
Create directory projectName with views, routes
b) cd projectName
c) npm install handlebars
d) npm install consolidate
Google for npm consolidate,
With reference to the example for express 3, modify app.js

Mr Lee's final gift: One united people

"For those who say that Singaporeans are spoiled, selfish, always complaining and mercenary, what would they make of what's happening now: tens of thousands, soon-to-be hundreds, and possibly a million before the week is out, queueing for hours in the hot sun without a peep of disgruntlement. No one told them to do it. There are no freebies at the end of this queue. There are no goodie bags to be had, no fancy aerial displays, no ballot sheets to tick, no certificates of participation awaiting.

Yet there is nothing but stoic contemplation, a people united by sadness but at the same time, an amazing, totally unscripted display of goodwill and community. People are chipping in to help with free water, flowers, food and general kindness for one's fellow man. Without any expectations of reward or publicity - just plain human decency. "
-By Jaime Ee, The Business Times, 27 Mar 2015

Yesterday and today

With passing time, what seems important is so insignificant now.

Thursday, January 15, 2015

select it!

select * from (

select 'lkj' name, 1 isSup, 0 isHse, 1 isMgr
select 'lky' name, 0 isSup, 0 isHse, 1 isMgr
select 'Jon' name, 0 isSup, 1 isHse, 0 isMgr
select 'Kim' name, 1 isSup, 0 isHse, 0 isMgr

) myTable
where isSup in (1) and isHse in (0,1) and isMgr in (0,1)

Tuesday, December 30, 2014

mysql group_concat

SET SESSION group_concat_max_len = 1000000;
) as CHAR
) as PCR_Id,
PCR_M.PCR_SEV_Id as Severity,
group_concat(I.ITM_Name separator ", ")
join ITEM I
I.ITM_Id=ITM.ITM_Id and ITM.PCR_Year=PCR_M.PCR_Year and ITM.PCR_Id=PCR_M.PCR_Id group by 'ITM_Id'
) as CSCI,

select group_concat(
(select USR_Name from USERS where PAN.PAN_Author=USR_Id),
"] [",
date_format(PAN.PAN_Modification_Date, "%Y%m%d %H:%i"),
(select USR_Name from USERS where PAN.PAN_Author=USR_Id),
"] [",
date_format(PAN.PAN_Modification_Date, "%Y%m%d %H:%i"),
separator "\r\n\r\n"
where (PCR_M.PCR_Id=PAN.PCR_Id and PCR_M.PCR_Year=PAN.PCR_Year)
) as Analysis,

select group_concat(
(select USR_Name from USERS where PCT.PCT_Author=USR_Id),
"] [",
date_format(PCT.PCT_Modification_Date, "%Y%m%d %H:%i"),
(select USR_Name from USERS where PCT.PCT_Author=USR_Id),
"] [",
date_format(PCT.PCT_Modification_Date, "%Y%m%d %H:%i"),
separator "\r\n\r\n"
where (PCR_M.PCR_Id=PCT.PCR_Id and PCR_M.PCR_Year=PCT.PCR_Year)
) as Corrective


Wednesday, June 04, 2014

Truncated Text SSRS display in IE 10

Reference URL:

<script> block:

    try {

        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() {

            document.getElementById("ReportViewerControl_fixedTable").style.tableLayout = '';


    } catch(e) {

        //ignore me alert("error");