Multiplication made faster!

Here is a quick method to multiply two numbers that are near to 100. Say you want to multiply, 94 by 96. Conventional Mathematics first..

94
96
------
564+8460
-----
9024
-----

Let us try doing this in a better way now.

94 is 6 away from 100.
96 is 4 away from 100.

So write like this,

94 --- 06
96 --- 04

Multiply 06 and 04 we get 24.

Subtract, either 06 from 96 or 04 from 94. We get 90.

Concatenate the answers that you got above. => 9024 (that was in a flash!)

I don't believe this. Let us try one more. 97 * 95

97 -- 03
95 -- 05

9215 :)..how is this now?

Can I multiply 103 * 104 by this method...? Yes, why not.

103 --03 (ahead of 100)
104 -- 04 (ahead of 100)

10712 (add 103+4 or 104+3 in this case)...

You are now faster than a calculator :)...cool, ain't?

Is it possible to extend it to numbers near 1000? say, 998 * 995...Of course, yes

998 - 002
995 --005

Answer is ...oops you got it already... 993010

Still want something big..here we go

9994 * 9995

9994 - 0006
9995 - 0005

99890030 ... :)

Now, go and shock your mathematics teacher with your lightning speed. Keep watching this space for more. Happy computing..




Building a JavaScript Library

As the name goes, a nice and must watch presentation.

JavaScript Bible

Javascript Bible is the ultimate reference book for learning Javascript. Presented in a highly structured way, this book will help any person who is a complete novice to the Javascript world, to pick up the language and get going. The book also serves as an excellent reference book, thereby providing handy lookup. This book will be of use to every single person independent of their knowledge level in Javascript. A must have book with every Javascript learner and programmer.

Two of the flavours in this bible series are the gold edition and the 5th edition of Javascript. If you want to learn Javascript, then make sure you grab these editions from the link below

Javascript Bible 5th Edition



Javascript Bible Gold Edition


The fourth edition of this book can be downloaded from this link

Javascript Bible 4th Edition
Javascript Bible 4...
Hosted by eSnips

Happy e-learning!

Yet another Divisibility by 7 !

Much about checking if a number is divisible by 7 is done here and here. And it is not over yet! Here is one more approach that tells you if a number is divisible by 7 or not.

The approach goes like this. Take the first two digits of the number from the left. Multiply the leftmost of that number by 3 and add it to the second digit. Replace the first two digits with this result. Continue the same process until you get a number which you can deduce for sure that it is divisible by 7. This can be better understood by the following example. Take the number

857864.

The first two digits are '85'. Multiply 8 by 3 and add it to 5. This gives 29. So the number is changed as

297864

Repeating the same process, we get

157864
87864
31864
10864
3864
1764
1064
364
154
84

And of course, 84 is divisible by 7. Hence the number 857864 is divisible by 7. Cool.. So, now we have four approaches to find out if a number is divisible by 7 or not. Make sure you check out the approaches listed here and here.

Did you notice something in this approach? How does this work? Are you able to see a pattern in this execution?

In a different post of mine, I will explain how this approach works and can be generalized.

PeopleSoft Integration Broker

Of all the concepts in PeopleSoft, the Integration Broker is one of the difficult one to understand and work along. With the PeopleTools release of 8.49, Integration broker is converted into a SOA based framework within PeopleSoft.

Here is a red book on PeopleSoft Integration broker. It is really worth giving a reading on this book and can help in grabbing the concepts of the Integration Broker.



I found this red paper when browsing through a forum post and thought it would be nice if it is shared across. The red paper covers the concept of the Integration Broker under the following major chapters

1) Introduction
2) System Overview
3) Integration examples using the connectors

Chapter 2 discusses about the architecture of the Integration Broker. It also discusses about the inbound and outbound messages through the Integration Broker. Message formats for request and response messages are also clearly described which would help any third party system to integrate with PeopleSoft quite easily.

A must to read book, if you want a clear understanding of PeopleSoft Integration.


Also, check out these books












