<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Guru and Nubie</title>
	<atom:link href="http://renil.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://renil.wordpress.com</link>
	<description>Renil's Blog</description>
	<lastBuildDate>Sun, 27 Sep 2009 16:38:04 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='renil.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/5274b518ee4a6af1deff41f00e51fcbd?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Guru and Nubie</title>
		<link>http://renil.wordpress.com</link>
	</image>
			<item>
		<title>Short vs. Long variable names</title>
		<link>http://renil.wordpress.com/2009/09/27/short-vs-long-variable-names/</link>
		<comments>http://renil.wordpress.com/2009/09/27/short-vs-long-variable-names/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 16:38:04 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/?p=72</guid>
		<description><![CDATA[For a long time, I haven&#8217;t written any post. I was a looking for a good topic. Now I came across a post by Isaac Schlueter in &#8220;YCombinator&#8221;. So thought of sharing it.
There&#8217;s a lot of &#8220;short vs long&#8221; going  on in the comments here. That seems silly to me.Code should be written so as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=72&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For a long time, I haven&#8217;t written any post. I was a looking for a good topic. Now I came across a post by <a title="Isaac Schlueter" href="http://news.ycombinator.com/item?id=839675" target="_blank">Isaac Schlueter</a> in &#8220;YCombinator&#8221;. So thought of sharing it.</p>
<blockquote><p><span style="color:#000000;">There&#8217;s a lot of &#8220;short vs long&#8221; going  on in the comments here. That seems silly to me.Code should be written so as to completely describe the program&#8217;s  functionality to human readers, and only incidentally to be interpreted by  computers. We have a hard time remembering short names for a long time, and we  have a hard time looking at long names over and over again in a row.  Additionally, short names carry a higher likelihood of collisions (since the  search space is smaller), but are easier to &#8220;hold onto&#8221; for short periods of  reading.</span></p>
<p>Thus, our conventions for naming things should take into consideration the  limitations of the human brain. The length of a variable&#8217;s name should be  proportional to the distance between its definition and its use, and inversely  proportional to its frequency of use.</p>
<p>Global config setting that gets specified once and used in 4 places  throughout the program? 10-20 characters is probably appropriate. Might wanna go  with UPPER_SNAKE_CASE to make it stand out a bit more, even.</p>
<p>Iterator variable that you define in a 3-line for loop and then never see  again outside of it? Call it &#8220;i&#8221;.</p>
<p><span style="color:#000000;">Another way to look at this: The first time you meet someone, you learn their  full name. When discussing them with someone else who knows them, you use just a  single name. If they&#8217;re standing right there, you don&#8217;t bother using their name,  but just make eye contact, and maybe a &#8220;Hey&#8221;. Should be the same way with  variables.</span></p></blockquote>
<p>Read the full post and reader comments in &#8220;<a title="http://news.ycombinator.com/item?id=840331" href="http://news.ycombinator.com/item?id=840331" target="_blank">http://news.ycombinator.com/item?id=840331</a>&#8220;</p>
<p>Happy Reading!!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=72&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2009/09/27/short-vs-long-variable-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>
	</item>
		<item>
		<title>Back again after a year</title>
		<link>http://renil.wordpress.com/2009/01/21/back-again-after-a-year/</link>
		<comments>http://renil.wordpress.com/2009/01/21/back-again-after-a-year/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 19:23:28 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/?p=70</guid>
		<description><![CDATA[I was busy working with a Project and was not able to update the blog for around one year.
As I am returning back, I have updated the wordpress template for the site. The WordPress look and feel has been changed and I have seen a lot of changes in other sites also including Joel On [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=70&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I was busy working with a Project and was not able to update the blog for around one year.</p>
<p>As I am returning back, I have updated the wordpress template for the site. The WordPress look and feel has been changed and I have seen a lot of changes in other sites also including Joel On Software.</p>
<p>Let us see how much I can write this year <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Happy Coding&#8230;</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=70&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2009/01/21/back-again-after-a-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>
	</item>
		<item>
		<title>NewsGator RSS tools are free now</title>
		<link>http://renil.wordpress.com/2008/01/31/newsgator-rss-tools-are-free-now/</link>
		<comments>http://renil.wordpress.com/2008/01/31/newsgator-rss-tools-are-free-now/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 14:01:48 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[Life skills]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/2008/01/31/newsgator-rss-tools-are-free-now/</guid>
		<description><![CDATA[I love Google Reader, but I love NewsGator FeedDemon, because of its online/offline synchronization feature.
Most of the RSS products of NewsGator are available for free now.
visit http://www.newsgator.com/
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=69&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I love Google Reader, but I love NewsGator FeedDemon, because of its online/offline synchronization feature.</p>
<p>Most of the RSS products of NewsGator are available for free now.</p>
<p>visit <a href="http://www.newsgator.com/">http://www.newsgator.com/</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/renil.wordpress.com/69/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/renil.wordpress.com/69/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=69&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2008/01/31/newsgator-rss-tools-are-free-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>
	</item>
		<item>
		<title>Happy New Year</title>
		<link>http://renil.wordpress.com/2007/12/31/happy-new-year/</link>
		<comments>http://renil.wordpress.com/2007/12/31/happy-new-year/#comments</comments>
		<pubDate>Mon, 31 Dec 2007 15:02:54 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/2007/12/31/happy-new-year/</guid>
		<description><![CDATA[
Wishing you all a happy and prosperous New Year..
Happy Coding
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=68&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://renil.files.wordpress.com/2007/12/j0436236.png" alt="Happy New Year" /></p>
<p>Wishing you all a happy and prosperous New Year..</p>
<p>Happy Coding<img border="0" width="1" src="http://renil.wordpress.com/wp-admin/" height="1" /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/renil.wordpress.com/68/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/renil.wordpress.com/68/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=68&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2007/12/31/happy-new-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>

		<media:content url="http://renil.files.wordpress.com/2007/12/j0436236.png" medium="image">
			<media:title type="html">Happy New Year</media:title>
		</media:content>

		<media:content url="http://renil.wordpress.com/wp-admin/" medium="image" />
	</item>
		<item>
		<title>Visual Studio Feature Request</title>
		<link>http://renil.wordpress.com/2007/06/22/visual-studio-feature-request/</link>
		<comments>http://renil.wordpress.com/2007/06/22/visual-studio-feature-request/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 15:27:51 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/2007/06/22/visual-studio-feature-request/</guid>
		<description><![CDATA[
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=66&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://renil.files.wordpress.com/2007/06/featurerequest.png" title="VS Feature Request"></a><a rel="attachment wp-att-65" href="http://renil.wordpress.com/2007/06/22/visual-studio-feature-request/vs-feature-request/" title="VS Feature Request"><img src="http://renil.files.wordpress.com/2007/06/featurerequest.png" alt="VS Feature Request" /></a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/renil.wordpress.com/66/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/renil.wordpress.com/66/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=66&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2007/06/22/visual-studio-feature-request/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>

		<media:content url="http://renil.files.wordpress.com/2007/06/featurerequest.png" medium="image">
			<media:title type="html">VS Feature Request</media:title>
		</media:content>
	</item>
		<item>
		<title>The Next Big Programming Idiom</title>
		<link>http://renil.wordpress.com/2007/05/03/the-next-big-programming-idiom/</link>
		<comments>http://renil.wordpress.com/2007/05/03/the-next-big-programming-idiom/#comments</comments>
		<pubDate>Thu, 03 May 2007 04:33:09 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/2007/05/03/the-next-big-programming-idiom/</guid>
		<description><![CDATA[We were talking about&#160;&#8221;MapReduce, Functional Programming, Lisp&#8221; in my previous post. The question is the next big programming idiom.
In a post titled The Next Big Programming&#160;Idiom, Peter discussing this issue.
I’m not asking here which language will be the next popular language, but what programming style will be popular. Will functional programming make a comeback? Will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=63&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>We were talking about&nbsp;&#8221;<a title="Functional Programming" href="http://renil.wordpress.com/2007/05/03/mapreduce-functional-programming-lisp/" target="_blank">MapReduce, Functional Programming, Lisp</a>&#8221; in my previous post. The question is the next big programming idiom.</p>
<p>In a post titled <a href="http://pschombe.wordpress.com/2006/05/06/the-next-big-programming-idiom/">The Next Big Programming&nbsp;Idiom</a>, Peter discussing this issue.</p>
<blockquote><p>I’m not asking here which language will be the next popular language, but what programming style will be popular. Will functional programming make a comeback? Will OOP refuse to die? Or will it be something we haven’t seen before?</p>
</blockquote>
<p>-Happy Reading,</p>
<p>Nubie</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/renil.wordpress.com/63/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/renil.wordpress.com/63/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=63&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2007/05/03/the-next-big-programming-idiom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>
	</item>
		<item>
		<title>MapReduce, Functional Programming, Lisp</title>
		<link>http://renil.wordpress.com/2007/05/03/mapreduce-functional-programming-lisp/</link>
		<comments>http://renil.wordpress.com/2007/05/03/mapreduce-functional-programming-lisp/#comments</comments>
		<pubDate>Thu, 03 May 2007 04:27:14 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/2007/05/03/mapreduce-functional-programming-lisp/</guid>
		<description><![CDATA[I have been hearing about functional programming these days.
In an article titled &#8220;Can Your Programming Language Do This?&#8221; Joel discusses about the MapReduce algorithm which makes Google so massively scalable.
According to Google,
MapReduce: Simplified Data Processing on Large ClustersJeffrey Dean and Sanjay Ghemawat
Abstract
MapReduce is a programming model and an associated implementation for processing and generating large [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=62&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have been hearing about functional programming these days.</p>
<p>In an article titled &#8220;<a title="MapReduce" href="http://joelonsoftware.com/items/2006/08/01.html" target="_blank">Can Your Programming Language Do This?</a>&#8221; Joel discusses about the MapReduce algorithm which makes Google so massively scalable.</p>
<p>According to Google,</p>
<blockquote><p><b><a title="MapReduce" href="http://labs.google.com/papers/mapreduce.html">MapReduce: Simplified Data Processing on Large Clusters</a></b><br /><a href="http://labs.google.com/people/jeff">Jeffrey Dean</a> and <a href="http://labs.google.com/people/sanjay">Sanjay Ghemawat</a></p>
<p><b>Abstract</b>
<p>MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key. Many real world tasks are expressible in this model, as shown in the paper.
<p>Programs written in this functional style are automatically parallelized and executed on a large cluster of commodity machines. The run-time system takes care of the details of partitioning the input data, scheduling the program&#8217;s execution across a set of machines, handling machine failures, and managing the required inter-machine communication. This allows programmers without any experience with parallel and distributed systems to easily utilize the resources of a large distributed system.
<p>Our implementation of MapReduce runs on a large cluster of commodity machines and is highly scalable: a typical MapReduce computation processes many terabytes of data on thousands of machines. Programmers find the system easy to use: hundreds of MapReduce programs have been implemented and upwards of one thousand MapReduce jobs are executed on Google&#8217;s clusters every day. </p>
</blockquote>
<p>But MapReduce can be implemented only using Functional Programming languages. Did I say &#8220;only&#8221;?? But how they implemented MapReduce in Google using C++?
<p>Joel continues&#8230;<br />
<blockquote>
<p>Without understanding functional programming, you can&#8217;t invent <a href="http://labs.google.com/papers/mapreduce.html">MapReduce</a>, the algorithm that makes Google so massively scalable. The terms Map and Reduce come from Lisp and functional programming. MapReduce is, in retrospect, obvious to anyone who remembers from their 6.001-equivalent programming class that purely functional programs have no side effects and are thus trivially parallelizable. The very fact that Google invented MapReduce, and Microsoft didn&#8217;t, says something about why Microsoft is still playing catch up trying to get basic search features to work, while Google has moved on to the next problem: building Skynet^H^H^H^H^H^H the world&#8217;s largest massively parallel supercomputer. I don&#8217;t think Microsoft completely understands just how far behind they are on that wave.</p>
</blockquote>
<p>&nbsp;
<p>The moral of the story is that there is a lot of interest towards functional programming. Many functional programming languages are getting attention. Some popular languages are <a title="Erlang by Ericsson Computer Science Laboratory" href="http://www.erlang.org/" target="_blank">Erlang</a>, <a title="F#" href="http://research.microsoft.com/fsharp/fsharp.aspx" target="_blank">Microsoft F#</a>, <a title="Haskell" href="http://www.haskell.org/haskellwiki/Haskell" target="_blank">Haskell</a>.
<p>But the real hero among these languages&nbsp;is Lisp. Lisp is a programmable programming language which can support functional and object oriented programming.&nbsp; Read <a title="Lisp Truth" href="http://secretgeek.net/lisp_truth.asp" target="_blank">The Truth About Lisp</a>&nbsp;by Secret Geek and <a href="http://pschombe.wordpress.com/2006/04/06/why-isn%e2%80%99t-everyone-using-lisp/">Why Isn’t Everyone Using&nbsp;Lisp?</a>&nbsp;by Peter.
<p>-Happy coding</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/renil.wordpress.com/62/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/renil.wordpress.com/62/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=62&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2007/05/03/mapreduce-functional-programming-lisp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>
	</item>
		<item>
		<title>Manual Software Factories</title>
		<link>http://renil.wordpress.com/2007/03/30/manual-software-factories/</link>
		<comments>http://renil.wordpress.com/2007/03/30/manual-software-factories/#comments</comments>
		<pubDate>Fri, 30 Mar 2007 04:58:24 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Factories]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/2007/03/30/manual-software-factories/</guid>
		<description><![CDATA[Microsoft has coined the word software factories to describe the concept of creating a customizable and extensible baseline architecture for a project to start on.
They are expecting to leverage the domain expertise and experience of senior developers by creating software factories. The software factory is a software development tool that can automate a software solution [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=60&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Microsoft has coined the word software factories to describe the concept of creating a customizable and extensible baseline architecture for a project to start on.</p>
<p>They are expecting to leverage the domain expertise and experience of senior developers by creating software factories. The software factory is a software development tool that can automate a software solution addressing a well known and described specific problem. To know more on software factories, visit: <a title="Software Factories" href="http://blogs.msdn.com/jezzsa/archive/2007/03/06/building-software-factories-factories-201.aspx" target="_blank">Building software factories</a></p>
<p>Be sure to read the above post before make a decision on creating a software factory. Then get <a title="Software Factory Toolkit" href="http://softwarefactoriestoolkit.net/" target="_blank">Software Factory Toolkit</a>&nbsp;from clarius consulting.</p>
<p>A&nbsp;medium sized company can make the software factory concept without automating it if they feel it will be costly. They can set up a team of architects, senior software engineers, and domain expertees. This team will create an initial platform for all the projects in their company. So the developers can build onthis baseline architecture. Gradually this will create a feeling of re-usable components and many of the components can be reused in the next project. Then they can automate the creationof solution and reusable components.</p>
<p>I don&#8217;t know whether this is a good idea or not. Nor I don&#8217;t know&nbsp;whether this kind of practice already exists in software industry. Sorry if I posted anything wrong <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>-Happy Coding&nbsp;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/renil.wordpress.com/60/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/renil.wordpress.com/60/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=60&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2007/03/30/manual-software-factories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>
	</item>
		<item>
		<title>IDs versus GUIDs</title>
		<link>http://renil.wordpress.com/2007/03/23/ids-versus-guids/</link>
		<comments>http://renil.wordpress.com/2007/03/23/ids-versus-guids/#comments</comments>
		<pubDate>Fri, 23 Mar 2007 18:44:46 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[.NET 3.0]]></category>
		<category><![CDATA[WF]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/2007/03/23/ids-versus-guids/</guid>
		<description><![CDATA[This week, I was trying to understand the architecture of Windows Workflow Foundation (WF). In most of the sample programs I saw, they have used WorkflowInstanceId (a Guid) as the primary key in the database. The main reason being the use of instance id in Passivation (Passivation is the term WF is using to describe [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=58&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This week, I was trying to understand the architecture of Windows Workflow Foundation (WF). In most of the sample programs I saw, they have used WorkflowInstanceId (a Guid) as the primary key in the database. The main reason being the use of instance id in Passivation (Passivation is the term WF is using to describe the process of moving idle workflow instances to persisent storage medium like database so that the program need not be in memory while waiting for some external stimulus like user input or input from other programs). They need to know the instance id to get the program back to memory.</p>
<p>During that time I had situation where I need to get the data from database based on the primary key. What about writing a query statement with a where clause like &#8220;where userid=&#8217;{BAE7DF4-DDF-3RG-5TY3E3RF456AS10}&#8217;&#8221;?. It&#8217;s difficult to write like that. So I did a search to know whether I should use Guid or integer key as primary key.</p>
<p>No need to search it any more. Find the Coding Horror article on <a target="_blank" href="http://www.codinghorror.com/blog/archives/000817.html" title="Coding horror blog">Primary Keys: IDs versus GUIDs </a></p>
<p>-Nubie</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/renil.wordpress.com/58/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/renil.wordpress.com/58/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=58&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2007/03/23/ids-versus-guids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>
	</item>
		<item>
		<title>How much of your application is managed?</title>
		<link>http://renil.wordpress.com/2007/03/14/how-much-of-your-application-is-managed/</link>
		<comments>http://renil.wordpress.com/2007/03/14/how-much-of-your-application-is-managed/#comments</comments>
		<pubDate>Wed, 14 Mar 2007 04:45:26 +0000</pubDate>
		<dc:creator>renil</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://renil.wordpress.com/2007/03/14/how-much-of-your-application-is-managed/</guid>
		<description><![CDATA[Does a solution written for Microsoft .NET have to be 100% .NET? Scott Hanselman looks at how hybrid managed-unmanaged solutions are really the norm.
Read his article that exposes the myth of .NET Purity&#160;on MSDN 
The Windows platform has dozens and dozens of high-level system services exposed by literally thousands of APIs. This large library of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=57&subd=renil&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Does a solution written for Microsoft .NET have to be 100% .NET? Scott Hanselman looks at how hybrid managed-unmanaged solutions are really the norm.</p>
<p>Read his article that exposes the myth of .NET Purity&nbsp;on <a href="http://msdn2.microsoft.com/en-us/library/ms953313.aspx" target="_blank">MSDN</a> </p>
<blockquote><p>The Windows platform has dozens and dozens of high-level system services exposed by literally thousands of APIs. This large library of functionality encompasses various levels of richness. A low-level API may open a file off a disk, while a high-level one might play an audio file. The designers of the .NET Framework wanted to create a consistent object-oriented face on a rich legacy of platform functionality. The CLR and .NET Framework work together to expose the capabilities within the Windows platform, including those that may have previously been hidden away in difficult or little known APIs.</p>
</blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/renil.wordpress.com/57/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/renil.wordpress.com/57/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/renil.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/renil.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/renil.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/renil.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/renil.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/renil.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/renil.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/renil.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/renil.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/renil.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=renil.wordpress.com&blog=366839&post=57&subd=renil&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://renil.wordpress.com/2007/03/14/how-much-of-your-application-is-managed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d560a85494b2b5f2605a02bfce6a489?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">renil</media:title>
		</media:content>
	</item>
	</channel>
</rss>