New Year, New Server and a New Theme

Hello Everyone,

I wish I could have finished this task by 1st January, but nevertheless it’s finally done. Finally I have a new self designed wordpress theme named “Jhantu”. Also I have moved my blog from a shared hosting to my VPS due to increasing traffic.

Transition from one server to another is always painful. Here are the steps which I followed to make my server move smooth:

  • I took a dump of my blog last week and started developing new theme locally on my windows system
  • Yesterday before moving to VPS, I took the latest dump of wordpress blog (click export and download the xml file which guarantees for a smooth move)
  • However the database restoration wasn’t smooth. I found one of my previously published blog has been imported as a draft with no content inside and all comments lost. WTF
  • I had to republish it by extracting the blog content from the downloaded xml (If you are planning to move your blog, check out)
  • Then I changed the DNS settings in Godaddy, so that my domain now points to my VPS (something I discussed here before)
  • However it takes sometime before this new lookup (domain name => IP Address) is propagated worldwide. Infact even though you change the settings at Godaddy, you might continue seeing your old blog
  • I did 3 things, so that I can atleast setup the blog. Cleared browser cache, flushed my DNS lookups (run ipconfig /flushdns on command line), went to C:WINDOWSsystem32driversetchosts and made a new entry which reads: 74.86.123.245 abhinavsingh.com
  • This last entry will force your system to lookup at 74.86.123.245 for abhinavsingh.com

I guess these steps might help you if ever you plan to take the pain of server move.

Finally a bit about plugin’s powering “Jhantu”:

  • Akismet as always is guarding and saving us from spam
  • WP-Toolbar , a custom made plugin for showing a toolbar for outgoing links from my blogpost
  • My Adsense Manager a self written plug-in to embed adsense codes in between the blog posts. Will open source after some testing
  • Show your stats , yet another custom plugin to display my weekly stats on right tabs. Data derived from wordpress stats database using a cron job.
  • All in one SEO Pack, which automatically generates meta description and keyword for each blog post
  • With increasing number of visitors from european and south american citizens, I decided to have a language translator. Thanks to Global Translator for providing such an excellent plugin for translation
  • Google XML Sitemaps plugin for generating instant sitemaps as soon as I publish a new post
  • Thanks to MCEComments which will now allow you to format your comments 🙂
  • Sociable, which you will be using the most to share, print and email these posts if required. However I have customized it to also display tinyurl for the blog post and the RSS/Mail subscription links.
  • Subscribe To Comments will help you to keep upto date with an ongoing discussion
  • Get Recent Comments for keeping you in the know of latest discussions
  • WordPress Related Posts for feeding you with something similar to your taste 😉
  • WP-PageNavi for showing pagination instead of plain previous and next blog links
  • WP-Cache to handle increasing traffic
  • Syntax Highlighter making it easy for you to read through my code snippets
  • Finally WordPress.com Stats to keep a track of incoming traffic 🙂

In future “Jhantu” will be made open source, so that you can run your blog using it. Do let me know your feedbacks about the new theme inspired from Google Code.

What happens before you finally viewed this page?

Since past 1 week or so I am trying to make a small tiny light weight web server of my own, and for the same I have been referring to dozens of papers, websites, people and what not. I still haven’t finished making one, I am still toggling between Java and Python, since both seems to satisfy my needs and unfortunately I am master in none. While I was digging deep into the theory of how can I make a web server, I cleared many other concepts of mine, which finally leads to this post.

“What happens before you finally viewed this page/post of mine ?” – Many of you might know behind the scene stories and many like me might have a vague idea. But for the good of all those who don’t know and for people like me who needs a reference, I thought of better penning it down.

Lets see what possibly is going in the background:

  1. Suppose you type in http://www.yahoo.com in your web browser or clicked this link on some other page.
  2. Your browser see’s the above URL, and identifies it as a HTTP protocol.
  3. Then it breaks the URL into Protocol, Domain Name, File Name (in above case no file name is specified)
  4. Browser contacts its default DNS (Domain Name Server), which helps it with an IP Address. DNS is a huge distributed database which contains mapping of URL’s to IP Address. Your browser’s default DNS might or might not have the required mapping of URL to IPAddress.
  5. If it don’t have the IPAddress corresponding to http://www.yahoo.com , it will try to contact other root name servers for the required IPAddress.
  6. If it already have the IPAddress corresponding to http://www.yahoo.com (which is possible if a similar request has already been made recently) it will provide the required IPAddress to your browser.

And finally your browser then connects to the IPAddress it received and servers you the page returned back by Yahoo!. If you are still not clear about the process, following practical example might help you.

  1. I thought of starting a website and decided to name it as http://gtalkbots.com
  2. Firstly, I needed to register domain name with a registrant. For e.g. In my case I blocked the domain name gtalkbots.com with godaddy.com.
  3. Secondly, I needed to have a machine i.e. a place where I can have all my HTML, PHP files. So I bought a VPS (Virtual Private Server)
  4. Thirdly, I had to link the above two i.e. when someone types in http://gtalkbots.com in his browser, it should come to my VPS where I have my HTML files.
  5. For linking the domain name and my VPS, I simply make an ARecord entry at godaddy, telling it the IPAddress of my VPS. In turn when you type in http://gtalkbots.com in your browser, GoDaddy redirects you to my VPS. (Google for ARecord and CNAME for more details)
  6. Last 4 entries in the image above are for linking my gtalkbots.com domain with my google apps account, so that I can send and receive my gtalkbots.com email on google apps.

There is a lot more to it, however the info above is more than sufficient to understand the basics of
“What happens before you finally viewed this page/post of mine ?”