It’s sad to find previous company no longer exist. What’s even sadder is my portfolio has no place to refer to.

Since the orengeo service is all discontinued, I decide to save my work with some dummy inputs. Driven by the local dummy data, at least I can demonstrate the look and feel of the app and give user the taste of UI/UX.

Read More

Recently, I am working on a project which requires a timer/counter component. The tricky part is the outer rim of the timer which has the countdown animation and I can’t think of an easy CSS trick to create this effect. Besides, I also want to manage the duration and goal in js. So my best chance is canvas.

Read More

When I deal with async, I go promises (deferred). This is the most “promising” approach which make your code reusable and predictable without fall into callback hell.

I would like to share you some useful techniques how to promise well. (Those examples are implementing with Jquery deferred but it can apply to any other implementaion.)

Read More

Acording to Wiki

TetraVex is an edge-matching puzzle. The player is presented with a grid (by default, 3x3) and nine square tiles, each with a number on each edge. The objective of the game is to place the tiles in the grid in the proper position as fast as possible. Two tiles can only be placed next to each other if the numbers on adjacent faces match.

Our front end team has a weekly challenge “Problem of the Week”. Each week lead will propose a FE problem/challenge for team to brainstorm.

Tetravex puzzle is for this week and I am the first one to conquer. With angular and bootstrap, quick prototying is like a piece of cake :P

live demo