Sunday, November 16, 2008

SEMANTIC WEB

SEMANTIC WEB
Humans are capable of using the Web to carry out tasks such as finding the Finnish word for "monkey", reserving a library book, and searching for a low price on a DVD. However, a computer cannot accomplish the same tasks without human direction because web pages are designed to be read by people, not machines. The semantic web is a vision of information that is understandable by computers, so that they can perform more of the tedious work involved in finding, sharing and combining information on the web.

[--- I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize.

– Tim Berners-Lee, 1999 --]

Sunday, November 2, 2008

CLOUD COMPUTING



Cloud computing is Internet-based ("cloud") development and use of computer technology ("computing"). The cloud is a metaphor for the Internet (based on how it is depicted in computer network diagrams) and is an abstraction for the complex infrastructure it conceals.[1] It is a style of computing in which IT-related capabilities are provided “as a service”,[2] allowing users to access technology-enabled services from the Internet ("in the cloud")[3] without knowledge of, expertise with, or control over the technology infrastructure that supports them
Example:, Amazon -- elastic compute cloud - ec2
Google -- Google app engine


Cloud computing uses data, S/W application, and processing power in a remote way, companies can buy s/w as a utility computing, -- Cloud computing is a threat to sofware application providers as no local s/w will be used in future.

Saturday, November 1, 2008

Online Advertisements

The three most common ways in which online advertising is purchased are CPM, CPC, and CPA.
Google Controls 69% of the online add markets after acquiring Double Click, Yahoo 11.54 % and Microsoft 9.86 %


CPM (Cost Per Impression) is where advertisers pay for exposure of their message to a specific audience. CPM costs are priced per thousand impressions. The M in the acronym is the Roman numeral for one thousand.

CPV (Cost Per Visitor) or (Cost per View in the case of Pop Ups and Unders) is where advertisers pay for the delivery of a Targeted Visitor to the advertisers website.

CPC (Cost Per Click) is also known as Pay per click (PPC). Advertisers pay every time a user clicks on their listing and is redirected to their website. They do not actually pay for the listing, but only when the listing is clicked on. This system allows advertising specialists to refine searches and gain information about their market. Under the Pay per click pricing system, advertisers pay for the right to be listed under a series of target rich words that direct relevant traffic to their website, and pay only when someone clicks on their listing which links directly to their website. CPC differs from CPV in that each click is paid for regardless of whether the user makes it to the target site.

CPA (Cost Per Action) or (Cost Per Acquisition) advertising is performance based and is common in the affiliate marketing sector of the business. In this payment scheme, the publisher takes all the risk of running the ad, and the advertiser pays only for the amount of users who complete a transaction, such as a purchase or sign-up. This is the best type of rate to pay for banner advertisements and the worst type of rate to charge. Similarly,

CPL (Cost Per Lead) advertising is identical to CPA advertising and is based on the user completing a form, registering for a newsletter or some other action that the merchant feels will lead to a sale. Also common, CPO (Cost Per Order) advertising is based on each time an order is transacted.

Cost per conversion Describes the cost of acquiring a customer, typically calculated by dividing the total cost of an ad campaign by the number of conversions. The definition of "Conversion" varies depending on the situation: it is sometimes considered to be a lead, a sale, or a purchase.

CPE (Cost Per Engagement) is a form of Cost Per Action pricing first introduced in March 2008. Differing from cost-per-impression or cost-per-click models, a CPE model means advertising impressions are free and advertisers pay only when a user engages with their specific ad unit. Engagement is defined as a user interacting with an ad in any number of ways.[1]


http://en.wikipedia.org/wiki/The_Million_Dollar_Homepage
http://en.wikipedia.org/wiki/Click_fraud
http://venturebeat.com/2006/11/14/clickfacts-a-new-company-countering-click-fraud/
http://www.clickfraud.com/



Cost per impression, often abbreviated to CPI, is a phrase often used in online advertising and marketing related to web traffic. It is used for measuring the worth and cost of a specific e-marketing campaign. This technique is applied with web banners, text links, e-mail spam, and opt-in e-mail advertising, although opt-in e-mail advertising is more commonly charged on a cost per action (CPA) basis.

