<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ankit Jain &#187; Tutorial/Links</title>
	<atom:link href="http://ankitjain.info/ankit/category/tutoriallinks/feed/" rel="self" type="application/rss+xml" />
	<link>http://ankitjain.info/ankit</link>
	<description>» It’s all about Ankit and Web! «</description>
	<lastBuildDate>Mon, 28 Jun 2010 06:28:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Handling Data in Mega Scale Systems</title>
		<link>http://ankitjain.info/ankit/2009/11/20/scaling-data-web-systems/</link>
		<comments>http://ankitjain.info/ankit/2009/11/20/scaling-data-web-systems/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 11:18:08 +0000</pubDate>
		<dc:creator>Ankit</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutorial/Links]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[rdbms]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://ankitjain.info/ankit/?p=348</guid>
		<description><![CDATA[Vineet Gupta (from Directi) touches some practical aspects of scaling web-applications. He talks about scaling app-servers, database-servers, alternatives of RDBMS, handling replication and transactional behavior. Thought the presentation is big, it touches all major aspects of scaling and gives broader insight. Check out yourself...]]></description>
			<content:encoded><![CDATA[<p>Vineet Gupta (from Directi) touches some practical aspects of scaling web-applications. He talks about scaling app-servers, database-servers, alternatives of RDBMS, handling replication and transactional behavior. Thought the presentation is big, it touches all major aspects of scaling and gives broader insight. Check out yourself&#8230;<br />
<span id="more-348"></span></p>
<div style="margin:30px"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=handlingdatainmegascalesystems-public-091103074344-phpapp02&#038;stripped_title=handling-data-in-mega-scale-systems" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=handlingdatainmegascalesystems-public-091103074344-phpapp02&#038;stripped_title=handling-data-in-mega-scale-systems" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355" FlashVars="gig_lt=1258715105260&#038;gig_pt=1258715162983&#038;gig_g=1"></embed><param name="FlashVars" value="gig_lt=1258715105260&#038;gig_pt=1258715162983&#038;gig_g=1" /></object></div>
<p>Thanks Vineet !</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitjain.info/ankit/2009/11/20/scaling-data-web-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linear Hashing</title>
		<link>http://ankitjain.info/ankit/2008/09/22/data-structure-linear-dynamic-hashing/</link>
		<comments>http://ankitjain.info/ankit/2008/09/22/data-structure-linear-dynamic-hashing/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 09:31:23 +0000</pubDate>
		<dc:creator>Ankit</dc:creator>
				<category><![CDATA[Tutorial/Links]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[hashing]]></category>

		<guid isPermaLink="false">http://ankitjain.info/ankit/2008/09/22/data-structure-linear-dynamic-hashing</guid>
		<description><![CDATA[Hash table is a data structure that associates keys with values. To know more about liner hashing refer Wikipedia. Here are main points that summarizes linear hashing. Full buckets are not necessarily split Buckets split are not necessarily full Every bucket will be split sooner or later and so all Overflows will be reclaimed and [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-left: 19pt">Hash table is a data structure that associates keys with values. To know more about <a target="_blank" href="http://en.wikipedia.org/wiki/Linear_hash">liner hashing refer Wikipedia</a>. Here are main points that summarizes linear hashing.</p>
<ul>
<li>Full buckets are not necessarily split</li>
<li>Buckets split are not necessarily full</li>
<li>Every bucket will be split sooner or later and so all Overflows will be reclaimed and rehashed.</li>
<li>
<div>Split pointer s decides which bucket to split</div>
<ul>
<li><em>s</em> is independent to overflowing bucket</li>
<li>At level <em>i</em>, <em>s</em> is between 0 and 2<em><sup>i</sup></em></li>
<li><em>s</em> is incremented and if at end, is reset to 0.</li>
</ul>
</li>
</ul>
<ul>
<li>h<sub>i</sub> (k)= h(k) mod(2<sup>i</sup> n)</li>
<li>h<sub>i+1</sub> doubles the range of  h<sub>i</sub></li>
</ul>
<p style="margin-left: 19pt"><span id="more-117"></span> <strong>Insertion and Overflow condition</strong></p>
<p style="margin-left: 19pt">Algorithm for inserting &#8216;k&#8217;:</p>
<p style="margin-left: 19pt">1.    b = h0(k)</p>
<p style="margin-left: 19pt">2.    if b &lt; split-pointer  then</p>
<p style="margin-left: 19pt">3.         b = h1(k)</p>
<p style="margin-left: 19pt"><em>Searching</em> in the hash table for &#8216;k&#8217;:</p>
<p style="margin-left: 19pt">1.     b = h0(k)</p>
<p style="margin-left: 19pt">2.     if b &lt; split-pointer then</p>
<p style="margin-left: 19pt">3.         b = h1(k)</p>
<p style="margin-left: 19pt">4.     read bucket b and search there</p>
<p style="margin-left: 19pt"><span style="font-weight: bold">Example:</span></p>
<ul>
<li>In the following M=3 (initial # of buckets)</li>
<li>Each bucket has 2 keys. One extra key for overflow.</li>
<li>s is a pointer, pointing to the split location. This is the place where next split should take place.</li>
<li>Insert Order: 1,7,3,8,12,4,11,2,10,13</li>
</ul>
<p style="margin-left: 19pt">After insertion till 12:</p>
<p style="margin-left: 19pt"><img src="http://ankitjain.info/ankit/wp-content/092208_0950_LinearHashi1.png" /></p>
<p style="margin-left: 19pt">When 4 inserted overflow occurred. So we split the bucket (no matter it is full or partially empty). And  increment pointer.</p>
<p style="margin-left: 19pt"><img src="http://ankitjain.info/ankit/wp-content/092208_0950_LinearHashi2.png" /></p>
<p style="margin-left: 19pt">So we split bucket 0 and rehashed all keys in it. Placed 3 to new bucket as (3 mod 6 = 3 ) and (12 mod 6 =  0 ). Then 11 and 2 are inserted. And now overflow. <em>s</em> is pointing to  bucket 1, hence split bucket 1 by re- hashing it.</p>
<p style="margin-left: 19pt"><img src="http://ankitjain.info/ankit/wp-content/092208_0950_LinearHashi3.png" /></p>
<p style="margin-left: 19pt">After split:</p>
<p style="margin-left: 19pt"><img src="http://ankitjain.info/ankit/wp-content/092208_0950_LinearHashi4.png" /></p>
<p style="margin-left: 19pt">Insertion of 10 and 13: as (10 mod 3 = 1) and bucket 1 &lt; s, we need to hash 10 again using h1(10) = 10 mod 6 = 4th bucket.</p>
<p style="margin-left: 19pt">When 13 is inserted same process is done, but it end up to the same bucket. But here is an overflow, we need to split 2nd bucket.</p>
<p style="margin-left: 19pt"><img src="http://ankitjain.info/ankit/wp-content/092208_0950_LinearHashi5.png" /></p>
<p style="margin-left: 19pt">Here is the final hash table.</p>
<p style="margin-left: 19pt"><img src="http://ankitjain.info/ankit/wp-content/092208_0950_LinearHashi6.png" /></p>
<p style="margin-left: 19pt"><em>s</em> is moved to the top again as one cycle is completed. Now <em>s</em> will travel from 0 to 5th bucket, then 0 to 12, etc;</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitjain.info/ankit/2008/09/22/data-structure-linear-dynamic-hashing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webservices PowerPoint Presentation</title>
		<link>http://ankitjain.info/ankit/2007/01/06/web-service-ppt-download/</link>
		<comments>http://ankitjain.info/ankit/2007/01/06/web-service-ppt-download/#comments</comments>
		<pubDate>Sat, 06 Jan 2007 13:20:20 +0000</pubDate>
		<dc:creator>Ankit</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programming/Code]]></category>
		<category><![CDATA[Tutorial/Links]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[download]]></category>

		<guid isPermaLink="false">http://ankitjain.info/ankit/2007/01/06/web-service-ppt-download</guid>
		<description><![CDATA[My presentation on WebServices Basics is available for download to the *valuable visitors* of my blog. Here is the content: Web services &#8211; Definition: A web service is a collection of protocols and standards used for exchanging data between applications or systems. Characteristics Demo: Writing a simple WebService in Visual Studio 2005 &#038; Consuming WebServices [...]]]></description>
			<content:encoded><![CDATA[<p>My presentation on <a title="Webservices Basics on AnkitJain.info -- Download" href="http://ankitjain.info/ankit/wp-content/WebServices.ppt">WebServices Basics</a> is available for download to the *valuable visitors* of my blog. Here is the content:</p>
<ul type="disc" style="margin-top: 0in">
<li class="MsoNormal">Web      services &#8211; Definition: A web service is a collection of protocols and      standards used for exchanging data between applications or systems.</li>
<li class="MsoNormal">Characteristics</li>
<li class="MsoNormal">Demo: Writing      a simple WebService in Visual Studio 2005 &#038; Consuming WebServices</li>
<li class="MsoNormal">Technologies:      XML (eXtensible Markup Language), SOAP (Simple Object Access Protocol), WSDL      (Web services description language), UDDI (universal description,      discovery, and integration)</li>
<li class="MsoNormal">SOAP: SOAP      is an open protocol specification defining a uniform way of performing      RPCs using HTTP as the underlying communications protocol with XML for the      data serialization.</li>
<li class="MsoNormal">Drilling inside <strong>SoapHttpClientProtocol</strong> class</li>
<li class="MsoNormal">Advantages      of Web services</li>
<li class="MsoNormal">SOA â€“ Service      Oriented Architecture, Four Tenets</li>
</ul>
<p class="MsoNormal">Thanks,</p>
<p class="MsoNormal">~ Ankit</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitjain.info/ankit/2007/01/06/web-service-ppt-download/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ajax Tutorial Series</title>
		<link>http://ankitjain.info/ankit/2006/10/20/ajax-tutorial-series/</link>
		<comments>http://ankitjain.info/ankit/2006/10/20/ajax-tutorial-series/#comments</comments>
		<pubDate>Fri, 20 Oct 2006 06:18:54 +0000</pubDate>
		<dc:creator>Ankit</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutorial/Links]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[xmlHttpRequest]]></category>

		<guid isPermaLink="false">http://ankitjain.info/ankit/2006/10/20/ajax-tutorial-series</guid>
		<description><![CDATA[Want to learn Ajax from scratch? Here is a series of tutorials for you. Mastering Ajax, Part 7: Using XML in requests and responses Brett McLaughlin demonstrates how you can use XML as the data format for sending asynchronous requests. Mastering Ajax, Part 6: Build DOM-based Web applications Continue to explore how DOM programming fits [...]]]></description>
			<content:encoded><![CDATA[<p>Want to learn Ajax from scratch? Here is a series of tutorials for you.</p>
<table cellspacing="0" cellpadding="0" border="0" class="MsoNormalTable">
<tr>
<td valign="top" style="padding: 0in; width: 100%"><a target="_blank" href="http://www.ibm.com/developerworks/web/library/wa-ajaxintro7.html">Mastering Ajax, Part 7: Using XML in requests and responses</a><br />
Brett McLaughlin demonstrates how you can use XML as the data format for sending asynchronous requests.</td>
</tr>
<tr>
<td valign="top" style="padding: 0in; width: 100%"><a target="_blank" href="http://www.ibm.com/developerworks/web/library/wa-ajaxintro6/index.html">Mastering Ajax, Part 6: Build DOM-based Web applications</a><br />
Continue to explore how DOM programming fits into interactive Ajax applications as Brett  McLaughlin completes his trilogy of articles on DOM programming with a DOM application in practice.</td>
</tr>
<tr>
<td valign="top" style="padding: 0in; width: 100%"><a target="_blank" href="http://www.ibm.com/developerworks/web/library/wa-ajaxintro5/index.html">Mastering Ajax, Part 5: Manipulate the DOM</a><br />
Last month Brett introduced the Document Object Model, whose elements work behind the scenes to define your Web pages. This month he dives even deeper into the DOM. Learn how to create, remove, and change the parts of a DOM tree, and take the next step toward updating your Web pages on the fly!</td>
</tr>
<tr>
<td valign="top" style="padding: 0in; width: 100%"><a target="_blank" href="http://www.ibm.com/developerworks/web/library/wa-ajaxintro4/index.html">Mastering Ajax, Part 4: Exploiting DOM for Web response</a><br />
The great divide between programmers (who work with back-end applications) and Web programmers (who spend their time writing HTML, CSS, and JavaScript) is long standing. However, the Document Object Model (DOM) bridges the chasm and makes working with both XML on the back end and HTML on the front end possible and an effective tool. In this article, Brett McLaughlin introduces the Document Object Model, explains its use in Web pages, and starts to explore its usage from JavaScript.</td>
</tr>
<tr>
<td valign="top" style="padding: 0in; width: 100%"><a target="_blank" href="http://www.ibm.com/developerworks/web/library/wa-ajaxintro3/index.html">Mastering Ajax, Part 3: Advanced requests and responses in Ajax</a><br />
For many Web developers, making simple requests and receiving simple responses is all they&#8217;ll ever need, but for developers who want to master Ajax, a complete understanding of HTTP status codes, ready states, and the XMLHttpRequest object is required. In this article, Brett McLaughlin will show you the different status codes and demonstrate how browsers handle each and he will showcase the lesser-used HTTP requests that you can make with Ajax.</td>
</tr>
<tr>
<td valign="top" style="padding: 0in; width: 100%"><a target="_blank" href="http://www.ibm.com/developerworks/web/library/wa-ajaxintro2/index.html">Mastering Ajax, Part 2: Make asynchronous requests with JavaScript and Ajax</a><br />
Most Web applications use a request/response model that gets an entire HTML page from the server. The result is a back-and-forth that usually involves clicking a button, waiting for the server, clicking another button, and then waiting some more. With Ajax and the XMLHttpRequest object, you can use a request/response model that never leaves users waiting for a server to respond. In this article, Brett McLaughlin shows you how to create XMLHttpRequest instances in a cross-browser way, construct and send requests, and respond to the server.</td>
</tr>
<tr>
<td valign="top" style="padding: 0in; width: 100%"><a target="_blank" href="http://www.ibm.com/developerworks/web/library/wa-ajaxintro1.html">Mastering Ajax, Part 1: Introduction to Ajax</a><br />
Ajax, which consists of HTML, JavaScript, DHTML, and DOM, is an outstanding approach that helps you transform clunky Web interfaces into interactive Ajax applications. The author, an Ajax expert, demonstrates how these technologies work together &#8212; from an overview to a detailed look &#8212; to make extremely efficient Web development an easy reality. He also unveils the central concepts of Ajax, including the XMLHttpRequest object.</td>
</tr>
</table>
<p>~ Ankit</p>
<p>[Edited on March 20, 2007:</p>
<p>One more classsic tutorial for Ajax basics: <a target="_blank" href="http://www.harrymaugans.com/2007/03/18/tutorial-ajax-made-easy/">http://www.harrymaugans.com/2007/03/18/tutorial-ajax-made-easy/</a></p>
<p>]</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitjain.info/ankit/2006/10/20/ajax-tutorial-series/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AJAX Guide !</title>
		<link>http://ankitjain.info/ankit/2006/07/31/ajax-guide/</link>
		<comments>http://ankitjain.info/ankit/2006/07/31/ajax-guide/#comments</comments>
		<pubDate>Mon, 31 Jul 2006 09:09:42 +0000</pubDate>
		<dc:creator>Ankit</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Tutorial/Links]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://ankitjain.info/ankit/2006/07/31/ajax-guide</guid>
		<description><![CDATA[Johnson compiles a useful list of Ajax resources. It contains resource for PHP/Java/ASP.net. [Edited: Oct 13th, 2006] And here we go to hack an Ajax website. Using &#8216;Firebug&#8217; (and extension to FireFox) you can discover ajax calls, stack trace of errors, etc; Using &#8216;chickenfoot&#8217; provides a programming environment within the browser (ie. simulation of user [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" title="Are you looking for AJAX Guide, Huh?" href="http://johnysmith.spaces.msn.com/Blog/cns!383F83B16A61FB36!511.entry">Johnson</a> compiles a useful list of Ajax resources. It contains resource for PHP/Java/ASP.net.</p>
<p><em>[Edited: Oct 13th, 2006]</em><br />
And here we go to hack an Ajax website.</p>
<ul>
<li>Using <a target="_blank" href="http://www.securityfocus.com/infocus/1879/1">&#8216;Firebug&#8217;</a> (and extension to FireFox) you can discover ajax calls, stack trace of errors, etc;</li>
<li>Using <a href="http://www.securityfocus.com/infocus/1879/2">&#8216;chickenfoot&#8217;</a> provides a programming environment within the browser (ie. simulation of user clicks, etc;)</li>
</ul>
<p>~ Ankit</p>
]]></content:encoded>
			<wfw:commentRss>http://ankitjain.info/ankit/2006/07/31/ajax-guide/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