Divisibility test by 7 - Extended

After my earlier blog on divisibility by 7, I was checking the web for some more interesting ways to do the same check. I came across two more ways from this site. I'm presenting the way to do it with my own example here.

Method 3 : (for earlier methods refer here)

Starting from right to left, multiply with the digits with the numbers 1, 3, 2, 6, 4, 5 and do repeated addition.

Let us take the number 778701 as an example.

We get 1 * 1 + 0 * 3 + 7 * 2 + 8 * 6 + 7 * 4 + 7 * 5
= 1 + 0 + 14 + 48 + 28 + 35
= 126

Clearly, 126 is divisible by 7 and hence 778701 is divisible by 7. Try the test for your sample number and post your comments..

Method 4 : Double and subtract.

Take the unit digit of the number, double it and subtract the result from other numbers. Continue doing so until you get a single digit number. If the single digit is a 0 or 7 then the original number is divisible by 7.

Let us take the number 778701 as an example.

77870 - (2 * 1) = 77868
7786 - (2 * 8) = 7770
777 - ( 2 * 0) = 777
77 - (2 * 7) = 63
6 - (2 *3) = 0

Hence, the number is divisible by 7.

However, if you compare the methods with the previous post you will find that the old one is still good.

In this case, it will be the difference of 778 and 701 which is 77 and is divisible by 7. Quick, ain't ?

Divisibility by 13

Earlier in a different article of mine, I was writing about a divisibility test for 7. If you are directly landing on this article, make sure you check that one before checking this.

Divisibility test for 13 is exactly on the same lines as that of 7. Only variation comes in Step -4 of the earlier article, where the difference should be divisible by 13.

So, make sure that you check out this article before landing here. If you have a better method of checking the divisibility by 13 please post it in the comments section.

Divisibility by 7

This test helps us in finding if a given number is divisble by 7. There are a lot of other divisibility tests spread across the web, but I found this one to be easy!. I've also listed other possible ways to find if a given number is divisible by 7 at the end of this blog.

To begin with, it is required to split a number into sections of "3" digits. This can be better understood by an example.

Take this number, 4555654. Let us now find if this number is divisible by 7.

Step - 1: Starting from unit digit, slice the given number into set of three digits. So, we get
4 555 654

Step -2: Add the even parts separately and the odd parts separately. For our example, we get
658 & 555.

Step -3: Find the difference between the two parts. In our case, it is 103.

Step -4: Find if 103 is divisible by 7. It is not. Hence the number 4555654 is not divisible by 7.
Also, the number leaves a remainder of 5 when divided by 7. (Inferred by dividing 103 by 7)

Let us do a quick cross check with the calculator.. Hurray! it is true.

Now, let us repeat the example with a really big number. 1636871900636.

Step -1: Slicing..
1 636 871 900 636

Step -2: Summing
1+871+636=1508
636+900= 1536

Step -3: Subtracting (difference) -> 28

Step - 4: Check if 28 is divisible by 7 and it is :). So, the big number 1636871900636 is divisible by 7.

So, try your hand on this! Post your comments or any other better way to do the check. Try here and here for some more ways.

MKV file format

I was downloading a movie file yesterday. Normally the files would be an AVI file, but this time it was an MKV file. Not knowing what to do with this format, I tried to search in google and collected some information about this format.

MKV is Matroska video file. This official website of this project is http://www.matroska.org/. The wikipedia link is http://en.wikipedia.org/wiki/Matroska.

Matroska aims to become the standard of multimedia container formats. It was derived from a project called MCF, but differentiates from it significantly because it is based on EBML (Extensible Binary Meta Language), a binary derivative of XML. EBML enables the Matroska Development Team to gain significant advantages in terms of future format extensibility, without breaking file support in old parsers.

VLC player is capable of playing this file format. There are also other players that are capable of playing this file format. They are available in the official website.

HTTP 1.1 Data Compression!

Today, I got a suggestion about improving the performance of a website, which was really slow to access via the web. The suggestion goes like this

