Archive for May, 2007

Automatic Semantic Link Builder

Tuesday, May 8th, 2007

Semantically most useful links for your webpage and others - Automatically !

The Automatic Semantic Link Builde(ASLB) is very complex programming algorithm that is very simple to use. The script can be installed in your .net , .php or plain html pages and left to function on its own.

The script will generate a list of URLS on your page that will be visible to your visitors as well as search engine crawlers who crawl your page. So does that mean that the script will drive out traffic from your website. Yes. It will.

But copies of this script will also bring in visitors and improve the ranking of your page.

How does it work ?

ASLB front script will publish links on your website for other pages on the internet, you will be allowed to prevent certain links from showing on your website(such as your direct competition). The links to your pages will be shown onthrid party website pages which contain data relevent to your webpage’s content.

What happens at the backend ?

The main ASLB servers continuously distribute links for website and decide on which links to show where, while doing this the following rules are applied.

  1. No reciprocal links are generated.
  2. Inbound is always equal to outbound.
  3. PageRanks of involved pages play a part in the inbound:outbound ratios.
  4. Links remain where they are for a minimum of 30 days, unless removed for spamming.
  5. Only a single ASLB script can be installed in a webpage.
  6. HTML header tags play an important role.

Can I use ASLB on my website ?

No. Not yet, but soon. Bookmark this page. The Automatic Semantic Link Builder is currently in its alpha stages of development and is being tested on over 500,000 webpages. The ASLB is expected to be released in the month of March, 2008 for public installations.

Is there a manual way to do such linking ?

Yes, let a SEO company help you.

How to store passwords ?

Tuesday, May 8th, 2007

Passwords are secret keywords/keyphrases that are used to distinguish legitimate users from others.

Many years of research is involved in storing passwords. Here is a list of industries best practices on storing passwords.  Hashing !

To establish that hashing is a good way to store passwords lets take a look at the other methods and then compare them with hashing to find out their weaknesses.

The advantage of storing passwords in hashing is that even if someone is able to extract all the hashed passwords as well as the source code. It will not be easy to crack the passwords. If passwords are stored in plain text, then stealing the database alone will allow an outsider to be able to log into the system.

If the passwords are stored in an encrypted format then an outsider will require both the database as well as the source code to decrypt the passwords and log into the system.

Hashing passwords will keep the passwords secure to a large extent even if an outsider is able to access the source code as well as the database.

What is a hash?

A hash is a unique fixed length content that is created using the original password. There are three distinct properties of a hash that make it the ideal choice for storing passwords.

  1.  Hash of a value X will always be the same.
  2. The probability of many values having the same hash value is negligible.
  3. It is impossible to find the original text from the hash itself.

The above three properties make a good hashing algorithm and MD#5 is currently the industries most preferred algorithm.

Storing passwords using MD#5

At the time of creating a new user in your database, allow the user to enter a password in plan text. When you fill your database with the information convert the password into a “hash” and store the hash instead of the password.

Remember that the hash is irriversible so you cannot convert the hash back into the original password. But then how will you authenticate the user the next time he/she tries to log in ?

You will need to utilize the 1st property of a hash.

“Hash of a value X will always be the same”

Calculate the hash of the password that the user enters while trying to login and compare the newly generated hash with the stored hash to find out if the two match. If they do, you should welcome the user!

Using MD#5 in PHP to store passwords

The MD#5 of a string can be generated in PHP as easily as

$hash =md5($txtRawPassword);

At the time of user registration, store the $hash into the database. Post that whenever the user tries to log in, using password $pwd, retreive the hash from the database and compare it with the md5($pwd).

if (!strcmp($hash,md4($pwd)))
{
//welcome user!
}
else
{
//send user back to login page.
}

Disadvantage of storing passwords as hash

If the user forgets his/her password, you will not be able to find the original password. Instead, you will need to create a new password for them a mail it to them at their email ID. Isn’t this what google and yahoo does ?

The curse of patents!

Tuesday, May 8th, 2007

If electricity was patented, you’d be using coasters to make notes instead of PDAs !

Patents are the legal way of preventing innovation. They are created with only one agenda in mind, “No one should be able to work on the concept that we thought of first”. Furthermore, if another entity independently invents the same concept, that person will not be allowed to use it, because someone else has already claimed it to be their property.

In a bid to protect the interest of the entity who “first filed” the patent, that entity is automatically assumed to be the best entity who can improve upon it. The long terms of patents deprive other potential researchers to use the invention.

The situation is worse for bio-patents and life saving drug patents, which is less legal terms is a way of saying “Pay us or die”. Corporates in developed nations use patents as a weapon against their competition in developing countries to ensure that they never raise upto them.

The solution lies only with the Governments. If a central organization such as WTO can stand ground to decide the value of a patent in commercial terms, and the competition is allowed to pay a fixed amount to the inventor, the world can be freed of this curse that is slowing down the growth of the world.

How does compression work ?

Monday, May 7th, 2007

Software Compression is a technique to store digital data in a format so that least amount of space on the storage media.

Consider the following example to understand how it works.
A Personal Assistant is able to write @ the speed of speech of his/her boss by using shorthand and special codes to represent long words. Compression works exactly like that. The difference is that while the assistant uses codes to increase the writing speed, compression agent uses codes to reduce space usage.

