From GitHub pages to sidcode.github.io

Siddhant Shrivastava

June 14, 2014

Filed under “

Being a total amateur when it comes to Domain Names, TLDs,CNAME records, and selecting a service from the brutal competition among Domain/Host providers; this journey has been exhausting, time consuming, but essentially important.

Basically everything boils down to communication between two computers in the world. Computers on the World Wide Web (the Internet as we know it - ignoring deep web for now), are addressed by a set of numbers known as IP (Internet Protocol) addresses. Just like your home address, this helps all the computers in the world to know where “on the network”, your computer/ your domain provider’s computer is. IP addresses are generally of the form “192.30.252.153”, in the IPv4 scheme (read more about Combinatorial Explosion and IP in this post’s footnotes ).

Since memorizing numbers for humans is considered too brain-intensive, we delegate this important task to computers, and create human-friendly names in Natural Languages (like English, Arabic, Hindi, Mandarin etc). For example google.com runs on a lot of computers and one such address is 173.194.36.5. Copy paste this number in your browser’s address bar and you’ll reach google.com :D . How do I know about this number? There are a number of ways to find it out. I used:

ping google.com

which resulted in

google.com.             91      IN      A       173.194.36.7
google.com.             91      IN      A       173.194.36.4
google.com.             91      IN      A       173.194.36.5
google.com.             91      IN      A       173.194.36.2
google.com.             91      IN      A       173.194.36.3
google.com.             91      IN      A       173.194.36.14
google.com.             91      IN      A       173.194.36.0
google.com.             91      IN      A       173.194.36.1
google.com.             91      IN      A       173.194.36.6
google.com.             91      IN      A       173.194.36.9
google.com.             91      IN      A       173.194.36.8

ping is a useful utility to test connections over any type of network topology - I’ll be using it more frequently when I talk about my Raspberry Pi setup over a VNC server. (There also I’ll have to create a Static IP)

So getting back to IP address mapping to English language words - henceforth referred to as “domain names”. People like you and me, have the choice to select a name of our choice (similar in spirit to christening children, naming a company, or naming anything in general). Of course, with choice comes competition - and more often than not, the domain name that we want is already chosen by somebody else (remember it has to be unique unlike human names). In my case, siddhant.org was already taken. Since this blog focuses on the confluence of Computer Science and Everything, I decided to append a “sci” to my name, and hence this domain is www.sidcode.github.io.

Initially this site was hosted on GitHub Pages i.e at sidcode.github.io . I always wanted a custom domain name ( David Malan sir’s CS50 lectures also motivated me to get one :D ).

So I went domain service provider hunting. Having just a brief idea about some providers like GoDaddy - I was shocked at the intense competition in this domain (pun unintended). With every other company claiming about features like “Unlimited Bandwidth”, “Unlimited Domains”, “Unlimited email addresses”, and what not - I got wayward, and lost. Of course the limitlessness provided by these providers is an illusion for the people hosting their site on their servers. Servers are simply normal computers running dedicated software to receive incoming connections, and relay outputs according to the requests. And they have to run ALL THE TIME, otherwise the site would go down - since there would be no computer at the receiver’s end to reply. But I realized that I don’t need a special server on these hosting solution providers - since this blog would be hosted on GitHub pages. All I needed was a domain name to which I can point this blog to.

Thus I just bought the domain name for a year (the damage was around 13$) on HostGator.

I modified the DNS records to point to GitHub’ IP addresses provided on https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages . So I created an A record to point from the host(sidcode.github.io) to the static IPs provided by GitHub. On GitHub’s side I created a CNAME file with just the content - “www.sidcode.github.io” in it. This essentially aliased sidcode.github.io to sidcode.github.io.

Now I have to wait for another day to get the two computers of the world, and the Domain Management System to acknowledge this mapping, before you can access this site. If you are reading this, it means that everything is properly configured.

Finalized at 12:53 am.