React: setState Might Be Synchronous

This post is targeted toward React 15. React 16 (fiber) is around the corner and the API might change. For a while, I always believed that…

Posted on 7/30/2017

How Does a Markdown Parser Works

A Look Inside Marked's Source Code

Marked is a popular markdown parser written in JavaScript. I looked into its source code and found that it was actually not hard to…

Posted on 7/16/2017

Those Silly Games We Played in the College Dorm

I was super fortunate to meet a group of friends in the dorm. We got to know each other in our freshmen year and we are still keeping in…

Posted on 7/14/2017

Little Tips about Console

I just read an article by Christian Heilmann. He did a poll on Twitter and it showed that 67% of developers uses to debug their…

Posted on 7/11/2017

Joining Veeva

I think it's time for an update. I just graduated from Stony Brook University, with a Bachelor of Computer Science degree. Two days before…

Posted on 5/28/2017

My take-aways from Strategy Guide: Breaking Into the Game Industry

To me, and I think to a lot of people, game industry seems to be filled with geniuses all with multiple years of experience. Indeed, game is…

Posted on 4/28/2017

I decided to be kind to myself

It's April, suddenly it became very warm. Yesterday was still chilly. Summer is around the corner, I will be stepping out of the gate of…

Posted on 4/11/2017

Angular 2 State Aware Pipes

A brief discussion about impure pipes"

This post will discuss the usage of impure pipe, begin by some introduction. If you know what impure pipes are, go ahead and jump to here…

Posted on 3/30/2017

TypeScipt, Where is my This

TypeScript `this` undefined error

I run into a bug while developing TypeScript recently. The code can boil down into the following snippet. If you are not familiar with…

Posted on 3/18/2017

Let's make a barchart using Angular 2 and D3

Angular 2 is great, D3 is also great, but when they are together, uh, not so great. Angular is a framework for modern front-end…

Posted on 3/7/2017