What's in my bag?

I travel a lot. I do not have a permanent office. Here's what in my bag:- Laptop (+ wireless mouse) Stationery Earphones Toothbrush (thanks to CN Gan) Notebooks Namecards USB ports hub What more do I need? … »

Such an irony

I hate hatred (IRONY) … »

Code to learn, learn to code

Since I started learning to code formally at university, I always have doubt on programming class. Before enrolling into university, I learned to code through books and the Internet. But the programming classes during my bachelor degree were comprise of 4 hours of programming lecture on theory and 2 hours… »

NGINX for Ghost Blog

Just wanna share the configuration for my NGINX that I used to front as proxy for this Ghost blog. As you can see I used pagespeed to increase the page performance and optimize the html pages. You may check on the configuration to replace Ubuntu NGINX with built in pagespeed… »

Workstation Setup

What's your workstation setup? Here's mine: Desktop An old pal which I used since my final year of bachelor degree. It has gone through several iterations. CPU Intel Core 2 Duo E6550 (2.33GHz) Motherboard ASUST P5G41T-M LX RAM 8GB DDR3 GPU NVIDIA GeForce 9500 GT Harddisks SAMSUNG Spinpoint 1TB… »

Human's Nature: Vegetarianism is the new Monogamous

Introduction Defying the law of nature maybe one of the differences between human and other creatures on the Earth. Our ability to adapt to these dynamic environment not only prevented the human to go extinct but also making us stronger. Being culturally monogamous in recent times is one of the… »


I've been wanting a mechanical keyboard for a very long time. 2 weeks ago, I ordered a Keycool 87 (Tenkey-less) from Taobao. It just reached yesterday. As you can see, this TKL Keycool 87 came with top printed ABS caps. I dislike ABS caps because the surface will turn shiny… »


We started growing berry trees long ago. Its time to multiply them. Week 3 Progress Updates: All 5 of them Strongest among all Smallest and weakest at the back … »

Function Return

Normally, synchronous function can only returns one value. Therefore, it is better for asynchronous function to follow the same structure (to resolve only one value). In order to return multiple values for each call, it is advisable to use data structure such as array, dictionary...… »

Building NGINX

If you would like to replace the current default NGINX package for Ubuntu with the latest version from source. This is the configuration I tested and used. … »