World Web Usage

Thursday, September 16, 2010

According to the latest statistics it was observed that

1. There are nearly 2 billion web users in the world which is approximately 1/6 th of the world population.


country

web users

penetration level

Asia

800 million approx.

21.5 %

Europe

500 million approx.

58.4 %

N. America

260 million approx.

77.4 %

S.America

200 million approx.

34.5 %

Africa

100 million approx.

10.9 %

Middle East

60 million approx.


29.8 %

Australia &
Oceania countries

21 million approx.
61.3 %


2. There are approximately 200 million websites in the world.

3. As of now India is having nearly 81 million web users and it was projected that India will be the 3 rd largest web user by 2013 , china and U.S taking the first two positions respectively.

Pairworks Release Notes

Monday, April 5, 2010

Release Notes

Home Page
1.Become a fan in Facebook

ProductBacklog:
1. Persona intergrted for each userstory
2. Manage tasks when split and merge userstories

Iteration Board:
1.user's image instead of user's name

and much more..
Please give us your comments.

pairworks release note - 20th feb 2010

Monday, March 8, 2010

Release Notes

IE 8 issues fixed

Dashboard:
1. Showing all comments instead of showing latest comments
2. Humanized dashboard

Iteration Board:
1. showing attached images in thumbnail and bigger image in pop up
2. can view user story history in iteration board
3. icons organized

Product Backlog:
1. Look and feel changes in Split user story and Merge user story
2. very old userstories in product backlog were previous identified by light gray color, which was not readable, hence now they are indicated by text.

and much more..
Please give us your comments.

Ruby & Rails best practices

Saturday, February 27, 2010

Rails Best Practices



• Concept: What’s good code?
• Move Code from Controller to Model
• RESTful best practices
• Model best practices
• Controller best practices
• View best practices


1. Move Code from Controller to Model
Before

class PostsController < Application controller
def index
public_posts =" Post.find(:all," conditions =""> { :state => 'public' }, :limit => 10, :order => 'created_at desc')
@draft_posts = Post.find(:all, :conditions => { :state => 'draft' }, :limit => 10, :order => 'created_at desc')
end
end

After

class UsersController < ApplicationController
def index
@published_post = Post.published
@draft_post = Post.draft
end
end

class Post < ActiveRecord::Base
named_scope :published, :conditions => { :state => 'published' }, :limit => 10, :order => 'created_at desc')
named_scope :draft, :conditions => { :state => 'draft' }, :limit => 10, :order => 'created_at desc')
end

2. Use model association
Before

class PostsController < ApplicationController
def create
@post = Post.new(params[:post])
@post.user_id = current_user.id
@post.save
end
end

After

class PostsController < ApplicationController
def create @post = current_user.posts.build(params[:post])
@post.save
end
end

class User < ActiveRecord::Base
has_many :posts
end

3. Use scope access
Before
 