1) Open Internet Explorer

2) Go to Tools -> Internet Options and click on Advanced

3) Check HTTP 1.1

4) Click on Apply and then OK.

The performance should improve now. I was wondering after reading this. Even if the performance improves after doing as per the instructions given above, how does it improve?

So, I wanted to ask google to help me in solving this question. And it did help. First step was to identify the key differences between HTTP 1.0 and HTTP 1.1. This link addressed the comparison in a neat way.

As we all know, the best way to conserve bandwidth is through compression. Be it taking your data in a floppy disk or transmitting it across a LAN, compression saves a lot of time and bandwidth. Whilst most of the images & videos (JPG, MPEG) are compressed, the actual text data is not compressed. Now, if the web server sends the data out in the compressed format and the browser (Internet Explorer, Firefox etc) is able to decompress it, then we save a large amount of bandwidth and increase the performance in the process. HTML is ASCII text and can be compressed to get a compression ratio of atleast 90%.

And there are two types of compression to achieve this

Content - Encoding : Pre-Compress the files before even being sent.

Transfer-Encoding : Compress and send the requested data on the fly. (during transmission)

Irrespective of the type of encoding, the goal is the same; "Compress the data before sending". Most modern browsers support gzip form of compression. Here is a nice link that explains how HTTP compression will speed up the web.

Webmasters, if you are complained about slower performance of your website, check this out and enable immediately.

Water Treatment on empty Stomach

DRINK WATER IN EMPTY STOMACH

I got this article as an email sometimes back. Hence, I want this good piece of information to share with you all through this blog page.

It is popular in Japan to drink water immediately after waking up every morning. Furthermore, scientific tests have proven its value.

For old and serious diseases as well as modern illnesses, the water treatment had been found successful by a Japanese medical society as a 100% cure for the following diseases:
Headache, body ache, heart system, arthritis, fast heart beat, epilepsy, excess fatness, bronchitis asthma, TB, meningitis, kidney and urine diseases, vomiting, gastritis, diarrhea, piles, diabetes, constipation, all eye diseases, womb, cancer and menstrual disorders, ear nose and throat diseases.


METHOD OF TREATMENT

1. As you wake up in the morning before brushing teeth, drink 4 x 160ml glasses of water
2. Brush and clean the mouth but do not eat or drink anything for 45 minutes
3. After 45 minutes you may eat and drink as normal.
4. After 15 minutes of breakfast, lunch and dinner do not eat or drink anything for 2 hours
5. Those who are old or sick and are unable to drink 4 glasses of water at the beginning may commence by taking little water and gradually increase it to 4 glasses per day.
6. The above method of treatment will cure diseases of the sick and others can enjoy a healthy life.

The following list gives the number of days of treatment required to cure/control/reduce main diseases:
1. High Blood Pressure - 30 days
2. Gastric - 10 days
3. Diabetes - 30 days
4. Constipation - 10 days
5. Cancer - 180 days
6. TB - 90 days
7. Arthritis patients should follow the above treatment only for 3 days in the 1st week, and from 2nd week onwards - daily.

This treatment method has no side effects, however at the commencement of treatment you may have to urinate a few times.
It is better if we continue this and make this procedure as a routine work in our life.
Drink Water and Stay healthy and Active.

Not only about the warm water after your meal, but about ladies and their heart attacks.
Chinese and Japanese drink hot tea with their meals ...not cold water. Maybe it is high-time we adopt their drinking habit while eating!!! Nothing to lose, everything to gain...

For those who like to drink cold water, this article is applicable to you. It is nice to have a cup of cold drink after a meal.However, the cold water will solidify the oily stuff that you have just consumed. It will slow down the digestion.

Once this 'sludge' reacts with the acid, it will break down and be absorbed by the intestine faster than the solid food. It will line the intestine.
Very soon, this will turn into fats and lead to cancer. It is best to drink hot soup or warm water after a meal.

A serious note about heart attacks

