Announce apollo-reactive-store

State management in frontend is always a problem. Unlike backend, the state in frontend world is pretty fragmented. Not only the local state at each component, the remote state from API, also the global state that is sh

Read More...

Abstraction and essential complexity

TLDR: Inline abstractions and simplify logic to write better code. Programmer’s work today is based on different levels of abstractions in the form of APIs and modules, they hide large amounts of implementation detail

Read More...

Top 10 mistakes senior developers make

There is a lot of article talking about mistakes made by junior developers. But as the experience goes, people encounter different problems and make different mistakes. Here I am talking about some of the mistakes I mad

Read More...

Source code odyssey - Rake

Why?Recently I have a chance to work on mass among of rake tasks in the code base. During the work I found Rake is somewhat confusing but also an interesting framework. So I would like to talk about some of the good and

Read More...

Why inheritance is bad?

It’s been a while ago, when I first study programming in college. I remember the moment when professor introduce us object oriented programming by the classic dog and cat example:

Dog is an animal, Cat is an animal, therefore, they can both share the behaviors of an animal.

Read More...

Good engineer, bad engineer

This an article inspired by the book “Hard things about hard things”, the “good product manager, bad product manager” section. Which is a really good way to explain what is the good quality of a position and what is the opposite behavior of that.

Read More...

Ruby Concurrent Programming

This is a talk that I presented in Case Common learning lunch:

Concurrent programming in Ruby is hard.
Before we start implement things with ‘Thread.new’, we should know the difference between Thread and Process, how to write thread safe code and what framework to use.

Read More...

Bash like a marshall

Bash is a programming language design for interact with user. Which have a very flexible syntax to take command from user.
But in the bottom, it’s just a programming language like any others, it provides variable, function and flow control.

Read More...

Build dropdown list with RxJS

Dropdown list is one of the most common web UI component, but yet one of the most difficult to implement. Recently I was working on a navigation dropdown list with animation. But this time, I implemented it with RxJS, wh

Read More...

Let's build react.js

Recently React is growing to become the de facto standard for web components. And it is also pretty straight forward to learn and use React.

I recommand to start with the official website for documentations, also some examples on github and Todomvc

However, for people already know how to write React, they might still wondering why React is built in a certain way, like React DOM, state, how React update and manipulate the DOM elements.

For those who are curious, this article is going to rebuild React from scratch and create a workable basic React-like framework, by going through the logics in React source code. I hope you can understand how React works after reading this post.

Read More...