liushuping's blog on GitHub