Women should know that not every heart attack symptom is going to be the left arm hurting. Be aware of intense pain in the jaw line.
You may never have the first chest pain during the course of a heart attack.
Nausea and intense sweating are also common symptoms.
60% of people who have a heart attack while they are asleep do not wake up.
Pain in the jaw can wake you from a sound sleep. Let's be careful and be aware. The more we know, the better chance we could survive...

Save LIFE by conserving WATER


I want to reserve this blog page for - Water Conservation, a thought which has ever been a hot topic of discussion all around the world.

Water, as we all know is scarce and a limited natural resource. Of all the water in the world, about 97% is seawater, 2% is polar ice and only 1% is fresh water. This 1% of fresh water is not only required by humans, but also used by the environment to maintain the ecosystem.

The two main sources of water usage by an individual are:
a) At home, and
b) At garden.

Iam listing down here some of the easy ways to save water.

Saving water at home:

1) Thaw frozen foods in the fridge or microwave instead of placing them under running water.
2) Save water by washing the vegetables and vessels in a plugged sink or basin and not under the running water.
3) Use pressure cooker or microwave to cook the vegetables, in order to retain more flavour and use less water than traditional boiling.
4) While shaving, put a plug in the basin. By doing so, the water is saved avoiding the razor to be rinsed under the running water.
5) In toilets, use the half flushing option.
6) Install water saving shower head and take shorter showers.
7) Add food dye in the toilet cistern, which helps to find out leaks. If color appears in the bowl within half an hour, this indicates a possible leakage of water. Attend to it immediately.

Saving water in garden:

1) Water the base of the plants and not the leaves. This would ease the soil to absorb the water quicker.
2) Walk on the lawn before watering it. If there exist the impression of your foot, then watering is needed.
3) Wash your car on the lawn. This serves two purposes of washing your car and watering your lawn at the same time.

Test your C Skills

Back to my college days, Test your C Skills was a popular book in the series of C programming books written by Yashwant Kanetkar.


Though much of the examples are OS specific, it is still one of the most frequently referred books during any interviews & placements.I came to find an e-version of the same book in the web. If you are interested, download a copy of the book here.



You can know more about the author here and a different analysis of the book at this link.

If you have links to any other books written by the same author, feel free to share them in the comments section.

Professional Management FUNDAS!

This one came to me as an email sometime back. Nice one to read.

Todays Professional Management FUNDAS!

1."We will do it" means "You will do it".


2."You have done a great job" means "More work to be given to you".


3."We are working on it" means "We have not yet started working on the same".


4."Tomorrow first thing in the morning" means "Its not getting done "At least not tomorrow!"


5."After discussion we will decide-I am very open to views" means "I have already decided , I will tell you what to do".


6."There was a slight miscommunication" means "We had actually lied".


7."Lets call a meeting and discuss" means "I have no time now, will talk later".


8."We can always do it" means "We actually cannot do the same on time".


9."We are on the right track but there needs to be a slight extension of the deadline" means "The project is screwed up, we cannot deliver on time."


10."We had slight differences of opinion "means "We had actually fought".


11."Make a list of the work that you do and let's see how I can help you" means "Anyway you have to find a way out no help from me".


12."You should have told me earlier" means "Well even if you told me earlier that would have made hardly any difference!".


13."We need to find out the real reason" means " Well I will tell you where your fault is".


14."Well Family is important; your leave is always granted. Just ensure that the work is not affected," means, "Well you know..."


15."We are a team," means, "I am not the only one to be blamed".


16."That's actually a good question" means "I do not know anything about it".


17."All the Best" means "You are in trouble ".

A nice chess problem!

Surfing in the web, trying to find a link for chess problems, I found out this nice and interesting problem. I'm linking the problem image for better understanding.





There are actually more problems in the same link. This problem is really good and is worth giving a try.

I found two possible solutions for the problem

1... Rxg2+ 2. Kxg2 Rg8+ 3. Kf3 Qh5+ 4. Kf2 Qh2+ 5. Kf3 Rg3#
{Black mates} 0-1

