caodao's computer science blog