The above technique of representing longer words into codes will be efficient only if the longer words are repeated several times in the data that needs to be compressed.

Important to note that the “longer words” means that the code should be smaller than the word, and the word should have multiple instances in the data that needs to be compressed.

The scope of this article is limited to compression on textual data. Binary data requires more complex algorithms of compression and needs a complete set of articles to discuss the topic.

Steps to create your own compression script

Step 1: Read text into a string variable

$txtOriginalString =
“May Day! May Day! Some one help us on how compression works in programming world. Will this article help us share with its pearls of wisdumb ?”;

Step 2: Collect all words from the text into an array.
Count the spaces in a text and collect all material between two ” ” space characters, through out the string.

$arrAllWords = explode(” “,$txtOriginalString);

Step 3: Ensure that the array is “unique”. Eliminate duplicate words from your array.

$arrUniqueWords = array_unique($addAllWords);

Step 4: Count the number of unique words.
You will require these many codes to replace the orignal words.

$intUniqueWordCount = count($arrUniqueWords);

Step 5: Identify the length of a “code”.
If you are using 200 ASCII characters in your code set. Lets say from ASCII 45 to 245. Then, a “single digit” code is sufficient if the unique word count is <= 200.

If the word count is > 200 and all permutations of 200P2.

if ($intUniqueWordCount > 200) { $intCodeLength = 2; }
else {$intCodeLength =1;}

Step 6: Assign a code to each unique word.
6.a) Generate a new code.
6.b) Assign it to the first unassigned unique word.
6.c) Repeat process for every unique word.

Step 7: Write the new string $CompressedString;

7.a) Write the $intCodeLength into $txtCompressedString;
$txtCompressedString = $intCodeLength;

7.b) Write a Separator to $txtCompressedString

$txtCompressedString.=”###Separator###”;

7.c) Write the original words and their codes in a CSV format to $txtCompressedString, codes go after the words.

foreach ($arrUniqueWords as $key=> $value) //generate code for each unique word.
{
$txtCode = newCode($txtCode);
$arrCodeArr[$key] = $txtCode;
$txtCompressedString.=$value.”,”; //Write words to compressed string in CSV
}
$txtCompressedString.=”###Separator###”; //Seperate Words from Codes.

foreach($arrCodeArr as $value)
{
$txtCompressedString.=$value.”,”; //Write codes to compressed string in CSV.

}

$txtCompressedString.=”###Separator###”;

Step 8 Generate $codeString

8.a) Replace all occurrences of each unique word in $txtOriginalString with their assigned codes in $txtCodeString;

8.b) Replace all space characters ” ” in $txtCodeString with a blank “”.8.c) Append $CompressedString with $txtCodeString.
$txtCompressedString .= $txtCodeString;

Thats it !

Uncompressing the file…

Step 1: Read the string.

Step 2: Explode string using “###Separator###”;

$arrData = explode(’###Separator’,$txtCompressedString);

$intCodeLength = $arrData[0];
$strCSVUniqueWords = $arrData[1];
$strCSVCodes=$arrData[2];
$strCodeString = $addData[3];

Step 3: Replace codes with a space character and the original word.

Mistakes and issues unaddressed in the above algorithm.

If you read the article carefully, you would notice the following mistakes.

1) The uncompressed file will always contain the last character as a space.

2) If the first character of the file was a ” “. It will be lost !

3) What is the maximum number for $intUniqueWordCount that this script will work ?

How to tackle them ?

This is where you come into picture. Your task will be to analyze the above article and prove your geniass by…

1) Find out more errors in the above logic.

AND / OR

2) Propose solution to issues pointed out by you or others.

Multiple comments are not a problem, we’ll track them. But for each inaccurate mistake that you point out your points will get reduced and for each geniass issue you point out your chances to feature in the “Simply Geniass - Hall of geniasses” will increase !

Send in your entries now !

The best resources on cricket

Saturday, May 5th, 2007

The best information resource on cricket collected and put together manually over several years of research.

read more

One sport event in many stadiums - LIVE !

Saturday, May 5th, 2007

Technology that can multiply sports event collections by thousand times and make event live for millions - LIVE ! Find out how ?

read more

Simply Geniass - Ideas, concepts, thoughts - totally unrestricted.

Saturday, May 5th, 2007

Simply Geniass is just another website that offers you innovative ideas that the authors thought about but didnt have resources, energy or inclination to work upon them.

If you believe you have the “innovation bug” in you. Please write to us at guild at simply-geniass.com and you might become one of the authors on this website.

read more

Zitku the amalgamantion of all directories in one

Saturday, May 5th, 2007

Zitku is a revival strategy for all Open web directories that have either gone dead or are unable to cope up with the growth of the internet. How does it unit the effort of all editors across all open directories including the mighty DMOZ ?

read more

Quick SEO guidelines

Saturday, May 5th, 2007

The simplest instructions to create Search Engine Optimized pages in your website. Follow these and search engine crawler will do all the rest automatically!

read more

Reciprocal Link Building

Saturday, May 5th, 2007

Simplest and cheapest way to boost search engine ranks explained in a step by step manner that works !

read more