This blog is still alive.

It has been a harsh couple of years for me, lots of things happening in life.

  1. I moved again because the landlord sold the whole block, 1 month notice.
  2. Family member was seriously ill.
  3. I changed my job, to a different position.
  4. I gets old, especially physically.

I spend much less time on social, physically and virtually, most of the time I felt so tired after work I would rather sit there doing nothing.

But after all, I am still here, the blog is still under me, I have not abandon it, just can’t get the hype up to update.

I would still love to update this blog, when I can, lets hope I do so.

Office 365 Login error from Windows Server 2016

Ok, I really do not understand how and why Microsoft did not fix / let this happens.

As the title, since the default (And only) security settings on a Windows Server 2016 is “HIGH”, that blocks all Office 365 login screen to load.

The solution is adding the required domain to the Trusted Sites in order to get it to work.

The domains to add are:

I mean, please, Microsoft, I do expect just a little bit better than that for charging us a kidney on that.

Getting Twitter output to work with node-red

Recently I was redo-ing some older code with feed RSS to Twitter, decided to go for node-red since it is simple and I have a node-red setup in the Google Cloud Compute Engine.

I couldn’t get the Twitter output to work, the AUTH part in the UI always complaining error 401, the node-red-node-twitter module tries to do a callback AUTH and it fails.

Digging more seems Twitter has discontinue the on the site callback oAUTH method recently.

Notice the module that was installed with the node-red was very very old (0.1.1) and there seems to be some recently update (because of the change), so I update that module to the latest version and it solve my issue.

By going into /usr/local/lib/node_modules/node-red, editing the config.json and change the dependency from 0.1.* to 1.*, sudo npm update node-red-node-twitter updated the module as expected.

You will also need the consumer key and access token key pair for the AUTH UI in node-red, you can generate them in

After installing node-red-node-twitter@1.0.1, I am given input field to put in my consumer key, secret and access token, secret and I am able to use the Twitter output.

GitHub – node-red – problem authenticating with twitter
NPM – node-red-node-twitter

世界真細小 – 合唱版

世界真細小 – 合唱版
作詞:黃偉文 作曲:C.Y. Kong, Jean Chien

李克勤: 為何上天選今日 沒防備的這一日
共前度分開多久 偏碰見於這日
沒攜著妻子一日 沒乘坐跑車一日
如何能給你印象 成就大過昨日

容祖兒: 想過早晚會會合 不過此際變事實 都會驚慌失措 似行刑受罰
李克勤: 擁抱可會太兀突
容祖兒: 當我傷勢已癒合
李克勤: 感覺可似過份回味舊愛侶舊時秘密
容祖兒: 跟你團聚難道 談論舊過失

容祖兒: 近來愉快吧 李克勤: 平平無奇沒變化吧
容祖兒: 近來幸福吧 李克勤: 長期情人亦有個吧
容祖兒: 宇宙那麼細 李克勤: 如何迴避亦碰到嗎
容祖兒: 偶遇太可怕 今天想偶遇嗎
李克勤: 只好倉卒扮優雅

容祖兒: 沒防礙你吧 李克勤: 回頭其實無路走吧
容祖兒: 就談耐些吧 李克勤: 如乘機將債務清理一下
容祖兒: 路上躲躲避避 但記憶可逃避嗎
李克勤: 共你相見於這窄路如若過不到去
容祖兒: 握手就一起放下嗎
李克勤: 能一起放下嗎

容祖兒: 盡情地表演安逸 或無懼當街衝突
在排練不知多久 終有上演那日
但無亮點的飾物 伴隨劃穿的絲襪
如何能使你悔恨 遺留下我那日

李克勤: 想過早晚會會合 不過此際變事實 都會驚慌失措 似行刑受罰
容祖兒: 好過等到五六十 先至解決這段遺憾
李克勤: 不過這世界末日 比我期待寂靜
容祖兒: 大半世 漫長對立
李克勤: 誰亦沒啜泣

容祖兒: 近來愉快吧 李克勤: 平平無奇沒變化吧
容祖兒: 近來幸福吧 李克勤: 長期情人亦有個吧
容祖兒: 宇宙那麼細 李克勤: 如何迴避亦碰到嗎
容祖兒: 偶遇太可怕 今天想偶遇嗎
李克勤: 只好倉卒扮優雅

容祖兒: 沒防礙你吧 李克勤: 回頭其實無路走吧
容祖兒: 就談耐些吧 李克勤: 如乘機將債務清理一下
容祖兒: 路上躲躲避避 但記憶可逃避嗎
李克勤: 共你相見於這窄路如若過不到去
容祖兒: 握手就一起放下嗎
李克勤: 能一起放下嗎

容祖兒 & 李克勤: 情願就趁當下 收拾頹垣敗瓦

李克勤: 地球未夠大吧 容祖兒: 情人仇人亦會碰面吧
李克勤: 越逃越相遇吧 容祖兒: 凡人為何沒有孟婆茶
李克勤: 要是你知你怕 快面對可以嗎
容祖兒: 抬頭誠實面對可以嗎
李克勤: 世事再可怕 經不起豁達的看化
容祖兒: 悲觀可以被睇化

李克勤: 讓前度繼續來吧
容祖兒: 如從前習慣 怕便退下
李克勤: 就如讓生病 離別也一一看化
容祖兒: 何妨在轉身一剎那

李克勤: 如若你 遇上災劫 即日就和危難做好友吧
容祖兒: 悟透身處這個宇宙 其實那麼的細
李克勤: 就不必再害怕
容祖兒: 無空間再害怕

李克勤: 明白了吧
容祖兒: 嘗試招架

905 上的 Shuffle Loop。。。



That’s the only way for me to buy some peace……

Casting media from terminal to Chromecast.

I would like to setup a cronjob to play RTHK hourly news to my Google Home in the morning, there are many many ways of doing this but here is a simple one.

I already had cronjob running to fetch current RTHK hourly news to a local archive as mp3 file from

By using node-castv2-client, task done in no time.

$ sudo npm install -g castv2-client

The sample code uses mdns to discover all Chromecast device, I am having issue install mdns for unknown reason, but well I already know my IP address of the Google Home anyway, so I comment the discovery part out, hard coded my Google Home IP address, change the URLs or media, title and cover image, then fire up the js file and it is done.

GitHub – A Chromecast client based on the new (CASTV2) protocol

Almost that time of the year….

It has been a tough year for family, for me…

things are going downhill like many marbles rolling down a slope, I am very very tired, sad and frustrated..

Recently, I think of many person I met in my life, to be honest I haven’t seen them for so long, some like 2x years, tho their faces are still as fresh as the day I knew them (of coz, they should have grow old by age, but well, isn’t it a good thing they live young in my mind?)

I notice my memory of the pass days are fading, well, I get old, people all do….. so well, I would like to take the chance to write it down, before I totally forgotten to…

To the people I recently think of, no special reason, and not in order of appearance…
MY, MW, MYW, ML, SC, RC, ES, HW, FK, etc etc….

I know you guys are somewhere doing well, with happiness and joy, we came on a crossroad in our lives, I never did told you guys, thanks, I had a great time, I really did.

All the best bro M!

I know you can do it, finger cross, good luck!

Congratulations to CP and HY!

I really really am happy to hear such a good news, I can’t express my happiness for you two, CONGRATULATIONS!!!!