• Emacs JS/JSX development

  • Emacs Vs Vim

    Almost every programming language is overrated by its practitioners. – Larry Wall

  • Dividing React Component

    Writing a program is like drawing. Both start from nothing to a complex artifact. The reason human being can build those complex artifacts is people know how to divide a complex problem to small pieces . The same goes to writing react components. A react component is usally represented by a class whose structure is not easy to see. An alternative is to compose the component by some utility functions.

  • Switching to Simple Terminal from Urxvt



    I have been using Urxvt happily for a long time until vim-airline added a new symbol few months ago. The new symbol is ‘☰’. Urxvt can only render this symbol if the first font of its font-list option in Xresources contains this symbol, despite its claim of having fallback capability. In addition, urxvt cannot render other powerline symbols perfectly(the black line besides the triangle symbol). So simple terminal(st) comes as a better alternative without the aforementioned rendering issues.

  • Generalized Set Action for Redux Reducer

    Redux is a popular framework for writing React app. After using it for a while, I noticed the code I wrote contains a lot of boilerplates, especially when it comes to reducer. This issue can be mitigated by using Lodash. This article shows how to use Lodash to write concise and flexible reducer.

  • Vim and Neovim Configuration

    Although IDEs might be solid nowadays with just very few user’s configuration. A fully customized editor like Emacs or Vim has greater productivity still. The Vim configuration file proposed here might be a good starting point for anyone who’s interested in Vim or a reference for the experienced user.