Tuesday, January 20, 2009

Which Web Hosting should I take?

Thats the most frequent query that I see in most startup forums. No wonder it is, as setting up a domain is the first thing that any tech startup needs to tackle. Hence I decided to write a post on this, giving my answers. This post will help you with the following:
Registering the Domain
While many hosting providers provide free domains, I believe it is always better to buy your primary domain individually rather than tied to any hosting plan. That ways even if you have to switch your hosting provider anytime, you need not worry about the domain. And with domains costing around $10/year, this is a pretty cheap investment.
There is not much of customer service needed from any Domain Registrar, so I simply looked for the cheapest I could find and registered the domains I needed. I used www.domainsearchindia.com, and while the website looks unprofessional and I had to call them to get things done, it got the job done at pretty much the cheapest prices I have seen so far. Lots of registrars would offer you Email Forwarding or Managed DNS hosting services, but you would not need them. The only thing you need after buying the domain name is an ability to change its nameserver to point to your hosting provider, and that comes for free.

Web Hosting
Web Hosting is a different beast. Here you need reliable servers, high uptime, good customer service and cheap prices on top of that. My first advice is to look for hosting in US. 2 reasons for that - first, bandwidth is cheaper in US and hence you can find a cheaper deal. Second, in general the reliability of US hosting providers and their customer care is better than the Indian ones.
There are 3 kinds of hosting - Shared Hosting, VPS Hosting and Dedicated Servers.

Shared Hosting
- The cheapest option available and is around $5-10 per month. Basically the server hardware on which your website would reside would also have 400-500 other websites hosted. Such a setup is in general used for hosting blogs or simple sites with low traffic. The hosting provider would offer huge bandwidth and harddisk, however there would be no promises on website loading speed. You can start with this for initial testing as well as till your traffic is low. A lot of people recommend Dreamhost for this. We used Lunarpages, and their service wasn't all that great but it was kind of okay. One piece of advice - look for SSH access. The web admin interface they provide isn't meant for techies.

VPS (Virtual Private Server) Hosting - The server hardware is sliced into 4-5 virtual servers using a virtualization software. So effectively you have your own machine with root access. Internally all the slices still use the same hardware but there are some gurantees on your share of CPU and memory. My friend Prateek suggested an excellent VPS hosting provider VpsFarm. Check out his blog post on why he recommends it. This type of hosting costs around $40 per month and works of medium traffic. A lot of people recommend buying multiple VPS slices for horizontal scaling as your traffic grows.

Dedicated Hosting - You own the whole server hardware. Costs start around $160. We have been using SoftLayer and have been pretty satisfied with that. We moved directly from Shared hosting to Dedicated hosting, primarily because I didn't know abt VPS hosting at that time. My website on Indian Tourism serves quite a lot of static content and VPS may have worked out well for us.

Another advice - Most US sites give out discount coupons/special offers from time to time. Do look out for offers and you may be able to get a good deal.

Setting up Email
Use Google Apps for your domain. Thats free and simplest way to setup your own email@domain-name. You would need to put some CNAME records and MX records in the DNS entries of the Web Hosting provider. If you are on shared hosting, you would need to ask the customer support to do the same for you.

This should solve some of the basic pains of setting up your own domain. One thing to notice is that cost of initial setup is pretty low. A domain name with shared hosting would set you back around Rs. 3000 for an year. That would give you enough time to test your new idea :-)

Friday, January 09, 2009

Upgrading iPhone from 1.1.4 to 2.2

It has been quite some time since version 2.0 was released for iPhone 2G. Even though I thought of upgrading many times before, I couldn't due to following reasons:
  • The sites I used for unlocking 1.x versions didn't provide any info for 2.x, and I didn't feel like googling.
  • I wasn't sure whether my data could be backed up.
  • While info on unlocking a fresh iPhone was available, I couldn't really find anything on upgrade.
  • Most tools I found were Mac based.
Now that I did put enough time on google on this and successfully upgraded, here is how I did it:
  • Before starting, this article is strictly for iPhone 2G (i.e. the first phone Apple launched) using Windows.
  • All your data would be restored to the phone after the upgrade, so you need not worry about losing anything.
  • The process is applicable on both upgrading and setting up a fresh iPhone.
  • This would both jailbreak and unlock the iPhone. If you don't know what jailbreaking is, you need not worry.
  • Standard Disclaimer: Unlocking the iPhone voids its warranty. If you don't want that, don't do it. Of course, if you have the 2G iphone in India then its useless without unlocking.
What didn't work - This tutorial using WinPwn. Probably because I missed a few instructions. In any case, WinPwn doesn't 2.2 as of now.

What worked - This tutorial using QuickPwn. Time needed - 25 mins.

Why should you upgrade? iPhone Apps. Check out all the new apps that are available in iTunes store. I have already installed more than 20 (all free) and they greatly enhance the ability of iPhone.

Trouble Shooting (some steps I tried while giving phone support to friends who had issues upgrading)
  • Check that the restore file you downloaded is not corrupt. You can do it by finding the md5sum of the file. It should be 3603b5d9536cd0b269261cab406a7c38. To find out the md5sum, download from here.

Thursday, January 08, 2009

Life, Recession and some Nostalgia

Sometime around this last year, I was patting my team members on the back. We had collectively achieved what for me was "the biggest achievement of my career".

Some 10 months earlier, my CEO had felt the need to revamp one of our offerings. It was a web application in the Education vertical of Lead Generation market, and it had gone pretty big contributing to almost a third of company's revenues. But the product was a two tier jsp/servlet/mysql architecture with little reporting features. We wanted to take this to the next level - scalable and flexible architecture, easier maintenance, much higher data gathering and lots of reporting, optimization and mining on top of that. Me and a colleague of mine were entrusted with this project.

This was exactly the kind of technical challenge I was looking for. Working on the product from scratch, right from reqts to design to coding to testing/deployment, everything was in my hands. And as I realizes later on, such challenges are not just "technical"
10 months is a long time. Its the time when confidences get shaken. Its the time when the entire business team gets changed. And its also the time when a team to 2 grows to team of 10. And when a guy moves from Senior Software Engr -> Tech Lead -> Tech Architect.

It was a great Dec. There are night outs everyday. Everyone in the team was highly motivated. Typical schedule was working till 11 and then having dinner together. We were determined to get our baby to replace the old boy by January. And we did it. I was so proud of my team. I still am.

Sadly, not many are in the company to witness the 1st birthday of the child. The success of the product gave me enough confidence to move towards my next dream, my entrepreneur venture. But some of the others were not as lucky. I never really felt that recession would cause laying off in Indian companies, but it did happen last month and quite a few of my colleagues were unfortunate to be part of it.

Life does not always have a happy ending, but that does not reduce the flavour of the proceedings. The time we all worked together was great, and I would always be proud of working with such a great team. And thank you everyone for making my dream a reality.