Dark Mode
Light Mode

Choose What Allows You to Proceed Now, Optimize Later

Jun 21, 2019 (1 minute read)

Premature optimization is not just bad for programming, it's bad for life decision too.

Joining a Hackathon

May 05, 2019 (4 minutes read)

Personal notes on my recent experience of joining Can You Hack It hackathon.

Thoughts on Testing

Apr 15, 2019 (2 minutes read)

A list of unorganized random thoughts on automated testing

Creating a Simple Event Bus

Apr 09, 2019 (1 minute read)

How to create an event bus to coordinate multiple section of your Javascript app.

Adding Types for npm Packages

Apr 01, 2019 (1 minute read)

How to add custom types for npm packages that doesn't have declaration nor DefinitelyTyped support.


Mar 30, 2019 (1 minute read)


Be Human While You Code

Mar 19, 2019 (2 minutes read)

Even when your colleague or boss doesn't care, write accessible code. Because you can. Because you should. Because you're human, and you care about other human too.

Using Web Component With React

Mar 17, 2019 (2 minutes read)

Using web component in React requires some boilerplates to make it work, trying to abstract that boilerplate has a limitation. With React hooks, it's much less boiletplate and the abstraction is no longer needed.

Type-Safe callAll

Feb 24, 2019 (1 minute read)

You can have typesafe callAll utility in Typescript 3

Using Typescript Type Guard to Narrow Down Type

Nov 26, 2018 (1 minute read)

Using custom type guard allow us to create reusable checking that narrow down the type of a variable

Monitoring Government Website for Content Change

Oct 24, 2018 (2 minutes read)

My experience on developing a web-scraping application that will notify subscribers for any changes of a government website

Accessible HTML File Input

Sep 26, 2018 (1 minute read)

By being more thoughtful, we can have a file input that is beautiful but still accessible.

My First Tech Talk: Render Props & Higher Order Components

Aug 20, 2018 (1 minute read)

A note on my first technical talk on React. I find the act of preparing and delivering the talk satisfying.

How to bargain in marketplace like a tactful auntie

Jun 24, 2018 (3 minutes read)

To bargain successfully in marketplace, make abrupt concession and threaten to flip-table effectively.

How to say no to friends and family that want to borrow money

Jun 23, 2018 (3 minutes read)

When friends/family want to borrow money from you, instead of asking how much they want to borrow first, ask why they want to borrow, and respond accordingly.

React Patterns: Container-Presenter

Jun 17, 2018 (1 minute read)

There are a few design patterns of React component, and the easiest one is the Component-Presenter pattern, which is actually to separate mapping/states/transformation from the rendered content


Jun 16, 2018 (1 minute read)



May 27, 2018 (1 minute read)


Introduction to React with Typescript

May 10, 2018 (2 minutes read)

Using typescript allow static typechecking and intellisense in your React application, and it is easy to get started.

The best way is to Improve Yourself

May 07, 2018 (1 minute read)

Note to remind myself of my working philosophy

My first Meetup

May 01, 2018 (1 minute read)

A journal on my first Meetup experience