1... Rxg2+ 2. Kxg2 Rg8+ 3. Kf3 Qh5+ 4. Kf2 Qh2+ 5. Kf3 Bg4#
{Black mates} 0-1

Any other interesting routes for this problem?




Socialize your Blog

First day of the weekend, and I started today morning searching for some ways to socialize my blog. How do I keep the cool links in my blog, like, Add to Google, Digg it etc. I was checking some websites that had this feature in a very simple way. There were also some sites offering readymade widgets which you can just add to your blog. Not satisfied with all of those, I started to create my own. I succeeded in making one and now I'm going to convert it into a tutorial so that you can also use it with ease. I'm going to assume that you know a little of HTML and Javascript. If not, refresh it from here before you proceed. For all those, who would like to have a readymade widget like the one shown below

refer to this blog. Let us now learn how to socialize your blog with some simple scripting.

Step -1 : Before you start, you need to have those handy little images with you. You can download it from here (and the complete sample). The zip file will contain all the GIF images which will appear at the blog HTML, on clicking of which it will allow the user to add the blog content to their favorite readers.

Step - 2: Let us now place all these images in a straight line so that they appear properly in the page. Note that the images are also given proper labels, thereby conveying a meaningful input to the surfer. For placing the images inside your blog, add a HTML area under page elements, and start entering the code. The sample code goes likes this.



Step -3: The code in the textarea above will place the GIF images in your HTML page in the location you specify. There is a small function called "launcher" which we are going to embed inside a JS file. When the image is clicked, the function gets invoked which will add the necessary URL element values. The function then opens the target URL. Now, let us declare some variables in the HTML file where we plan to put these images.



Here we try to get the current document URL and title so that it can be used inside the JS file to construct the absolute URL.

Step -4: Almost done. We are left with creating the "launcher" function and including it in the main HTML file. The reason to keep it in a separate file is to encapsulate the function from being visible in the HTML. I'm going to describe only for couple of bookmarking sites. If you want for all of them, you can refer to the sample here and get the code.



Step -5: Assuming the "launcher" function is stored in a file "bookmark.js", it can be included in your main HTML file by using the following code



That is it.! we are done with the scripting part. Complete test script with images can be downloaded from here. Check it out. Comments or Corrections? Welcome!

Chanakya Quotes

It came to me as an Email some time before, quotes by Chanakya. (Indian Politician, Strategist and Writer). To know more about Chanakya, refer to this link.

Popular Quotes of Chanakya

***************************************************
"A person should not be too honest.
Straight trees are cut first
and Honest people are victimised first."
***************************************************
"Even if a snake is not poisonous,
it should pretend to be venomous."
***************************************************
"There is some self-interest behind every friendship.
There is no Friendship without self-interests.
This is a bitter truth."
***************************************************
"Before you start some work, always ask yourself three questions - Why am I doing it, What the results might be and Will I be successful. Only when you think deeply and find satisfactory answers to these questions, go ahead."
***************************************************
"As soon as the fear approaches near, attack and destroy it."
***************************************************
"Once you start working on something,
don't be afraid of failure and
don't abandon it.
People who work sincerely are the happiest."
***************************************************
"The fragrance of flowers spreads
only in the direction of the wind.
But the goodness of a person spreads in all direction."
***************************************************
"A man is great by deeds, not by birth."
***************************************************
"Treat your kid like a darling for the first five years.
For the next five years, scold them.
By the time they turn sixteen, treat them like a friend.
Your grown up children are your best friends."
***************************************************
"Books are as useful to a stupid person
as a mirror is useful to a blind person."
***************************************************
"Education is the best friend.
An educated person is respected everywhere.
Education beats the beauty and the youth."

Oracle - Integrity Constraints - Part I

I always wanted to write an article about integrity constraints in Oracle. Today is the right day to express my thoughts on this. Constraint means "Limitation or Restriction". With Oracle, I'd put it as "Restriction to do something". A database user is prevented from doing an action to a column in table where a restriction is in place. The restriction to perform the action is conveyed to Oracle through some "magic statements" which we will look into shortly. Also, the law maker here, cannot be a law breaker.