An online advertisement impression is a single appearance of an advertisement on a web page. Each time an advertisement loads onto a users screen, the ad server may count that loading as one impression. However, the ad server may be programmed to exclude from the count certain nonqualifying activity such as a reload, internal user actions, and other events that the advertiser and ad serving company agreed to not count. For online advertising, the numbers of views can be a lot more precise. When a user requests a web page, the originating server creates a log entry. Also, a third party tracker can be placed in the web page to verify how many accesses that page had. There are other advertising pricing structures, which are generally referred to as Cost Per Action (CPA) :

CPC - Cost per click Through
CPL - Cost per lead (lead usually meaning a free registration)
CPS - Cost per sale
CPI and/or Flat rate advertising deals are sometimes preferred by the publisher/webmaster because they will receive a more consistent fee proportional to the amount of traffic.

Today, it is very common for large publishers to charge for most of their advertising inventory on a CPM or CPT basis. A related term, effective cost per mille (CPM), is used to measure the effectiveness of advertising inventory sold (by the publisher) via a CPC, CPA, or CPT basis.

This type of advertising arrangement closely resembles television and print advertising methods for speculating the cost of an advertisement. Often, industry agreed approximates are used. With television, the Nielsen Ratings are used; print is based on the circulation a publication has.

COST PER VISITOR
This metric measures the value (or quality) of your site visitors.
It also gives you an indication of the effectiveness of your advertising campaign and your keywords. The formula is simple:
• Cost per visitor = total website spend / total visitors
(expressed in dollars).

As much as we emphasize the importance of web conversion, it is difficult to succeed if you do not have sufficient qualified traffic coming to your site. A high cost per visitor is often a sign of an ineffective advertising program.

If you spend $1,000 a month and you attract 5,000 visitors, your cost per visitor is $0.02. But if you attract only 1,000 visitors with that same amount, your cost shoots up to $1 per visitor.

High cost-per-visitor figures often mean that you are using the wrong keywords, referral links or referral ad copy. It can also mean that your site is not well built and is not being properly indexed by the search engine spiders.


COST PER CLICK / PAY PER CLICK

Pay per click (PPC) is an Internet advertising model used on search engines, advertising networks, and content websites, such as blogs, where advertisers only pay when a user actually clicks on an advertisement to visit the advertisers' website. With search engines, advertisers typically bid on keyword phrases relevant to their target market. When a user types a keyword query matching an advertiser's keyword list, or views a webpage with relevant content, the advertisements may be displayed. Such advertisements are called sponsored links or sponsored ads, and appear adjacent to or above the "natural" or organic results on search engine results pages, or anywhere a webmaster or blogger chooses on a content page. Content websites commonly charge a fixed price for a click rather than use a bidding mechanism.

Although many PPC providers exist, Google AdWords, Yahoo! Search Marketing, and Microsoft adCenter are the largest network operators as of 2007. Minimum prices per click, often referred to as costs per click (CPC), vary depending on the search engine and the level of competition for a particular phrase or keyword list—with some CPCs as low as US$0.01. Very popular search terms can cost much more on popular search engines. The PPC advertising model is open to abuse through click fraud, although Google and other search engines have implemented automated systems to guard against abusive clicks by competitors or corrupt webmasters.

COST PER ACTION

Cost Per Action or CPA (sometimes known as Pay Per Action or PPA) is an online advertising pricing model, where the advertiser pays for each specified action (a purchase, a form submission, and so on) linked to the advertisement.

Direct response advertisers consider CPA the optimal way to buy online advertising, as an advertiser only pays for the ad when the desired action has occurred. An action can be a product being purchased, a form being filled, etc. (The desired action to be performed is determined by the advertiser.) Google incorporated this model into Google AdSense [1] but shut down the offering in June 2008[2]. eBay has recently announced a similar pricing called AdContext.

The CPA can be determined by different factors, depending where the online advertising inventory is being purchased.


COST PER CONVERSION ::

Cost per conversion is an advertising and marketing term, describing the cost of acquiring a customer, typically calculated by dividing the total cost of an advertising campaign by the number of conversions. The definition of "conversion" varies depending upon the situation[1]; it is sometimes considered to be a lead, a sale, or a purchase.


COST PER ENGAGEMENT ::
Cost Per Engagement (CPE) is an online advertising pricing structure introduced into the market in 2008.[1]

Differing from cost per impression or click through rate models, a Cost Per Engagement model means advertising impressions are free and advertisers pay only when a user engages with their ad unit. Engagement is defined as a user interacting with an ad in any number of ways, including playing a game, taking a poll, rolling over an ad unit for a specified amount of time or taking a product tour.[2]

