Github.com provide free blog platform for geeks and hackers. One of the features include custom domain, by default the blog domain is USERNAME.github.com after you create a repository with USERNAME.github.com at your github account.
First, create a file CNAME. Write the custom domain in the file, in my case is dreamand.me. Then commit and push to your repository.
Then, login into your domain management page, add two A records to points to github pages’ IP 220.127.116.11. First record is point from naked domain, in my case is dreamand.me, second record is point from www subdomain. After setup, wait few minutes to let the DNS take effect.
You can have a look at my repository at here.