From here on, I'll use the Oracle terminology "Constraint". There are five types of constraints in Oracle. We will see three of them in this post with examples. Two other with some more advanced concepts will be covered later.

Not NULL constraint
A column in a table cannot take NULL values. So, if any user tries to insert a NULL value into the column, throw an error telling "Boss, look here! you are not supposed to insert NULL value into this column. So, put proper values".

Enforcing this constraint prevents the column from NULL values. Let us go by an example to understand it much better. So, open up SQLPLUS, create a table like this

CREATE TABLE TEMP_SR (
COL1 NUMBER,
COL2 VARCHAR2(25) NOT NULL,
COL3 VARCHAR2(30)
)


Now the "NOT NULL" for COL2 specifies that COL2 cannot take NULL values. Let us do some inserts to prove it.

INSERT INTO TEMP_SR VALUES ('1','ABC','DEF') -- gets inserted
INSERT INTO TEMP_SR VALUES ('2',NULL,'DEF') -- Fails, COL2 is NULL


The second statement returns an error message to the user.

ORA-01400:cannot insert NULL into ("SCOTT","TEMP_SR"."COL2")
The ways by which we can overcome this not NULL constraint will be covered in a later post of mine.

Unique Constraint

Unique Constraint, as the name goes, makes sure that the values present in a column are always unique. It will not allow duplicate values to be inserted at any point in time. Unique constraint can also be defined on the combination of two columns. In such a case, care is taken by Oracle that the combination is always unique. Consider this example

CREATE TABLE TEMP_SR (
COL1 NUMBER UNIQUE,
COL2 VARCHAR2(25),
COL3 VARCHAR2(15)
)


Here COL1 is unique. So, Oracle will not allow duplicate values into it. Hence, if I execute the following insert statements in the order specified,

INSERT INTO TEMP_SR VALUES ('1','ABC','DEF') -- gets inserted
INSERT INTO TEMP_SR VALUES ('1',NULL,'DEF') --- Fails


the second one fails with the reason