Cost Per Engagement brings a measure of performance to online advertising. Ads are served for free, and advertisers pay only when a user engages with their brand content. The approach has given advertisers a choice between quantity and quality.[3]

This technique may be applied to ad formats including video and rich media, for example, in web banners as invitations to view longer-form branded content such as videos, games or other interactive experiences such as widgets. An ad unit offering Cost Per Engagement appears like standard display ads with a few seconds of preview video. Users mouse over the ads to display a Flash window that shows the full clip without forcing users to leave the page.

Saturday, May 17, 2008

Oracle - SQL Tuning

Basic Methods

1. Using Oracle Hints
2. Splitting the queries from the inner select and debugging
3. Using explain plan and remove full table scan
4. Using Materialized Views
5. In from clause put the tables with less records in the last,
In where clause put the index columns at the first ,
In where clause put the columns with less records in the first

Using Hints to tune SQL

There are many hints available to the developer for use in tuning SQL statements that are embedded in PL/SQL. See Oracle Good Hints List - Sql Query Tuning.

You should first get the explain plan of your SQL and determine what changes can be done to make the code operate without using hints if possible. However, hints such as ORDERED, LEADING, INDEX, FULL, and the various AJ and SJ hints can tame a wild optimizer and give you optimal performance.

Hints are enclosed within comments to the SQL commands DELETE, SELECT or UPDATE or are designated by two dashes and a plus sign. To show the format the SELECT statement only will be used, but the format is identical for all three commands.



SELECT /*+ hint --or-- text */
statement body
-- or --
SELECT --+ hint --or-- text
statement body




Where:

