<?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>sp2hari@weblog... &#187; sp2hari</title>
	<atom:link href="http://sp2hari.com/author/sp2hari/feed/" rel="self" type="application/rss+xml" />
	<link>http://sp2hari.com</link>
	<description>I see, learn and rediscover... everyday!</description>
	<lastBuildDate>Thu, 24 Nov 2011 22:06:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>How?</title>
		<link>http://sp2hari.com/2011/11/24/how/</link>
		<comments>http://sp2hari.com/2011/11/24/how/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 22:06:19 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=793</guid>
		<description><![CDATA[The answer is so very simple&#8230; What doesn&#8217;t kill you makes you stronger.]]></description>
			<content:encoded><![CDATA[<p>The answer is so very simple&#8230;</p>
<h3>What doesn&#8217;t kill you makes you stronger. </h3>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/11/24/how/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 commandments for excellent customer support</title>
		<link>http://sp2hari.com/2011/08/08/10-commandments-for-excellent-customer-support/</link>
		<comments>http://sp2hari.com/2011/08/08/10-commandments-for-excellent-customer-support/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 17:15:51 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=784</guid>
		<description><![CDATA[10 commandments for excellent customer Support If you are serious about customer support, then you will wake up in the middle of the night, search for you mobile phone and your heart should skip a beat when you don&#8217;t find &#8230; <a href="http://sp2hari.com/2011/08/08/10-commandments-for-excellent-customer-support/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>10 commandments for excellent customer Support </p>
<p><a href="http://sp2hari.com/wp-content/uploads/2011/08/customer-support.jpg"><img src="http://sp2hari.com/wp-content/uploads/2011/08/customer-support.jpg" alt="Customer Support" title="Customer Support" width="347" height="346" class="aligncenter size-full wp-image-785" /></a></p>
<p>If you are serious about customer support, then you will wake up in the middle of the night, search for you mobile phone and your heart should skip a beat when you don&#8217;t find it next to you. When you finally find it next to your laptop on your table, with no missed calls from your customers (thank god), you take your phone and hug and take it to your bed.</p>
<p>1. Answer. The person handling the customer support should have a good idea of the picture. Helps if the same support person talks to the a particular customer every single time.</p>
<p>2. Don&#8217;t Escape : When a customer explains a problem, it works for me is never a solution. (web startups/browser issues)</p>
<p>3. Listen to the customer totally before offering a solution. You might have had many customers face the same issue, but don&#8217;t jump into a conclusion and throw a solution at him before he finishes.</p>
<p>4. Apologize. Even if it wasn&#8217;t your fault, but if your customer is facing a issue, it is YOUR fault. Don&#8217;t ever thing that the customer is stupid making silly mistakes. Your application should be customer friendly. </p>
<p>5. Act. Act immediately after apologizing. Customer doesn&#8217;t need your apology. No one is going to &#8220;forgive&#8221; you just coz you apologize to them. Act fast. Super fast. </p>
<p>6. Explain. Explain what&#8217;s going on to your customer. They understand. Trust me. If things are gonna get delayed, explaining things to customers gives them heads up and they will be prepared.</p>
<p>7. Don&#8217;t expect customers to care whether it is your weekend/holiday or how many hours you sleep per day. In short, you human voice should replace the IVRS. Every single time, after 2 rings, they should get a hello, no matter when and where they are calling from?</p>
<p>8. SLA. You should not worry about the digits in your SLA, but you should try to optimize the units. If you take days to answer a customer query, you will be out of business.. If you take hours, try to make that reply in minutes. If you answer within minutes, try to answer within a few seconds. Nothing makes a customer happy than seeing a reply to his mail even before he could signout.</p>
<p>9. Care. Suggest things for customers which might really benefit them. Not because it involves less work for you. Think from their point of view and suggest a solution by which they save the maximum time and money. You business is not to make money. It is save customers time and money, for which he is ready to pay you money. So, value of time saved + money saved >> money he pays you. </p>
<p>10. Workship : Jeff Bezos</p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/08/08/10-commandments-for-excellent-customer-support/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Each model is a babe &#8211; Codeigniter :-)</title>
		<link>http://sp2hari.com/2011/03/09/each-model-is-a-babe-codeigniter/</link>
		<comments>http://sp2hari.com/2011/03/09/each-model-is-a-babe-codeigniter/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 23:53:41 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=765</guid>
		<description><![CDATA[Happened to see the following code in Codeigniter 2 :) &#160;&#160;&#160;&#160;function model($model, $name = '', $db_conn = FALSE) &#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (is_array($model)) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;foreach($model as $babe) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$this->model($babe); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} Source code Link : https://bitbucket.org/ellislab/codeigniter/src/8f6367e5d338/system/core/Loader.php]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://sp2hari.com/wp-content/uploads/2011/03/model-babe1.jpg" alt="" title="model-babe" width="443" height="353" class="size-full wp-image-772" /></center></p>
<p><strong>Happened to see the following code in Codeigniter 2 :) </strong></p>
<p><code>&nbsp;&nbsp;&nbsp;&nbsp;function model($model, $name = '', $db_conn = FALSE)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (is_array($model))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($model as $babe)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->model($babe);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</code></p>
<p>Source code Link : <a href="https://bitbucket.org/ellislab/codeigniter/src/8f6367e5d338/system/core/Loader.php">https://bitbucket.org/ellislab/codeigniter/src/8f6367e5d338/system/core/Loader.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/03/09/each-model-is-a-babe-codeigniter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Photolog 8</title>
		<link>http://sp2hari.com/2011/03/09/photolog-8/</link>
		<comments>http://sp2hari.com/2011/03/09/photolog-8/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 19:02:21 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=761</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div id="attachment_762" class="wp-caption aligncenter" style="width: 1322px"><a href="http://sp2hari.com/wp-content/uploads/2011/03/DSC_024523955.jpg"><img src="http://sp2hari.com/wp-content/uploads/2011/03/DSC_024523955.jpg" alt="Dance Stage " title="Dance" width="1312" height="1476" class="size-full wp-image-762" /></a><p class="wp-caption-text">Dance stage :)</p></div>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/03/09/photolog-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My TODO Notebook.</title>
		<link>http://sp2hari.com/2011/03/02/my-todo-notebook/</link>
		<comments>http://sp2hari.com/2011/03/02/my-todo-notebook/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 12:29:08 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=742</guid>
		<description><![CDATA[When I used to work from bangalore, I had this 300 pages notebook. I used to carry it everywhere and write my TODOs. I stopped using it after I moved to chennai. I happened to get a look at this &#8230; <a href="http://sp2hari.com/2011/03/02/my-todo-notebook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When I used to work from bangalore, I had this 300 pages notebook. I used to carry it everywhere and write my TODOs. I stopped using it after I moved to chennai. I happened to get a look at this notebook after a long long time and boy, how much I&#8217;ve scribbled. </p>
<p>Note : Most of the notes is about interviewstreet and IBM work. You might not understand what it is all about. Even I don&#8217;t :) Just posting some random pages from the book. </p>
<hr/>
<strong>Feedback</strong></p>
<ul>
<li>Candidate Name : ___________</li>
<li>Interview Date/Time : ____________</li>
<li>Competencies Tested : ___________</li>
<li>Technical Skills :         ____________</li>
<li>Communication Skills : ____________</li>
<li>Areas of Improvement : -> Textarea</li>
<li>Update button -> Triggers mails</li>
</ul>
<hr />
<p><strong>13th -> </strong></p>
<ul>
<li>Bucketization</li>
<li>Feedback</li>
<li>Confirm/Forgot Password -> let&#8217;s mail them</li>
<li>Profiles (interviewer/interviewee)</li>
<li>Robin (details about partnership) </li>
</ul>
<p><strong>14th -></strong></p>
<ul>
<li>Profiles backlog</li>
<li>Indus call to discuss stuff</li>
<li>Blog + Forum</li>
<li>Post a Request</li>
<li>Banner + Poster</li>
<p><strong>15th -></strong></p>
<li>Search (Lucene Overview)</li>
<li>Google Analytics</li>
<li>Visiting Cards/Posters/Banners</li>
<p><strong>16th -></strong></p>
<li>Development env fix.</li>
<li>Open questions</li>
<li>Change password in profile</li>
<hr/>
<strong>Viv</strong></p>
<ol>
<li>Autocomplete + HTML change for viewer region</li>
<li>Edit Profile -> Bucket Display</li>
<li>Handle -> Opens a facebok </li>
<li>Displayable profile -> Page 4 details </li>
</ol>
<p><strong>Hari</strong></p>
<ol>
<li>Forgot password</li>
<li>Sabsebolo config</li>
<li>Archive</li>
</ol>
<hr/>
<ol>
<li>CC Avenue </li>
<ul>
<li>Edit Bank details? &#8211; Call ccavenue</li>
<li>Bank regn </li>
<ul>
<li>Pay reachtax</li>
<li>$ conversion?</li>
</ul>
</ul>
<li>Bucketization</li>
<ul>
<li>Concept ready</li>
<li>Discuss implmentation &#038; finalize</li>
</ul>
<li>Feedback</li>
<ul>
<li>Discuss wireframes + implement</li>
<li>No payment before feedback</li>
</ul>
<li>Google Analytics</li>
<li>Forums + Blog</li>
<li>Code cleaning + nice to haves</li>
<li>Search</li>
<li>Testing for critical area (Selenium/Manual) </li>
<li>Home page topic!!</li>
<li>Password &#8211; confirm/forgot</li>
<li>Sabsebolo config</li>
<li>Interviewee profile.</li>
<li>Archive</li>
</ol>
<hr/>
<p><strong>Bugs to fix</strong></p>
<p><em>Register.php</em></p>
<ul>
<li>CSS in IE6</li>
<li>Facebox loading should come in center.</li>
<li>Facebox size in IE6</li>
<li>Background color of openbox ok?</li>
</ul>
<hr/>
<ul>
<li>Register domain. edubeam or careersabove dot com</li>
<li>Landing page campaign finish</li>
<li>Finish home page</li>
<li>interviewer/viewee page</li>
<li>profile page</li>
<li>header &#8212; nav links</li>
<li>home page -> </li>
<li>register, login page</li>
<li>tooltips</li>
<li>Analytics for site</li>
<li>Latest news (Backend + UI) </li>
</ul>
<hr/>
<strong>Swaroopch </strong></p>
<ul>
<li>Change the method not the core model after listening to others.</li>
<li>Three phases of action</li>
<li>Idea -> Execution -> Result</li>
<li>If the result is negative, check if execution is correct. If the execution is perfect, then go to idea.</li>
<li>Selling is all psychology. Try to put the pitch in the right angle.</li>
<li>Get 10 interviewers</li>
</ul>
<hr/>
<p><strong>Naveen</strong></p>
<ul>
<li>Nothing much</li>
<li>I am not sure we are gonna work with him now.</li>
</ul>
<hr/>
<strong>Prateek &#038; Nithya </strong></p>
<ul>
<li>Concentrate on SEO</li>
<li>No offline is needed for them</li>
<li>Sit for a day and think how do I make my page rank better. </li>
<li>SEO is something you do everyday.</li>
<li>The results take a month to come back. </li>
</ul>
<hr/>
<p><strong>Sarah</strong></p>
<ul>
<li>She is cute :-)</li>
<li>No particular gyaan. Mostly about techcrunch.</li>
</ul>
<hr/>
<p><strong>Interviewstreet Workflow</strong></p>
<ol>
<li>Local git to server</li>
<li>update_alpha.sh</li>
<li>mail to nandini for content</li>
<li>test scrips on browser of IE, FF &#038; Chrome</li>
<li>Optimize JS + CSS</li>
<li>Test round 2</li>
<li>Prod Push</li>
</ol>
<hr/>
<p><strong>Topics to ponder</strong></p>
<ol>
<li>Feedback Mechanism -> for viewer and viewee</li>
<li>Post a request + matching interviewers</li>
<li>Payment interviewee</li>
<li>Git Cleanup</li>
</ol>
<hr/>
<p>There must be close to 50 TODO list in that book. SCARY.. :) </p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/03/02/my-todo-notebook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remove all your friends from Facebook.</title>
		<link>http://sp2hari.com/2011/01/27/remove-all-your-friends-from-facebook/</link>
		<comments>http://sp2hari.com/2011/01/27/remove-all-your-friends-from-facebook/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 17:14:35 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=721</guid>
		<description><![CDATA[Very rarely, you will want to delete all friends from Facebook and start a &#8220;fresh&#8221; facebook account. Now, it&#8217;s hard to do this manually. Thanks to phpunit + selenium + a few lines of code, this can be done now. &#8230; <a href="http://sp2hari.com/2011/01/27/remove-all-your-friends-from-facebook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Very rarely, you will want to delete all friends from Facebook and start a &#8220;fresh&#8221; facebook account. </p>
<p>Now, it&#8217;s hard to do this manually. Thanks to phpunit + selenium + a few lines of code, this can be done now. </p>
<p>The following script removes all your friends from facebook :) Replace <account-name> and
<password> with your username and password respectively. </p>
<p><code><br />
&lt;?php<br />
require_once&nbsp;'PHPUnit/Extensions/SeleniumTestCase.php';<br />
class&nbsp;Example&nbsp;extends&nbsp;PHPUnit_Extensions_SeleniumTestCase<br />
{<br />
&nbsp;&nbsp;protected&nbsp;function&nbsp;setUp()<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->setBrowser("*chrome");<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->setBrowserUrl("http://www.facebook.com/");<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;public&nbsp;function&nbsp;testMyTestCase()<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->open("/");<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->type("email",&nbsp;"&lt;username&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->type("pass",&nbsp;"&lt;password&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->click("//input[@value='Login']");<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->waitForPageToLoad("90000");<br />
&nbsp;&nbsp;&nbsp;&nbsp;for($i=0;&nbsp;$i<1000;&nbsp;$i++)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->click("link=Profile");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->waitForPageToLoad("90000");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->click("//a[@href='http://www.facebook.com/sp2hari?sk=friends&#038;v=friends']");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->waitForPageToLoad("90000");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->click("//div[@class='fbProfileLargePortrait']/a/");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->waitForPageToLoad("90000");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->click("link=Unfriend");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(5);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->click("remove-friend");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->waitForPageToLoad("90000");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
}<br />
?&gt;<br />
</code></p>
<p>Note:<br />
1. The script will stop in between with timeout error. You probably should run this script in an infinite loop.<br />
2. Once you&#8217;ve reached 0 friends, facebook blocks you from adding friends in bulk for 2 days. So, you probably have to wait till facebook trusts you as human and not a bot. :) </p>
<p>Happy hacking :) </p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/01/27/remove-all-your-friends-from-facebook/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Vim tutorials</title>
		<link>http://sp2hari.com/2011/01/23/vim-tutorials/</link>
		<comments>http://sp2hari.com/2011/01/23/vim-tutorials/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 10:31:21 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[interviewstreet-dev]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=696</guid>
		<description><![CDATA[VIM is an awesome editor, but comes with a big big learning curve. These are the the top 3 Vim tutorials from where I learnt to use Vim. 1. http://www.vi-improved.org/tutorial.php 2. http://vim.runpaint.org/toc/ 3. http://www.swaroopch.com/notes/Vim_en:Table_of_Contents If you want to learn more, &#8230; <a href="http://sp2hari.com/2011/01/23/vim-tutorials/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://sp2hari.com/wp-content/uploads/2011/01/vim.jpg" alt="Vim" title="vim" width="100" height="100" class="alignright size-full wp-image-701" /><br />
VIM is an awesome editor, but comes with a big big learning curve. These are the the top 3 Vim tutorials from where I learnt to use Vim.</p>
<p>1. <a href="http://www.vi-improved.org/tutorial.php">http://www.vi-improved.org/tutorial.php</a></p>
<p>2. <a href="http://vim.runpaint.org/toc/">http://vim.runpaint.org/toc/</a></p>
<p>3. <a href="http://www.swaroopch.com/notes/Vim_en:Table_of_Contents">http://www.swaroopch.com/notes/Vim_en:Table_of_Contents</a></p>
<p>If you want to learn more, checkout <a href="http://thomer.com/vi/vi.html#manuals">http://thomer.com/vi/vi.html#manuals</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/01/23/vim-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git reflog and git force push</title>
		<link>http://sp2hari.com/2011/01/22/git-reflog-and-git-force-push/</link>
		<comments>http://sp2hari.com/2011/01/22/git-reflog-and-git-force-push/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 07:04:20 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[interviewstreet-dev]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=683</guid>
		<description><![CDATA[Git reflog saves you from all screw-ups you do while using git. Here is a sample output of git reflog. hari@hari-desktop:/var/www/recruit$ git reflog e458f54 HEAD@{0}: checkout: moving from test1 to e458f54fe99202c82c2690be4fa2fe2d7aa7be32^0 a3281d1 HEAD@{1}: checkout: moving from master to test1 f265802 &#8230; <a href="http://sp2hari.com/2011/01/22/git-reflog-and-git-force-push/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://sp2hari.com/wp-content/uploads/2011/01/git.jpg" alt="" title="git" width="100" height="100" class="alignright size-full wp-image-705" />Git reflog saves you from all screw-ups you do while using git. </p>
<p>Here is a sample output of git reflog. </p>
<p><code>hari@hari-desktop:/var/www/recruit$ git reflog<br />
e458f54 HEAD@{0}: checkout: moving from test1 to e458f54fe99202c82c2690be4fa2fe2d7aa7be32^0<br />
a3281d1 HEAD@{1}: checkout: moving from master to test1<br />
f265802 HEAD@{2}: checkout: moving from test1 to master<br />
ef08492 HEAD@{3}: ORIG_HEAD: updating HEAD<br />
e458f54 HEAD@{4}: commit: Implement phpunit testcase.<br />
1ecf2c3 HEAD@{5}: commit: Bug#1 : MCQ Choices displayed in questions.<br />
f265802 HEAD@{6}: checkout: moving from test1 to f265802d1d65a9ac92bf9f6414d8f468444cce66^0<br />
ec280c6 HEAD@{7}: checkout: moving from release to test1<br />
f265802 HEAD@{8}: merge master: Fast-forward<br />
ccec6c4 HEAD@{9}: checkout: moving from master to release<br />
</code></p>
<p>All your commits, checkouts, pull, merges are logged in here. To, reset the git to any point in there, we use the following command. </p>
<p><code>git reset --hard &lt;commit-id&gt;</code></p>
<p>But if you push this to the git, you will find that the commit is rejected now. To forcefully push your new HEAD to server, we use the following command.</p>
<p><code>git push origin +&lt;branch_name&gt; </code></p>
<p><strong>+ before the branch name forcefully pushes the branch (even if your current branch is behind the origin).</strong><br />
NOTE: Please be careful when you use the command above. You might lose all the changes made by others (temporarily) if you use it. Of course, using reflog + reset, you can get back the changes. </p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/01/22/git-reflog-and-git-force-push/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compare branches in git</title>
		<link>http://sp2hari.com/2011/01/20/compare-branches-in-git/</link>
		<comments>http://sp2hari.com/2011/01/20/compare-branches-in-git/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 09:42:04 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[interviewstreet-dev]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=675</guid>
		<description><![CDATA[Want to check if all changes in your new branch is merged to main branch before you delete the new branch. git log feature1 ^master The above command displays all commits which are present in feature1 and not present in &#8230; <a href="http://sp2hari.com/2011/01/20/compare-branches-in-git/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://sp2hari.com/wp-content/uploads/2011/01/git.jpg" alt="" title="git" width="100" height="100" class="alignright size-full wp-image-710" />Want to check if all changes in your new branch is merged to main branch before you delete the new branch.</p>
<p><code>git log feature1 ^master </code></p>
<p>The above command displays all commits which are present in feature1 and not present in master.</p>
<p>Note 1: You can also try &#8220;git branch -d feature1&#8243;. If the new branch is not totally merged, git won&#8217;t delete the new branch.</p>
<p>Note 2: You can also try &#8220;git branch &#8211;contains feature1&#8243;, but I&#8217;m not sure how that works. I guess I&#8217;m happy with git log for now. </p>
<p>To read more about this, checkout <a href="http://stackoverflow.com/questions/1710894/using-git-show-all-commits-that-are-in-one-branch-but-not-the-others">http://stackoverflow.com/questions/1710894/using-git-show-all-commits-that-are-in-one-branch-but-not-the-others</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2011/01/20/compare-branches-in-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So, can your careers page attract rockstar hackers?</title>
		<link>http://sp2hari.com/2010/12/30/so-can-your-careers-page-attract-rockstar-hackers/</link>
		<comments>http://sp2hari.com/2010/12/30/so-can-your-careers-page-attract-rockstar-hackers/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 19:27:50 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[careers]]></category>
		<category><![CDATA[hiring]]></category>
		<category><![CDATA[interviewstreet]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=650</guid>
		<description><![CDATA[Hiring good candidates is a problem for every single company out there.. no matter small or big. We at interviewstreet attack the tip of the iceberg by filtering good programmers from the rest. People say, it&#8217;s a huge timesaver ;-). &#8230; <a href="http://sp2hari.com/2010/12/30/so-can-your-careers-page-attract-rockstar-hackers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hiring good candidates is a problem for every single company out there.. no matter small or big. We at <a href="http://interviewstreet.com">interviewstreet</a> attack the tip of the iceberg by filtering good programmers from the rest. People say, it&#8217;s a huge timesaver ;-).</p>
<p>But enough about interviewstreet, the first problem companies should tackle  is to make sure rockstar hackers apply for the job. If they don&#8217;t apply to your company, then hiring them is really impossible.</p>
<p>So, how do we make sure awesome rockstar programmers apply to your company? </p>
<h3>Have an awesome &#8220;Careers&#8221; page. </h3>
<p>Please repeat the above statement 10 times. Bad careers page doesn&#8217;t attract motivators or problem solvers. Let&#8217;s see a few nice careers page I found in the web.</p>
<p>1. <strong>Google</strong>  [ <a href="http://www.google.com/intl/en/jobs/profiles/whygoogle.html">http://www.google.com/intl/en/jobs/profiles/whygoogle.html</a> ]</p>
<p>I just loved this page. They explained why search is hard in such a way that even my sister could understand that they are doing awesome work there. Next, they have explained what they&#8217;ve done till now. The sections below that excite the programmers who are planning to apply. An  awesome careers page, which a programmer and a school kid can understand and would want to apply. Certainly, their whole Jobs section (<a href="http://www.google.com/intl/en/jobs/index.html">http://www.google.com/intl/en/jobs/index.html</a>) is worth looking it. </p>
<p>2. <strong>Amazon</strong> [ <a href="http://www.amazon.com/Careers-University-Recruiting/b/ref=amb_link_5763542_3?ie=UTF8&#038;node=203348011&#038;pf_rd_m=ATVPDKIKX0DER&#038;pf_rd_s=left-2&#038;pf_rd_r=1300CTX1N1XV71BPPM7P&#038;pf_rd_t=101&#038;pf_rd_p=321627601&#038;pf_rd_i=203348011">Careers-University-Recruiting</a> ]</p>
<p>The tag line is the best. <em>Work hard. Have fun. Make history.</em>. It&#8217;s hard to resist applying for amazon after checking their <a href="http://www.amazon.com/Why-Join-University-Recruiting-Homepage/b/ref=amb_link_5458182_2?ie=UTF8&#038;node=369680011&#038;pf_rd_m=ATVPDKIKX0DER&#038;pf_rd_s=left-6&#038;pf_rd_r=0Q7N2FFHEQ5RWR56YYX7&#038;pf_rd_t=101&#038;pf_rd_p=308462701&#038;pf_rd_i=369675011">Why Join Amazon?</a> page. </p>
<p>3. <strong>Dropbox</strong> [ <a href="http://www.dropbox.com/jobs">http://www.dropbox.com/jobs</a> ]<br />
If you think you need to be an MNC to add the perks and other details for an awesome careers page, then change your mind now. The benefits and perks speak out their startupish culture. Whiskey Fridays, Gaming, and music in office. Why wouldn&#8217;t someone work in a place, where you solve the biggest problems in between whiskey, music and gaming? </p>
<p>4. <strong>Redbus</strong> [ <a href="http://www.redbus.in/careers.aspx">http://www.redbus.in/careers.aspx</a> ]<br />
Neat description about the company. </p>
<p>So, what&#8217;s the ingredients for an awesome careers page?<br />
According to <a href="http://www.guglanisam.me/">Sameer</a> from TheMorpheus, </p>
<p>1. The job description should be exciting and full of energy. If you aren&#8217;t excited about startup, don&#8217;t expect others to be.<br />
2. It should be clear that the company would be fun to work for.<br />
3. The job description should be very focused on appealing to folks who are usually hackers. Make sure you talk a lot about technologies you are using and you are planning to work on.<br />
4. Be very upfront about things. If you want folks who want to do good work and not just looking for money, if you expect people to work on weekdays and almost 24 hours a day, mention it directly.<br />
5. Most of job descriptions are plain boring. Make sure the job description is honest, personal and connected to person reading it.<br />
6. Talking about traction and founder background you have is good but not special because everyone writes that now. </p>
<p>I would like to add a few more points to the above list.<br />
7. Don&#8217;t ask questions like are you a super man, can you do super duper jobs etc. I personally feel it is just wasting space in careers page. For example the careers page in IBM [ <a href="http://www-07.ibm.com/in/careers/index.html">http://www-07.ibm.com/in/careers/index.html</a> ] , questions like &#8220;Are you a problem solver? Are you a difference maker? Are you ready to make our planet work smarter?&#8221;. Even though these questions talk to you directly, the value it adds is not that much. No one is going to answer these questions with a &#8220;No&#8221;.<br />
8. Don&#8217;t make too long or split it to many pages, unless you really can&#8217;t avoid it. Remember KISS.</p>
<h3>Salary</h3>
<p>Salary plays a major role in attracting candidates to your company. But you need not compete with MNCs if you can&#8217;t afford it. <a href="http://www.flipkart.com/s/careers">Flipkart&#8217;s career page</a>,  explains this clearly.</p>
<p><em>We are small, but we plan to offer all that big companies do &#8211; Competitive salaries and perks. We want to get money out of your head so that you can concentrate on your free will and creativity. We are working on setting up other benefits like Provident Fund, Medical Insurance, Gratuity, Super annuation etc. We distribute goodies every now and then.</em> </p>
<p>So, what&#8217;s your careers page like? Feel free to add your careers page link in the comments section. </p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2010/12/30/so-can-your-careers-page-attract-rockstar-hackers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 Experiment 1 &#8211; Burst the Balloon</title>
		<link>http://sp2hari.com/2010/09/26/html5-experiment-1-burst-the-balloon/</link>
		<comments>http://sp2hari.com/2010/09/26/html5-experiment-1-burst-the-balloon/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 01:56:07 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=638</guid>
		<description><![CDATA[HTML5 seems to be the buzz word now. People around me are excited about HTML5 or already working on something with HTML5. Curious to know what the hell is this HTML5, I started reading something from https://developer.mozilla.org/en/HTML/HTML5. Well, truth be &#8230; <a href="http://sp2hari.com/2010/09/26/html5-experiment-1-burst-the-balloon/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>HTML5 seems to be the buzz word now. People around me are excited about HTML5 or already working on something with HTML5. </p>
<p>Curious to know what the hell is this HTML5, I started reading something from <a href="https://developer.mozilla.org/en/HTML/HTML5">https://developer.mozilla.org/en/HTML/HTML5</a>. Well, truth be told, I finished the overview in say 15 minutes and didn&#8217;t know what exactly to do after that. I was in no mood to implement any of the HTML5 features in interviewstreet now (Btw, if you don&#8217;t know, <a href="http://interviewstreet.com">interviewstreet.com</a> is my company where we simplify the hiring process by assessing the candidates using automated tests.) </p>
<p>Then for the next 15 minutes, I started playing around with some of the demos at <a href="http://html5demos.com/">http://html5demos.com/</a>. They are cool, but nothing new or mind blowing. We&#8217;ve already seen these stuff in flash and javascript using libraries like jquery, prototype etc. So, now the browser gives native support to these features. What&#8217;s the big deal?</p>
<p>I guess unless I create something using HTML5, I&#8217;m never gonna realize it&#8217;s true potential. I started with the <strong>canvas</strong> tag.</p>
<p>So, after loads of google search, copy pasted code and a few cups of coffee, here is my first HTML5 game. :) This is the screenshot of the game.<br />
<a href="http://sp2hari.com/wp-content/uploads/2010/09/burst_the_balloon_shot.jpg"><img src="http://sp2hari.com/wp-content/uploads/2010/09/burst_the_balloon_shot.jpg" alt="" title="burst_the_balloon_shot" border=2 width="879" height="535" class="aligncenter size-full wp-image-640" style="border:2px solid" /></a></p>
<p>You can play the game at <a href="http://sp2hari.com/html5/burst_the_balloon.html">http://sp2hari.com/html5/burst_the_balloon.html</a>. </p>
<p>TODO:<br />
1. Some sort of levels in the game, where you are taken to the next level once you shoot all the balloons.<br />
2. Display score, time taken and other details.<br />
3. Two player game, where two players can shoot arrows from both the directions and one who gets the highest score wins.<br />
4. A special balloon which gives you more score if you shoot it.<br />
5. Better animation for arrow and balloon. Right now, the balloon looks like an egg. </p>
<p>Anyone interested in playing/learning with HTML5 can take up this code and implement  something from the above TODO list. Do mail be back at sp2hari AT gmail DOT com if you implement anything or even if you have anything to say about this game :) </p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2010/09/26/html5-experiment-1-burst-the-balloon/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Advices&#8230;</title>
		<link>http://sp2hari.com/2010/09/26/advices/</link>
		<comments>http://sp2hari.com/2010/09/26/advices/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 19:20:18 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=565</guid>
		<description><![CDATA[More than an year since I&#8217;ve quit IBM and into startup world. Too many things to write.. Things moving at such a rapid rate that if I write something today, tomorrow it might not be valid or correct. Makes me &#8230; <a href="http://sp2hari.com/2010/09/26/advices/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>More than an year since I&#8217;ve quit IBM and into startup world. Too many things to write.. Things moving at such a rapid rate that if I write something today, tomorrow it might not be valid or correct. Makes me stop and think at times whether what I&#8217;m doing makes sense, is it the right path or am I yet another crazy person. </p>
<p>Advices are something whichi I&#8217;ve got more than I&#8217;ve wanted in this one year. Way too many advices. Contradictory advices. Person X says do this and Y will say don&#8217;t do this. Among all the advices I&#8217;ve got till now, I remember just 3.. These 3 are now a part and parcel of every small decision I make and are a part of my system. </p>
<p><a href="http://sp2hari.com/wp-content/uploads/2010/09/swaroop.png"><img src="http://sp2hari.com/wp-content/uploads/2010/09/swaroop.png" alt="Swaroop" title="swaroop" width="140" height="140" class="alignright size-full wp-image-616" /></a><strong>Swaroop</strong> is currently working in Infibeam and has worked in Adobe, Yahoo and his own start-up. He blogs at <a href="http://www.swaroopch.com/">http://www.swaroopch.com/</a>. We met swaroop when he was just about to join infibeam and the main goal was share his experiences and basically to get some start-up gyaan. </p>
<p>He started the whole conversation with the following disclaimer</p>
<p><code>Hey, I'm going to say a lot of things which I've learnt from my experiences. I might give loads of experiences. But don't take them for granted. Never apply them directly in your business. Anything I say, please use your brain and make sure you check whether it makes sense for you to follow it or not. We met a bunch of VC's and every VC suggested a change which changed the business by like 10%. After meeting 10 VC's and implementing a whole lot of changes in our product, we came to realised that we've changed the product by 100% and what we have now is not what we started to do.<br />
</code></p>
<p>If you don&#8217;t consider that as an advice, read it again twice.. thrice.. maybe 100 times. I did the same mistake. I didn&#8217;t realise I was doing it before I met him. I knew I was making tangential changes. But what I forgot was these tangential changes add up and change your product whole lot. </p>
<p>So, every customer or client has his/her own requirement. Before we met him, we used to put a night-outer, finish the feature for that customer and try to make him happy. What we failed to think was what will happen beyond that customer. </p>
<p>Now, things wait. We take 2 days even to start a new feature. We have a build cycle, where in our new features gets pushed to production only on Mondays. So, even if I code something fast and quick, I have to wait till Monday to get it to production. So, I take this time to think more about the feature and this helps us a lot. </p>
<p><a href="http://sp2hari.com/wp-content/uploads/2010/09/nithya.jpg"><img src="http://sp2hari.com/wp-content/uploads/2010/09/nithya.jpg" alt="Nithya" title="nithya" width="150" height="150" class="alignright size-full wp-image-618" /></a>The second advice is again way too obvious and I can&#8217;t believe I started following this only after I heard it from someone.<br />
<a href="http://www.nithyadayal.com/blog/"><strong>Nithya Dayal</strong></a> is the CEO of Muziboo.com, where you can <a href="http://www.muziboo.com/">upload music and share</a> it with friends. I happened to meet her in Yahoo Big-Thinkers event and we were talking about Product Management and what role does she perform as a CEO of Muziboo. So, she mentioned like &#8221;</p>
<p><code>As a developer, it is easy to get excited with new technology, tools, products etc. So, what a developer does and what you've planned for the product might diverge at times. It is my job to make sure that what has been planned is executed. If you don't follow your plan, then the hours you spent on making the plan goes down the drain. So, either you shouldn't plan or if you do it, you should execute it </code></p>
<p>How this helped me?<br />
Lots lots and LOTS. I stopped doing multiple things at a time. Both in my desktop and my mind, I had only one thing to do. Stopped switch tasks and realized that &#8220;Developers are monkey minded.&#8221; Even now, it is so damn itching to work on cool stuff like scaling, mysql replication, multiple servers and other stuff. But the plan in the board says &#8220;Get 10 paying customers and then think about anything else&#8221;. So, back to the small small features customers asked for and trying to close the deal than work on new cool features. :) </p>
<p><a href="http://sp2hari.com/wp-content/uploads/2010/09/mukund.jpg"><img src="http://sp2hari.com/wp-content/uploads/2010/09/mukund.jpg" alt="Mukund" title="mukund" width="154" height="186" class="alignright size-full wp-image-619" /></a>Last one, is from <strong>Mukund</strong> from Buzzgain. If you&#8217;ve by any chance met him, you will become his fan. Simply awesome guy whose enthusiasm level is never less than 100% :). So, we showed  him a demo of our product and he liked it, suggested changes, sales tips and while we are about to leave and say bye, he asked us a question.</p>
<p><code> "Why didn't you ask for more contacts from me? You SHOULD ask that. Do you remember the binary tree you read in college, that is how you should do sales. Every person you meet ask him 3 more contacts. "</code>. </p>
<p>I was speechless. I was SO dumb that getting more contacts from him never even occurred to me. Again, a simple advice. I&#8217;ve made it a habit now.</p>
<p>I hope following just 3 advices over a period of 12 months is not so bad after all. </p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2010/09/26/advices/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>The Frog in the Well</title>
		<link>http://sp2hari.com/2010/08/20/the-frog-in-the-well/</link>
		<comments>http://sp2hari.com/2010/08/20/the-frog-in-the-well/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 19:06:57 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=593</guid>
		<description><![CDATA[Once there was an old frog who lived inside a deep well. Frog was so happy with his home that he always told his friends who also lived in his well how wonderful the well was. One day, Frog was &#8230; <a href="http://sp2hari.com/2010/08/20/the-frog-in-the-well/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sp2hari.com/wp-content/uploads/2010/08/frogimg.gif"><img src="http://sp2hari.com/wp-content/uploads/2010/08/frogimg.gif" alt="Frog" title="Frog" width="312" height="251" class="alignleft size-full wp-image-611" /></a><br />
Once there was an old frog who lived inside a deep well. Frog was so happy with his home that he always told his friends who also lived in his well how wonderful the well was.</p>
<p>One day, Frog was sitting on a ledge near the wall of his well appreciating the sky when he saw an unexpected visitor at the corner of the big round sky. It was a big turtle from the Eastern Ocean that Frog had never seen before.</p>
<p>“Hi there!” Frog croaked. “I don’t believe we’ve met before! Please friend, please come into my well and pay me a visit. My well is the best place in the world, and I’m sure you’ll be very comfortable here.”</p>
<p>Turtle looked down inside the small well, straining his eyes. “Alright,” said Turtle. But the closer he got to the well, the smaller the opening looked to him. “I’m sorry Frog, I don’t think I can make it down there – I think I’d get stuck!”</p>
<p>“But of course you can fit in my well!” said Frog, “It’s very spacious! And you don’t look too big to me.”</p>
<p>“That’s because the opening to your well is so small, you can only see my face. You still can’t see the rest of me! But you’re right, in comparison with my friends from the Eastern Ocean, I’m not very big.”</p>
<p>Frog’s eyes bulged. “You mean there are creatures outside of my well there that are bigger than you?”</p>
<p>“Much bigger!” Turtle said. “Here you have tadpoles, but in the Eastern Ocean we have whales! Here you have goldfish, but in the Eastern Ocean we have Sting rays, sharks, and schools of small fish that are so big that they look like clouds. The Eastern Ocean is so big that it can hold all of those things and we never feel cramped. We can’t see the end of the Eastern Ocean like you can in your well.”</p>
<p>The Frog fell off his lily pad in shock. Then he climbed back up, a little unsteadily. He stared at Turtle for a moment in disbelief, and then said, “I’m not sure I believe you. I don’t think there could be anything that big, and certainly not as nice as my well.”</p>
<p>Turtle smiled, “Then I’ll take you to see it.”</p>
<p>It took all of his strength but by hopping off of the walls, Frog was finally able to jump out of his well and land on the dewy grass beside it. But once outside, Frog couldn’t sop sneezing and squinting.</p>
<p>Turtle asked, “Do you feel alright, little friend?”</p>
<p>The sun was so hot on his back, but eventually Frog nodded. “I always thought that the sky was round and that it was the size of my well’s opening. I never knew that it was so huge – I can’t even see its edge! And the sun! It blinds my eyes! I never knew it was so powerful!”</p>
<p>“Now do you understand why I said the well is small?” Turtle said gently. “Certainly your well is a great place to live, but there are many great places on the earth – some much greater than your well.”</p>
<p>Frog just hung his head in embarrassment. He knew he would still enjoy his life in the well, but now he realized that he and his well were a small part of a very big world.</p>
<p><b>Next time,<br />
1. A newbie linux user tells me that linux is secure than windows because it is virus free,<br />
2. A moron tries to convince me that opensource is the way to succeed in business<br />
3. Even my manager tells me that gvim is better than emacs, </p>
<p>this is the link I&#8217;m going to forward to them. It is like fighting with a dirty pig when you try to argue with these people. You are gonna waste your time and energy at the end.</b></p>
<p>Just want to vent out my frustration. People are ever ready to start a flame war, but never ever think about learning something new. Biased Morons.</p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2010/08/20/the-frog-in-the-well/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Delete a remote branch in git</title>
		<link>http://sp2hari.com/2010/07/27/delete-remote-branch-in-git/</link>
		<comments>http://sp2hari.com/2010/07/27/delete-remote-branch-in-git/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 01:13:01 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[interviewstreet-dev]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=575</guid>
		<description><![CDATA[We use Git here at interviewstreet. Using Git, branching, testing and reverting is so easy. Almost all commands are simple and easy to remember in Git, except for deleting a remote branch. The command to delete a remote branch &#8220;feature1&#8243; &#8230; <a href="http://sp2hari.com/2010/07/27/delete-remote-branch-in-git/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://sp2hari.com/wp-content/uploads/2011/01/git.jpg" alt="" title="git" width="100" height="100" class="alignright size-full wp-image-718" />We use Git here at interviewstreet. Using Git, branching, testing and reverting is so easy. </p>
<p>Almost all commands are simple and easy to remember in Git, except for deleting a remote branch. </p>
<p>The command to delete a remote branch &#8220;feature1&#8243; is</p>
<p><code>git push origin :feature1</code></p>
<p>Just wanted to note this down.</p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2010/07/27/delete-remote-branch-in-git/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Advanced Bash Scripting &#8211; Part 2</title>
		<link>http://sp2hari.com/2010/07/27/advanced-bash-scripting-part2/</link>
		<comments>http://sp2hari.com/2010/07/27/advanced-bash-scripting-part2/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 00:11:31 +0000</pubDate>
		<dc:creator>sp2hari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Shell-Scripting]]></category>

		<guid isPermaLink="false">http://sp2hari.com/?p=572</guid>
		<description><![CDATA[The problem statement is as follows : The Playfair Cipher encrypts text by substitution of digrams (2-letter groupings). It is traditional to use a 5 x 5 letter scrambled-alphabet key square for the encryption and decryption. Each letter of the &#8230; <a href="http://sp2hari.com/2010/07/27/advanced-bash-scripting-part2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sp2hari.com/wp-content/uploads/2010/03/application-x-shellscript.png"><img src="http://sp2hari.com/wp-content/uploads/2010/03/application-x-shellscript.png" alt="Shell Script" title="application-x-shellscript" width="128" height="128" class="alignleft size-full wp-image-446" /></a><strong>The problem statement is as follows : </strong></p>
<p>The Playfair Cipher encrypts text by substitution of digrams (2-letter groupings). It is traditional to use a 5 x 5 letter scrambled-alphabet key square for the encryption and decryption.</p>
<p>Each letter of the alphabet appears once, except &#8220;I&#8221; also represents &#8220;J&#8221;. The arbitrarily chosen key word, &#8220;CODES&#8221; comes first, then all the rest of the alphabet, in order from left to right, skipping letters already used.</p>
<p>To encrypt, separate the plaintext message into digrams (2-letter groups). If a group has two identical letters, delete the second, and form a new group. If there is a single letter left over at the end, insert a &#8220;null&#8221; character, typically an &#8220;X.&#8221;</p>
<p>To read more about the question, check <a href="http://tldp.org/LDP/abs/html/writingscripts.html">http://tldp.org/LDP/abs/html/writingscripts.html</a></p>
<p>The solution for this question is pretty long (over 100 lines in shell script). You can check the final solution at <a href="http://sp2hari.com/bash/playfair-cipher.html">http://sp2hari.com/bash/playfair-cipher.html</a></p>
<p>Explanation of function/code used in the solution.</p>
<p><strong>locateInKeySquare</strong>: Searches for the character passed as the parameter in the keySquare and returns the position of the character.<br />
<strong>addToKeySquare</strong>: Adds a character c passed as the parameter to the keySquare. This checks if the character is already present, if it is J and changes it to uppercase (if needed)<br />
<strong>printKeySquare</strong>: Prints the keySquare from 1D to 2D format. </p>
<p>The rest of the code adds the keyWord to keySquare. The the remaining words are added to the keySquare. After that, we extract the dialects from the plaintext and based on the 3 rules, we encrypt the text. </p>
<p>Hope this is helpful.. </p>
]]></content:encoded>
			<wfw:commentRss>http://sp2hari.com/2010/07/27/advanced-bash-scripting-part2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

