<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2676402074441099229</id><updated>2024-09-05T11:11:31.587-07:00</updated><category term="Technology"/><category term="Google"/><category term="Algorithms"/><category term="Programming"/><category term="Pseudo Code"/><category term="Application Development"/><category term="Cloud Computing"/><category term="Eclipse"/><category term="PHP"/><category term="Sorting"/><category term="Sports"/><category term="Average Case"/><category term="Best Case"/><category term="C++ Codes"/><category term="Cricket"/><category term="Datastore"/><category term="Facebook"/><category term="Google App Engine"/><category term="Grid Computing"/><category term="Heap"/><category term="Internet"/><category term="Linux"/><category term="Merge Sort"/><category term="Microsoft"/><category term="MySQL"/><category term="PHPMyAdmin"/><category term="Quick Sort"/><category term="Sachin Tendulkar"/><category term="Space Complexity"/><category term="Team India"/><category term="Ubuntu 11.04"/><category term="Utility Computing"/><category term="Worst Case"/><category term="AUTO_INCREMENT"/><category term="Afghan War Diary"/><category term="Allan Donald"/><category term="Apache"/><category term="App Engine Services"/><category term="Apple"/><category term="Application Service"/><category term="Applications"/><category term="Architecture"/><category term="BBC Sports"/><category term="Binary Search Tree"/><category term="Blackberry"/><category term="Blackberry Application Development"/><category term="Blackberry Device"/><category term="Blackberry JDE"/><category term="Blackburn Rovers"/><category term="Build Heap"/><category term="Collateral Murder"/><category term="Debugger"/><category term="Development WorkFlow"/><category term="Durban"/><category term="Ebooks"/><category term="Email"/><category term="Emoticons"/><category term="Extract Max"/><category term="Football"/><category term="Gmail"/><category term="Google Web Toolkit"/><category term="Heap Sort"/><category term="Heapify"/><category term="IBM"/><category term="IDE"/><category term="Informative Function"/><category term="Insertion Sort"/><category term="JS"/><category term="JSMin"/><category term="Java"/><category term="Java Micro Edition"/><category term="Java Runtime Environment"/><category term="Javagal Srinath"/><category term="Javascript"/><category term="Julian Assange"/><category term="LAMP Server"/><category term="LAST_INSERT_ID() not working"/><category term="LAST_INSERT_ID() returns 0"/><category term="Memcache"/><category term="Middleware"/><category term="Minification"/><category term="Minify"/><category term="Mobile Computing"/><category term="MySQL Query Browser"/><category term="NetBeans"/><category term="Netscape"/><category term="Obfuscation"/><category term="On The Fly"/><category term="Operating System"/><category term="PEAR"/><category term="PEAR mail"/><category term="Packer"/><category term="Pascal&#39;s Triangle"/><category term="Pop"/><category term="Pre Order Tree Traversal"/><category term="Priority Queue"/><category term="Push"/><category term="Python Runtime Environment"/><category term="RabbitVCS"/><category term="Recursion"/><category term="SMTP"/><category term="SMTP server"/><category term="SOAP"/><category term="SQL"/><category term="Sandbox"/><category term="Selection Sort"/><category term="Send Email"/><category term="Setup"/><category term="Shane Warne"/><category term="Stack"/><category term="Time Magazine"/><category term="Tree"/><category term="Tree Traversal"/><category term="UDDI"/><category term="Venkatesh Prasad"/><category term="Venky&#39;s"/><category term="Version Control System"/><category term="WSDL"/><category term="WWW"/><category term="Web Development"/><category term="Web Service"/><category term="Wikileaks"/><category term="Wikipedia"/><category term="Without Recursion"/><category term="XML"/><category term="Yahoo"/><category term="Zend"/><category term="xDebug"/><title type='text'>The Vigilant Zephyr</title><subtitle type='html'>Surveilling The Plethora of Web Pages Gently Like A Breeze And Bringing Out Something Interesting And Worth A Read For The World..</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-7998360195644124443</id><published>2012-09-24T13:17:00.000-07:00</published><updated>2012-09-24T13:17:11.984-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="JS"/><category scheme="http://www.blogger.com/atom/ns#" term="JSMin"/><category scheme="http://www.blogger.com/atom/ns#" term="Minification"/><category scheme="http://www.blogger.com/atom/ns#" term="Minify"/><category scheme="http://www.blogger.com/atom/ns#" term="Obfuscation"/><category scheme="http://www.blogger.com/atom/ns#" term="On The Fly"/><category scheme="http://www.blogger.com/atom/ns#" term="Packer"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Minify Javascript using PHP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
All those newbie web developers out there might have noticed that javascripts are often written in minified forms. When you try and debug the pages you Google, Facebook etc. It can be noticed that the javascript written there is nowhere close to be understood. This is done deliberately by these tech giants to make it difficult for the developers to decipher their code. Also, it makes the process of fetching the javascript from the server faster.&lt;br /&gt;
&lt;br /&gt;
When there are a number of javascripts to be loaded, the individual calls to the javascripts are combined so that a fewer number of server requests can serve the purpose. All this is done by minification of the javascript. There are several ways to minify a javascript. One of them is a&amp;nbsp;two step process to achieve the awesomeness of Google or Facebook like minified javascripts.&lt;br /&gt;
&lt;br /&gt;
1) &lt;b&gt;Minification&lt;/b&gt; : &amp;nbsp;In this step, all the line breaks, tabs and white spaces are removed and the javascript is converted into a one line code without any sort of formatting to make the server respond faster to any request for the javascript.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
2) &lt;b&gt;Obfuscation&lt;/b&gt; : In this step, the minified javascript from the above step is obfuscated so as to hide the actual javascript and make it really confusing,ambiguous and harder to interpret for any person.&lt;/div&gt;
&lt;br /&gt;
So here is a quick tutorial to minify it on the fly using PHP so that the original javascript code remains intact.&lt;br /&gt;
&lt;br /&gt;
1) Download the JSMin PHP file from :&amp;nbsp;&lt;a href=&quot;https://github.com/rgrove/jsmin-php/blob/master/jsmin.php&quot;&gt;https://github.com/rgrove/jsmin-php/blob/master/jsmin.php&lt;/a&gt;&amp;nbsp;for minification of your javascript.&lt;br /&gt;
2) Download the Packer PHP file from :&amp;nbsp;&lt;a href=&quot;http://joliclic.free.fr/php/javascript-packer/en/&quot;&gt;http://joliclic.free.fr/php/javascript-packer/en/&lt;/a&gt;&amp;nbsp;for obfuscation of your javascript. (Just need the JavascriptPacker.php from the complete zip)&lt;br /&gt;
&lt;br /&gt;
Now save these files into your codebase library or any other suitable place and using these two masterpieces, a javascript can be easily minified using the following PHP code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Using the two files and including them onto the PHP page (i.e. JSMin and JavascriptPacker).&lt;br /&gt;
require_once(&#39;jsmin.php&#39;);&lt;br /&gt;
require_once(&#39;jspacker.php&#39;);&lt;br /&gt;
&lt;br /&gt;
//Minification using jsmin.php&lt;br /&gt;
$js = file_get_contents(&#39;my_javascript.js&#39;);&lt;br /&gt;
$js = JSMin::minify($js);&lt;br /&gt;
&lt;br /&gt;
//Obfuscation using jspacker.php&lt;br /&gt;
$myPacker = new JavaScriptPacker($js, 62, true, false);&lt;br /&gt;
$js = $myPacker-&amp;gt;pack();&lt;br /&gt;
&lt;br /&gt;
//Display the final ouput wherever it is required.&lt;br /&gt;
&lt;br /&gt;
echo $js;&lt;br /&gt;
&lt;br /&gt;
Now, wherever you want your javascript my_javascript.js to be loaded, in the script tag, just add the &#39;src&#39; attribute to the PHP file where your above code is put up.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;minify.php&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So easy to get the awesomeness. Get amazed with the minified javascript. Even the person who wrote the javascript won&#39;t be able to decipher it from the minified form. Hope this helps some of the web developers !!&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/7998360195644124443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2012/09/minify-javascript-using-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/7998360195644124443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/7998360195644124443'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2012/09/minify-javascript-using-php.html' title='Minify Javascript using PHP'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-6196616464926426650</id><published>2011-11-01T15:14:00.000-07:00</published><updated>2011-11-01T15:17:31.643-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Binary Search Tree"/><category scheme="http://www.blogger.com/atom/ns#" term="Pop"/><category scheme="http://www.blogger.com/atom/ns#" term="Pre Order Tree Traversal"/><category scheme="http://www.blogger.com/atom/ns#" term="Pseudo Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Push"/><category scheme="http://www.blogger.com/atom/ns#" term="Recursion"/><category scheme="http://www.blogger.com/atom/ns#" term="Stack"/><category scheme="http://www.blogger.com/atom/ns#" term="Tree"/><category scheme="http://www.blogger.com/atom/ns#" term="Tree Traversal"/><category scheme="http://www.blogger.com/atom/ns#" term="Without Recursion"/><title type='text'>Pre-Order Tree Traversal Without Recursion : Pseudo Code</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We very well know how to traverse a binary search tree using the concept of recursion. If you don&#39;t, click on this link. Now, the challenge is to traversal the same tree in pre-order without the use of recursion. It can be done easily by the use of a stack. The following pseudo code shows us how to do it. The push and pop of the stacks are the basic push and pop operations used in any stack implementation. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Pseudo Code :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
typedef struct _node&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; int data;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; struct _node * left;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; struct _node * right;&lt;br /&gt;
} Node;&lt;br /&gt;
&lt;br /&gt;
void PreOrderTraversalNonRecursive(Node * root)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Stack nodeStack;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; nodeStack.Push(root);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; //While stack is not empty&lt;br /&gt;
&amp;nbsp;&amp;nbsp; while(nodeStack.Count &amp;gt; 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Node * currentNode = nodeStack.Pop();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print (currentNode-&amp;gt;data);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodeStack.Push(currentNode-&amp;gt;right);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodeStack.Push(currentNode-&amp;gt;left);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/6196616464926426650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/11/pre-order-tree-traversal-without.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6196616464926426650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6196616464926426650'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/11/pre-order-tree-traversal-without.html' title='Pre-Order Tree Traversal Without Recursion : Pseudo Code'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-1129203518002826846</id><published>2011-11-01T15:01:00.001-07:00</published><updated>2011-11-01T15:08:33.092-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Algorithms"/><category scheme="http://www.blogger.com/atom/ns#" term="Extract Max"/><category scheme="http://www.blogger.com/atom/ns#" term="Heap"/><category scheme="http://www.blogger.com/atom/ns#" term="Priority Queue"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Pseudo Code"/><title type='text'>Heap as a Priority Queue : Pseudo Code</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
An important use of heap sort is to implement a priority queue. A 
priority queue is a collection of elements that each element has been 
assigned a priority and such that order in which elements are deleted 
and processed comes from the following rules:&lt;br /&gt;


&lt;br /&gt;

&lt;br /&gt;

1) An element of higher priority is processed before any element of lower priority.
&lt;br /&gt;


2) Two element with the same priority are processed according to the order in which they were added to the queue.&lt;br /&gt;

&lt;br /&gt;
&lt;b&gt;Pseudo Code&lt;/b&gt; :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;

HeapExtractMax(A){&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; if(heap-size[A] &amp;lt; 1){&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //Underflow&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; max = A[1];&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; A[1] = A[heap-size[A]];&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; heap-size[A]--;&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; Heapify(A, 1);&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; return max;&lt;br /&gt;

}&lt;br /&gt;

&lt;br /&gt;

HeapInsert(A, key){
&amp;nbsp;&amp;nbsp;&amp;nbsp; heap-size[A]++;&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; i = heap-size[A];&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; while(i &amp;gt; 1 &amp;amp;&amp;amp; A[Parent(i)] &amp;lt; key){&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; A[i] = A[Parent(i)];&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; i = Parent(i);&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; A[i] = key;&lt;br /&gt;

}&lt;br /&gt;

&lt;br /&gt;

Run-Time for HeapExtractMax : O(log n)&lt;br /&gt;


Run-Time for HeapInsert : O(log n)&lt;br /&gt;


&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/1129203518002826846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/11/heap-as-priority-queue-pseudo-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/1129203518002826846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/1129203518002826846'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/11/heap-as-priority-queue-pseudo-code.html' title='Heap as a Priority Queue : Pseudo Code'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-6254651972383762678</id><published>2011-11-01T15:01:00.000-07:00</published><updated>2011-11-17T11:32:40.723-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Algorithms"/><category scheme="http://www.blogger.com/atom/ns#" term="Average Case"/><category scheme="http://www.blogger.com/atom/ns#" term="Best Case"/><category scheme="http://www.blogger.com/atom/ns#" term="Build Heap"/><category scheme="http://www.blogger.com/atom/ns#" term="Heap"/><category scheme="http://www.blogger.com/atom/ns#" term="Heap Sort"/><category scheme="http://www.blogger.com/atom/ns#" term="Heapify"/><category scheme="http://www.blogger.com/atom/ns#" term="Merge Sort"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Pseudo Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Quick Sort"/><category scheme="http://www.blogger.com/atom/ns#" term="Sorting"/><category scheme="http://www.blogger.com/atom/ns#" term="Space Complexity"/><category scheme="http://www.blogger.com/atom/ns#" term="Worst Case"/><title type='text'>Heap Sort : Algorithm and Pseudo Code</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Heap sort is a comparison-based&lt;a href=&quot;http://www.blogger.com/goog_342195754&quot;&gt; &lt;/a&gt;sorting algorithm to create a sorted array (or list), and is part of the selection sort family. Although somewhat slower in practice on most machines than a well implemented quick sort, it has the advantage of a more favorable worst-case O(&lt;i&gt;n&lt;/i&gt; log &lt;i&gt;n&lt;/i&gt;) run-time. Heap sort is an in-place algorithm, but is not a stable sort.&lt;br /&gt;
&lt;br /&gt;
For any array A to be a heap, the following heap property should be satisfied :&amp;nbsp; A[Parent(i)] &amp;gt;= A[i], for any element present at index i in the array A. &lt;br /&gt;
&lt;br /&gt;
The height of any heap consisting of n elements is given as h = O(log n)&lt;br /&gt;
&lt;br /&gt;
Heap sort begins by building a heap
 out of the data set, and then removing the largest item and placing it 
at the end of the partially sorted array. After removing the largest 
item, it reconstructs the heap, removes the largest remaining item, and 
places it in the next open position from the end of the partially sorted
 array. This is repeated until there are no items left in the heap and 
the sorted array is full. Elementary implementations require two arrays -
 one to hold the heap and the other to hold the sorted elements.&lt;a href=&quot;http://www.blogger.com/goog_342195754&quot;&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Heap sort inserts the input list elements into a binary heap
 data structure. The largest value (in a max-heap) or the smallest value
 (in a min-heap) are extracted until none remain, the values having been
 extracted in sorted order. The heap&#39;s invariant is preserved after each
 extraction, so the only cost is that of extraction.&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/goog_342195754&quot;&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
During extraction, the only space required is that needed to store 
the heap. To achieve constant space overhead, the heap is stored in the 
part of the input array not yet sorted.&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/goog_342195754&quot;&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Heap sort uses two heap operations: &lt;i&gt;insertion&lt;/i&gt; and &lt;i&gt;root deletion&lt;/i&gt;.
 Each extraction places an element in the last empty location of the 
array. The remaining prefix of the array stores the unsorted elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG-pjH-iV9IdxWXIsEFP8wp-7T5L6vuLvxVaPgI8n4pYkn_YSLKh-s38TeJ0y2fNrKBH3VixhlFWCw8LXFS-LrHafPiEUWNokvzoOhO72EoAMM1Q9hPgjWVJ6C1nNbMJhtO9UVjljaedtT/s1600/heapsort.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG-pjH-iV9IdxWXIsEFP8wp-7T5L6vuLvxVaPgI8n4pYkn_YSLKh-s38TeJ0y2fNrKBH3VixhlFWCw8LXFS-LrHafPiEUWNokvzoOhO72EoAMM1Q9hPgjWVJ6C1nNbMJhtO9UVjljaedtT/s320/heapsort.gif&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Because of the O(&lt;i&gt;n&lt;/i&gt; log &lt;i&gt;n&lt;/i&gt;) upper bound on heap sort&#39;s 
running time and constant upper bound on its auxiliary storage, embedded
 systems with real-time constraints or systems concerned with security 
often use heap sort. Heap sort also competes with merge sort,
 which has the same time bounds, but requires Ω(n) auxiliary space, 
whereas heap sort requires only a constant amount. Heap sort also 
typically runs more quickly in practice on machines with small or slow data caches. On the other hand, merge sort has several advantages over heap sort:&lt;br /&gt;
&lt;br /&gt;
1) Like quick sort, merge sort on arrays has considerably better data 
cache performance, often outperforming heap sort on a modern desktop PC, 
because it accesses the elements in order.&lt;br /&gt;
&lt;br /&gt;
2) Merge sort is a stable sort.&lt;br /&gt;
&lt;br /&gt;
3) Merge sort parallelizes better; the most trivial way of parallelizing merge sort achieves close to linear speedup, while there is no obvious way to parallelize heap sort at all.&lt;br /&gt;
&lt;br /&gt;
4) Merge sort can be easily adapted to operate on linked lists (with O(1) extra space) and very large lists stored on slow-to-access media such as disk storage or network attached storage. Heapsort relies strongly on random access, and its poor locality of reference
 makes it very slow on media with long access times. (Note: Heapsort can
 also be applied to doubly linked lists with only O(1) extra space 
overhead)&lt;br /&gt;
&lt;br /&gt;
Assumptions Made :&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Parent(i) = floor(i/2);
&lt;/li&gt;
&lt;li&gt;Left(i) = 2i;&lt;/li&gt;
&lt;li&gt;Right(i) = 2i +1;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Pseudo Code :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Heapify(A, i){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; l = Left(i);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; r = Right(i);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if( l &amp;lt;= heap-size[A] &amp;amp;&amp;amp; A[l] &amp;gt; A[i]){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; largest = l;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; largest = i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(r &amp;lt;= heap-size[A] &amp;amp;&amp;amp; A[r] &amp;gt; A[largest]){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; largest = r;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(largest != i){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; exchange (A[i], A[largest]);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Heapify(A, largest);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
BuildHeap(A){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; heap-size[A] = length[A];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for i = floor(length[A]/2) to 1{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Heapify(A, i);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
HeapSort(A){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BuildHeap(A);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for i = length[A] to 2{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; exchange(A[1], A[i]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; heap-size[A]--;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Heapify(A, 1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Run-time for Heapify : O(log n) = O(h); T(n) = T(2n/3) + O(1);&lt;br /&gt;
Run-time for BuildHeap : O(n)&lt;br /&gt;
Run-time for HeapSort : O(n log n)&lt;br /&gt;
&lt;br /&gt;
&lt;table cellspacing=&quot;5&quot; class=&quot;infobox&quot;&gt;&lt;tbody&gt;
&lt;tr class=&quot;&quot;&gt;&lt;th scope=&quot;row&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;Worst case performance&lt;/th&gt;
&lt;td class=&quot;&quot;&gt;&lt;span class=&quot;texhtml&quot; dir=&quot;ltr&quot;&gt;: O(n log&amp;nbsp; n)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;&quot;&gt;
&lt;th scope=&quot;row&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;Best case performance&lt;/th&gt;
&lt;td class=&quot;&quot;&gt;&lt;span class=&quot;texhtml&quot; dir=&quot;ltr&quot;&gt;: Ω(n), O(n log&amp;nbsp; n)&lt;/span&gt;&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-0&quot;&gt;&lt;/sup&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;&quot;&gt;
&lt;th scope=&quot;row&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;Average case performance&lt;/th&gt;
&lt;td class=&quot;&quot;&gt;&lt;span class=&quot;texhtml&quot; dir=&quot;ltr&quot;&gt;: O(n log&amp;nbsp; n)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;&quot;&gt;
&lt;th scope=&quot;row&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;Worst case space complexity&lt;/th&gt;
&lt;td class=&quot;&quot;&gt;&lt;span class=&quot;texhtml&quot; dir=&quot;ltr&quot;&gt;: O(n)&lt;/span&gt; total, &lt;span class=&quot;texhtml&quot; dir=&quot;ltr&quot;&gt;O(1)&lt;/span&gt; auxiliary&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/6254651972383762678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/11/heap-sort-algorithm-and-pseudo-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6254651972383762678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6254651972383762678'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/11/heap-sort-algorithm-and-pseudo-code.html' title='Heap Sort : Algorithm and Pseudo Code'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG-pjH-iV9IdxWXIsEFP8wp-7T5L6vuLvxVaPgI8n4pYkn_YSLKh-s38TeJ0y2fNrKBH3VixhlFWCw8LXFS-LrHafPiEUWNokvzoOhO72EoAMM1Q9hPgjWVJ6C1nNbMJhtO9UVjljaedtT/s72-c/heapsort.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-2848692887300001047</id><published>2011-10-29T15:46:00.000-07:00</published><updated>2011-10-29T15:49:48.353-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Algorithms"/><category scheme="http://www.blogger.com/atom/ns#" term="Average Case"/><category scheme="http://www.blogger.com/atom/ns#" term="Best Case"/><category scheme="http://www.blogger.com/atom/ns#" term="C++ Codes"/><category scheme="http://www.blogger.com/atom/ns#" term="Insertion Sort"/><category scheme="http://www.blogger.com/atom/ns#" term="Merge Sort"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Pseudo Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Quick Sort"/><category scheme="http://www.blogger.com/atom/ns#" term="Selection Sort"/><category scheme="http://www.blogger.com/atom/ns#" term="Sorting"/><category scheme="http://www.blogger.com/atom/ns#" term="Space Complexity"/><category scheme="http://www.blogger.com/atom/ns#" term="Worst Case"/><title type='text'>Insertion Sort : Algorithm and Pseudo Code</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Insertion sort is a simple sorting algorithm: a comparison sort in which the sorted array (or list) is built one entry at a time. &lt;/span&gt;Every repetition of insertion sort removes an element from the input 
data, inserting it into the correct position in the already-sorted list,
 until no input elements remain. The choice of which element to remove 
from the input is arbitrary, and can be made using almost any choice 
algorithm.&lt;br /&gt;
&lt;br /&gt;
Sorting is typically done in-place. The resulting array after &lt;i&gt;k&lt;/i&gt; iterations has the property where the first &lt;i&gt;k&lt;/i&gt;
 + 1 entries are sorted. In each iteration the first remaining entry of 
the input is removed, inserted into the result at the correct position, 
thus extending the result.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik9Yt9Y9NG6lqTfPVbCi646m6L2iSO1scGOJkqctxreunb_Jhg621W_kxjxRINaixs3W7zsCLah9WPa9BzjIWYwEUw6gMFri10HkKhFFF52xup67QxtIoW-CIvazL1s7xdFClk0t5fMAVE/s1600/Insertion-sort-example-300px.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik9Yt9Y9NG6lqTfPVbCi646m6L2iSO1scGOJkqctxreunb_Jhg621W_kxjxRINaixs3W7zsCLah9WPa9BzjIWYwEUw6gMFri10HkKhFFF52xup67QxtIoW-CIvazL1s7xdFClk0t5fMAVE/s1600/Insertion-sort-example-300px.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The best case input is an array that is already sorted. In this case insertion sort has a linear running time (i.e., O(n)). The worst case input is an array sorted in reverse order. In this 
case every iteration of the inner loop will scan and shift the entire 
sorted subsection of the array before inserting the next element. For 
this case insertion sort has a quadratic running time (i.e., O(n&lt;sup&gt;2&lt;/sup&gt;)). The average case is also quadratic, which makes insertion sort impractical for sorting large arrays.&lt;br /&gt;
&lt;br /&gt;
However, insertion sort is one of the fastest algorithms for sorting very small arrays, even faster than quicksort; indeed, good quicksort
 implementations use insertion sort for arrays smaller than a certain 
threshold, also when arising as sub-problems; the exact threshold must be
 determined experimentally and depends on the machine, but is commonly 
around ten. &lt;br /&gt;
&lt;br /&gt;
Insertion sort is very similar to selection sort. As in selection sort, after &lt;i&gt;k&lt;/i&gt; passes through the array, the first &lt;i&gt;k&lt;/i&gt; elements are in sorted order. For selection sort these are the &lt;i&gt;k&lt;/i&gt; smallest elements, while in insertion sort they are whatever the first &lt;i&gt;k&lt;/i&gt;
 elements were in the unsorted array. Insertion sort&#39;s advantage is that
 it only scans as many elements as needed to determine the correct 
location of the &lt;i&gt;k&lt;/i&gt;+1st element, while selection sort must scan all remaining elements to find the absolute smallest element.&lt;br /&gt;
&lt;br /&gt;
Calculations show that insertion sort will usually perform about half as many comparisons as selection sort. Assuming the &lt;i&gt;k&lt;/i&gt;+1st element&#39;s rank is random, insertion sort will on average require shifting half of the previous &lt;i&gt;k&lt;/i&gt;
 elements, while selection sort always requires scanning all unplaced 
elements. If the input array is reverse-sorted, insertion sort performs 
as many comparisons as selection sort. If the input array is already 
sorted, insertion sort performs as few as &lt;i&gt;n&lt;/i&gt;-1 comparisons, thus making insertion sort more efficient when given sorted or &quot;nearly-sorted&quot; arrays.&lt;br /&gt;
&lt;br /&gt;
While insertion sort typically makes fewer comparisons than selection sort,
 it requires more writes because the inner loop can require shifting 
large sections of the sorted portion of the array. In general, insertion
 sort will write to the array O(n&lt;sup&gt;2&lt;/sup&gt;) times, whereas selection sort will write only O(n)
 times. For this reason selection sort may be preferable in cases where 
writing to memory is significantly more expensive than reading, such as 
with EEPROM or flash memory.&lt;br /&gt;
&lt;div style=&quot;color: black; font-family: inherit;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Pseudo Code :&lt;/b&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
InsertionSort(A){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for j = 2 to length(A){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; key = A[j];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Insert A[j] into sorted sequence A[1..j-1]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; i = j-1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while(i &amp;gt; 0 &amp;amp;&amp;amp; A[i] &amp;gt; key){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; A[i+1] = A[i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; i--;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; A[i+1] = key;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;table cellspacing=&quot;5&quot; class=&quot;infobox&quot;&gt;&lt;tbody&gt;
&lt;tr class=&quot;&quot;&gt;&lt;th scope=&quot;row&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;Worst case performance&lt;/th&gt;
&lt;td class=&quot;&quot;&gt;: О(n&lt;sup&gt;2&lt;/sup&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;&quot;&gt;
&lt;th scope=&quot;row&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;Best case performance&lt;/th&gt;
&lt;td class=&quot;&quot;&gt;: O(n)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;&quot;&gt;
&lt;th scope=&quot;row&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;Average case performance&lt;/th&gt;
&lt;td class=&quot;&quot;&gt;: О(n&lt;sup&gt;2&lt;/sup&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;&quot;&gt;
&lt;th scope=&quot;row&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;Worst case space complexity&lt;/th&gt;
&lt;td class=&quot;&quot;&gt;: О(n) total, O(1) auxiliary&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/2848692887300001047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/10/insertion-sort-algorithm-and-pseudo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/2848692887300001047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/2848692887300001047'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/10/insertion-sort-algorithm-and-pseudo.html' title='Insertion Sort : Algorithm and Pseudo Code'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik9Yt9Y9NG6lqTfPVbCi646m6L2iSO1scGOJkqctxreunb_Jhg621W_kxjxRINaixs3W7zsCLah9WPa9BzjIWYwEUw6gMFri10HkKhFFF52xup67QxtIoW-CIvazL1s7xdFClk0t5fMAVE/s72-c/Insertion-sort-example-300px.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-6680034265475900047</id><published>2011-10-09T15:30:00.000-07:00</published><updated>2011-10-09T02:51:01.088-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AUTO_INCREMENT"/><category scheme="http://www.blogger.com/atom/ns#" term="Informative Function"/><category scheme="http://www.blogger.com/atom/ns#" term="LAST_INSERT_ID() not working"/><category scheme="http://www.blogger.com/atom/ns#" term="LAST_INSERT_ID() returns 0"/><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><category scheme="http://www.blogger.com/atom/ns#" term="MySQL Query Browser"/><category scheme="http://www.blogger.com/atom/ns#" term="PHPMyAdmin"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>LAST_INSERT_ID() : SQL Informative Function</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;
It returns the the most recently generated ID that is maintained in the server on a per-connection basis.&amp;nbsp;&amp;nbsp; &lt;/li&gt;
&lt;li&gt;It is not changed by another client. It is not even changed if you update another AUTO_INCREMENT column with a nonmagic value (that is, a value that is not NULL and not 0). &lt;/li&gt;
&lt;li&gt;Using LAST_INSERT_ID() and AUTO_INCREMENT columns simultaneously from multiple clients is perfectly valid as each client will receive the last inserted ID for the last statement that client executed.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;


&lt;/ul&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
If you want to use the ID that was generated for one table and insert it into a second table, you can use SQL statements like this:&lt;/div&gt;
&lt;br /&gt;
INSERT INTO foo (auto,text) VALUES (NULL,&#39;text&#39;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // generate ID by inserting NULL&lt;br /&gt;
INSERT INTO foo2 (id,text) VALUES (LAST_INSERT_ID(),&#39;text&#39;);&amp;nbsp; // use ID in second table&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;BEWARE !!&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
1) However, you might be getting incorrect output if you try these SQL commands on a browser based SQL interface like phpMyadmin or MySQL Query Browser. This is because these interfaces create a separate connection every time a query is created. So, every time you will see that LAST_INSERT_ID() returns 0 (zero). To, avoid this, you should execute both the queries in a single line, separated by semicolons.&lt;br /&gt;
&lt;br /&gt;
INSERT INTO foo (auto,text) VALUES (NULL,&#39;text&#39;); INSERT INTO foo2 (id,text) VALUES (LAST_INSERT_ID(),&#39;text&#39;);&lt;br /&gt;
&lt;br /&gt;
2) Also, LAST_INSERT_ID() returns 0 in a case where you do not have an AUTO_INCREMENT column in your database. So, before executing this query, make sure that you do have one in your database.&lt;br /&gt;
&lt;br /&gt;
For more information, visit : &lt;br /&gt;
&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/information-functions.html&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/information-functions.html&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/6680034265475900047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/10/lastinsertid-sql-informative-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6680034265475900047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6680034265475900047'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/10/lastinsertid-sql-informative-function.html' title='LAST_INSERT_ID() : SQL Informative Function'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-7590472174140793721</id><published>2011-07-09T14:17:00.000-07:00</published><updated>2012-04-27T04:05:48.899-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="Debugger"/><category scheme="http://www.blogger.com/atom/ns#" term="IDE"/><category scheme="http://www.blogger.com/atom/ns#" term="LAMP Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><category scheme="http://www.blogger.com/atom/ns#" term="Operating System"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="PHPMyAdmin"/><category scheme="http://www.blogger.com/atom/ns#" term="RabbitVCS"/><category scheme="http://www.blogger.com/atom/ns#" term="Setup"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu 11.04"/><category scheme="http://www.blogger.com/atom/ns#" term="Version Control System"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Development"/><category scheme="http://www.blogger.com/atom/ns#" term="xDebug"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend"/><title type='text'>Web Development Setup on a PC</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Being a developer, and doing the pathetic task of setting up my laptop for web development due to the poor quality of laptops provided in my company which crash or fail due to some hardware problems, I thought about writing up this blog post to help all those web developers who face problems in setting up their computers for web development. This is not a post for developers who want to work on Windows. So, only developers who prefer Linux may read further.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1) Install Linux :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is the first step towards setting up your machine. I used Ubuntu 11.04 as the Linux OS. I downloaded it from the internet and then installed on my machine after creating a bootable USB using the application provided in the OS download.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2) Install Netbeans :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I prefer Netbeans IDE for my development. Its upto you whatever IDE you want to install but I have listed the steps to install Netbeans. I installed Netbeans IDE 7.0 with all the possible language support like C, C++, Java, PHP etc. along with the bundled servers.&lt;br /&gt;
&lt;br /&gt;
i) Download the Netbeans installation file from http://netbeans.org/downloads/. Its entirely up to you to select and download what all language support you want in your IDE and what suits you best.&lt;br /&gt;
&lt;br /&gt;
ii) Meanwhile, the Netbeans installation file gets downloaded, you can install JVM on your machine, which is required by the Netbeans installer.&lt;br /&gt;
&lt;br /&gt;
iii) Go to the Synaptic Package Manager and search for the JVM packages. Once you find them, mark them for installation and click on apply. The JVM packages would start downloading.&lt;br /&gt;
&lt;br /&gt;
iv) Once you complete with JVM installation and complete downloading the Netbeans installation file. You need to install Netbeans. The downloaded file would be an .sh extension file. So, to run this file, you need to execute the following command in the terminal after you move to the downloaded file&#39;s folder:&lt;br /&gt;
&lt;br /&gt;
sudo sh &amp;lt;Name of the Downloaded File&amp;gt;&lt;br /&gt;
&lt;br /&gt;
v) Now, follow the instructions shown by the installer to the install the Netbeans IDE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3) Install LAMP Server :&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is the most important installation as far as web development is concerned. LAMP stands for (L)inux (A)pache (M)ySQL (P)HP. Its similar to WAMP server provided in Windows. So, to install LAMP, go to the terminal and type the following command:&lt;br /&gt;
sudo apt-get install lamp-server^&lt;br /&gt;
&lt;br /&gt;
Now, to check if the LAMP was setup properly, hit the url:&lt;br /&gt;
&lt;br /&gt;
http://localhost&lt;br /&gt;
&lt;br /&gt;
If the url givres you a response, &quot;It Works !&quot;, then you can be sure of the correct installation of the Apache web server.&lt;br /&gt;
&lt;br /&gt;
Now, if you want to install PHPMyAdmin for your machine, run the following command in the terminal.&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
During this installation, you will be asked to choose an administrator account along with a password. Also, when it asks for a choice of configuration, select &#39;Apache&#39; and then select &#39;Yes&#39; for dbconfig-common.&lt;br /&gt;
&lt;br /&gt;
Once, you complete with the PHPMyAdmin, don&#39;t forget to restart the Apache server. Without this, PHPMyAdmin won&#39;t work properly. To restart the Apache server, run the following command in the terminal.&lt;br /&gt;
&lt;br /&gt;
sudo service apache2 restart&lt;br /&gt;
&lt;br /&gt;
If it still does not work, run the following command and then again restart the server.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
That&#39;s it for installing the LAMP Server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4) Install RabbitVCS :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If you are working in a team over a project, you will definitely need a Version Control System. I installed RabbitVCS on my machine for this purpose. Run the commands given below in the order to complete RabbitVCS installation.&lt;br /&gt;
&lt;br /&gt;
i) sudo add-apt-repository ppa:rabbitvcs/ppa&lt;br /&gt;
&lt;br /&gt;
ii) sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
iii) sudo apt-get install rabbitvcs-core&lt;br /&gt;
&lt;br /&gt;
iv) sudo apt-get install rabbitvcs-nautilus rabbitvcs-thunar rabbitvcs-gedit rabbitvcs-cli&lt;br /&gt;
&lt;br /&gt;
After running all these commands successfully, you need to restart your machine to completely integrate RabbitVCS into your system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5) Install xDebug :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is an essential tool for any developer. For PHP debugging, I preferred xDebug. Its really easy to install. Just open the terminal and run the command given below.&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install php5-xdebug&lt;br /&gt;
&lt;br /&gt;
Once you have installed it, go to the xdebug.ini file. You can go to the file using this command and open it in edit mode.&lt;br /&gt;
&lt;br /&gt;
sudo gedit /etc/php5/apache2/conf.d/xdebug.ini&lt;br /&gt;
&lt;br /&gt;
Now, change the file so it looks like this:&lt;br /&gt;
&lt;br /&gt;
zend_extension=&quot;/usr/lib/php5/20090626/xdebug.so&quot;&lt;br /&gt;
xdebug.remote_enable=1&lt;br /&gt;
xdebug.remote_handler=dbgp&lt;br /&gt;
xdebug.remote_mode=req&lt;br /&gt;
xdebug.remote_host=127.0.0.1&lt;br /&gt;
xdebug.remote_port=9000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The zend_extension will already be set. So, you need not change it. But if you don&#39;t have it. Find the file xdebug.so in php5 folder and copy its path to zend_extension.&lt;br /&gt;
&lt;br /&gt;
Now you can check if your debugger is installed correctly with phpinfo(). You should see the text something like the one given below:&lt;br /&gt;
&lt;br /&gt;
This program makes use of the Zend Scripting Language Engine:&lt;br /&gt;
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies&lt;br /&gt;
with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans&lt;br /&gt;
with Suhosin v0.9.29, Copyright (c) 2007, by SektionEins GmbH&lt;br /&gt;
&lt;br /&gt;
Hope that this blog post will help you in setting up your machine easily !! Your comments and feedbacks are highly welcomed on this post. If you find any thing or tool installation that I have missed regarding Web Development Setup, please feel free to write back.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/7590472174140793721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/07/web-development-setup-on-pc.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/7590472174140793721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/7590472174140793721'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/07/web-development-setup-on-pc.html' title='Web Development Setup on a PC'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-5378745942316839445</id><published>2011-05-29T07:51:00.000-07:00</published><updated>2011-10-09T02:57:05.480-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="PEAR"/><category scheme="http://www.blogger.com/atom/ns#" term="PEAR mail"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Send Email"/><category scheme="http://www.blogger.com/atom/ns#" term="SMTP"/><category scheme="http://www.blogger.com/atom/ns#" term="SMTP server"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu 11.04"/><title type='text'>How To Setup PEAR Mail On Linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;PEAR mail is a package that you can to install to set up a mailing system for your website or application. Its really easy to install. I work on a Linux PC. So, for all the Linux developers out there, I can give you out the commands which you need to execute on the command line or the terminal. This will install PEAR mail on your system.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;1) sudo apt-get install php-&lt;span class=&quot;il&quot;&gt;pear&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
2) sudo &lt;span class=&quot;il&quot;&gt;pear&lt;/span&gt; install mail&lt;br /&gt;
&lt;br /&gt;
3) sudo &lt;span class=&quot;il&quot;&gt;pear&lt;/span&gt; install Net_SMTP&lt;br /&gt;
&lt;br /&gt;
4) sudo &lt;span class=&quot;il&quot;&gt;pear&lt;/span&gt; install Auth_SASL&lt;br /&gt;
&lt;br /&gt;
5) sudo &lt;span class=&quot;il&quot;&gt;pear&lt;/span&gt; install mail_mime&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;You might find some errors reported during the installation. But don&#39;t worry about them. It will work fine. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Now, once you have got your packages installed, you would be itching to see how the mailing system works. As for PHP, its really simple. The code snippets given below explain you how it actually works. If you have a little knowledge in PHP, it will not be hard to understand as to what is happening.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&amp;lt;?php&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// This is bundled with the mail package and comes with the above installation.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;require_once &quot;Mail.php&quot;; &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// The sender email address needs to be here.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$from = &quot;sender@example.com&quot;;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// The recipient email address needs to be here.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$to = &quot;recipient@example.com&quot;;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// The subject of the email is given here.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$subject = &quot;&amp;lt;Your Subject&amp;gt;&quot;;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// The body of the email message to be conveyed is written here.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$body = &quot;&amp;lt;Body of the Email message&amp;gt;&quot;; &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// The SMTP server that you will use to send the emails.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$host = &quot;mail.example.com&quot;; &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// The username for the SMTP server. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$username = &quot;smtp_username&quot;; &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// The password for the SMTP server. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$password = &quot;smtp_password&quot;; &lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;// The headers are formed as an array here.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$headers = array (&#39;From&#39; =&amp;gt; $from, &#39;To&#39; =&amp;gt; $to, &#39;Subject&#39; =&amp;gt; $subject); &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// This creates an instance of the Mail Factory with the required login credentials for the SMTP server.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// The first argument tells the factory that the server is an SMTP server.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$smtp = Mail::factory(&#39;smtp&#39;, array (&#39;host&#39; =&amp;gt; $host, &#39;auth&#39; =&amp;gt; true, &#39;username&#39; =&amp;gt; $username, &#39;password&#39; =&amp;gt; $password)); &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// This sends the mail to the intended recipient with the required headers and the body of the message.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;$mail = $smtp-&amp;gt;send($to, $headers, $body); &lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// If an error is reported during the mailing, the appropriate error message will be displayed. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;if (PEAR::isError($mail)) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; echo(&quot;&amp;lt;p&amp;gt;&quot; . $mail-&amp;gt;getMessage() . &quot;&amp;lt;/p&amp;gt;&quot;);&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;// If the mail is successfully sent, the success message will be shown.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; echo(&quot;&amp;lt;p&amp;gt;Message successfully sent!&amp;lt;/p&amp;gt;&quot;);&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;?&amp;gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Please make sure to read the comments given in the lines to ensure that your mail service works absolutely fine. I have put up comments at every possible place to guide you through. Hope, this would help you acheive your task.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/5378745942316839445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/05/how-to-setup-pear-mail-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/5378745942316839445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/5378745942316839445'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/05/how-to-setup-pear-mail-on-linux.html' title='How To Setup PEAR Mail On Linux'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-6539380356864821797</id><published>2011-02-07T23:31:00.000-08:00</published><updated>2011-02-08T00:06:55.358-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry"/><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry Application Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry Device"/><category scheme="http://www.blogger.com/atom/ns#" term="Blackberry JDE"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Java Micro Edition"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Blackberry Application Development : Introduction</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Recently, I got a chance to work on Blackberry Application Development. It was a nice learning curve for me. So, I thought to share some experience with the people as well. Just an introduction of how things work and what are the requirements.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Java Basics:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;BlackBerry development for all recent models is done exclusively in Java. So if you&#39;re not a strong Java programmer, now&#39;s the time to brush up on your Java programming skills. (C# programmers will find the transition to Java fairly simple, the languages are very close in most respects.) Don&#39;t learn about the newest Java features, however, because the BlackBerry platform is built on top of Java Micro Edition (Java ME), which is itself a derivative of Java version 1.3. So forget all the fancy (but useful) language features introduced in Java 1.5 -- generics, enumerations, and so on -- you can&#39;t use these in BlackBerry programming. You can&#39;t also use most of the library classes you&#39;re familiar with -- they&#39;re just not there. A small subset of the Java Standard Edition (Java SE) classes are supported, as well as a number of BlackBerry-specific classes.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Java Micro Edition:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Once you&#39;ve brushed up on your Java, you need to spend a bit of time understanding the Java ME platform, which was formerly known as Java 2 Micro Edition, or J2ME for short. You need to understand the concepts of configurations and profiles, and in particular the CLDC and MIDP standards. You&#39;ll find lots of information about these in various books and on Sun&#39;s Java development site.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Blackberry JDE:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;After learning about Java ME, it&#39;s time to explore the BlackBerry platform. The BlackBerry platform is based on the CLDC and includes support for MIDP 2.0. However, a large number of BlackBerry-specific classes are also provided. Which brings you to the first question you&#39;ll face: are you going to write a BlackBerry application or a MIDP application? In a MIDP application you&#39;re constrained to only use the APIs exposed by the CLDC and MIDP standards. Your application will run on the BlackBerry and on most cellphones, but it won&#39;t be able to use any of the BlackBerry&#39;s special features. You can use any MIDP-compatible development tool, such as the Sun Java Wireless Toolkit for CLDC (formerly known as the J2ME Wireless Toolkit), to create your applications.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Most application developers opt to build BlackBerry-specific applications. This means learning the BlackBerry-specific APIs -- including new user interface classes -- and using the BlackBerry Java Development Environment (JDE) to develop your applications. The JDE, which is free to download, works with the standard Java Software Development Kit and provides you with all the tools necessary to create, package, test and debug BlackBerry applications. You don&#39;t even need a BlackBerry handheld, because the JDE includes a full-featured BlackBerry device simulator. A complete set of JavaDocs is provided that describes all the classes and interfaces available to programmers.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;After downloading and installing the JDE, you&#39;ll want to read the developer&#39;s guides that come with the JDE and look at the sample applications that are shipped with it. Then start your development by writing a few simple applications to get a feel for the BlackBerry APIs and the tools.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Blackberry Device:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Although you can develop and test your applications for free, at some point you&#39;ll need to run the application on an actual BlackBerry handheld. This will cost you money, of course, and so it&#39;s not something you&#39;ll want to do until you&#39;re serious about writing BlackBerry applications. On-device testing is crucial to ensuring that the application works correctly, because the simulator is not a perfect emulation system.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;If you&#39;re truly serious about BlackBerry application development, consider also joining one of the BlackBerry developer programs for additional support and early access to new devices and APIs. You should also explore RIM&#39;s other BlackBerry developer resources. There are also third-party forums and books available to help you learn the BlackBerry platform.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;To get more on this stuff, you can go through the documents and sample applications provided by the Blackberry developers. It offers a wide range of sample applications. You can easily learn application develeopment going through the documents provided.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Happy Developing !!&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/6539380356864821797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/02/blackberry-application-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6539380356864821797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6539380356864821797'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/02/blackberry-application-development.html' title='Blackberry Application Development : Introduction'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-7235890337558722079</id><published>2011-01-23T11:43:00.000-08:00</published><updated>2011-01-23T11:47:13.423-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Application Service"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="UDDI"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Service"/><category scheme="http://www.blogger.com/atom/ns#" term="WSDL"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>Web Service : Introduction</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Web Service describes a standardized way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone.&lt;br /&gt;
&lt;br /&gt;
* XML (eXtensible Mark-up Language)&amp;nbsp; is used to tag the data.&lt;br /&gt;
* SOAP (Simple Object Access Protocol) is used to transfer the data.&lt;br /&gt;
* WSDL (Web Services Description Language) is used for describing the services available.&lt;br /&gt;
* UDDI (Universal Description, Discovery and Integration) is used for listing what services are available.&lt;br /&gt;
&lt;br /&gt;
Used primarily as a means for businesses to communicate with each other and with clients, Web services allow organizations to communicate data without intimate knowledge of each other&#39;s IT systems behind the firewall&lt;br /&gt;
&lt;br /&gt;
Unlike traditional client/server models, such as a Web server/Web page system, Web services do not provide the user with a GUI. Web services instead share business logic, data and processes through a programmatic interface across a network. The applications interface, not the users. Developers can then add the Web service to a GUI (such as a Web page or an executable program) to offer specific functionality to users.&lt;br /&gt;
&lt;br /&gt;
Web services allow different applications from different sources to communicate with each other without time-consuming custom coding, and because all communication is in XML, Web services are not tied to any one operating system or programming language. For example, Java can talk with Perl, Windows applications can talk with UNIX applications.&lt;br /&gt;
&lt;br /&gt;
Web services do not require the use of browsers or HTML. Web services are sometimes called Application Services.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/7235890337558722079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/01/web-service-introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/7235890337558722079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/7235890337558722079'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/01/web-service-introduction.html' title='Web Service : Introduction'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-1490311817886741829</id><published>2011-01-19T04:42:00.000-08:00</published><updated>2011-01-19T04:51:20.440-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="App Engine Services"/><category scheme="http://www.blogger.com/atom/ns#" term="Application Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Datastore"/><category scheme="http://www.blogger.com/atom/ns#" term="Development WorkFlow"/><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine"/><category scheme="http://www.blogger.com/atom/ns#" term="Java Runtime Environment"/><category scheme="http://www.blogger.com/atom/ns#" term="Memcache"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Runtime Environment"/><category scheme="http://www.blogger.com/atom/ns#" term="Sandbox"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Google App Engine (GAE) : Components</title><content type='html'>The GAE comprises of the following components that have been given below. All of them help the developers to free themselves of all the headaches involved in hosting a web application and to run the application efficiently. The Google servers take up these time-consuming tasks so that you can concentrate on your application. Below are the components of the Google App Engine :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1) The Application Environment&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Google App Engine makes it easy to build an application that runs reliably, even under heavy load and with large amounts of data. App Engine includes the following features:&lt;br /&gt;
&lt;br /&gt;
i) dynamic web serving, with full support for common web technologies&lt;br /&gt;
ii) persistent storage with queries, sorting and transactions&lt;br /&gt;
iii) automatic scaling and load balancing&lt;br /&gt;
iv) APIs for authenticating users and sending email using Google Accounts&lt;br /&gt;
v) a fully featured local development environment that simulates Google App Engine on your computer&lt;br /&gt;
vi) task queues for performing work outside of the scope of a web request&lt;br /&gt;
vii) scheduled tasks for triggering events at specified times and regular intervals&lt;br /&gt;
&lt;br /&gt;
Your application can run in one of two runtime environments: the Java environment, and the Python environment. Each environment provides standard protocols and common technologies for web application development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2) The Sandbox&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Applications run in a secure environment that provides limited access to the underlying operating system. These limitations allow App Engine to distribute web requests for the application across multiple servers, and start and stop servers to meet traffic demands. The sandbox isolates your application in its own secure, reliable environment that is independent of the hardware, operating system and physical location of the web server.&lt;br /&gt;
&lt;br /&gt;
Examples of the limitations of the secure sandbox environment include:&lt;br /&gt;
&lt;br /&gt;
i) An application can only access other computers on the Internet through the provided URL fetch and email services. Other computers can only connect to the application by making HTTP (or HTTPS) requests on the standard ports.&lt;br /&gt;
&lt;br /&gt;
ii) An application cannot write to the file system. An app can read files, but only files uploaded with the application code. The app must use the App Engine datastore, memcache or other services for all data that persists between requests.&lt;br /&gt;
&lt;br /&gt;
iii) Application code only runs in response to a web request, a queued task, or a scheduled task, and must return response data within 30 seconds in any case. A request handler cannot spawn a sub-process or execute code after the response has been sent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3) The Java Runtime Environment&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You can develop your application for the Java runtime environment using common Java web development tools and API standards. Your app interacts with the environment using the Java Servlet standard, and can use common web application technologies such as JavaServer Pages (JSPs).&lt;br /&gt;
&lt;br /&gt;
The Java runtime environment uses Java 6. The App Engine Java SDK supports developing apps using either Java 5 or 6.&lt;br /&gt;
&lt;br /&gt;
The environment includes the Java SE Runtime Environment (JRE) 6 platform and libraries. The restrictions of the sandbox environment are implemented in the JVM. An app can use any JVM bytecode or library feature, as long as it does not exceed the sandbox restrictions. For instance, bytecode that attempts to open a socket or write to a file will throw a runtime exception.&lt;br /&gt;
&lt;br /&gt;
Your app accesses most App Engine services using Java standard APIs. For the App Engine datastore, the Java SDK includes implementations of the Java Data Objects (JDO) and Java Persistence API (JPA) interfaces. Your app can use the JavaMail API to send email messages with the App Engine Mail service. The java.net HTTP APIs access the App Engine URL fetch service. App Engine also includes low-level APIs for its services to implement additional adapters, or to use directly from the application. See the documentation for the datastore, memcache, URL fetch, mail, images and Google Accounts APIs.&lt;br /&gt;
&lt;br /&gt;
Typically, Java developers use the Java programming language and APIs to implement web applications for the JVM. With the use of JVM-compatible compilers or interpreters, you can also use other languages to develop web applications, such as JavaScript, Ruby, or Scala.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4) The Python Runtime Environment&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
With App Engine&#39;s Python runtime environment, you can implement your app using the Python programming language, and run it on an optimized Python interpreter. App Engine includes rich APIs and tools for Python web application development, including a feature rich data modeling API, an easy-to-use web application framework, and tools for managing and accessing your app&#39;s data. You can also take advantage of a wide variety of mature libraries and frameworks for Python web application development, such as Django.&lt;br /&gt;
&lt;br /&gt;
The Python runtime environment uses Python version 2.5.2. Additional support for Python 3 is being considered for a future release.&lt;br /&gt;
&lt;br /&gt;
The Python environment includes the Python standard library. Of course, not all of the library&#39;s features can run in the sandbox environment. For instance, a call to a method that attempts to open a socket or write to a file will raise an exception. For convenience, several modules in the standard library whose core features are not supported by the runtime environment have been disabled, and code that imports them will raise an error.&lt;br /&gt;
&lt;br /&gt;
Application code written for the Python environment must be written exclusively in Python. Extensions written in the C language are not supported.&lt;br /&gt;
&lt;br /&gt;
The Python environment provides rich Python APIs for the datastore, Google Accounts, URL fetch, and email services. App Engine also provides a simple Python web application framework called webapp to make it easy to start building applications.&lt;br /&gt;
&lt;br /&gt;
You can upload other third-party libraries with your application, as long as they are implemented in pure Python and do not require any unsupported standard library modules.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5) The Datastore&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
App Engine provides a distributed data storage service that features a query engine and transactions. Just as the distributed web server grows with your traffic, the distributed datastore grows with your data. You have the choice between two different data storage options differentiated by their availability and consistency guarantees.&lt;br /&gt;
&lt;br /&gt;
The App Engine datastore is not like a traditional relational database. Data objects, or &quot;entities,&quot; have a kind and a set of properties. Queries can retrieve entities of a given kind filtered and sorted by the values of the properties. Property values can be of any of the supported property value types.&lt;br /&gt;
&lt;br /&gt;
Datastore entities are &quot;schemaless.&quot; The structure of data entities is provided by and enforced by your application code. The Java JDO/JPA interfaces and the Python datastore interface include features for applying and enforcing structure within your app. Your app can also access the datastore directly to apply as much or as little structure as it needs.&lt;br /&gt;
&lt;br /&gt;
The datastore is strongly consistent and uses optimistic concurrency control. An update of a entity occurs in a transaction that is retried a fixed number of times if other processes are trying to update the same entity simultaneously. Your application can execute multiple datastore operations in a single transaction which either all succeed or all fail, ensuring the integrity of your data.&lt;br /&gt;
&lt;br /&gt;
The datastore implements transactions across its distributed network using &quot;entity groups.&quot; A transaction manipulates entities within a single group. Entities of the same group are stored together for efficient execution of transactions. Your application can assign entities to groups when the entities are created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6) Google Accounts&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
App Engine supports integrating an app with Google Accounts for user authentication. Your application can allow a user to sign in with a Google account, and access the email address and displayable name associated with the account. Using Google Accounts lets the user start using your application faster, because the user may not need to create a new account. It also saves you the effort of implementing a user account system just for your application.&lt;br /&gt;
&lt;br /&gt;
If your application is running under Google Apps, it can use the same features with members of your organization and Google Apps accounts.&lt;br /&gt;
&lt;br /&gt;
The Users API can also tell the application whether the current user is a registered administrator for the application. This makes it easy to implement admin-only areas of your site.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7) App Engine Services&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
App Engine provides a variety of services that enable you to perform common operations when managing your application. The following APIs are provided to access these services:&lt;br /&gt;
&lt;br /&gt;
i) URL Fetch : Applications can access resources on the Internet, such as web services or other data, using App Engine&#39;s URL fetch service. The URL fetch service retrieves web resources using the same high-speed Google infrastructure that retrieves web pages for many other Google products.&lt;br /&gt;
&lt;br /&gt;
ii) Mail : Applications can send email messages using App Engine&#39;s mail service. The mail service uses Google infrastructure to send email messages.&lt;br /&gt;
&lt;br /&gt;
iii) Memcache : The Memcache service provides your application with a high performance in-memory key-value cache that is accessible by multiple instances of your application. Memcache is useful for data that does not need the persistence and transactional features of the datastore, such as temporary data or data copied from the datastore to the cache for high speed access.&lt;br /&gt;
&lt;br /&gt;
iv) Image Manipulation : The Image service lets your application manipulate images. With this API, you can resize, crop, rotate and flip images in JPEG and PNG formats.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8) Scheduled Tasks and Task Queues&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
An application can perform tasks outside of responding to web requests. Your application can perform these tasks on a schedule that you configure, such as on a daily or hourly basis. Or, the application can perform tasks added to a queue by the application itself, such as a background task created while handling a request.&lt;br /&gt;
&lt;br /&gt;
Scheduled tasks are also known as &quot;cron jobs,&quot; handled by the Cron service. For more information on using the Cron service, see the Python or Java cron documentation.&lt;br /&gt;
&lt;br /&gt;
Task queues are currently released as an experimental feature. At this time, only the Python runtime environment can use task queues. A task queue interface for Java applications will be released in the near future. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9) Development Workflow&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The App Engine software development kits (SDKs) for Java and Python each include a web server application that emulates all of the App Engine services on your local computer. Each SDK includes all of the APIs and libraries available on App Engine. The web server also simulates the secure sandbox environment, including checks for attempts to access system resources disallowed in the App Engine runtime environment.&lt;br /&gt;
&lt;br /&gt;
Each SDK also includes a tool to upload your application to App Engine. Once you have created your application&#39;s code, static files and configuration files, you run the tool to upload the data. The tool prompts you for your Google account email address and password.&lt;br /&gt;
&lt;br /&gt;
When you build a new major release of an application that is already running on App Engine, you can upload the new release as a new version. The old version will continue to serve users until you switch to the new version. You can test the new version on App Engine while the old version is still running.&lt;br /&gt;
&lt;br /&gt;
The Java SDK runs on any platform with Java 5 or Java 6. The SDK is available as a Zip file. If you use the Eclipse development environment, you can use the Google Plugin for Eclipse to create, test and upload App Engine applications. The SDK also includes command-line tools for running the development server and uploading your app.&lt;br /&gt;
&lt;br /&gt;
The Python SDK is implemented in pure Python, and runs on any platform with Python 2.5, including Windows, Mac OS X and Linux. The SDK is available as a Zip file, and installers are available for Windows and Mac OS X.&lt;br /&gt;
&lt;br /&gt;
The Administration Console is the web-based interface for managing your applications running on App Engine. You can use it to create new applications, configure domain names, change which version of your application is live, examine access and error logs, and browse an application&#39;s datastore.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;10) Quotas and Limits&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Not only is creating an App Engine application easy, it&#39;s free! You can create an account and publish an application that people can use right away at no charge, and with no obligation. An application on a free account can use up to 500MB of storage and up to 5 million page views a month. When you are ready for more, you can enable billing, set a maximum daily budget, and allocate your budget for each resource according to your needs.&lt;br /&gt;
&lt;br /&gt;
You can register up to 10 applications per developer account.&lt;br /&gt;
&lt;br /&gt;
Each app is allocated resources within limits, or &quot;quotas.&quot; A quota determines how much of a given resource an app can use during a calendar day. In the near future, you will be able to adjust some of these quotas by purchasing additional resources.&lt;br /&gt;
&lt;br /&gt;
Some features impose limits unrelated to quotas to protect the stability of the system. For example, when an application is called to serve a web request, it must issue a response within 30 seconds. If the application takes too long, the process is terminated and the server returns an error code to the user. The request timeout is dynamic, and may be shortened if a request handler reaches its timeout frequently to conserve resources.&lt;br /&gt;
&lt;br /&gt;
Attempts to subvert or abuse quotas, such as by operating applications on multiple accounts that work in tandem, are a violation of the Terms of Service, and could result in apps being disabled or accounts being closed.</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/1490311817886741829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/01/google-app-engine-gae-components.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/1490311817886741829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/1490311817886741829'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/01/google-app-engine-gae-components.html' title='Google App Engine (GAE) : Components'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-5881634238335519128</id><published>2011-01-19T04:26:00.000-08:00</published><updated>2011-01-19T04:48:23.692-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Application Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Datastore"/><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Google App Engine (GAE) : Introduction</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;This is a really cool technology that Google has come up with. The developers need to have a look at this innovative stuff brought up by Google. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Google App Engine lets you run your web applications on Google&#39;s infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it&#39;s ready to serve your users.&lt;br /&gt;
&lt;br /&gt;
You can serve your app from your own domain name (such as http://www.example.com/) using Google Apps. Or, you can serve your app using a free name on the appspot.com domain. You can share your application with the world, or limit access to members of your organization.&lt;br /&gt;
&lt;br /&gt;
Google App Engine supports apps written in several programming languages. With App Engine&#39;s Java runtime environment, you can build your app using standard Java technologies, including the JVM, Java servlets, and the Java programming language—or any other language using a JVM-based interpreter or compiler, such as JavaScript or Ruby. App Engine also features a dedicated Python runtime environment, which includes a fast Python interpreter and the Python standard library. The Java and Python runtime environments are built to ensure that your application runs quickly, securely, and without interference from other apps on the system.&lt;br /&gt;
&lt;br /&gt;
With App Engine, you only pay for what you use. There are no set-up costs and no recurring fees. The resources your application uses, such as storage and bandwidth, are measured by the gigabyte, and billed at competitive rates. You control the maximum amounts of resources your app can consume, so it always stays within your budget.&lt;br /&gt;
&lt;br /&gt;
App Engine costs nothing to get started. All applications can use up to 500 MB of storage and enough CPU and bandwidth to support an efficient app serving around 5 million page views a month, absolutely free. When you enable billing for your application, your free limits are raised, and you only pay for resources you use above the free levels.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;To know more about it : &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/5881634238335519128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/01/google-app-engine-gae-introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/5881634238335519128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/5881634238335519128'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/01/google-app-engine-gae-introduction.html' title='Google App Engine (GAE) : Introduction'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-4590958445686244228</id><published>2011-01-19T04:17:00.000-08:00</published><updated>2011-01-19T04:48:49.300-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Application Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Web Toolkit"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Google Web Toolkit (GWT) : Introduction</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Recently, I got to work on a project that involved developing a web application and deploy it on the Google App Engine. The software used were Eclipse IDE and Google Web Toolkit. I found the toolkit interesting. So thought to share an overview of what it is. Application developers can check this out.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Introduction :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. Its goal is to enable productive development of high-performance web applications without the developer having to be an expert in browser quirks, XMLHttpRequest, and JavaScript. GWT is used by many products at Google, including Google Wave and the new version of AdWords. It&#39;s open source, completely free, and used by thousands of developers around the world. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;b&gt;Developing using the GWT :&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1) Write&lt;br /&gt;
&lt;br /&gt;
The GWT SDK provides a set of core Java APIs and Widgets. These allow you to write AJAX applications in Java and then compile the source to highly optimized JavaScript that runs across all browsers, including mobile browsers for Android and the iPhone.&lt;br /&gt;
&lt;br /&gt;
Constructing AJAX applications in this manner is more productive thanks to a higher level of abstraction on top of common concepts like DOM manipulation and XHR communication.&lt;br /&gt;
&lt;br /&gt;
You aren&#39;t limited to pre-canned widgets either. Anything you can do with the browser&#39;s DOM and JavaScript can be done in GWT, including interacting with hand-written JavaScript.&lt;br /&gt;
&lt;br /&gt;
2) Debug&lt;br /&gt;
&lt;br /&gt;
You can debug AJAX applications in your favorite IDE just like you would a desktop application, and in your favorite browser just like you would if you were coding JavaScript. The GWT developer plugin spans the gap between Java bytecode in the debugger and the browser&#39;s JavaScript.&lt;br /&gt;
&lt;br /&gt;
Thanks to the GWT developer plugin, there&#39;s no compiling of code to JavaScript to view it in the browser. You can use the same edit-refresh-view cycle you&#39;re used to with JavaScript, while at the same time inspect variables, set breakpoints, and utilize all the other debugger tools available to you with Java. And because GWT&#39;s development mode is now in the browser itself, you can use tools like Firebug and Inspector as you code in Java.&lt;br /&gt;
&lt;br /&gt;
3) Optimize&lt;br /&gt;
&lt;br /&gt;
Google Web Toolkit contains two powerful tools for creating optimized web applications. The GWT compiler performs comprehensive optimizations across your codebase — in-lining methods, removing dead code, optimizing strings, and more. By setting split-points in the code, it can also segment your download into multiple JavaScript fragments, splitting up large applications for faster startup time.&lt;br /&gt;
&lt;br /&gt;
Performance bottlenecks aren&#39;t limited to JavaScript. Browser layout and CSS often behave in strange ways that are hard to diagnose. Speed Tracer is a new Chrome Extension in Google Web Toolkit that enables you to diagnose performance problems in the browser.&lt;br /&gt;
&lt;br /&gt;
4) Run&lt;br /&gt;
&lt;br /&gt;
When you&#39;re ready to deploy, GWT compiles your Java source code into optimized, stand-alone JavaScript files that automatically run on all major browsers, as well as mobile browsers for Android and the iPhone.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Source : &lt;a href=&quot;http://code.google.com/webtoolkit/overview.html&quot;&gt;http://code.google.com/webtoolkit/overview.html&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/4590958445686244228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/01/google-web-toolkit-gwt-introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/4590958445686244228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/4590958445686244228'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2011/01/google-web-toolkit-gwt-introduction.html' title='Google Web Toolkit (GWT) : Introduction'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-7322070325556456012</id><published>2010-12-30T01:58:00.000-08:00</published><updated>2010-12-30T02:11:50.634-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Allan Donald"/><category scheme="http://www.blogger.com/atom/ns#" term="Cricket"/><category scheme="http://www.blogger.com/atom/ns#" term="Durban"/><category scheme="http://www.blogger.com/atom/ns#" term="Javagal Srinath"/><category scheme="http://www.blogger.com/atom/ns#" term="Sachin Tendulkar"/><category scheme="http://www.blogger.com/atom/ns#" term="Sports"/><category scheme="http://www.blogger.com/atom/ns#" term="Team India"/><category scheme="http://www.blogger.com/atom/ns#" term="Venkatesh Prasad"/><title type='text'>Team India : A transition from 1996 to 2010</title><content type='html'>&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Going through an article on the web, I was delighted to read how the mentality of the Indian Cricket team has changed over the last 15 years. And I was glad to see that the team hasn&#39;t taken a step backwards and are growing strong year by year. Here is the article.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The year 1996 was a completely different world. It was a time when grass courts were fast, photographers shot on reel, computers were yet to beat chess grandmasters, a time when the Indian cricket team developed cold feet the moment they left the subcontinent. Fourteen years and a day before one of their most special wins away from home, at the same venue, in similar conditions, India put in perhaps their worst performance with the bat: bowled out for 100 and 66, lasting 73.2 overs in two innings put. Durban 1996 to Durban 2010 shows how far this team has come.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Allan Donald, who took nine wickets in that match and left India rattled, says the single biggest difference he sees in the team is the mental strength. And Donald could spot a weak opponent from a mile. &quot;One thing that stands out for me vis-à-vis that team is that they haven&#39;t taken a backward step,&quot; he says. &quot;They have shown a lot more character than they ever have away from home. I always looked forward to playing India away from home because I just didn&#39;t think they had enough fight, but they have shown it here. Character, mental toughness.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Talking to some of the Indian players from that team shows how unimaginably different things were back then. WV Raman, who just about managed to avoid a pair against Donald and Shaun Pollock in 1996, played in a world when the meek were supposed to inherit the earth. &quot;Going into the series the batsmen were told to leave as much as possible outside the off stump,&quot; Raman remembers. &quot;The team management had strictly told us not to hook or pull. I don&#39;t see how you can avoid that against the short-pitched bowling. That probably was one reason we fared badly. Now, that is not the case. Players are free to play their natural game.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&quot;Take this second Test, when South Africa were 62 for no loss in no time chasing the target, our bowlers were relentless. Sreesanth went after Graeme Smith, and Smith fell for the bait and was egotistic enough to be influenced. Back in 1996, [Javagal] Srinath never exchanged any words. [Venkatesh] Prasad, you can forget it. That is the change in attitude and approach of the players then and now. That sums up the difference between the teams.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;It is not as if sledging or hooking has won India away Tests, but it shows they have the confidence to stand up to aggressive teams. Donald has seen earlier Indian teams taking backward steps. On the 1992 tour, in the Port Elizabeth Test, &quot;you could see that they just didn&#39;t fancy it. We had [Brett] Schultz and me bowling on a wicket that was nice and bouncy, and it seemed like they didn&#39;t like it at all. They capitulated in the second innings [except for Kapil Dev]. Not here. In the years gone by, green wicket, put into bat, it would have been a totally different story. Here they kept fighting, kept hanging in there. And then they bowled like champions.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Back in 1996, the bowlers started off well, bowling the hosts out for 235, but that wasn&#39;t a result of any plan. &quot;I had no planning as a bowler in 1996,&quot; Prasad, who took a 10-for in Durban 1996, says. &quot;We didn&#39;t have any videos, so whatever we watched of the opponents playing, we absorbed that. I would always, whichever game it was, sit in my room, draw an image of the field in my notebook and set down the field placements according to my strengths. So I was on my own. I would not like to blame the coaches then because even they were not exposed to these new innovations.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Nor did the likes of Prasad or Srinath have any support on or off the field. &quot;The opposition were trained to perform their role to the best of their ability and they had physical trainers,&quot; Prasad says. &quot;We didn&#39;t have one. Normally, what we used to do was run a lap, and stretch. We didn&#39;t have the professional physio that the other teams had. Our support staff was not well equipped and all that mattered. There&#39;s always going to be some niggle or the other and you cannot give your 100%. It&#39;s because that niggle tends to develop even into an injury sometimes, and therefore you were always hesitant to give your 100%. It affects your mindset. And add to that the backing from the board in terms of contracts, all that also mattered.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;On the field they lacked the third bowler. &quot;Back then, Srinath and I missed the support bowler,&quot; Prasad says. &quot;Anil [Kumble] only later got the knack, but in 1996 he was playing more of a supporting role to create pressure. It was Srinath and I who used to get the wickets. I had got a lot of wickets because Srinath used to make things difficult for the batsmen. In this team, everyone is capable of getting wickets, capable of changing the course of the match.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;To Donald, Zaheer Khan is the big difference in the bowling line-up. &quot;Having this guy lifts everybody else. He brings another dimension to the attack. He is skilful, and every one bowls around him.&quot; Another important point Donald makes is the catching. &quot;They have caught well, fantastically well,&quot; he says. &quot;The catching just stood out. Those three magnificent catches in the first innings swung the game.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Raman talks of the batting line-up. &quot;I still remember the delivery that Allan Donald bowled Sachin Tendulkar with in the first Innings,&quot; Raman says. &quot;Tendulkar was not offering any shot, covering his off stump but the ball came back a long way and clipped the off bail. Of course, the batsmen were still working out the lengths, which were so different to back home. Nowadays our top six have a phenomenal experience, and they have been together as a unit for a long time. So there is somebody to stand up if everybody else fails. Back in 1996 the dressing room was not such a positive place.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;It was the batting that convinced Donald that India wouldn&#39;t roll over and die this time around. &quot;The response in Centurion in the second innings, following on, scoring 450-plus, just showed to me that India were not going to take a backward step. They were going to keep fighting.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Raman added: &quot;The other paradigm shift is that they only look at the positive aspects of the day&#39;s game. Back then they would sit and brood about why something went wrong. They did not work on what better could be done tomorrow, which probably needed more attention.&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;It has taken them 14 years to erase the horrible memory, but when India come to Durban for another Boxing Day Test, people will have something else to talk about. About a team that was going to keep fighting.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Courtesy : &lt;a href=&quot;http://www.espncricinfo.com/&quot;&gt;www.espncricinfo.com&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/7322070325556456012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/team-india-transition-from-1996-to-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/7322070325556456012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/7322070325556456012'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/team-india-transition-from-1996-to-2010.html' title='Team India : A transition from 1996 to 2010'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-1403214980636777871</id><published>2010-12-30T01:47:00.000-08:00</published><updated>2011-01-23T11:47:52.981-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ Codes"/><category scheme="http://www.blogger.com/atom/ns#" term="Pascal&#39;s Triangle"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>Pascal&#39;s Triangle : Awesome Code</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
For the newbies, who don&#39;t know what a pascal&#39;s triangle is, here is a small explanation to guide you.&lt;br /&gt;
&lt;br /&gt;
Pascal&#39;s triangle is a triangular array of the binomial coefficients in a triangle. It is named after the French mathematician Blaise Pascal in much of the Western world, although other mathematicians studied it centuries before him in Greece, India, Persia, China, and Italy.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1iPZJrAqh3n4rb9_XTIYXLpehcP9fkmfJjqtOnCwi7eD7XZaTL9Ti8P9Yat-IOe72QPl-LUoSUi62iWRSCKbO14BS1FAljTfUYePjCze6y9nXlOKkieHo0AWhUwBQuY5CS5CFdbavEVme/s1600/Pascals+triangle.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;235&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1iPZJrAqh3n4rb9_XTIYXLpehcP9fkmfJjqtOnCwi7eD7XZaTL9Ti8P9Yat-IOe72QPl-LUoSUi62iWRSCKbO14BS1FAljTfUYePjCze6y9nXlOKkieHo0AWhUwBQuY5CS5CFdbavEVme/s320/Pascals+triangle.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Pascal&#39;s Triangle&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
The rows of Pascal&#39;s triangle are conventionally enumerated starting with row n = 0 at the top. The entries in each row are numbered from the left beginning with k = 0 and are usually staggered relative to the numbers in the adjacent rows. A simple construction of the triangle proceeds in the following manner. On row 0, write only the number 1. Then, to construct the elements of following rows, add the number directly above and to the left with the number directly above and to the right to find the new value. If either the number to the right or left is not present, substitute a zero in its place. For example, the first number in the first row is 0 + 1 = 1, whereas the numbers 1 and 3 in the third row are added to produce the number 4 in the fourth row.&lt;br /&gt;
&lt;br /&gt;
Just when I was going through some programming codes for this Pascal&#39;s triangle, I found one which was really amazing. No multi-dimension arrays, no space compexity and minimal time complexity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int n,k,i,x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Enter a row number for Pascal&#39;s Triangle: &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cin &amp;gt;&amp;gt; n;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i=0;i&amp;lt;=n;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x=1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(k=0;k&amp;lt;=i;k++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &quot; &amp;nbsp; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x = x * (i - k) / (k + 1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hats off to the programmer who came up with this code !!&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/1403214980636777871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/pascals-triangle-awesome-code.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/1403214980636777871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/1403214980636777871'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/pascals-triangle-awesome-code.html' title='Pascal&#39;s Triangle : Awesome Code'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1iPZJrAqh3n4rb9_XTIYXLpehcP9fkmfJjqtOnCwi7eD7XZaTL9Ti8P9Yat-IOe72QPl-LUoSUi62iWRSCKbO14BS1FAljTfUYePjCze6y9nXlOKkieHo0AWhUwBQuY5CS5CFdbavEVme/s72-c/Pascals+triangle.jpg" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-3289163907633258510</id><published>2010-12-25T05:47:00.000-08:00</published><updated>2010-12-25T06:00:29.730-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Applications"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="IBM"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Cloud Computing : Applications</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;The applications of cloud computing are practically limitless. With  the right middleware, a cloud computing system could execute all the  programs a normal computer  could run. Potentially, everything from generic word processing  software to customized computer programs designed for a specific company  could work on a cloud computing system.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt; &lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Why would anyone want to rely on another computer system to run programs and store data? Here are just a few reasons:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;1) Clients would be able to access their applications and data from  anywhere at any time. They could access the cloud computing system using  any computer linked to the Internet. Data wouldn&#39;t be confined to a hard drive on one user&#39;s computer or even a corporation&#39;s internal network.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;2) It could bring hardware costs down. Cloud computing systems would  reduce the need for advanced hardware on the client side. You wouldn&#39;t  need to buy the fastest computer with the most memory,  because the cloud system would take care of those needs for you.  Instead, you could buy an inexpensive computer terminal. The terminal  could include a monitor, input devices like a keyboard and mouse  and just enough processing power to run the middleware necessary to  connect to the cloud system. You wouldn&#39;t need a large hard drive  because you&#39;d store all your information on a remote computer.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;3) Corporations that rely on computers have to make sure they have the  right software in place to achieve goals. Cloud computing systems give  these organizations company-wide access to computer applications. The  companies don&#39;t have to buy a set of software or software licenses for  every employee. Instead, the company could pay a metered fee to a cloud  computing company.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;4) Servers and digital storage devices take up space. Some companies  rent physical space to store servers and databases because they don&#39;t  have it available on site. Cloud computing gives these companies the  option of storing data on someone else&#39;s hardware, removing the need for  physical space on the front end.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;5) Corporations might save money on IT support. Streamlined hardware would, in theory, have fewer problems than a network of &lt;strong&gt;heterogeneous&lt;/strong&gt; machines and operating systems.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;6) If  the cloud computing system&#39;s back end is a grid computing system, then  the client could take advantage of the entire network&#39;s processing  power. Often, scientists and researchers work with calculations so  complex that it would take years for individual computers to complete  them. On a grid computing system, the client could send the calculation  to the cloud for processing. The cloud system would tap into the  processing power of all available computers on the back end,  significantly speeding up the calculation.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Some of the companies researching cloud computing are big names in the computer industry. Microsoft, IBM and Google are investing millions of dollars into research. Some people think Apple might investigate the possibility of producing interface hardware for cloud computing systems.&lt;/span&gt; &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;  &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/3289163907633258510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/cloud-computing-applications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/3289163907633258510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/3289163907633258510'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/cloud-computing-applications.html' title='Cloud Computing : Applications'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-8904294769920801412</id><published>2010-12-25T05:41:00.000-08:00</published><updated>2010-12-25T05:58:02.379-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Architecture"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Grid Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Middleware"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Utility Computing"/><title type='text'>Cloud Computing : Architecture</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;When talking about a cloud computing system, it&#39;s helpful to divide it into two sections: the &lt;b&gt;front end&lt;/b&gt; and the &lt;b&gt;back end&lt;/b&gt;. They connect to each other through a network, usually the Internet. The front end is the side the computer user, or client, sees. The back end is the &quot;cloud&quot; section of the system.  &lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTVJ6U3qk5TrttYw-1yMK9-fen652jC51YgxFa1B9rjwU8sp2PEVzqla9-clD1fzCN2OtgCKrpboWthJ1hZbaa8jZxAqSQ4Q9gDvhcoB_0b7D-4BW1Ylp6FBdqf19kRqdhDFub_4LrOXrc/s1600/stack.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTVJ6U3qk5TrttYw-1yMK9-fen652jC51YgxFa1B9rjwU8sp2PEVzqla9-clD1fzCN2OtgCKrpboWthJ1hZbaa8jZxAqSQ4Q9gDvhcoB_0b7D-4BW1Ylp6FBdqf19kRqdhDFub_4LrOXrc/s320/stack.png&quot; width=&quot;283&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Cloud Computing Stack&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;The front end includes the client&#39;s computer  (or computer network) and the application required to access the cloud  computing system. Not all cloud computing systems have the same user  interface. Services like Web-based e-mail programs leverage existing Web browsers like Internet Explorer or Firefox. Other systems have unique applications that provide network access to clients.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;On the back end of the system are the various computers (infrastructure and platforms), servers and  data storage systems that create the &quot;cloud&quot; of computing services. In  theory, a cloud computing system could include practically any computer  program you can imagine, from data processing to video games. Usually,  each application will have its own dedicated server.  &lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;218&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfuEa_h05b3MsD-pnpQitom6WHxfB0K9Em0jJMyJhh_D7bL3QFKZZIazsQtsvftY2qBHzgugRIqKUSS8bM7D7hPlojl6yVO6al5RSjB3K2fW_R8wUupqlvA8vBSnWFLREBu6c3KjFHo5pU/s320/arch.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; width=&quot;320&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Cloud Computing Architecture&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;A central server administers the system, monitoring traffic and  client demands to ensure everything runs smoothly. It follows a set of  rules called &lt;b&gt;protocols&lt;/b&gt; and uses a special kind of software called &lt;b&gt;middleware&lt;/b&gt;. Middleware allows networked computers to communicate with each other.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;If a cloud computing company has a lot of clients, there&#39;s likely to be a  high demand for a lot of storage space. Some companies require hundreds  of digital storage devices. Cloud computing systems need at least twice  the number of storage devices it requires to keep all its clients&#39;  information stored. That&#39;s because these devices, like all computers,  occasionally break down. A cloud computing system must make a copy of  all its clients&#39; information and store it on other devices. The copies  enable the central server to access backup machines to retrieve data  that otherwise would be unreachable. Making copies of data as a backup  is called &lt;b&gt;redundancy&lt;/b&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Cloud computing is closely related to &lt;b&gt;grid computing&lt;/b&gt;&lt;b&gt; &lt;/b&gt;and&lt;b&gt; utility computing&lt;/b&gt;. In a grid computing system, networked computers are able to access and use the resources of every other computer on the network. In cloud computing systems, that usually only applies to the back end. Utility computing is a business model where one company pays another company for access to computer applications or data storage.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/8904294769920801412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/cloud-computing-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/8904294769920801412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/8904294769920801412'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/cloud-computing-architecture.html' title='Cloud Computing : Architecture'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTVJ6U3qk5TrttYw-1yMK9-fen652jC51YgxFa1B9rjwU8sp2PEVzqla9-clD1fzCN2OtgCKrpboWthJ1hZbaa8jZxAqSQ4Q9gDvhcoB_0b7D-4BW1Ylp6FBdqf19kRqdhDFub_4LrOXrc/s72-c/stack.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-2583332875957046729</id><published>2010-12-25T05:26:00.000-08:00</published><updated>2010-12-25T05:56:45.965-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Gmail"/><category scheme="http://www.blogger.com/atom/ns#" term="Grid Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Utility Computing"/><title type='text'>Cloud Computing : Introduction</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Cloud computing is Internet-based computing, whereby shared servers provide resources, software, and data to computers and other devices on demand, as with the electricity grid. Cloud computing is a natural evolution of the widespread adoption of virtualization, service-oriented architecture and utility computing.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEVE3dJt4sZQmBsZC6ZgPnXTZozv9eThXk46I-1mJ60cYwcggNgMKsldsU01eEyTaKc3mvM0gCVG-CykDnYgWeeKnfS7OnZem4w8YYOX8hBmypGxlZc5AXTpOJEM1vP3t7tGpPC_PhCYn8/s1600/cc.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;277&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEVE3dJt4sZQmBsZC6ZgPnXTZozv9eThXk46I-1mJ60cYwcggNgMKsldsU01eEyTaKc3mvM0gCVG-CykDnYgWeeKnfS7OnZem4w8YYOX8hBmypGxlZc5AXTpOJEM1vP3t7tGpPC_PhCYn8/s400/cc.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Let&#39;s say you&#39;re an executive at a large corporation. Your particular  responsibilities include making sure that all of your employees have  the right hardware and software they need to do their jobs. Buying computers for everyone isn&#39;t enough -- you also have to purchase software or &lt;b style=&quot;font-weight: normal;&quot;&gt;software licenses&lt;/b&gt;  to give employees the tools they require. Whenever you have a new hire,  you have to buy more software or make sure your current software  license allows another user. It&#39;s so stressful that you find it  difficult to go to sleep on your huge pile of money every night.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Soon, there may be an alternative for executives like you. Instead of  installing a suite of software for each computer, you&#39;d only have to  load one application. That application would allow workers to log into a  Web-based service which hosts all the programs the user would need for  his or her job. Remote machines owned by another company would run  everything from e-mail to word processing to complex data analysis programs. It&#39;s called &lt;b&gt;cloud computing&lt;/b&gt;, and it could change the entire computer industry.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;In  a cloud computing system, there&#39;s a significant workload shift. Local  computers no longer have to do all the heavy lifting when it comes to  running applications. The network of computers that make up the cloud  handles them instead. Hardware and software demands on the user&#39;s side  decrease. The only thing the user&#39;s computer needs to be able to run is  the cloud computing system&#39;s interface software which can be as simple as a Web browser, and the cloud&#39;s network takes care of the rest.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;There&#39;s a good chance you&#39;ve already used some form of cloud computing.  If you have an e-mail account with a Web-based e-mail service like  Hotmail, Yahoo! Mail or Gmail, then you&#39;ve had some experience with  cloud computing. Instead of running an e-mail program on your computer,  you log in to a Web  e-mail account remotely. The software and storage for your account  doesn&#39;t exist on your computer -- it&#39;s on the service&#39;s computer cloud.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/2583332875957046729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/cloud-computing-introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/2583332875957046729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/2583332875957046729'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/cloud-computing-introduction.html' title='Cloud Computing : Introduction'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEVE3dJt4sZQmBsZC6ZgPnXTZozv9eThXk46I-1mJ60cYwcggNgMKsldsU01eEyTaKc3mvM0gCVG-CykDnYgWeeKnfS7OnZem4w8YYOX8hBmypGxlZc5AXTpOJEM1vP3t7tGpPC_PhCYn8/s72-c/cc.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-1804104702892341483</id><published>2010-12-25T05:01:00.000-08:00</published><updated>2010-12-25T05:52:37.230-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Afghan War Diary"/><category scheme="http://www.blogger.com/atom/ns#" term="Collateral Murder"/><category scheme="http://www.blogger.com/atom/ns#" term="Julian Assange"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Time Magazine"/><category scheme="http://www.blogger.com/atom/ns#" term="Wikileaks"/><title type='text'>Wikileaks</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXNGb5c1DQdzRGn74_q3ID9C0stGc-jOrjPJxwlklaZ655DWJm75vizWiSasH9bnHx-U_U7S4pr52JPqsHV9_IiQgdzay8jy1Ujb8r3ED8LZlFIJK0yBE_aUk-3nePl60clyLwjtY2ORIv/s1600/wlogo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXNGb5c1DQdzRGn74_q3ID9C0stGc-jOrjPJxwlklaZ655DWJm75vizWiSasH9bnHx-U_U7S4pr52JPqsHV9_IiQgdzay8jy1Ujb8r3ED8LZlFIJK0yBE_aUk-3nePl60clyLwjtY2ORIv/s320/wlogo.png&quot; width=&quot;138&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;color: black; font-family: inherit; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; font-family: inherit; text-align: justify;&quot;&gt;There are a lot of talks going about Wikileaks recently and a has faced a lot of criticism all over the world by the governements. Here is a post that will tell you about what it is.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; font-family: inherit; text-align: justify;&quot;&gt;&lt;br /&gt;
WikiLeaks is an international non-profit organisation that publishes submissions of private, secret, and classified media from anonymous news sources and news leaks.&lt;/div&gt;&lt;div style=&quot;color: white; font-family: inherit; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; font-family: inherit; text-align: justify;&quot;&gt;Its website, launched in 2006 and run by The Sunshine Press, claimed a database of more than 1.2&amp;nbsp;million documents within a year of its launch. The organisation describes its founders as a mix of Chinese  dissidents, journalists, mathematicians, and start-up company  technologists from the United States, Taiwan, Europe, Australia, and  South Africa. Julian Assange, an Australian Internet activist, is generally described as its director.&lt;/div&gt;&lt;div style=&quot;color: white; font-family: inherit; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; font-family: inherit; text-align: justify;&quot;&gt;WikiLeaks was originally launched as a user-editable wiki  site, but has progressively moved towards a more traditional  publication model, and no longer accepts either user comments or edits. In April 2010, WikiLeaks posted video from a 2007 incident in which Iraqi civilians and journalists were killed by US forces, on a website called Collateral Murder. In July of the same year, WikiLeaks released Afghan War Diary, a compilation of more than 76,900 documents about the War in Afghanistan not previously available for public review. &lt;sup class=&quot;reference&quot; id=&quot;cite_ref-AssociatedPressNews_8-0&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WikiLeaks#cite_note-AssociatedPressNews-8&quot;&gt;&lt;/a&gt;&lt;/sup&gt;In October 2010, the group released a package of almost 400,000 documents called the Iraq War Logs in coordination with major commercial media organisations. In November 2010, WikiLeaks began releasing U.S. State department diplomatic cables.&lt;/div&gt;&lt;div style=&quot;color: white; font-family: inherit; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; font-family: inherit; text-align: justify;&quot;&gt;WikiLeaks has received praise as well as criticism. The organisation won a number of awards, including The Economist&#39;s New Media Award in 2008 and Amnesty International&#39;s UK Media Award in 2009. Daily News listed WikiLeaks first among websites &quot;that could totally change the news&quot;, and Julian Assange was named the Readers&#39; Choice for TIME&#39;s Person of the Year in 2010. In 2010, the New York City   Supporters of Wikileaks in the media have commended it for exposing  state and corporate secrets, increasing transparency, supporting freedom  of the press, and enhancing democratic discourse while challenging  powerful institutions.&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;At the same time, several U.S. government officials have criticised  WikiLeaks for exposing classified information, harming national  security, and compromising international diplomacy. &lt;/span&gt;&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-20&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WikiLeaks#cite_note-20&quot;&gt;&lt;/a&gt;&lt;/sup&gt;&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-21&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WikiLeaks#cite_note-21&quot;&gt;&lt;/a&gt;&lt;/sup&gt;&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-22&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WikiLeaks#cite_note-22&quot;&gt;&lt;/a&gt;&lt;/sup&gt;&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-23&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WikiLeaks#cite_note-23&quot;&gt;&lt;/a&gt;&lt;/sup&gt;&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-24&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WikiLeaks#cite_note-24&quot;&gt;&lt;/a&gt;&lt;/sup&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Several human rights organisations have criticised WikiLeaks for not  adequately redacting the names of civilians working with international  forces.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Some journalists have likewise criticised a perceived lack of editorial  discretion when releasing thousands of documents at once and without  sufficient analysis. &lt;/span&gt;&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-26&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WikiLeaks#cite_note-26&quot;&gt;&lt;/a&gt;&lt;/sup&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Among negative public reactions in the United States, people have  characterised the organisation as irresponsible, immoral, and illegal.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Website:&lt;/b&gt; &lt;a href=&quot;http://www.wikileaks.ch/&quot;&gt;www.wikileaks.ch&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Citation from the Website:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&quot;Could become as important a journalistic tool as the Freedom of Information Act.&quot; - Time Magazine&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;WikiLeaks is a non-profit media organization dedicated to bringing  important news and information to the public. We provide an innovative,  secure and anonymous way for independent sources around the world to  leak information to our journalists. We publish material of ethical,  political and historical significance while keeping the identity of our  sources anonymous, thus providing a universal way for the revealing of  suppressed and censored injustices.&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: white; text-align: justify;&quot;&gt;WikiLeaks relies on its supporters in order to stay strong. Please keep us at the forefront of anti-censorship and support us today.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/1804104702892341483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/wikileaks.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/1804104702892341483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/1804104702892341483'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/12/wikileaks.html' title='Wikileaks'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXNGb5c1DQdzRGn74_q3ID9C0stGc-jOrjPJxwlklaZ655DWJm75vizWiSasH9bnHx-U_U7S4pr52JPqsHV9_IiQgdzay8jy1Ujb8r3ED8LZlFIJK0yBE_aUk-3nePl60clyLwjtY2ORIv/s72-c/wlogo.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-3154188752924108720</id><published>2010-11-25T14:27:00.000-08:00</published><updated>2010-12-30T02:12:03.036-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BBC Sports"/><category scheme="http://www.blogger.com/atom/ns#" term="Cricket"/><category scheme="http://www.blogger.com/atom/ns#" term="Sachin Tendulkar"/><category scheme="http://www.blogger.com/atom/ns#" term="Shane Warne"/><category scheme="http://www.blogger.com/atom/ns#" term="Sports"/><category scheme="http://www.blogger.com/atom/ns#" term="Team India"/><title type='text'>Sachin Tendulkar : A Tribute</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxXJPi2D9DmOb-1AAJ3Gzlnbs8yJoTDqmXi0pO3CZIN5x4W-KbxKvKb51Owco18O5qOfXbRodnPeX1vgRrMo-oqT9Z7VuitKsZrcy3H-5YlZ46U2DVHOT4UdQMeNXP9_qpP2US7pFmq_yC/s1600/sachin-tendulkar-pic.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxXJPi2D9DmOb-1AAJ3Gzlnbs8yJoTDqmXi0pO3CZIN5x4W-KbxKvKb51Owco18O5qOfXbRodnPeX1vgRrMo-oqT9Z7VuitKsZrcy3H-5YlZ46U2DVHOT4UdQMeNXP9_qpP2US7pFmq_yC/s320/sachin-tendulkar-pic.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I  consider him above Sir Don Bradman because when Bradman played, there   was not so competitive cricket played. Also, during those times, Sir Don   Bradman would sometimes keep on batting for 3-4 days in a test match.   It didnt matter whether their team was winning or not. The teams would   just try to bat till they get out. But, today the scenario is entirely   different. The players need to deliver the goods within the given time.   And given this situation, Sachin is far better than Sir Donald  Bradman.  Check out what the cricketers from all over the world have to  say about  the greatest batsman of all time. This is a tribute to this  living  legend. Hats off to The Maestro, The Little Master, The Master  Blaster,  The God of Cricket.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Matthew Hayden:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;I have seen GOD, he bats at no.4 for India in Tests.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ravi Shashtri:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;He is someone sent from up there to play cricket and go back.&quot; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Andy Flower:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;There are 2 kind of batsmen in the world. One Sachin Tendulkar. Two all the others.&quot;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Matthew Hayden:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;His life seems to be a stillness  in a frantic world. When he goes out  to bat, it is beyond chaos - it is  a frantic appeal by a nation to one  man. The people see him as a God.&quot;  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Michael Kasprowicz:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;Don&#39;t bowl him bad balls, he hits the good ones for fours.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Shane Warne:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;I&#39;ll  be going to bed having nightmares of Sachin just running down the   wicket and belting me back over the head for six. He was unstoppable. I   don&#39;t think anyone, apart from Don Bradman, is in the same class as   Sachin Tendulkar. He is just an amazing player.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnqmLi8EsLUNr60NAgMZxbFc8GOI1LPqRlcbS5rvLa4m4ko5vcipboV7zMAcz6Uuwgl4gNtpb4Mx2Vqymcil1DZMIQgR6E6klRxtDIwahtUNTD6n-QsBwK3z5qabSSPD8HE4Esf-saVyQR/s1600/114673.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;238&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnqmLi8EsLUNr60NAgMZxbFc8GOI1LPqRlcbS5rvLa4m4ko5vcipboV7zMAcz6Uuwgl4gNtpb4Mx2Vqymcil1DZMIQgR6E6klRxtDIwahtUNTD6n-QsBwK3z5qabSSPD8HE4Esf-saVyQR/s320/114673.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Brett Lee:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;You  might pitch a ball on the off stump and think you have bowled a  good  ball and he walks across and hits it for two behind midwicket. His  bat  looks so heavy but he just waves it around like it&#39;s a toothpick.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;BBC Sports:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;Beneath  the helmet, under that unruly curly hair, inside the cranium,  there is  something we don&#39;t know, something beyond scientific measure.   Something that allows him to soar, to roam a territory of sport that,   forget us, even those who are gifted enough to play alongside him cannot   even fathom. When he goes out to bat, people switch on their  television  sets and switch off their lives.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Abdul Qadir:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;I  was fielding in the covers Tendulkar came out to bat in his debut  Test  at Karachi. I still remember Waqar Younis was at his peak form at  that  time. Tendulkar tried to drive Waqar through the covers off his  very  first ball in Test cricket but was beaten all ends up. But I walked  to  captain Imran Khan and told him &#39;this kid looks very good and Imran   agree with me.&quot; &lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Shane Warne:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;Sachin Tendulkar is, in my time, the best player without doubt - daylight second, Brian Lara third.&quot; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Time Magazine:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;When  Sachin Tendulkar travelled to Pakistan to face one of the finest   bowling attacks ever assembled in cricket, Michael Schumacher was yet to   race a F1 car, Lance Armstrong had never been to the Tour de France,   Diego Maradona was still the captain of a world champion Argentina team,   Pete Sampras had never won a Grand Slam. When Tendulkar embarked on a   glorious career taming Imran and company, Roger Federer was a name   unheard of; Lionel Messi was in his nappies, Usain Bolt was an unknown   kid in the Jamaican backwaters. The Berlin Wall was still intact, USSR   was one big, big country, Dr Manmohan Singh was yet to &quot;open&quot; the   Nehruvian economy. It seems while Time was having his toll on every   individual on the face of this planet, he excused one man. Time stands   frozen in front of Sachin Tendulkar. We have had champions, we have had   legends, but we have never had another Sachin Tendulkar and we never   will.&quot; &lt;br /&gt;
&lt;br /&gt;
And just have a look at the newspapers all  across the country, the day  after he became the first on this planet to  score a double hundred in a  one-day internationals on 24th February,  2010, against a team called  South Africa which boasted of being one of  the most formidable bowling  line-up.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifgVSNVgd3b7SfbQtCROK9WuMU97wHZMDLqyXXRfl4sj-QfbZbjYBeBOrClxJitHwVnpIgqhchVIsF6cTpvFGOnqp0leg4B8d3Km-9_YBmGmvhNqWSVbMQP6lWBMVAbUog7GstCN2Jw7mH/s1600/114709.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifgVSNVgd3b7SfbQtCROK9WuMU97wHZMDLqyXXRfl4sj-QfbZbjYBeBOrClxJitHwVnpIgqhchVIsF6cTpvFGOnqp0leg4B8d3Km-9_YBmGmvhNqWSVbMQP6lWBMVAbUog7GstCN2Jw7mH/s320/114709.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Its Sachin Tendulkar for you,&lt;br /&gt;
&lt;span style=&quot;font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif; font-size: large;&quot;&gt;&lt;b&gt;&quot;Reducing the number of atheists worldwide since 1989&quot;&lt;/b&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/3154188752924108720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/11/sachin-tendulkar-tribute.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/3154188752924108720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/3154188752924108720'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/11/sachin-tendulkar-tribute.html' title='Sachin Tendulkar : A Tribute'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxXJPi2D9DmOb-1AAJ3Gzlnbs8yJoTDqmXi0pO3CZIN5x4W-KbxKvKb51Owco18O5qOfXbRodnPeX1vgRrMo-oqT9Z7VuitKsZrcy3H-5YlZ46U2DVHOT4UdQMeNXP9_qpP2US7pFmq_yC/s72-c/sachin-tendulkar-pic.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-3613359241468844855</id><published>2010-11-22T22:38:00.000-08:00</published><updated>2010-12-25T05:56:29.641-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blackburn Rovers"/><category scheme="http://www.blogger.com/atom/ns#" term="Football"/><category scheme="http://www.blogger.com/atom/ns#" term="Sports"/><category scheme="http://www.blogger.com/atom/ns#" term="Venky&#39;s"/><title type='text'>Indian Owner for an EPL Club (Venky&#39;s for Blackburn Rovers)</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Poultry giant Venky&#39;s became the first Indian company to own an  English Premier League club on Friday when it completed the takeover of  former champion Blackburn.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP0Rbnsyfu_KKDkUEYwDsf1ITa0pGE8b_EgExOuRu5ity4F_sMuI09kyRPwSbQ_9T7KCK9zF_LGKm26R83ny5BZhkzRyin-VQ_KbmC94TWNfL7zq47iqqdZsEldbNlsFRKnkkkS0cBkZ-k/s1600/venkys.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;208&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP0Rbnsyfu_KKDkUEYwDsf1ITa0pGE8b_EgExOuRu5ity4F_sMuI09kyRPwSbQ_9T7KCK9zF_LGKm26R83ny5BZhkzRyin-VQ_KbmC94TWNfL7zq47iqqdZsEldbNlsFRKnkkkS0cBkZ-k/s320/venkys.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyQghFwNGHiz4UfgspFIsOKcai0yLUwWF5p-jb8oFmqNbHu-T9MY35dui_L5SPbSTNLQAVhjhKSPNkJqA8qoCwpkrryPrFyF-_rUMycK0JpgoiRzMFzESlJ9R1NwY2iiggvLZtzelBj1Oa/s1600/images.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyQghFwNGHiz4UfgspFIsOKcai0yLUwWF5p-jb8oFmqNbHu-T9MY35dui_L5SPbSTNLQAVhjhKSPNkJqA8qoCwpkrryPrFyF-_rUMycK0JpgoiRzMFzESlJ9R1NwY2iiggvLZtzelBj1Oa/s1600/images.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;A newly established British subsidiary called Venky&#39;s London Limited  paid 23 million pounds (C$37.5 million) for a 99.9 per cent stake in the  northwest England side and will make an unconditional offer for the  remaining shares.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Blackburn would not comment on whether the new owners would pay off  the club&#39;s debt that stood at 21 million pounds (C$34.2 million),  according to its last full-year results.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;But the Indian company&#39;s managing director, B. Venkatesh Rao,  previously valued the takeover at 46 million pounds (C$74.9 million),  which is close to the combined value of the shares and debt.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&quot;We see real sustainable growth for the club moving forward, both  within the UK and also internationally,&quot; Venky&#39;s director Balaji Rao  said. &quot;We intend to exploit our in-depth knowledge of the Indian market  in particular, and beyond that, the whole of Asia.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&quot;The immediate future will be spent with the key figures at the club  from the chairman and the management team right through to the players  and club staff working with them to ensure that we move forward as a  team.&quot;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;As one of seven assurances in its offer document, Venky&#39;s said it  would provide regular funds to buy new players but did not say how much  and how often. Fans hoping to see their team competing for star players with  foreign-owned Manchester City and Chelsea are likely to be disappointed.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Venky&#39;s previously said it will spend five million pounds (C$8.1  million) in the January transfer window and concentrate on loan signings  to help the club finish between 10th and 12th in the 20-team league.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Blackburn&#39;s record signing was the eight million pounds (C$13  million) it paid Manchester United for striker Andy Cole in December  2001. While City and Chelsea have each spent 30 million pounds (C$48.8  million) on players, Blackburn has since spent more than five million  pounds only twice.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;But the takeover could give Blackburn some financial muscle. Venky&#39;s,  which is short for Venkateshwara Hatcheries, employs more than 7,500  people and has an 85 per cent share of the Indian poultry market.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&quot;It would be very disappointing if it wasn&#39;t somebody that wanted to  take over the club and try to improve it as quickly as possible,&quot;  Blackburn manager Sam Allardyce said. &quot;The best way to improve a  football club in the early stages is the first-team results.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;VH chairperson Anuradha J. Desai said in October that the company was  buying Blackburn, which has been mostly mediocre since winning the 1995  Premier League, to promote its image overseas. The company has now given contractual commitments as part of the  takeover that include promises not to change the name of the stadium  stand bearing the name of former owner Jack Walker and to maintain the  club&#39;s principal activity as a professional football club.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&quot;We plan to focus on leveraging the global influence in establishing  Blackburn Rovers as a truly global brand,&quot; Desai said Friday. &quot;We will  absolutely respect the Jack Walker legacy and will be actively  supporting the organization to ensure that Blackburn Rovers remains one  of the best run clubs within the Premier League.&quot;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The club was relegated in 1999 and, aside from promotion in 2001 and a  League Cup title in 2002, Blackburn has mostly occupied mid-table in  the Premier League since. Venky&#39;s has promised to maintain the statue of Walker outside Ewood  Park stadium and to let President K.C. Lee and his three Vice-Presidents  keep their present roles until at least the end of the season.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&quot;We have been impressed with their enthusiasm for the club and their  plans and ideas for future investment to develop it further as well as  their wish and commitment to preserve the legacy of Jack Walker,&quot; said  Paul Egerton-Vernon, chairman of the Jack Walker Settlement Trustees who  previously owned the club.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&quot;Over the last 10 years, the global appeal  of the Premier League has grown significantly and it is only natural  that, as we have seen at other clubs, international ownership and  investment should increase.&quot;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;India is on the EPL scene now. Something to cheer and support for the  Indian Football fans too. Just hoping to see a revival of football in  India. Thanks to Venky&#39;s for taking such an initiative. Let&#39;s see where it leads upto in the coming times. Hope for a brighter future for football in India.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/3613359241468844855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/11/indian-owner-for-epl-club-venkys-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/3613359241468844855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/3613359241468844855'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/11/indian-owner-for-epl-club-venkys-for.html' title='Indian Owner for an EPL Club (Venky&#39;s for Blackburn Rovers)'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP0Rbnsyfu_KKDkUEYwDsf1ITa0pGE8b_EgExOuRu5ity4F_sMuI09kyRPwSbQ_9T7KCK9zF_LGKm26R83ny5BZhkzRyin-VQ_KbmC94TWNfL7zq47iqqdZsEldbNlsFRKnkkkS0cBkZ-k/s72-c/venkys.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-6297981715538704467</id><published>2010-11-06T15:46:00.000-07:00</published><updated>2010-12-25T05:53:32.947-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Algorithms"/><category scheme="http://www.blogger.com/atom/ns#" term="Sorting"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Different Types Of Sorting Algorithms</title><content type='html'>&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;1) Exchange sorts :&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;1.1 Bubble sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;1.2 Cocktail sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;1.3 Odd-even sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;1.4 Comb sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;1.5 Gnome sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;1.6 Quick sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;2) Selection sorts :&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;2.1 Selection sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;2.2 Heapsort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;2.3 Smoothsort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;2.4 Cartesian tree sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;2.5 Tournament sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;2.6 Cycle sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;3) Insertion sorts :&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;3.1 Insertion sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;3.2 Shell sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;3.3 Tree sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;3.4 Library sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;3.5 Patience sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;4) Merge sorts :&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;4.1 Merge sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;4.2 Polyphase merge sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;4.3 Strand sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;4.4 Tim sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;5) Non-comparison sorts :&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;5.1 Radix sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;5.2 Bucket sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;5.3 Counting sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;5.4 Pigeon Hole sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;5.5 Burst sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;5.6 Bead sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;5.7 Bucket sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;6) Others :&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;6.1 Topological sorting&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;6.2 Sorting network&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;6.3 Bitonic sorter&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;6.4 Batcher odd-even mergesort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;6.5 Pancake sorting&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;7) Ineffective/humorous sorts :&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;7.1 Bogo sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;7.2 Stooge sort&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Hope that this list of sorting algorithms will help you.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Feel free to post comments and your opinions.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/6297981715538704467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/11/different-types-of-sorting-algorithms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6297981715538704467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/6297981715538704467'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/11/different-types-of-sorting-algorithms.html' title='Different Types Of Sorting Algorithms'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2676402074441099229.post-8358224648546399663</id><published>2010-11-04T13:50:00.000-07:00</published><updated>2010-12-25T06:04:05.454-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apple"/><category scheme="http://www.blogger.com/atom/ns#" term="Ebooks"/><category scheme="http://www.blogger.com/atom/ns#" term="Email"/><category scheme="http://www.blogger.com/atom/ns#" term="Emoticons"/><category scheme="http://www.blogger.com/atom/ns#" term="Facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Netscape"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Wikipedia"/><category scheme="http://www.blogger.com/atom/ns#" term="WWW"/><category scheme="http://www.blogger.com/atom/ns#" term="Yahoo"/><title type='text'>People Who Changed The Internet</title><content type='html'>&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;1) Bob Kahn and Vint Cerf (The Father Of Intenet)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The Father of Internet, Vint Cerf, together with Bob Kahn created the TCP/IP suite of communication protocols. a language used by computers to talk to each other in a network. Vint Cerf once said that the internet is just a mirror of the population and spam is a side effect of a free service.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;2) Tim Berners-Lee (Inventor of WWW)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Tim Berners-Lee invented the World Wide Web. He wrote the first web client and server and designed a way to create links, or hypertext, amid different pieces of online information. He now maintains standards for the web and continues to refine its design as a director of the World Wide Web Consortium (W3C).&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;3) Ray Tomlinson (Father of Email)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Programmer Ray Tomlinson, the Father of Email made it possible to exchange messages between machines in diverse locations; between universities, across continents, and oceans. He came up with the “@” symbol format for e-mail addresses. Today, more than a billion people around the world type @ sign every day.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;4) Michael Hart (Founder of eBooks)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Michael Hart started the birth of eBooks and breaks down the bars of ignorance and illiteracy. He created the Project Gutenberg and was considered world’s first electronic library that changed the way we read. The collection includes public domain works and copyrighted works with express permission.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;5) Gary Thuerk (The First Email Spam)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Spamming is an old marketing technique. Gary Thuerk, sent his first mass e-mailing to customers over the Arpanet for Digital’s new T-series of VAX systems. What he didn’t realize at the time was that he had sent the world’s first spam.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;6) Scott Fahlman (The First Emoticon)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Scott Fahlman is credited with originating the first ASCII-based smiley emoticon, which he thought would help to distinguish between posts that should be taken humorously and those of a more serious nature. Now, everybody uses them in messenger programs, chat rooms, and e-mail.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;7) Marc Andreessen (Netscape Navigator)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Marc Andreessen revolutionized Internet navigation. He came up with first widely used Web browser called Mosaic which was later commercialised as the Netscape Navigator. Marc Andreessen is also co-founder and chairman of Ning and an investor in several startups including Digg, Plazes, and Twitter.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;8) Jarkko Oikarinen (Internet Relay Chat, IRC)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Jarkko Oikarinen developed the first real-time online chat tool in Finland known as Internet Relay Chat. IRC’s fame took off in 1991. When Iraq invaded Kuwait and radio and TV signals were shut down, thanks to IRC though up-to-date information was able to be distribute. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;9) Robert Tappan Morris (The First Worm Virus)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The concept of a worm virus is unique compare to the conventional hacking. Instead of getting into a network themselves, they send a small program they have coded to do the job. From this concept, Robert Tappan Morris created the Morris Worm. It’s one of the very first worm viruses to be sent out over the internet that inadvertently caused many thousands of dollars worth of damage and “loss of productivity” when it was released in the late 80s.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;10) David Bohnett (Geocities)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;David Bohnett founded GeoCities in 1994, together with John Rezner. It grew to become the largest community on the Internet. He pioneered and championed the concept of providing free home pages to everyone on the web. The company shut down the service on October 27, 2009.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;11) Ward Cunningham (The First Wiki)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;American programmer Ward Cunningham developed the first wiki as a way to let people collaborate, create and edit online pages together. Cunningham named the wiki after the Hawaiian word for “quick.”&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;12) Sabeer Bhatia (Hotmail)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Sabeer Bhatia founded Hotmail in which the uppercase letters spelling out HTML-the language used to write the base of a webpage. He got in the news when he sold the free e-mailing service , Hotmail to Microsoft for $400 million. He was awarded the “Entrepreneur of the Year” by Draper Fisher Jurvertson in 1998 and was noted by TIME as one of the “People to Watch” in international business in 2002. His most exciting acquisition of 2009 was Jaxtyr which he believes is set to overtake Skype in terms of free global calling.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;13) Matt Drudge (The Drudge Report)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Matt Drudge started the news aggregation website The Drudge Report. It gained popularity when he was the first outlet to break the news that later became the Monica Lewinsky scandal.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;14) Larry Page and Sergey Brin (Google)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Larry Page and Sergey Brin changed the way we search and use the Internet. They worked as a seamless team at the top of the search giant. Their company grew rapidly every year since it began. Page and Brin started with their own funds, but the site quickly outgrew their own existing resources. They later obtain private investments through Stanford. Larry Page, Sergey Brin and their company Google, continue to favor engineering over business.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;15) Bill Gates (Microsoft)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Bill Gates founded the software company called “Micro-Soft”. a combination of “microcomputer software.” Later on, Bill Gates developed a new GUI (Graphical User Interface) for a disk operating system. He called this new style Windows. He has all but accomplished his famous mission statement, to put “a computer on every desk and in every home”. at least in developed countries.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;16) Steve Jobs (Apple)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Steve Jobs innovative idea of a personal computer led him into revolutionizing the computer hardware and software industry. The Apple founder changed the way we work, play and communicate. He made simple and uncluttered web design stylish. The story of Apple and Steve Jobs is aboutf determination, creative genius, pursuit of innovation with passion and purpose.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;17) David Filo and Jerry Yang (Yahoo)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;David Filo and Jerry Yang started Yahoo! as a pastime and evolved into a universal brand that has changed the way people communicate with each other, find and access information and purchase things. The name Yahoo! is an acronym for “Yet Another Hierarchical Officious Oracle,” but Filo and Yang insist they selected the name because they liked the general definition of a yahoo: “rude, unsophisticated, uncouth.”&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;18) Brad Fitzpatrick (LiveJournal)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Brad Fitzpatrick created LiveJournal, one of the earliest blogging platforms. He is seen on the Internet under the nickname bradfitz. He is also the author of a variety of free software projects such as memcached, used on LiveJournal, Facebook and YouTube. LiveJournal continues today as an online community where people can share updates on their lives via diaries and blogs. Members connect by creating a “friends list” that links to their pals’ recent entries.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;19) Shawn Fanning (Napster)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Shawn Fanning developed Napster, a peer-to-peer file-sharing program designed to let music fans find and trade music. Users put whatever files they were willing to share with others into special directories on their hard drives. The service had more than 25 million users at its peak in 2001, and was shut down after a series of high-profile lawsuits, not before helping to spark the digital music revolution now dominated by Apple. Napster has since been rebranded and acquired by Roxio.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;20) Peter Thiel (Paypal)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Peter Thiel is one of many Web luminaries associated with PayPal. PayPal had enabled people to transfer money to each other instantly. PayPal began giving a small group of developers access to its code, allowing them to work with its super-sophisticated transaction framework. Peter Thiel cofounded PayPal at age 31 and sold it to eBay four years later for $1.5 billion.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;21) Pierre Morad Omidyar (Ebay)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Pierre Omidyar set up an online marketplace that brought buyers and sellers together as never before, and pioneered the concept of quantifying the trustworthiness of an anonymous user. In building his auction empire, Omidyar counted on the power of the individual. Omidyar’s greatest strength is his insight into human nature. He understood that people would buy just about anything. one man’s junk is, in fact, another’s treasure.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;22) Jimmy Wales (Wikipedia)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Jimmy Wales founded the world’s largest encyclopaedia which carries articles that can easily be edited by anyone who can access the website. It was launched in 2001 and is currently the most popular general reference work on the Internet.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;23) Stewart Butterfield and Caterina Fake (Flickr)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Photosharing website has become a part of everyday online life for millions of people. Stewart Butterfield, who with his wife Caterina Fake created Flickr that was born out of an online multi-player game that seemed to sum up everything the Web 2.0 people were trying to do. Flickr came along with an idea that you no longer had an album. Instead, you had a photo stream. Yahoo later on acquired Flickr in 2005.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;24) Jonathan Abrams (Friendster)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Jonathan Abrams built Friendster, together with Cris Emmanuel, offering many tools to help members find dates. He took the idea from Match.com. It’s the first social network to hit the big time and go mainstream. Members create profiles listing favorite movies and books (and dating status) and link up to friends, who linked to their friends, and so on.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;25) Niklas Zennstrom (Skype)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Niklas Zennstrom co-founded the fastest growing communications trend in history called Skype. It offered consumers worldwide a free software for making superior-quality calls using their computer and expanded its offering for Linux, MAC &amp;amp; PC and mobile/ handheld devices.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;26) Bram Cohen (Bit Torrent)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;If Napster started the first generation of file sharing , Bram Cohen changed the face of file sharing by developing BitTorrent which has a massive following of users almost instantly. It uses the Golden Rule principle: the faster you upload, the faster you are allowed to download. BitTorrent breaks up files into many little portions, and as soon as a user has a piece, they instantly start uploading that part to other users. So almost everybody who is sharing a given file is simultaneously uploading and downloading pieces of the same file.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;27) Reid Hoffman (LinkedIn)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Reid Hoffman, a former executive vice president at PayPal, created LinkedIn as a professional social network allowing registered users to maintain a list of contact details of people they know and trust in business. Members can search for jobs, trade resumes, find new hires and keep up with the competition.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;28) Matt Mullenweg (WordPress)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Matt Mullenweg founded the world’s most used open source blogging and the greatest boon to freedom of expression known as WordPress. Some of the most popular websites run on WordPress are Techcrunch, Huffingtonpost, Mashable and more.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;29) Chad Hurley, Steve Chen and Jawed Karim (Youtube)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Chad Hurley, Steve Chen and Jawed Karim met as early employees at PayPal. They later started the internet’s most popular video-sharing site YouTube which is broadcasting more than 100 million short videos daily on myriad subjects. When creating YouTube, the three divided work based on skills: Chad Hurley designed the site’s interface and logo. Steve Chen and Jawed Karim divide technical duties making the site work. They later split management tasks, based on strengths and interests: Chad Hurley became CEO; Steve Chen, Chief Technology Officer. A year and a half later, Google acquired YouTube for a deal worth $1.65 billion in stock.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;30) Craig Newmark (Craigslist)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Craig Newmark started a site that dramatically altered the classified advertising universe called Craiglist. It was an object of fear for newspapers who felt threatened by the free-for-all classified advertising site. It began as an e-mail list for Newmark’s friends in the Bay Area. Since then, it has grown into an online database for classified ads for those seeking everything from housing to romance.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;31) Julian Assange (WikiLeaks)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Julian Assange founded a website dedicated to publishing classified documents stolen from around the world. He designed an advanced software for the Wikileaks shielding the identities of the thieves who steal these documents by completely erasing their identities before spreading the stolen documents to servers ‘all over the world’. As a result, no one can trace who’s given him what or when. The site depicts itself as the “uncensorable Wikipedia for untraceable mass document leaking and analysis” and has developed to be regarded as the most extensive and safest stage for whistleblowers to leak to.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;32) Dick Costolo (FeedBurner)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;People generally check their preferred sites every now and then to see if there’s anything new. FeedBurner founder Dick Costolo created a news aggregator that automatically downloads an update that is visible in the places that interest you. An RSS feed, short for Really Simple Syndication, delivers those latest bits of media from their creator’s website to your computer. FeedBurner was later acquired by Google in 2007. Currently, Dick Costolo is Twitter’s Chief Operating Officer making twitter the next generation RSS.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;33) Mark Zuckerberg (Facebook)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Mark Zuckerberg founded Facebook to help students in universities keep in touch with friends. The “status update” started its rebirth in Facebook, where user after user tell their extended network of trusted friends what they’re doing. They also show off photos, upload videos, chat, make friends, meet old ones, join causes, groups, have fun and throw virtual sheep at one another. The site, which is believed to have 500 million registered users worldwide, has only four remaining countries left to conquer: Russia, Japan, China and Korea, according to Zuckerberg. Facebook is now twice as huge as Rupert Murdoch’s MySpace.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;34) Jack Dorsey (Twitter)&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Jack Dorsey created Twitter to allow friends and family know what he was doing. The world’s fastest-growing communications medium let users broadcast their thoughts in 140 characters or less and repost someone else’s informative or amusing message to their own Twitter followers by Retweeting. No one thought people would want to follow strangers, or that celebrities would use Twitter to tell fans of their activities, or that businesses would use Twitter to announce discounts or launch new products.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;35) Christopher Poole (4chan message board)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Christopher Poole, known online as “Moot,” started a message board called 4chan where people are free to be wrong. Unlike most web forums, 4chan does not have a registration system, allowing users to post anonymously. Moot believes in the value of multiple identities, including anonymity, in contrast to the merge of online and real-world identities occurring on Facebook and many other social networking sites.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;36) Joshua Schachter (Delicious)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Del.icio.us is a more sophisticated multiuser version of Muxway, wherein his first implementation of tags. Joshua Schachter began del.icio.us as a way for people to store and share their favorite Web-browsing bookmarks online. Instead of organizing them himself, or even creating a standard taxonomy of categories, Schachter used something called user tagging-people simply labeled the bookmarks by any name they wanted, and eventually the group as a whole effectively voted on them by either adopting those tags themselves or rejecting them. And now del.icio.us has been gobbled up by Yahoo, which hopes to extend the tagging principle to all sorts of its services.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange; text-align: justify;&quot;&gt;&lt;b&gt;37) &lt;/b&gt;&lt;b&gt;Jeff Bezos (Amazon)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Jeff Bezos founded the world’s biggest online store known as Amazon, which was originally named Cadabra Inc. He made online shopping faster and more personal than a trip to the local store. The company now introduced Kindle allowing readers to download books and other written materials and read them on this handheld device.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thevigilantzephyr.blogspot.com/feeds/8358224648546399663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/11/people-who-changed-internet.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/8358224648546399663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2676402074441099229/posts/default/8358224648546399663'/><link rel='alternate' type='text/html' href='http://thevigilantzephyr.blogspot.com/2010/11/people-who-changed-internet.html' title='People Who Changed The Internet'/><author><name>RavenClaw29</name><uri>http://www.blogger.com/profile/10782192774353001276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh05cn6EniWnE3vBRojGynE8W2GMD1VKIFK1tyyvZbN1IaP_LFa2-hDk35mfBnwJN_LrGR7cfMSUKErUFiWmM0NON9bqJ3DD-4c0glV_hKQxOs-xnYCzkqA1Z1z9wVCU1g/s1600/*'/></author><thr:total>1</thr:total></entry></feed>