class PostsController < ApplicationController
def edit
@post = Post.find(params[:id)
if @post.current_user != current_user
flash[:warning] = 'Access denied'
redirect_to posts_url
end
end
end

After

class PostsController < ApplicationController
def edit
# raise RecordNotFound exception (404 error) if not found
@post = current_user.posts.find(params[:id)
end
end

4. Add model virtual attribute
Before
  
<% form_for @user do |f| %>
<%= text_filed_tag :full_name %>
<% end %>

class UsersController < ApplicationController
def create
@user = User.new(params[:user)
@user.first_name = params[:full_name].split(' ', 2).first
@user.last_name = params[:full_name].split(' ', 2).last
@user.save
end
end

After

class User < ActiveRecord::Base
def full_name
[first_name, last_name].join(' ')
end
def full_name=(name)
split = name.split(' ', 2)
self.first_name = split.first
self.last_name = split.last
end
end

<% form_for @user do |f| %>
<%= f.text_field :full_name %>
<% end %>

class UsersController < ApplicationController
def create
@user = User.create(params[:user)
end
end

5. Use model callback
Before

<% form_for @post do |f| %>
<%= f.text_field :content %>
<%= check_box_tag 'auto_tagging' %>
<% end %>

class PostController < ApplicationController
def create
@post = Post.new(params[:post])
if params[:auto_tagging] == '1'
@post.tags = AsiaSearch.generate_tags(@post.content)
else
@post.tags = ""
end
@post.save
end
end

After

class Post < ActiveRecord::Base
attr_accessor :auto_tagging
before_save :generate_taggings
private
def generate_taggings
return unless auto_tagging == '1'
self.tags = Asia.search(self.content)
end
end

<% form_for :note, ... do |f| %>
<%= f.text_field :content %>
<%= f.check_box :auto_tagging %>
<% end %>

class PostController < ApplicationController
def create
@post = Post.new(params[:post])
@post.save
end
end

6. Replace Complex Creation
Before with Factory Method

class InvoiceController < ApplicationController
def create
@invoice = Invoice.new(params[:invoice])
@invoice.address = current_user.address
@invoice.phone = current_user.phone
@invoice.vip = ( @invoice.amount > 1000 )
if Time.now.day > 15
@invoice.delivery_time = Time.now + 2.month
else
@invoice.delivery_time = Time.now + 1.month
end
@invoice.save
end
end

After with Factory Method

class Invoice < ActiveRecord::Base
def self.new_by_user(params, user)
invoice = self.new(params)
invoice.address = user.address
invoice.phone = user.phone
invoice.vip = ( invoice.amount > 1000 )
if Time.now.day > 15
invoice.delivery_time = Time.now + 2.month
else
invoice.delivery_time = Time.now + 1.month
end
end
end

class InvoiceController < ApplicationController
def create
@invoice = Invoice.new_by_user(params[:invoice], current_user)
@invoice.save
end
end

7. Move Model Logic into the
Before Model

class PostController < ApplicationController
def publish @post = Post.find(params[:id])
@post.update_attribute(:is_published, true)
@post.approved_by = current_user
if @post.create_at > Time.now - 7.days
@post.popular = 100
else
@post.popular = 0
end
redirect_to post_url(@post)
end
end

After Model

class Post < ActiveRecord::Base
def publish
self.is_published = true
self.approved_by = current_user
if self.create_at > Time.now-7.days
self.popular = 100
else
self.popular = 0
end
end
end

class PostController < ApplicationController
def publish @post = Post.find(params[:id])
@post.publish
redirect_to post_url(@post)
end
end

Pairworks Released

Monday, February 22, 2010

Release Notes

Home page:
1.Re-designed
2.Video for pairworks overview
3.Ten reasons why you need pairworks
4.Tour page re-designed

Graphical reports:
1. Velocity chart
2. Product release burndown chart
3. Project history


and much more..
Please give us your comments.

Save a restaurant from its competitor - Mind Map exercise

Monday, February 15, 2010


When you foster right environment, creative juices flow immensely, thereby producing lot of great, funny ideas. Last week's team meeting was one such environment, which produced this great looking mind map. Our exercise was to develop a plan/mind map to save a restaurant whose revenue is threatened by a competitor, planning to open a branch nearby. Our team started on a big white board with spoon and fork in the middle (representing the restaurant). Mind map slowly started unfolding right in front of our eyes with every one's involvement, which was the sight to watch. Attached is the completed mind map.

Is PairWorks for you ? Check out & signup for free!

Tuesday, August 11, 2009

Get ->Set ->Deliver your Project successful.

Try For Free

  • Pairwork is 100% free for managing 1 project
  • Unlimited Users . Teams . Iterations & Features

    How PairWorks valuable to you?

  • Track Your Projects with Signals
  • Identify How Efficient your team is with velocity & burn down Charts
  • Manage Your Project Iterations
  • Manage Your User Stories / Features with points
  • Manage Your Project Works with estimated man hours
  • Manage Your Team members with Open ID


Who can use PairWorks?

Who ever Manages Operational Projects , Development Projects , new initiatives , strategies , ideas , sales & marketing, finance , Human Resource(HR) , Manufacturing , Distribution , etc. for any industry [ Information Technology (IT) & Non-IT ] Usually, all of the above are not managed with proper Management tools. We can help you to use Pairworks following agile methodologies to be successful in all of your initiatives.

Take A Video Tour Of A simple Agile Practice:

http://www.pairworks.com/faq

Features video : http://www.pairworks.com/video_tour/features/features.html

Check out user plans:
http://www.pairworks.com/scrumboard/show_user_plans

Keep you updated on Agile Methodologies on Web : www.agileOnWeb.com

Dynamically load a class in ruby example

Thursday, July 30, 2009

Dynamically loading a ruby class or ruby module is arguably, one of the most powerful feature, Ruby language has. Below example demonstrates its usage, you can also refer to rdoc for more information.
Examples:

  
Class.by_name("String") # -> String
Class.by_name("::String") # -> String
Class.by_name("Process::Sys") # -> Process::Sys
Class.by_name("GorillaZ") # -> (ArgumentError)

Class.by_name("Enumerable") # -> Enumerable
Module.by_name("Enumerable") # -> Enumerable

Object.const_get("String") # -> String
Object.const_get(:String) # -> String

require 'test/unit'
Test.deep_const_get("Unit::Assertions") # -> Test::Unit::Assertions
Test.deep_const_get("::Test::Unit") # -> Test::Unit

What is Project?

Monday, June 29, 2009

What is Project?
A project is a temporary endeavor undertaken to accomplish a unique purpose. Usually Projects involve several people performing interrelated activities, and the main sponsor (the body paying) for the project is often interested in the effective use of resources to complete the project in an efficient and timely manner.

  • The major goal of a project is to satisfy a customer’s need.
  • When the Project Objectives are met in a specified duration or Project terminated. In either of the case there will be Start date and End date.
It is important to identify the attributes of a project as listed below:

  • Has a unique purpose.
  • Is temporary.
  • Is developed using progressive elaboration.
  • Requires resources, often from various areas.
  • Should have a primary customer or sponsor.
  • The project sponsor usually provides the direction and funding for the project.
  • Involves uncertainty.
Every project is constrained in different ways by it’s:
  • Scope goals: What work will be done?
  • Time goals: How long should it take to complete?
  • Cost goals: What should it cost?
  • Quality often required
It is the project manager’s duty to balance often-competing goals.

Initially a project is looked at a high-level, but later detailed as the project moves forward, which is termed progressive elaboration.

Why Datawarehouse? Do your company need one?

Data Warehouse As Absolut-e See It

Absolut-e has many times solved organization business issues using data warehouse solutions. We have highly qualified architect consultants who know how to provide solutions to organizations using data warehouse technology. These consultants get better every day on what they do. Data warehouse will be described fully.

What is Data Warehouse?

Data warehouse is a repository for storing organizations historical data. There are numerous historical data that a company may want to store.

Example is data on employees, customer,product,how efficient company's order processing system, Which Plant is providing more profit , trend of last year vs this year much more.

It is important to understand that the data warehouse contains raw data. Data stored in the data warehouse is usually retrieved in the form of information which means the data analyst can perform complex queries and analysis. Queries used to access the information have to be written well to avoid slowing down the operational system. The typical reasons why DWH would be used are as follows:

  • It is used as an investigation tool to find new knowledge. Typical example is to learn more about customers.
  • An organization may decide to use an existing data to make strategic decisions that may have an impact on how they do business
  • DWH help to integrate variety of application systems
  • Sometimes database alone may be inefficient to run analysis on data. Other times databases may be impossible to run trends due to missing data
  • In the real world organizations have more than one operational system, so company-wide reporting could not be supported from a single system
  • Reports in operational systems often require writing specific computer programs which tend to be slow and expensive

The above reasons for DWH creation are solid and it is proven over and over that there is a real need for DWHDWH, which are as follows: in the business world. It is important to mention that there are different types of

  • A Multidimensional Data Model
  • Cuboid
  • Data Cubes – Data modeled and viewed in multiple dimensions, and defined by dimensions and facts
  • Data Cubes
  • Fact Constellation Schema
  • Star Schema
  • Snowflake Schema

What is involved in designing DWH?

The general concept of DWH is to bring data together from a variety of existing databases to support management and reporting needs. The principle is that data should be stored at its most elemental level because this provides useful and flexible basis for use in reporting and information analysis. This is not always the case, because of different focus on specific requirements that require different methods for designing and implementing data warehouses.

For a DWH to be designed the consultant need to understand and analyze business needs and create a business analysis structure The consultant has to be conversant with different views, which are To-Down, Data Source, Data Warehouse, and Business Query. With Top-Down View information has to match current and future business need, and allow selection of relevant information. Data Source View captures, stores, and manages the information by means of data modeling. In the Data Warehouse View, Fact tables and dimension tables and Recalculated totals and counts, and source information In Business Query View data is viewed from the end user view point

The DWH is accomplished by process designs, using the following approaches: Top-Down, Bottom-Up, Combined, and Combined, software engineering point, and step list. Top-Down approach is used when adequate technology is available and understood, especially, when business problems are clear and well understood. It is accomplished with overall designing and planning. The Bottom-Up approach begins with prototypes and experiments. This approach is useful when modeling and the technology is new. It helps to evaluate benefits before making significant commitment to the design. One would use Combined Approach to plan and strategize while retaining rapid development from bottom-up approach. Waterfall or Spiral methodologies may be used in terms of software engineering point of view. In the case of step list business processes, grain, dimension and measures are utilized.

What benefits our clients gain from our data warehouse projects?

Some benefits of using a DWH are as follows:

  • It enhances end-user access to a wide variety of data
  • It enable business decision makers to obtain various kinds of trend reports, for examples are the customers pattern of purchasing, and the item with the most sales in a particular area or country for the last five years.

A data warehouse can significantly enable commercial business applications such as Customer Relationship Management (CRM) , SAP (ERP), Peoplesoft, Oracle EPM , Sales Force, and sales analysis and trends.

What are Absolut-e recommendations on designing and using DWH?

We recommend that you use consultants who have solid understanding of data and it’s manipulation. As the saying goes “garbage in garbage out”. Absolut-e consultant’s have enormous experience of designing and deploying data warehouse applications successfully. Absolut-e will use the correct tools to develop your data warehouse, such as Business Intelligence (BI). BI is a term that refers to applications and technologies which are used to collect, provide access to, and analyze data and information about organization operations. BI enables companies to have a more comprehensive knowledge of the factors affecting their business. For example, metrics on sales, production, and internal operations. Also, it can help companies to make better business decisions. Other benefits of using BI tools are as follows:

  • BI applications and technologies can help companies analyze the following: changing trends in market share, changes in customer behavior and customers’ preferences, spending patterns, company capabilities and market conditions.
  • BI systems can help companies develop consistent and solid business decisions leading to better results than basing decisions on guesswork. Also, it can enhance communication among departments, coordinate activities, and enable companies to respond more quickly to changes that may include financial conditions, and customer preferences.
  • BI applications and technologies can enable companies to make more informed business decisions, and they may give that organization a competitive advantage.
  • BI enables companies to gather information on the trends in the marketplace and come up with ground-breaking products or services in anticipation of customer’s changing demands. Companies need to have accurate, up-to-date information on customer preferences, so that they can quickly adapt to their changing demands.
Why Wait ? check out our free consultation now : www.absolut-e.com
Email us: sales@absolut-e.com to schedule your free consultation & how Absolut-e provide solutions to your data problems & build Decision Support System (DSS)

Discuss and get answered

Discuss and get answered:
Speed has become the order of the day. We no longer have the pleasure of making leisurely decisions. Better and quick decision making has been a necessity for survival.

Better decisions come from better inputs and quicker decisions come from the prior knowledge and in-depth analysis of the options available.


But, is all the knowledge to make these decisions available? Yes, but it is scattered. All that you need to do, to gather this scattered information, is to speak aloud and air your views, doubts, questions ….

So go ahead and start a discussion and see how information comes pouring down, to help you make a considered decision.

http://fourm.eduhelp.in

Anna University Engineering Counseling :

Anna University’s engineering counseling is scheduled to start on 05/July/2009. This is the time to make quick and better decision on the college and the branch that will determine your future. Many of us have numerous questions on the subject but are clueless on where or how to get the answers. If you one among this lot, worry not. Ask you questions and get answered.
And if you have an answer for any of the questions raised here, answer them and become a part of this knowledge sharing innovation – to benefit and get benefited.

http://fourm.eduhelp.in

Service Sector – Demystified

Saturday, June 27, 2009

Service Sector Demystified

Dripping faucets, clogged drains, Leaky roofs … – these are simple day-to-day problems with even simpler solutions, if only the providers of the services could be found on time and with ease. But, it is not that simple and easy when it comes to practice. Where and how are the two factors that mystify the whole process of finding a service provider.

Is it really hard to find a provider? Certainly not. There are innumerable service providers, more often in our own vicinity. If only we could find time to browse through the yellow pages or surf the web, get the contact numbers, speak to the providers, schedule an appointment, check the credentials and finalize contract, finding a service provider is never going to be a problem. But how many of us have the time to do it? We are left, more often than not, wondering whether there will ever be an agency or a machinery to take care of all these nitty-gritty of service procurement and execution.

It is with this specific purpose of providing an all encompassing service in the services sector, that eServicePlace (ESP) has been launched from the stables of Absolut-e datacomm, a pioneer in …………………………………… Next time you need a service, be it small or big, all that you need to do is log on www.eserviceplace.com and register your requirement. Everything else will be taken care of, by ESP. Remember, at ESP, you’ll get not just service, but quality service, time and time again.

And ESP is not for service requesters alone. For service providers, ESP is another marketing arm to effectively publicize services and thereby procure genuine clients. So, if you are a service provider, just register your offer and make your business prosper.

You may be an entrepreneur or a Home maker or a student or an employee. Irrespective of whom you are, if you think you have a marketable talent and if you think you can keep up the quality and meet deadlines, come to ESP. Everything else to earn clients for you will be taken care of.

eServicePlace is aimed at filling the much felt void of an efficient and honest service facilitator. We, at ESP, have determined to fill this void by providing a secure e-environment for smooth, easy and hassle-free buying and selling of services. As an inaugural offer, all our services are free. So, log on to www.eserviceplace.com and relish the whole new experience of hassle-free service.

Total Population & market Potential

Total Population & Market Potential


Multilevel pyramid schemes actually work–for the people at the top. But really it is not.
Check out how quick it can reach to max out.

Probably this diagram would be helpful for the business people to calculate the potential in terms of
reaching out to public or people.

US Population : 362,797,056
World population : 13,060,694,016

Think about if I / we come up with something sell able to US Population alone with $1 profit. It is worth of about 362 Million if $1 as the profit. But reaching out to every one is the most tough issue.

How Can eService Place Help the Economy?

How Can eService Place Help the Economy?

Economic recession proof environment answer is right by your door! How about having an environment where you can make money by utilizing your skills and expertise, and get you out of the gloom feeling of current economic pinch?

Yes, eServiceplace is an environment (market place) that can be utilized by people of all background with skills to make money, and service requesters to save money. People with skills can offer their skills as service providers. We see a lot of people out there who need some sort of service such as tax preparation, carpentry, plumbing, and other service needs; 4500 Service Categories are grouped in eServicePlace. We have individuals who can offer their skills and are able to provide service work with high quality, but at an affordable cost.

So, what does it all mean to the service provider and the service requester? The service provider can earn money and does not have to wait for an employer to hire. The service requester can get the same work done with all the high quality at an affordable cost, saving money. In the end it is a win-win situation to everyone contributing to the economy. Hope you take advantage of this opportunity! It is there to help you come out of the gloomy economy. Check out www.eServicePlace.com!

Website: www.eServicePlace.com

Email: support@eServicePlace.com

Top 10 Problems in the Existing Social Media

Top 10 Problems in the Existing Social Media:

1. Too many people
2. Too many blog & articles
3. Too many bluffers
4. Too many Products
5. Too many Job Postings
6. Too many web sites
7. Too many Service Offerings
8. Too many Marketing promotions
9. Too many News
10. Too many Videos


1. Too many people :
There are Billions of People in the Social Media , thats good every one is using these.
But Each one has profile in the Twitter , LinkedIn, Facebook, MyBlog , Google , Windows Live , Yahoo and much more social sites.

To identify their value & how would they be helpful to you , No way to tell unless until you go through every profiles. To do so it takes lot of time of yours.

2. Too many blog & articles
There are Billions of blog posts & articles every day. Are these useful for you ? Not every blog posts & articles. But there are very important & useful blogs posts & articles.

To Identify which is useful & is it targeting on your interest?
Your time on getting to the important blog posts and articles are very high.

3. Too many bluffers
There are lot of bluffers.
How do you exclude these bluffers ?

4. Too many Products
There are lot of Products available , but which one is better , to do
-- need to search on the Feedback sites , but it takes lot of your time to compare.

5. Too many Job Postings
There are lot of Job Postings , which is real & genuine. Identify which is suitable for you is time consuming work for you.

Currently there are lot of systems provides Search based on Skills to match the job postings. But still you need to go through each one of the job postings.

6. Too many web sites
There are lot of Web Sites and Web Applications , how do you decide which one is important to you. There is no system compares & provide ranking. Some are there through the Google Rank.But how famous it is you do not know until you go through their content & attractiveness.

7. Too many Service Offerings
Lot of Service Offerings by different companies or free lance service Providers.
Which Service Offering is better or good or at least not worst ?

8. Too many Marketing promotions
Too many Marketing , advertising & Sale promotions ,
How do you identify which is useful Promotions for what you are looking for ?

9. Too many News
Too many News , but there are important news for you to know. How do you get that news when it is happening. In this, Twitter is good at least gives you current happenings. But which type of News are important to you.

10. Too many Videos
Too many videos are posted every day , which one is important to you , thats very tough to identify.

Almost every time I go to www.YouTube.com , at least takes 1-2 hours in that site to identify what I was looking for , but at last I am lost ,then I need to think about why did I go there in the first place & what I was looking for.

All of the above items make me(/you) to lost in the Social Media websites. That's good that you have lot info in these. But at the end of the day you spent whole day nothing accomplished.

As we all Social Media people , we need to build a system which takes care of above mentioned problems. Please provide your valuable inputs to solve & Resolve.

Final Questions :
How do we identify what is worth of those to you ?
Do you really need to go through all of them to identify what is important to you ?

Services Market Place www.eServicePlace.com

Services Market Place www.eServicePlace.com

Services market place that connects to the service requester and service providers all over the world but currently it is released only USA. In United States of America alone there are 33 Million service providers and nearly a Billion requesters (General Public). Every day there are service requesters who need service providers to enable the ease of their service. Absolut-e has realized this need and has developed eServicePlace.com to maintain the service requesters and providers transactions by enabling tools to efficiently manage the community.



The following are the key features of eServicePlace.com:

1. Finding the providers and requesters

2. Placing service request

3. Bidding on the service request

4. Scheduling appointment for on-site estimation

5. Scheduling appointment for performing the services

6. Provider selection

7. Contract management

8. Work order management

9. Managing the service status

10. Financial management

11. Payment management

12. Rating/Review of requesters and providers

Feel free to use and provide your valuable input to make www.eserviceplace.com a successful concept to reality.

Look at "How It works" --> http://www.eserviceplace.com/services/howitworks/home.do

Please provide valuable input & we are in the process of promoting eServicePlace.com
Any help would be appreciated.

Polls: http://polls.linkedin.com/p/21365/frxdf

What is Cheat Sheet?

Cheat Sheet are quick reference guide as reference cards.

In more general usage, a "cheat sheet" is any short (one or two page) reference to terms, commands, or symbols where the user is expected to understand the use of such terms etc but not necessarily to have memorized all of them. Many computer applications, for example, have cheat sheets included in their documentation which list keystrokes or menu commands needed to achieve specific tasks to save the user the effort of digging through an entire manual to find the keystroke needed to, for example, move between two windows.

Usage of Cheat Sheet -->
1. To capture Maths formulas
2. To capture syntax of particular Software or package or Computer Language.
and much more..

Please check out : http://cheatsheet.absolut-e.com , You can create your own cheat sheet or reference card. Still on development. We will be releasing soon with OpenId and on that time you can create your own CheatSheet and create PDF.
Feel free to provide your suggestion on this application http://cheatsheet.absolut-e.com

eServicePlace Promotion

eServicePlace Promotion
We are trying to promote http://www.eServicePlace.com , any help would be appreciated. We would try your ideas of promoting. But we need further more not only on promoting , use frequently on posting your any kind of Service Requests (Public Requests) it is totally free.

This is very good concept & we need help each one of you to be successful concept to reality.
Planning to set up an Advisory board and try to add each one of the helping persons into this board. Please suggest if you have any ideas how to get lot of Public requests.

How Can you Help us ?

1. Post you Service Needs & request as a Public request

2. Provide us input to how could we improve ?

3. Suggestions & email note to be involved in the www.eServicePlace.com Advisory board.

4. If you think you can help us on getting investors.

What is eServicePlace?
Services market place that connects to the service requester and service providers all over the world but currently it is released only USA. In United States of America alone there are 33 Million service providers and nearly a Billion requesters (General Public). Every day there are service requesters who need service providers to enable the ease of their service. Absolut-e has realized this need and has developed eServicePlace.com to maintain the service requesters and providers transactions by enabling tools to efficiently manage the community. The following are the key features of eServicePlace.com:
1. Finding the providers and requesters
2. Placing service request
3. Bidding on the service request
4. Scheduling appointment for on-site estimation
5. Scheduling appointment for performing the services
6. Provider selection
7. Contract management
8. Work order management
9. Managing the service status
10. Financial management
11. Payment management
12. Rating/Review of requesters and providers

Feel free to use and provide your valuable input to make http://www.eserviceplace.com a successful concept to reality.

What is the future of SaaS (Software as a Service)? Do you think it will succeed? If yes, why?

What is the future of SaaS (Software as a Service)? Do you think it will succeed? If yes, why?

Future SaaS of DW / BI and also other software development & environment are extremely promising:
Yes. It will Succeed.
Because
1. Infrastructure costs are reduced instead of one time huge investment
2. Reduced in Software cost by usage instead of buying
3. Implementation cost on IT Consultants reduced
4. Latest - Security reliability
5. Current Internet Speed & their Cost
6. Reduced - Operations cost on System Administration
7. Cost Spent Efficiently for the Usage.
8. There would not be any new upgrades , new technology transfers , because currently N number of Softwares are coming into Market & their Support
9. Any time pick different Service Provider & advancement with new trends & Technologies.

-- There are lot to go on.

Comparison of Bill Inmon and Ralph Kimball paradigm:

Comparison of Bill Inmon and Ralph Kimball paradigm:

In the data warehousing field, we often hear about discussions on where a person / organization's philosophy falls into Bill Inmon's camp or into Ralph Kimball's camp. We describe below the difference between the two.

Bill Inmon's paradigm: Data warehouse is one part of the overall business intelligence system. An enterprise has one data warehouse, and data marts source their information from the data warehouse. In the data warehouse, information is stored in 3rd normal form.

Bill Inmon: Endorses a Top-Down design
Independent data marts cannot comprise an effective EDW. Organizations must focus on building EDW.

"You can catch all the minnows in the ocean and stack them together and they still do not make a whale,"
Bill Inmon, January 8, 1998.


Ralph Kimball's paradigm: Data warehouse is the conglomerate of all data marts within the enterprise . Information is always stored in the dimensional model.
Kimball model also proposes the data warehouse bus architecture. This architecture is comprised of:
- A staging area (which can have an E/R or relationally designed 3NF design or flat file format), which cannot be accessed by an end-user of the data warehouse bus (Presentation Layer) .
-The Data Warehouse Bus itself which includes several atomic data marts, several aggregated data marts and a personal data mart but no single or centralized data warehouse component.
The Data Warehouse Bus:
- Is dimensional;
- Contains transaction and summary data;
- Includes data marts, which have single subject or fact tables; and
- Can consist of multiple data marts in a single data base.


There is no right or wrong between these two ideas, as they represent different data warehousing philosophies. In reality, the data warehouse in most enterprises are closer to Ralph Kimball's idea. This is because most data warehouses started out as a departmental effort, and hence they originated as a data mart. Only when more data marts are built later do they evolve into a data warehouse.

Ralph Kimball: Endorses a Bottom-Up design
EDW effectively grows up around many of the several independent data marts – such as for sales, inventory, or marketing

"...The data warehouse is nothing more than the union of all the data marts...,"
Ralph Kimball, December 29, 1997.

The main difference is Top-Down vs. Bottom-Up Approach.
Let us see the advantages & disadvantages:

Advantages of Top-Down Approach: [Bill Inmon Approach]:

  • A truly corporate effort, an enterprise view of data
  • Inherently architect ed- not a union of disparate DataMarts
  • Central rules and control
  • May be developed fast using iterative approach
Disadvantages of Top-Down [Bill Inmon Approach]:

  • Takes longer to build even with iterative method
  • High exposure/risk to failure
  • Needs high level of cross functional skills
  • High outlay without proof of concept
  • Difficult to sell this approach to senior management and sponsors
Advantages of Bottom-Up Approach [Ralph Kimball Approach]:
  • Faster and easier implementation of manageable pieces
  • Favorable ROI and proof of concept
  • Less risk of failure
  • Inherently incremental; can schedule important DataMarts first
  • Allows project team to learn and grow
Disadvantages of Bottom-Up Approach [Ralph Kimball Approach]:
  • Each DataMart has its own narrow view of data
  • Permeates redundant data in every DataMart
  • Difficult to integrate if the overall requirements are not considered in the beginning
Kimball encourages to have perspective of both “vertically” and “horizontally”
while gathering business requirements while developing/designing data marts using Bus Architecture to integrate in to Enterprise Data warehouse.

Vertical
  • Don’t just rely on the business data analyst to determine requirements
  • Inputs from senior managers about their vision, objectives, and challenges are critical
  • Ignoring this vertical span might cause failure in understanding the organization’s direction and likely future trends
Horizontal
  • Look horizontally across the departments before designing the Data Warehouse
  • Critical in establishing the enterprise view i.e Bus Architecture
  • Challenging to do if one particular department if funding the project. [Even one departments funds this project , but all the departments together become the company]
  • Ignoring horizontal span will create isolated, department-centric databases that are inconsistent and can’t be integrated while considering for Enterprise Data Warehouse
  • Complete coverage in a large organization is difficult , but CEO or CTO represents all of the departments. They should have the proper understanding of the full business and recommend what is good for whole company not just one department.
  • One rep. from each dept. interacting with the core development team can be of immense help
  • Creating a Business Decision Making group when there is a difference in the perspective from each department would help in resolve these kind of conflicts.
New Practical approach by Kimball
  • Plan and define requirements at the overall corporate level
  • Create a surrounding architecture for a complete warehouse
  • Conform and standardize the data content
  • Implement the Data Warehouse as a series of Supermarts, one at a time
[Notes: Soon I will have detailed steps & process to be followed by Kimball , please check back or subscribe to my blog]

SUPERMARTS

  • Totally monolithic approach vs. totally stovepipe approach
  • A step-by-step approach for building an Enterprise Data Warehouse from granular data
  • A Supermart s a data mart that has been carefully built with a disciplined architectural framework
  • A Supermart is naturally a complete subset of the Data Warehouse.
  • A Supermart is based on the most granular data that can possible be collected and stored
  • Conformed dimensions and standardized fact definitions
Data Warehouse to Data marts


Operational Source System (OSS) To Directly transforms data to Enterprise Data Warehouse Let us call -- ETL Process (1) .

Enterprise Data warehouse to Data Marts
Let us call -- ETL Process (2).






Enterprise Data Warehouse











[Further comparison will be added often ]

Data Modeling - Normalization process (1NF,2NF,3NF)

Data Modeling - Normalization process (1NF,2NF,3NF)

What is Normalization ?
Normalization is the process of putting things right.

First normal form (1NF):
------------------------
Table faithfully represents a relation and has no "repeating groups"

Second normal form (2NF):
-------------------------
No non-prime attribute in the table is functionally dependent
on a part (proper subset) of a candidate key

Third normal form (3NF):
------------------------
Every non-prime attribute is non-transitively dependent on every key of the table

----------------------------------------------------------------------------------------

First Normal Form (1NF)
First normal form (1NF) sets the very basic rules for an organized database:

* Eliminate duplicative columns from the same table.
* Create separate tables for each group of related data and
identify each row with a unique column or set of columns (the primary key).


Second Normal Form (2NF)
Second normal form (2NF) further addresses the concept of removing duplication data:

* Meet all the requirements of the first normal form.
* Remove subsets of data that apply to multiple rows of a table and place them in separate tables.
* Create relationships between these new tables and their predecessors through the use of foreign keys.

Third Normal Form (3NF)
Third normal form (3NF) goes one large step further:

* Meet all the requirements of the second normal form.
* Remove columns that are not dependent upon the primary key.

-----------------------------------------------------------------------------------------------------

Example:
-----------
Bookshelf: Title, Author,Publisher,Category

Create a Entity called BOOKSHELF, it consits of following columns: Title,Author1,Author2,Auther3,Publisher,Category1,Category2,Category3

BOOKSHELF: TITLE,PUBLISHER,CATEGORY1,CATEGORY2,CATEGORY3,RATING,RATING_DESC
BOOKSHEL_AUTHOR: TITLE,AUTHOR_NAME
AUTHOR: AUTHOR_NAME , Comments

Above step refers to 1NF. regrouping of repeated groups into respective table.

Create a RATING Table with RATING,RATING_DESC , this step is called 2NF.

Remove category1,Category2,Category3 to seperate table called Category Table.

Create CATEGORY table with CATEGORY_NAME,PARENT_CATEGORY,SUBCATEGORY , this step is called 3NF.

Design Patterns

Design Patterns:

It is a general reusable solution to a commonly occurring problem in software design , description or template for how to solve a problem that can be used in many different situations.

Use of Design Patterns:

  • Design patterns can speed up the development process by providing tested, proven development paradigms.
  • New Designs are not visible until later in the implementation, Reusing of Design patterns help to prevent this.
Classification of Design patterns:
  • Creational Pattern
  • Structural Pattern
  • Behavioral Pattern
  • Concurrency Pattern
Typical Creational Patterns:
  1. Abstract Factory
  2. Factory method
  3. Builder
  4. Lazy initialization
  5. Object pool
  6. Prototype
  7. Singleton
  8. Multiton
  9. Resource acquisition
1. Abstract Factory Pattern:

It provides a way to encapsulate a group of individual Factory that have a common theme.
Provide an interface for creating families of related or dependent objects without specifying their concrete classes.
Example :

diagramFactory --> Round , Triangle , Line
DocumentFactory --> Letter , email, eBook

2.
Factory method Pattern:
Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.
The factory method pattern is an object-oriented design pattern. It deals with the problem of creating objects without specifying the exact class of object that will be created. The factory method design pattern handles this problem by defining a separate method for creating the objects, whose subclasses can then override to specify the derived type of product that will be created.

Example:
ConcreteCreator Inherits Creator; Both will have method factoryMethod () Returns Product.

3. Builder Pattern:
Separate the construction of a complex object from its representation so that the same construction process can create different representations.

The Builder Pattern is a software design pattern. The intention is to abstract steps of construction of object so that different implementations of these steps can construct different representations of objects. Often, the Builder Pattern is used to build Products in accordance to the Composite pattern, a structure pattern.

4.
Lazy initialization Pattern:

In a software design pattern view, lazy initialization is often used together with a factory method pattern. This combines three ideas:
* using a factory method to get instances of a class (factory method pattern)
* storing the instances in a map, so you get the same instance the next time you ask for an instance with same parameter (compare with a singleton pattern)
* using lazy initialization to instantiate the object the first time it is requested (lazy initialization pattern).

5. Object pool Pattern:

An object pool is a set of initialized objects that are kept ready to use, rather than
allocated and destroyed on demand. A client of the pool will request an object from the pool and perform
operations on the returned object. When the client has finished with an object, it returns it to the pool, rather than destroying it. It is a specific type of factory object.

6.
Prototype Pattern:
Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.
A prototype pattern is a creational design pattern used in software development when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects. This pattern is used to:
* avoid subclasses of an object creator in the client application, like the abstract factory pattern does.
* avoid the inherent cost of creating a new object in the standard way (e.g., using the 'new' keyword) when it is prohibitively expensive for a given application.

7. Singleton pattern:
The singleton pattern is a design pattern that is used to restrict instantiation of a class to one object.
Ensure a class has only one instance, and provide a global point of access to it.
Example: Only one instance of a database Object

8. Multiton Pattern:
The Multiton pattern expands on the Singleton concept to manage a map of named instances as key-value pairs.
Example: Java Runtime java.lang.runtime

9.
Resource acquisition Pattern:
It is initialization Ensure that resources are properly released by tying them to the lifespan of suitable objects.

Structural Patterns:

Adapter :Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.
Bridge: Decouple an abstraction from its implementation so that the two can vary independently.
Composite: Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.
Decorator : Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending functionality.
Facade : Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.
Flyweight: Use sharing to support large numbers of fine-grained objects efficiently.
Proxy : Provide a surrogate or placeholder for another object to control access to it.

Behavioral Patterns:

Behavioral design patterns are design patterns that identify common
communication patterns between objects and realize these patterns.
By doing so, these patterns increase flexibility in carrying out this communication.

* Chain of responsibility pattern: Command objects are handled or passed on to other objects by logic-containing processing objects
* Command pattern: Command objects encapsulate an action and its parameters
* Interpreter pattern: Implement a specialized computer language to rapidly solve a specific set of problems
* Iterator pattern: Iterators are used to access the elements of an aggregate object sequentially without exposing its underlying representation
* Mediator pattern: Provides a unified interface to a set of interfaces in a subsystem
* Memento pattern: Provides the ability to restore an object to its previous state (rollback)
* Null Object pattern: designed to act as a default value of an object
* Observer pattern: aka Publish/Subscribe or Event Listener. Objects register to observe an event which may be raised by another object
* State pattern: A clean way for an object to partially change its type at run time
* Strategy pattern: Algorithms can be selected on the fly
* Specification pattern: Recombination Business logic in a Boolean fashion
* Template method pattern: Describes the program skeleton of a program
* Visitor pattern: A way to separate an algorithm from an object
* Single-serving visitor pattern: Optimize the implementation of a visitor that is allocated, used only once, and then deleted
* Hierarchical visitor pattern: Provide a way to visit every node in a hierarchical data structure such as a tree.

Concurrency Pattern
Object Oriented Design patterns typically show relationships and interactions between classes & objects targeting on the Design problems rather than application problems.

concurrency patterns are those types of design patterns that deal with multi-threaded programming paradigm.

* Active Object
* Balking pattern
* Double checked locking pattern
* Guarded suspension
* Leaders/followers pattern
* Monitor Object
* Read write lock pattern
* Scheduler pattern
* Thread pool pattern
* Thread-Specific Storage
* Reactor pattern

The Active Object design pattern decouples method execution from method invocation that reside in their own thread of control. The goal is to introduce concurrency, by using asynchronous method invocation and a scheduler for handling requests.

The pattern consists of six elements:
* a proxy, which provides an interface towards clients with publicly accessible methods
* an interface which defines the method request on an active object
* a list of pending requests from clients
* a scheduler, which decides which request to execute next
* the implementation of the active object method.
* a callback or variable for the client to receive the result.

The Balking pattern is a software design pattern that only executes an action on an object when the object is in a particular state.

There are some in this field that think this is more of an Anti-Pattern, than a design pattern.
If an object cannot support its API, it should either limit the API so that the offending call is not available or it should …

* be created in a sane state
* not make itself available until it is in a sane state
* become a façade and answer back an object that is in a sane state.

Double-checked locking is a software design pattern also known as "double-checked locking optimization". The pattern is designed to reduce the overhead of acquiring a lock by first testing the locking criterion (the 'lock hint') in an unsafe manner; only if that succeeds does the actual lock proceed.

Guarded suspension is a software design pattern for managing operations that require both a lock to be acquired and a precondition to be satisfied before the operation can be executed. The guarded suspension pattern is typically applied to method calls in object-oriented programs, and involves suspending the method call, and the calling thread, until the precondition (acting as a guard) is satisfied.

In concurrent programming, a monitor is an object intended to be used safely by more than one thread. The defining characteristic of a monitor is that its methods are executed with mutual exclusion. That is, at each point in time, at most one thread may be executing any of its methods. This mutual exclusion greatly simplifies reasoning about the implementation of monitors compared with code that may be executed in parallel.

Monitors also provide a mechanism for threads to temporarily give up exclusive access, in order to wait for some condition to be met, before regaining exclusive access and resuming their task. Monitors also have a mechanism for signaling other threads that such conditions have been met.

Used in Banking Software design to avoid multiple withdraw of amount from same account.

A read/write lock pattern or simply RWL is a software design pattern that allows concurrent read access to an object but requires exclusive access for write operations.

In this pattern, multiple readers can read the data in parallel but an exclusive lock is needed while writing the data. When a writer is writing the data, readers will be blocked until the writer is finished writing.

scheduler pattern is a software design pattern. It is a concurrency pattern used to explicitly control when threads may execute single-threaded code.

The scheduler pattern uses an object that explicitly sequences waiting threads. It provides a mechanism to implement a scheduling policy, but is independent of any specific scheduling policy — the policy is encapsulated in its own class and is reusable.

In the thread pool pattern in programming, a number of threads are created to perform a number of tasks, which are usually organized in a queue. Typically, there are many more tasks than threads. As soon as a thread completes its task, it will request the next task from the queue until all tasks have been completed. The thread can then terminate, or sleep until there are new tasks available.

Architectural patterns

Architectural patterns are software patterns that offer well-established solutions to architectural problems in software engineering.

  • Fundamental structural organization schema for a software system
  • Approach to the architecture , it is not real system as such.
  • One or more Architecture pattern may be chosen for one software system.
  • Multiple Design patterns may be used with in one Architecture pattern.
A software architect makes a choice of which architectural pattern(s) best provide the system's desired qualities.

Examples of architectural patterns include the following:

* Layers
* Presentation-abstraction-control
* Three-tier
* Pipeline
* Implicit invocation
* Blackboard system
* Peer-to-peer
* Service-oriented architecture
* Naked objects
* Model-View-Controller

Innovative IT Business Solutions (IIBS) Network

Innovative IT Business Solutions (IIBS) Network

Vision of the group:

  • Throughout the world to solve business problems using state-of-art technology. Invent to secure electronic environment (e-environment) that helps mankind for a better life.
  • New Concepts to realty.


Purpose of this group: Innovative IT Business Solutions (IIBS) Network

  • Develop group of Innovative IT Business Solutions (IIBS) Network.
  • Exchange Innovative Ideas
  • Discuss and get solutions from group of experts
  • New concepts to reality , find help from feasible study to completion
  • Promote your business & help each other
  • Are you new to Social Media Marketing ? Experts are here to help you promote your business ideas
  • Do you have business plan? Get Help from Experts to prepare your business Plan.
  • Do you want your Business Plan to be reviewed? We are here to help you?
  • Do you want your Innovative Ideas to be Workable Solution ? We are here to help you!
  • Do you want to Information Technology solutions ? We are here to help you.
  • Do you have public request or Service Request ? Post your request here to find your Service Provider!
  • Are you entrepreneur? Need Help? Post your request here. We are here to Help you!
  • Your success is our group success!
  • Looking for Investors? We are here to Help you!
  • Looking for Technical savvy? you get it here!
  • Looking for researcher ? you get it here!
  • Looking to setup Project Management Office (PMO) , you get it here!
  • Want to create new web application ! you get here!
  • Want to start your next assignment! You get it here!
  • Looking for new Business Proposal! You get it here!
  • Do you want to build your BI System ?
  • Anything you want ? you get it here!


How to join ?

http://www.linkedin.com/groups?home=&gid=1786740&trk=anet_ug_hm

Why pairworks.com?

Why www.PairWorks.com

Project Management tool to Manage your Project.


Project could be any thing from IT Project , Construction Project , Manage your resources & track the progress of the work performed.
Maintain your Product backlog & their iterations.
Manage your user story.

We felt no tool is suitable for our need to follow the agile methodology through a web based Project Management tool, so we have decided to create as per our unique need , thought that would be nice to release as one of the online tool to help the agile community.

We need your valuable input so that you could participate in www.PairWorks.com development.