Monday, March 16, 2009

Tips to Pick the Right Domain Name

You got a great website for selling your product/service. Now you need a domain name that goes with it.
An easy to remember domain, that follows one of the below rules will help you and your customers.
  1. your company name
  2. your product name
  3. benefits from your product/service
  4. action taken by your users
There are billions of websites, with thousands coming everyday. If you think of a name and most probably they might have already taken by someone. If you are ready to pay for
good domain, then you can do that. But if you are not, then following tips will help you save lot of time.
1. Build keyword list
  First important step in picking the domain name is to find the keywords related to your business.
  Google keyword analyzer, will come handy, in building keywords, which you can use later to form a domain name. When you enter your product related keywords to the keyword analyzer or your competitor website, it will analyze and give you a list of keyword suggestions. Pick the ones that has most search volume, not the ones you like most. There are many other tools to help you build the keyword list.
  Google Sets is another tool that will give predict other keywords based on the specified keywords.
  Keywords can be names, verbs, nouns, action, benefits, mean users etc. When you have the list of keywords ready, go to next step

2. Check Domain Availability
  Domain name tools will help you to find out if a domain name is available. Some tools are more flexible, meaning, they even combine the words specified by you and check their availability. One such tool is www.bustaname.com, in which you can specify multiple keywords and it will mix and match the words and will spit out the available combination's. This will be a huge time saver. The best feature is for each word added, you can view and add the similar words.

3. Register Domain Name
  When you found the domain, that suits your purpose, you can register it with most hosting providers. godaddy and networksolutions are examples of web hosting provider, where you can register your domain.

I hope this article will help you to find your dream domain.
Good luck

Tuesday, March 3, 2009

Load Data with Rails using ActiveWarehouseETL

So, you want to load data from one database to another
and
do some transformations during the loading process?
and
you want to do this using super cool rails

No more worries, ActiveWarehouse, rails plugin, will help you to do just that.This documentation will help you to get started on ActiveWarehouse. Here is an simple example and steps involved to achieve that.

You want to move people from canada_database to us_database and change their country to "us". Don't change if the country is different from canada.
canada_database
people (table)
first_name, last_name, country (columns)
Bob, Smith,canada
John, Stewart, canada

Below is our final expected output
us_database
people (table)
first_name, last_name, country (columns)
Bob, Smith,us
John, Stewart, us
Let's get started

1. Create Rails Project
2. Configure databases:
You need to have these 3 entries in your database.yml
etl_execution:
adapter: mysql
encoding: utf8
database: etl_execution
username: test
password: test
host: localhost

datawarehouse:
adapter: mysql
encoding: utf8
database: us_database
username: test
password: test
host: localhost

operational:
adapter: mysql
encoding: utf8
database: canada_database
username: test
password: test
host: localhost

Run "rake db:create:all" to create these databases
3. create folder "etl" under RAILS_ROOT or wherever you desire.
You will be working in this follder for all your data related tasks.
4. create a file etl\people.etl (naming standard for the file is destination table name) with below contents
source :in, {
:database => "canada_database",
:target => :operational,
:table => "people"
},
[
:first_name,
:last_name,
:country
]
transform :first_name, :default, :default_value => "No First Name" #transformations will be applied to each row before writing to destination
transform :last_name, :default, :default_value => "No Last Name"
transform(:country){|name,value,row| value=="canada"?"us":value }
destination :out, {
:database => "us_database",
:target => :datawarehouse,
:table => "peoples"
}, {
:order => [:first_name, :last_name, :country, :updated_at],
:virtual => {
:updated_at => Time.now
},
}

5. Create a model and run the migration
"people" with columns first_name,last_name,country,created_at,updated_at
6. Run the etl process (data loading process)
Open command prompt and go to etl folder
Run
etl people.etl

This will load the data and will give you the number of rows processed.