ORA-00001: unique constraint(SCOTT.SYS_C001572884) violated
Note that SCOTT.SYS_C001572884 is the name of the constraint assigned by Oracle. Every constraint is assigned a unique name. (if you don't give one..So name it nicely..)

Now, let us see how to make the combination of two columns as unique => extension of the approach discussed above. I've to modify the CREATE TABLE syntax slightly for this. Here we go,


CREATE TABLE TEMP_SR1 (
COL1 NUMBER,
COL2 NUMBER,
COL3 NUMBER,
UNIQUE(COL1,COL2)
)


Here I've specified that the combination of COL1 and COL2 is unique. Hence, the insert statement,

INSERT INTO TEMP_SR1 VALUES ('1','1','2') -- gets insertedINSERT INTO TEMP_SR1 VALUES ('1','3','2') -- gets inserted
INSERT INTO TEMP_SR1 VALUES ('1','1','6') --- Fails


A part that is left out is to name the constraint. It is done by using the following syntax during CREATE TABLE.

CREATE TABLE TEMP_SR1 (
COL1 NUMBER,
COL2 NUMBER,
COL3 NUMBER,
CONSTRAINT ABV UNIQUE(COL1,COL2)
)


Now, when the constraint is violated, Oracle will give an exception like this

ORA-00001: unique constraint(SCOTT.ABV) violated

ain't this neat?

We haven't discussed about dropping constraints, adding constraints to the table that is already existing and more. There are three more types of constraints that needs to be addressed
  1. Primary Key Constraint
  2. Foreign Key Constraint
  3. Check Constraint
These three constraint will be addressed in the next blog on this series. And we will slowly gain momentum, and look at the constraint in much more depth.

Excel to Oracle - OraExcel

When I was searching in the web, to figure out a utility that would help me in pushing the Oracle data to Excel, I came to know about OraExcel. OraExcel is a very neat utility through which you can easily send your data in a Excel sheet to a table in Oracle. It has many more features also, but in this short tutorial I will cover how to insert data into a Oracle table using OraExcel. Before you even start trying it out, make sure you have OraExcel installed and you get a good pull down menu like this when you invoke MSExcel.


For inserting a sample data into a table, the procedure goes like this.
Step 1: Click on Oracle -> Connect. You will get a menu like this.

Enter your User Name, Password and Database and Click “OK”. You will get a confirmation message in the Title Bar, telling that the “User” is connected to the “database”. And all those greyed stuff in the earlier screenshot, will be enabled now. So, we are ready to insert some data.
Step -2 : Now, just note that I have data like this. Single column data to start with.
From the diagram above, we can infer that we need to insert data {1,2,3,4,5} into a table TEMP_TABLE with column COL1.
Step -3 : Choose Oracle -> Insert -> Multiple Rows. A window will get popped up like this



Now in the “Table” area specify the location of TEMP_TABLE cell. For Column(s), specify the location of COL1. And in the Data, specify the Data Range for {1,2,3,4,5}
Click OK and you will see this screen. (if everything is successful).
If you rush to see the data with your SQL tool, you are in for some disappointment. We have not “COMMIT”ted the data yet.
Step -4 : Go to Oracle – Transaction – COMMIT. If you would like to ROLLBACK the transaction, you can do from the same menu.
That is it.! We have successfully inserted data from Excel to Oracle. Please note that you can also insert data into multiple columns with this handy tool. Feel free to experiment with it and get your results. Make sure you give Oracle – Disconnect to come out from OraExcel.
If you would like to download your copy, search for OraExcel in google and you are there already!

PPC Program - Adbrite

In this series of PPC (Pay Per Click) reviews, I'm going to write about the options that are available with a popular program - Adbrite. (www.adbrite.com)

Before I started to host my pages, I was infact afraid of adbrite. My Trend Micro Internet Security would block the pages when it sees "Adbrite". This was largely due to the fact that the websites were misusing the functionality provided by Adbrite, they opened up nasty popups when the sites are accessed.

It was after some time that I came to know completely about Adbrite and saw my friend using it. This article examines the functionality offered by Adbrite as a publisher perspective. Note that this is an unofficial review of the site. It is upto the users to really start using it and get a feel of the features that are offered. Signing up in Adbrite is a very easy task. Just get in there and click a couple of links and you are done. Alternatively, you can also click here for signing up to Adbrite. It is easy and fast!. You will get a confirmation email to activate your account and Adbrite will also review your site before approval. So, keep your site ready before even starting to create one!

I'm not going to cover the technical information about placing Adbrite code in your website. I will be covering it in much detail elsewhere. Let us just have a look at the features that it has to offer.

Full Page Ads : You can place full page ads with Adbrite. You get paid by Adbrite everytime the user views on the ads. Only problem with Full Page Ads is it increases the bounce rate of your website and annoys the visitors. I don't generally recommend it, but if you are really confident of attracting a major traffic, then you can go for it.

Double Underline Ads : I would like to call it that way. These are some "double" underlines that Adbrite displays which opens a cute little popup in the page. Revenue will be generated for the user when the link in the popup is clicked.

Banner Ads : Banner Ads are banners that you place on the website. Adbrite will display ads in the banner and you will be paid on a CPM (Cost Per Thousand Impressions) as well as CPC (Cost Per Click) basis.

Text Ads : Similar to any other PPC program, ads gets displayed in a text box. Clicking on the Ads generate revenue for the publisher.

There are also two new options of ads like britepic and Invideo. It will be covered in some other blog of my mine sometime later.

The ads come in a variety of dimensions. And it can be customized to any color, background with ease. However, Adbrite is not a greatest revenue generator when compared to Adsense. Neither the ads are displayed as Context Specific ads (based on the content). These are some of the features that I would like to see in Adbrite in future.