cao’s blog