/*, */ — These are the comment delimiters for multi-line comments
-- — This is the comment delimiter for a single line comment (not usually used for hints)
+ — This tells Oracle a hint follows, it must come immediately after the /*
hint — This is one of the allowed hints
text — This is the comment text


Hint Meaning
+ Must be immediately after comment indicator, tells Oracle this is a list of hints.
ALL_ROWS Use the cost based approach for best throughput.
CHOOSE Default, if statistics are available will use cost, if not, rule.
FIRST_ROWS Use the cost based approach for best response time.
RULE Use rules based approach; this cancels any other hints specified for this statement.
Access Method Hints:
CLUSTER(table) This tells Oracle to do a cluster scan to access the table.
FULL(table) This tells the optimizer to do a full scan of the specified table.
HASH(table) Tells Oracle to explicitly choose the hash access method for the table.
HASH_AJ(table) Transforms a NOT IN subquery to a hash anti-join.
ROWID(table) Forces a rowid scan of the specified table.
INDEX(table [index]) Forces an index scan of the specified table using the specified index(s). If a list of indexes is specified, the optimizer chooses the one with the lowest cost. If no index is specified then the optimizer chooses the available index for the table with the lowest cost.
INDEX_ASC (table [index]) Same as INDEX only performs an ascending search of the index chosen, this is functionally identical to the INDEX statement.
INDEX_DESC(table [index]) Same as INDEX except performs a descending search. If more than one table is accessed, this is ignored.
INDEX_COMBINE(table index) Combines the bitmapped indexes on the table if the cost shows that to do so would give better performance.
INDEX_FFS(table index) Perform a fast full index scan rather than a table scan.
MERGE_AJ (table) Transforms a NOT IN subquery into a merge anti-join.

Saturday, May 10, 2008

EJB Basics

EJB --- OVERVIEW
Service -- A group of related components that carry out a given business process function
SOA - a Service Oriented Architecture is a process of focusing on the development of services rather than piecemeal components such that these services provide a higher level of abstraction from the fuctional point

One Characteristic of SOA is they are autonomous in nature. These independent entities can interact with others inspite of differences in the way they have been implemented and the platform they have been deployed.

EJB is a standard for building server side components in JAVA. It defines an agreement b/w components and application server that enables any component to run in any application server.

EJB components can perform the following tasks

Perform Business Logic, Access the Database, Access another system (like cobol - cics, erp -- using J2ee connector Architecture -- JCA)

Types of Beans :

Session Beans : Session bean models business processes.
Entity Beans : Entity bean models business data.
Message Driven Beans : MDB are similar to session beans in that they model business process
the difference is that you can call a MDB by explicitly sending a message to the bean.

In Java any object the implements java.rmi.remote is a remote object that is callable from a different JVM.

The Java files needed for a EJB program are
1. Remote Interface
2. Home Interface
3. Bean Business Logic
4. A Client that calls the bean using JNDI

In EJB2.0, Local Objects (stubs) implement a local interface rather than a remote interface as done in EJB 1.0
Thus local objects are fast and make high performance enterprise beans.

Steps in EJB 1.0
1. The Client calls a local stub
2. The stub marshalls the parameters into a form suitable for a network.
3. The stub then sends the marshalled data to the skeletons
4. The skeleton demarshalls the parameters
5. the skeleton sends the data to the EjbObject
6. The EjbOject performs the middleware functions as connection-pooling, transaction, security...
7. EjbObject calls the enterprise beans instance and it does its work ( Business Logic )


Steps in EJB 2.0
1. The Client calls the local Object
2. Local Object performs needed middleware functions
3. Once enterprise bean does its work, it returns control to local Object

In EJB2.0 when we write local Object, we extend javax.ejb.EJBLocalObject and when we extend a Local home interface you extend javax.ejb.EjbLocalHome

Drawbacks of Local Interfaces
1. They only work when you are calling beans in the same process. -- You cannot call a bean remotely if your code relies on a local interface. If you decide to switch b/w a local and a remote call, you must change your code from using the local interface to using the remote interface.
2. They marshall parameters by reference rather than by value. whille this may speed up our application since parameters are not copied, it also changes the symantics of the application.


Writing EJB starters ---------- ;)

1. Remote Interface --- The remote interface supports every method that our bean expose.
a) Extend javax.ejb.EjbObject
b) We declare all the business methods

2. Local Interface -- Local Clients will use our local Interface.to call bean methods
If the Client is Local then we can use local interface instead of Remote Interface ( Supported in EJB 2.0)

3. Home Interface -- The Home Interface had methods to create and destory EJB Objects.
a) the create() method is a Factory method that clients use to get a reference to the EJB Object. The create method is also used to initialize the bean.
b) the create() method throws two exception java.rmi.RemoteException and javax.ejb.CreateException
c) Home Interface extends javax.ejb.EJBHome

4. Local Home Interface --- The performance of local-home interface is more and is used by local Clients
a) It extends EJBLocalHome interface instead of EJBHome interface
b) The EJBLocalHome interface does not extend java.rmi.Remote Exception

There are two different types of Clients
a) Java RMI-IIOP based Clients -- - These Clients use a JNDI to look up objects over the network
b) CORBA Clients --- This enables EJB components to be invoked from C++, or other platform.

Monday, March 10, 2008

USD VS INR Comparisons over Years




Year Value of one Rupee (units per US$)
1970 7.576
1975 8.409
1980 7.887
1985 12.369
1990 17.504
1995 32.427
1996 35.433
1997 36.313
1998 41.259
1999 43.055
2000 45.000
2006 48.336
2007 40.126
2007 (OCT) 39.6
2008 (NOV) 39.3
2009 (DEC) 39.6
2008 (JAN) 39.3
2008 (FEB) 39.3
2008 (MAR) 40.0

Friday, March 7, 2008

IT Highest/Lowest Pay Masters



Indian IT managers ahead only of Vietnam, Bulgaria and the Philippines.Want to earn more ? move to Switzerland

India, the global face of the information technology industry, is the fourth lowest paymaster, according to a global survey of IT managers.

Indian IT managers make an average of $25,000, ahead only of Vietnam, Bulgaria and the Philippines.
Switzerland ranked first in the survey with a salary of $140,960, followed by Denmark, Belgium and the United Kingdom. The United States ranked sixth with $107,500 in the global survey of IT staff at 6,545 companies in 35 countries conducted by Mercer.

IT Managers:

Lowest paymasters countries

1 Vietnam $15,470
2 Bulgaria $22,240
3 Philippines $22,280
4 India $25,000
5 Indonesia $31,720
6 China (Shanghai) $33,770
7 Malaysia $35,260
8 Czech Republic $35,880
9 China (Beijing) $36,220
10 Argentina $43,180


IT Managers:

Top paymasters countries

1 Switzerland $140,960
2 Denmark $123,080
3 Belgium $121,170
4 UK $118,190
5 Ireland $108,230
6 US $107,500
7 Germany $106,730
8 Canada $93,860
9 Hong Kong $90,340
10 Australia $88,850