<?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>sameer iyengar &#187; programming</title>
	<atom:link href="http://www.sameeriyengar.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sameeriyengar.com</link>
	<description>internet, technology, entrepreneurship, productivity, travel...</description>
	<lastBuildDate>Sun, 13 Jun 2010 22:59:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>@popularnow: Search Trends + News + Twitter</title>
		<link>http://www.sameeriyengar.com/2009/12/popular-now-search-trends-news-twitter/</link>
		<comments>http://www.sameeriyengar.com/2009/12/popular-now-search-trends-news-twitter/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 21:52:19 +0000</pubDate>
		<dc:creator>sameer</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.sameeriyengar.com/?p=96</guid>
		<description><![CDATA[Check out @popularnow on Twitter.
Its a mashup I wrote that tries to find interesting news based on Google Search Trends.  It uses Yahoo! BOSS and the Twitter API and runs on Google App Engine.
Few things I learned:

App Engine makes writing simple apps and rapid prototyping a breeze.
Yahoo&#8217;s APIs are incredibly developer-friendly.
Twitter spam-bots will find [...]]]></description>
			<content:encoded><![CDATA[<p>Check out <a href="http://twitter.com/popularnow">@popularnow</a> on Twitter.</p>
<p>Its a mashup I wrote that tries to find interesting news based on <a href="http://www.google.com/trends">Google Search Trends</a>.  It uses <a href="http://developer.yahoo.com/search/boss/">Yahoo! BOSS</a> and the <a href="http://apiwiki.twitter.com/">Twitter API</a> and runs on <a href="http://code.google.com/appengine/">Google App Engine</a>.</p>
<p>Few things I learned:</p>
<ul>
<li>App Engine makes writing simple apps and rapid prototyping a breeze.</li>
<li>Yahoo&#8217;s APIs are incredibly developer-friendly.</li>
<li>Twitter spam-bots will find you even before you tell anyone about your account.</li>
</ul>
<p>So far, it&#8217;s found some interesting articles and a whole lot of Tiger Woods gossip.   I guess that&#8217;s the sad reality of what people have been searching for over the past week.  Even cooler, it somehow got two retweets.</p>
<p>Follow it and let me know what you think&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sameeriyengar.com/2009/12/popular-now-search-trends-news-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pair Programming is Awesome</title>
		<link>http://www.sameeriyengar.com/2009/11/pair-programming-is-awesome/</link>
		<comments>http://www.sameeriyengar.com/2009/11/pair-programming-is-awesome/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 07:41:51 +0000</pubDate>
		<dc:creator>sameer</dc:creator>
				<category><![CDATA[productivity]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.sameeriyengar.com/?p=77</guid>
		<description><![CDATA[I&#8217;ve been meaning to write about this for a while.  Pair programming is awesome.  I was a huge skeptic when it was first pitched to our team, but after trying it a few times, I was completely sold.  It makes you more productive, produces better code and is just more fun all around.
I&#8217;m know there [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been meaning to write about this for a while.  Pair programming is<strong> awesome</strong>.  I was a huge skeptic when it was first pitched to our team, but after trying it a few times, I was completely sold.  It makes you more productive, produces better code and is just more fun all around.</p>
<p>I&#8217;m know there has been tons of stuff written about this, but when I read it, I was so skeptical that I thought all those authors were crazy.  But you know I&#8217;m not crazy.  So I&#8217;m going to tell you why its great.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/14603378@N00/365024268/"><img class="aligncenter" src="http://farm1.static.flickr.com/145/365024268_bb352821c0.jpg" alt="Pear by hassi on Flickr" /></a></p>
<h5 style="text-align: right;">Photo from <a href="http://www.flickr.com/photos/14603378@N00/365024268/"><span style="color: #000000;"><span style="text-decoration: none;">hassi</span></span></a> on Flickr.</h5>
<h3>Benefits of pair programming</h3>
<p>Not convinced?  How come?  I already said it was <strong>awesome </strong>(and I put it in bold).  Here are some benefits &#8211;</p>
<ol>
<li><strong>It keeps you focused.</strong> If you&#8217;re anything like me, you probably have a tendency to drift when you hit a stopping point.  Maybe check some e-mail or read your <a href="http://www.sameeriyengar.com">favorite blog</a>.  Not anymore.</li>
<li><strong>It helps when you get stuck.</strong> Its easy to spend a lot of time trying to figure out something that you&#8217;re unfamiliar with.  It always helps to have someone to discuss it with without having to feel bad for interrupting your co-workers all the time.</li>
<li><strong>It avoids stupid mistakes. </strong>Have you ever spent 30 frustrating minutes trying to figure out why your change isn&#8217;t showing up in the output, only to realize that you forgot to hit save?  Yes, yes, you have.  Your partner is likely to notice those things before you spend unnecessary time pulling your hair out.</li>
<li><strong>It produces better code. </strong> It&#8217;s less tempting to take shortcuts, write unreadable code and  &#8221;forget&#8221; to test things when you&#8217;re working with someone.</li>
<li><strong>Its the best way to learn a new code base.</strong> The best way to get someone up to speed on a project is to have someone pair program with them.  They&#8217;ll spend less time digging around outdated documentation and more time contributing.  I&#8217;ve effectively pair programmed with people outside my team who knew absolutely nothing about the project coming in.</li>
<li><strong>Its more fun.</strong> This one really depends on the people you&#8217;re working with, but its definitely a big upside.</li>
</ol>
<h3>How to set up a pair programming workstation</h3>
<p>The set-up is really, really important.  Both people need equal access.  You&#8217;ll need:</p>
<ul>
<li>Two keyboards</li>
<li>Two mice</li>
<li>A long, straight desk (no weird angles)</li>
<li>A giant monitor</li>
</ul>
<p>Its key for each person to have their own keyboard and mouse so that no one is just sitting there passively watching the other person type.</p>
<h3>How to pair program</h3>
<p>Now that you&#8217;ve got a sweet workstation set up, its time to actually do it.  This part is easy, just start writing code.  Switching off can be a bit tricky at first, but soon it&#8217;ll become seamless.</p>
<p>If you&#8217;re using Test-Driven Development (writing a test before writing a feature), you could have one person write a test that fails, then have the other person make the test pass and write the next test.  Its an easy way to make sure you&#8217;re switching off regularly.</p>
<p>One of the big advantages is that its easier for something to do or fix something than to spend time explaining it.  Notice that something is spelled wrong?  Fix it, you have your own keyboard.  Have an idea for how to do something?  Just write it and let the code speak for itself, instead of trying to explain what you&#8217;re trying to do.  You can always delete or edit it as necessary.</p>
<h3>Potential Downsides</h3>
<ol>
<li><strong>It could take longer than two people working independently.</strong> This is true, but I&#8217;d argue only if both people know exactly what they&#8217;re doing.  More often than not, when you&#8217;re working on something new or complex, pair programming will be faster.</li>
<li><strong>You could end up hating your co-worker after spending so much time with them.</strong> This is true too.  Definitely switch things up often to avoid this.</li>
</ol>
<p><em>Love pair programming? Still not convinced?  Leave a comment.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sameeriyengar.com/2009/11/pair-programming-is-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
