<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Me.Tech()</title>
	
	<link>http://riteshnayak.com/blog</link>
	<description>my technology blog</description>
	<lastBuildDate>Fri, 07 Aug 2009 12:20:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/technayak" type="application/rss+xml" /><feedburner:emailServiceId>technayak</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Whats common between Free online ads and Open source</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/H1vdlFqDjcA/</link>
		<comments>http://riteshnayak.com/blog/2009/08/07/whats-common-between-free-online-ads-and-open-source/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 12:20:04 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Unsolved problems]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[socionets]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=464</guid>
		<description><![CDATA[Disclaimer: I am not an Open Source hater. In fact, I am quite the opposite. I believe that for a innovative software marketplace to exist, there must be an equal mix of open and closed source softwares. This also borders on a project that I did on multiagent systems. 
There are claims that Open Source [...]]]></description>
			<content:encoded><![CDATA[<p><em>Disclaimer: I am not an Open Source hater. In fact, I am quite the opposite. I believe that for a innovative software marketplace to exist, there must be an equal mix of open and closed source softwares. This also borders on a project that I did on multiagent systems. </em></p>
<p>There are claims that Open Source will one day completely displace closed software. Same goes with free online advertising, sometimes also referred to as ad exchanges, where a person places an ad on his/her site and in turn gets his/her ad placed on somebody else&#8217;s site. There are claims that free online advertising will one day displace Google&#8217;s monopolistic hold on online advertising. Frankly I think most of these claims are exaggerated and baseless to a certain extent.</p>
<p>Am I the only one who has a problem with transactions that do not obey the traditional laws of Economics? The market, or as Adam Smith would say &#8211; the foundations of human society,  runs on the buy-sell model. When something is free, it means other non quantifiable commodities get traded, like goodwill and trust.  In such circumstances fairness is the biggest casualty. But is there really a model which can ensure fairness in these situations ?</p>
<p>Yes, there are plenty of trust based networks at play in our real life, but they all reach a saturation point. A typical game theoretic scenario, the person to defect first gets a very high payoff ; In a network, everyone else suffers. People will cheat, one way or another. Like I mentioned before, fairness becomes a higly debatable issue. Though, the <a href="http://en.wikipedia.org/wiki/Categorical_imperative" target="_blank">categorical imperative </a>bestows humans with decision making powers, it doesn&#8217;t state the thresholding for these decisions. The only final outcome of these networks is that one person is going to hit it big and make the others suffer.</p>
<p>Naturally the follow up question will be:  how does Open source survive? I explain this using results from game theory. In any homogeneous population, ie either a defecting or a co-operating , a small group of people,  co-operating with each other while defecting against the general consensus , always has the ability to hold their own and, in some cases, even win against the entire population. Examples of this are plenty in real life,  for ex: corruption or the mafia. So, as long as that small bunch of people stay loyal to each other, such networks will continue. Open Source, is slightly a more complex beast than I described it to be, but it broadly falls into the category I mentioned.</p>
<p>Incentive mechanisms like reputation points, virtual currency etc usually try and emulate a real world materialistic economy, but they are limited in their reach and appeal. Eventually, people loose the initiative to compete for these non materialistic resources. Besides, in a medium such as the internet, where identity itself is questionable, how will people trust each other. Has anyone ever wondered if those mails, which inform you of the billions you have won, were ever real? I guess not.</p>
<p>In conclusion,  I ask, is there some mechanism design or a strategy that can ensure fairness (provided its defined accurately) whilst ensuring the continuing growth of such trust based networks ?</p>

<p><a href="http://feedads.g.doubleclick.net/~a/4tDJbb6kVbcCsFMCn0_wi3_6PII/0/da"><img src="http://feedads.g.doubleclick.net/~a/4tDJbb6kVbcCsFMCn0_wi3_6PII/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/4tDJbb6kVbcCsFMCn0_wi3_6PII/1/da"><img src="http://feedads.g.doubleclick.net/~a/4tDJbb6kVbcCsFMCn0_wi3_6PII/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/08/07/whats-common-between-free-online-ads-and-open-source/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/08/07/whats-common-between-free-online-ads-and-open-source/</feedburner:origLink></item>
		<item>
		<title>One Decade of Programming</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/30ayag-9o6o/</link>
		<comments>http://riteshnayak.com/blog/2009/07/24/one-decade-of-programming/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 06:41:41 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Suggested Reading]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=458</guid>
		<description><![CDATA[Sometime around July 1999 was the time I wrote my first &#8220;Hello World&#8221; program.  Yes, its been 10 years since I started programming, and I dont mean L R L T of Logo. In fact, I wrote some BASIC code as early as 1995-96, but I will skip that for reasons beyond the scope of [...]]]></description>
			<content:encoded><![CDATA[<p>Sometime around July 1999 was the time I wrote my first &#8220;Hello World&#8221; program.  <strong>Yes, its been 10 years since I started programming</strong>, and I dont mean L R L T of Logo. In fact, I wrote some BASIC code as early as 1995-96, but I will skip that for reasons beyond the scope of this post.</p>
<p>I remember liking programming for lots of reasons, but one which I particularly remember. Unlike the other subjects in school, like math or physics,  programming had no boundaries or a legacy to deal with. By legacy, I mean there were no equations, constraints and I didn&#8217;t have to reciprocate what some mathematician proved 400 years ago. I have always enjoyed freedom and programming gave me that freedom to express myself.  I guess, I can claim that <strong>most good programmers have taken up programming because it lets them play God or be creationists of some complex entity</strong>.</p>
<p>Anyway, there are a lot of interesting and fun facts through these ten years and I shall pen some down.</p>
<ol>
<li><strong>BASIC</strong> was my first programming language. <strong>PASCAL was probably my first compiled language</strong>.</li>
<li>I wrote my first sorting routine (<em> an act I call, truly understanding the programming abstraction</em>) sometime during Jan 2000.</li>
<li>I got my first computer in 2001. AMD Athlon 1.7 GHz with 256 MB Ram and 40 Gb harddisk . &#8220;<strong>OMG 40GB</strong>&#8221; , was my friends reaction.</li>
<li><strong>I disliked C early on</strong>, due to my PASCAL roots, but grew fond of it later on when I completed my first large scale project ( A linux text editor, which I proudly wanted to call, <strong>&#8220;Better than VI</strong>&#8220;). This is also where I wrote <strong>my first recursive functionality</strong> which resulted in people actually wanting to read and understand my code.</li>
<li><strong>My first exposure to Linux and OSS was in 2002</strong>, I think it was <strong>RedHat linux 7.1</strong> with running Xwindows.</li>
<li>I almost lost my entire project due to a floppy malfunction. USB&#8217;s were expensive and uncommon then. CD writers expensive.</li>
<li>I <strong>learnt about data structures in 2002</strong>.  My lecturer, one of the few good ones, was kind enough to teach us the intuition behind data structures and write the implementations ourselves. Our other lecturers taught programming from a book and expected us to replicate the programs written in the book.</li>
<li>I would like to thank  my data structures lecturer who spent hours helping me debug and correct programs. It was probably the first time I looked at code from an outside perspective and yes, I realized the importance of indenting code then and there. <strong>I have never not indented my code again.</strong> (Remember we are still in 2002).</li>
<li>I learnt about OO during christmas vacations of 2002. Loved it. Loved the paradigm shift in the way I thought about programs</li>
<li><strong>My first OO program was one class with 50+ methods in it (Yup, there was nothing OO about it, but its a start)</strong></li>
<li>My first large scale OO project was building a <strong>Paint like utility using C++</strong>. I am still proud of this work because I learnt about programming abstractions and class reponsibilities here. I still remember writing<strong> my first button class </strong>which was fully reponsible for itself.</li>
<li>I <strong>learnt PERL in 2004</strong> and wrote my first web application. An online messaging, calendar and collaboration utility for friends and corporates. ( <strong>yes, this was my first social app</strong>). When I saw Myspace very soon after that ( MySpace was still pretty bare in terms of features then) the only difference I saw was that other people could see who my contacts(friends) were and network with them.</li>
<li>When I first discovered databases (2003), I thought, &#8220;wow, somebody made my file I/O&#8217;s really easy&#8221;. It was also an amazement because I had thought of a unified file writing and reading mechanism to solve all my I/O woes. Problem was getting it to work with many languages. I couldn&#8217;t get my head around it and thats when I learnt about databases. Imagine my surprise and rejoice. <strong>The first database I used was Oracle and later MySQL </strong><strong>( it wasn&#8217;t even relational then)</strong>. <strong>My database project earned me 100/100 in my finals. </strong></li>
<li><strong>Compiler Design was one of my favorite subjects</strong>. I loved the fact that I could understand how they build programming languagues. Lex Yacc was probably the best thing that ever happened to programming.<strong> <a href="http://prateekshac.com" target="_blank">Prateeksha </a>and I wrote the specifications for a shift reduce parser for C++.</strong> We used an A1 sized sheet of paper to write down the shift reduce matrix. After two full days writing the Shift Reduce rules, we realized we had messed up somewhere.</li>
<li>I wrote a prototype of my CASE tool in 2004.  My proud entry to the world of .NET. I had my official copy of Visual Studio.NET 2003 and .NET 1.1 . <strong>This CASE tool would eventually become my fnal semester project and also enter Microsoft&#8217;s Imagine Cup.</strong> We reached the Nationals for the competition. I called it <a href="http://dzine.sourceforge.net" target="_blank">Dzine</a>.</li>
<li>Even though I had learnt java in 2004, I didnt use J2EE till late 2005. when I started writing simple J2EE apps. I also figured that javascript, that language I had used to validate my controls in HTML (in 2004) , had suddenly taken the world by storm. <strong>Everybody was talking about it. Web 2.0. </strong></li>
<li>I sat for two whole days to figure out how yahoo mail was autocompleting email addresses I typed. After two days and a whole lot of searching, <strong>I learnt about AJAX</strong>. I was already on Gmail by then and didnt really understand the underlying plumbing that was holding the application together.</li>
<li>Within the next 4 months I put AJAX and J2EE together to work on <a title="Samparkh" href="http://samparkh.com" target="_blank">Samparkh </a>with <a href="http://prateekshac.com" target="_blank">Prateeksha</a>.<strong> I wrote an online chat application using AJAX ( inspired by Meebo)</strong>. Remember this was a time when <a title="firebug" href="http://getfirebug.com" target="_blank">firebug</a> wasn&#8217;t around and I used a tool called <a href="http://www.mozilla.org/projects/venkman/" target="_blank">Venkman</a>, which I am sure many of you haven&#8217;t even heard of.</li>
<li>Then, Grad school happened and so did Microsoft, and the list of wonderful projects that I did during the two years I spent there.</li>
<li>Special mention to <a title="The Big Kahuna" href="http://riteshnayak.com/bigkahuna.html" target="_blank">BigKahuna</a>, which took almost two years to perfect and won the <a href="http://www.google.co.in/intl/en/productprodigy/awards09.html" target="_blank">Google Product Engineering Competition</a> 2009.</li>
</ol>
<p>Am I a good programmer? I dont know. But, I will continue to remain a programmer. Most of my friends know that I dont take sides. By sides, I mean OSS v/s Closed source, Linux vs Windows , Google vs Yahoo, and this is because of the vast and varied experiences I have had with all these different entities during programming. They all have a special place in my heart and I cannot choose one over the other. Programming is changing fast, and all I can hope for is that that I dont wear out of ideas or skills to call myself a programmer in the years to come.</p>
<p><a title="All my projects" href="http://riteshnayak.com/mywork.html" target="_blank">A list of all the wonderful projects that I have pursued over the years is available here</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/adn9fZSCxqFrXw-3JW89IhnhWaM/0/da"><img src="http://feedads.g.doubleclick.net/~a/adn9fZSCxqFrXw-3JW89IhnhWaM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/adn9fZSCxqFrXw-3JW89IhnhWaM/1/da"><img src="http://feedads.g.doubleclick.net/~a/adn9fZSCxqFrXw-3JW89IhnhWaM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/07/24/one-decade-of-programming/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/07/24/one-decade-of-programming/</feedburner:origLink></item>
		<item>
		<title>State of higher education in India with a focus on Computer Science</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/XqT8Gd-C8XE/</link>
		<comments>http://riteshnayak.com/blog/2009/06/15/state-of-higher-education-in-india-with-a-focus-on-computer-science/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 09:50:17 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=452</guid>
		<description><![CDATA[I came back from attending a session which spoke about the state of graduate education in India and here is the summary:

Just over 450,000 students in India graduate with an Engineering degree
150,000 students amongst them with a degree in either Computer Science or Information Technology.
There are about 1500 Engineering colleges in India.
Many of these colleges [...]]]></description>
			<content:encoded><![CDATA[<p>I came back from attending a session which spoke about the state of graduate education in India and here is the summary:</p>
<ul>
<li>Just over 450,000 students in India graduate with an Engineering degree</li>
<li>150,000 students amongst them with a degree in either Computer Science or Information Technology.</li>
<li>There are about 1500 Engineering colleges in India.</li>
<li>Many of these colleges don&#8217;t even have a full professor on their rolls.</li>
<li>Currently there are about 750 students pursuing a Phd in 15 of the most reputed institutions in the country which means that, about 80 to 90 students graduate with a Phd from one of the 15 reputed institutions in India.</li>
<li>The 15 reputed institutions include the IIT&#8217;s, NIT&#8217;s, two of the IIIT&#8217;s (Hyderabad and Bangalore) and some autonomous institutions like BITS and Vellore.</li>
<li>The percentage of students who take up graduate education after their engineering in India is drastically low.</li>
<li>About a quarter of the students who secure Phd&#8217;s from universities from the US are Indians.</li>
<li>Students of Indian and Chinese origin make up half the graduate schools students in America.</li>
<li>Most people who secure their Phd&#8217;s from universities in India either join small and focused research groups in IT companies or take up faculty positions.</li>
<li>This year the amount of students applying for graduate education has increased dramatically, which only is reassuring evidence that graduate education is seen as a substitute for jobs and not as something of value.</li>
<li>A couple of IIT&#8217;s got about 700 applications for masters and phd positions.</li>
</ul>
<p>Apart from all this the research output in India is not very high. Groups doing theory are considered to be doing some of the state of the art research, the other departments are not very highly regarded (I have a problem with this generalization, but we will keep that for another discussion). The researchers present in the discussion had plenty of points to contribute for the dismal state of higher education and some of the points mentioned were :</p>
<ul>
<li>Lack of good, trained and motivated faculty members. This was attributed to the fact that salaries in academia were not on par with that of the industry. (pay commission&#8217;s revisions should do some good in this direction)</li>
<li>Lack of exposure to opportunities, challenges and rewards of research careers. ( this is true for colleges that are not very reputed, the quality of the faculty members are not up to the mark, which means they don&#8217;t have enough exposure &#8230; you get the point)</li>
<li>Societal pressures for securing jobs, that too through college placements, rather than pursuing something that the student really wants to do. A survey of the choices of the students during the engineering seat selection process will ascertain this fact. I even know of people who took up courses they had no interest in just because it was in a college where the placements were good.</li>
<li>Lack of funding for graduate students to attend conferences, workshops etc. ( though this was contested by a lot of people, I think , the problem lies in making the students aware of the funds that are available for such purposes )</li>
<li>Discrimination against the students who graduate from the IIT&#8217;s versus other institutions. (though strong alumni networks are not anything new, other colleges should target to strengthen their alumni networks and not work as silo&#8217;s )</li>
</ul>
<p>This is where I found the IIIT&#8217;s (particularly Hyderabad and Bangalore) to be very innovative in their approach. They are situated in the heartland of what can be considered seat of innovation in India. Both of them have strong collaboration with the Indigenous and multinational companies based out of their respective cities and provide for a wonderful platform for students to explore a mix of both academic research and industry relevant parts of the information technology industry. Both IIIT-H and IIIT-Bangalore have achieved recognition for their quality in the industry and academia, and that too in good time. I am positive that in a few years time, these institutions will be deeply connected to the research and development communities of the information technology industry in India  and will contribute significantly to the intellectual output of the country.</p>
<p><em>disclaimer : the numbers mentioned in this post are thanks to Ashwani Sharma, part of the External Research Programs  team at Microsoft Research India. </em></p>

<p><a href="http://feedads.g.doubleclick.net/~a/b8NgGwVeWbrtpQSFk-8rNw5lmzI/0/da"><img src="http://feedads.g.doubleclick.net/~a/b8NgGwVeWbrtpQSFk-8rNw5lmzI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/b8NgGwVeWbrtpQSFk-8rNw5lmzI/1/da"><img src="http://feedads.g.doubleclick.net/~a/b8NgGwVeWbrtpQSFk-8rNw5lmzI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/06/15/state-of-higher-education-in-india-with-a-focus-on-computer-science/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/06/15/state-of-higher-education-in-india-with-a-focus-on-computer-science/</feedburner:origLink></item>
		<item>
		<title>Design Patterns Quick Reference</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/gHsfo__BTvY/</link>
		<comments>http://riteshnayak.com/blog/2009/05/26/design-patterns-quick-reference/#comments</comments>
		<pubDate>Tue, 26 May 2009 10:10:30 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Architecture - Design]]></category>
		<category><![CDATA[Tips,Tricks and code]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=447</guid>
		<description><![CDATA[I am back to designing some software and want to use all my knowledge of Object Orientation and patterns to tackle common problems with design. I found this great reference for the most commonly used design patterns that I must share. It lists all of the core design patterns, all 23 of them,  listed in [...]]]></description>
			<content:encoded><![CDATA[<p>I am back to designing some software and want to use all my knowledge of Object Orientation and patterns to tackle common problems with design. I found this great reference for the most commonly used design patterns that I must share. It lists all of the core design patterns, all 23 of them,  listed in the gang of four book. If you know what this is, take a print out of this and revisit your designs. Thanks to Mark Turansky for the <a href="http://blog.markturansky.com/archives/32" target="_blank">original upload</a>.</p>
<table border="0">
<tbody>
<tr>
<td>
<p><div id="attachment_449" class="wp-caption alignnone" style="width: 236px"><a href="http://riteshnayak.com/blog/wp-content/uploads/designpatterns2_sm.jpg"><img class="size-medium wp-image-449" title="designpatterns2_sm" src="http://riteshnayak.com/blog/wp-content/uploads/designpatterns2_sm-226x300.jpg" alt="Design Patterns card 2" width="226" height="300" /></a><p class="wp-caption-text">Design Patterns card 2</p></div></td>
<td>
<p><div id="attachment_448" class="wp-caption alignnone" style="width: 238px"><a href="http://riteshnayak.com/blog/wp-content/uploads/designpatterns1_sm.jpg"><img class="size-medium wp-image-448" title="designpatterns1_sm" src="http://riteshnayak.com/blog/wp-content/uploads/designpatterns1_sm-228x300.jpg" alt="Design patterns card 1" width="228" height="300" /></a><p class="wp-caption-text">Design patterns card 1</p></div></td>
</tr>
</tbody>
</table>

<p><a href="http://feedads.g.doubleclick.net/~a/cvLvzHTyXkU8Vd2rwJsjUKwo7Qc/0/da"><img src="http://feedads.g.doubleclick.net/~a/cvLvzHTyXkU8Vd2rwJsjUKwo7Qc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/cvLvzHTyXkU8Vd2rwJsjUKwo7Qc/1/da"><img src="http://feedads.g.doubleclick.net/~a/cvLvzHTyXkU8Vd2rwJsjUKwo7Qc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/05/26/design-patterns-quick-reference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/05/26/design-patterns-quick-reference/</feedburner:origLink></item>
		<item>
		<title>What goes into a good resume</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/7b2AhZ3qLJo/</link>
		<comments>http://riteshnayak.com/blog/2009/04/28/what-goes-into-a-good-resume/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 13:10:44 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tips,Tricks and code]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=444</guid>
		<description><![CDATA[I will be graduating soon and I am looking out for good positions in Bangalore. My areas of interest can be found here. As a result, its time for me to do my resume again. I have always wondered as to what makes a good resume. Should there be an objective? I mean, its a [...]]]></description>
			<content:encoded><![CDATA[<p>I will be graduating soon and I am looking out for good positions in Bangalore. My areas of interest can be found <a title="About me" href="http://riteshnayak.com/about.html" target="_blank">here</a>. As a result, its time for me to do my resume again. I have always wondered as to what makes a good resume. Should there be an objective? I mean, its a resume and it means you are looking for a job, so why the objective? Or should you put your achievements ? The right question would be, what have you achieved that will be looked upon as achievements by others? Should I put experience above education? Should I put that section called personal info at the end?</p>
<p>Give me your inputs as to what should go into a resume and what shouldn&#8217;t. If this turns out to be a good discussion, I am sure it will help out a lot of people like me.</p>
<p>Update: After receiving some feedback about my own resume, I am adding some more tips.</p>
<ul>
<li>Even if you don&#8217;t believe that technology matters ( like I do), you have to put technologies that you know in your resume. This is required as the HR&#8217;s who look at the resume&#8217;s usually filter out resumes based on skills mentioned. Not having the skills column is only going to get your resume away from good opportunities.</li>
<li>Its very important that you provide your contact information in multiple forms. Phone number, at least two email id&#8217;s, home phone etc.</li>
<li>Nobody cares that you won a first prize in your school&#8217;s annual dancing competition or that you have helped organize your college fest. A recruiter told me that such things are good only if you are applying for BPO jobs where you have to prove your leadership skills.</li>
<li>Do not write essays about your projects. Leave it short and let the recruiters/interviewers quiz you about the same. This gives more time for conversation and a healthy dialogue.</li>
</ul>

<p><a href="http://feedads.g.doubleclick.net/~a/x1VhIeYKgsQceJgpZk7hrMeJ7wA/0/da"><img src="http://feedads.g.doubleclick.net/~a/x1VhIeYKgsQceJgpZk7hrMeJ7wA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/x1VhIeYKgsQceJgpZk7hrMeJ7wA/1/da"><img src="http://feedads.g.doubleclick.net/~a/x1VhIeYKgsQceJgpZk7hrMeJ7wA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/04/28/what-goes-into-a-good-resume/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/04/28/what-goes-into-a-good-resume/</feedburner:origLink></item>
		<item>
		<title>Limitations and Challenges in Cloud Computing for Applications</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/k9qrDDjNeuM/</link>
		<comments>http://riteshnayak.com/blog/2009/04/13/limitations-and-challenges-in-cloud-computing-for-applications/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 14:06:04 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Architecture - Design]]></category>
		<category><![CDATA[Tips,Tricks and code]]></category>
		<category><![CDATA[Trends-Predictions-Inferences]]></category>
		<category><![CDATA[Unsolved problems]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=441</guid>
		<description><![CDATA[I was supposed to be involved in a discussion about cloud computing at Cloudcamp Bangalore, but due to other commitments, I could not attend the event. I had a small writeup about the limitations and challenges in Application clouds. Here is the full text of it.
Cloud Computing is a way of providing dynamically scalable and [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>I was supposed to be involved in a discussion about cloud computing at Cloudcamp Bangalore, but due to other commitments, I could not attend the event. I had a small writeup about the limitations and challenges in Application clouds. Here is the full text of it.</em></p></blockquote>
<p>Cloud Computing is a way of providing dynamically scalable and available resources such as computation, storage etc as a service to users who can use it to deploy their applications and data. Cloud Computing can handle data in both the public and the private domain. But this seemingly harmless way of thinking about building applications has its own set of issues.I am primarily referring to application cloud providers, the kind where you deploy your applications. Not storage and service clouds. Google AppEngine would be a good example for the cloud that I am describing. I note some of them here :</p>
<p><strong>From the Users perspective:</strong></p>
<ol>
<li>New unstructured and non standard paradigm of programming: Each cloud has its own supported programming language and syntax requirements for programming, though most of these clouds expose the typical hashtable based cache and datastore interfaces. There is an urgent need for standardization of interfaces and methods of programming them. One of the reasons why shared hosting environments work great is because , as a programmer, I know that I can move my PHP/PERL code to another server and it will work without too much of a fuss. Moving from one of the dozen odd cloud providers to another requires considerable developmental efforts, not to forget time (for businesses, this could spell doom).  A look back at history shows languages like SQL, C etc being standardized to stop exactly this sort of undesirable proliferation.</li>
<li>Restrictions on the programming model : For cloud based applications to be highly available, they must be easy to dynamically mirror on multiple machines. Once these applications are mirrored, they can be served on demand by load balancing servers which makes them highly available and the user doesn&#8217;t face delays in being serviced. This is an old trick used by busy websites from the early days of web publishing but these solutions were custom built for websites. So, extending this concept to cloud based platforms, servicing thousands of applications, mandates the platform providers to automate this task of replication and mirroring. This job is easier said than done. This process can be made seamless when the program stores as little state information as possible. By state, I mean transactional variables, static variables, variables in the context of the entire application etc. These things are almost a given in traditional programming environments but are very hard to come by in cloud based environments. The unnatural way of dealing with this situation is using the datastore or the cache to store state of an application. There are a lot of restrictions like lack of privileges to install third party libraries, no access to file system to write files etc ( which forces you to use the datastore and pay for it)</li>
<li>A good local debugging experience: A good local development environment, debugging experience is a must for programming on the cloud. Most cloud providers do not provide good local development environments. There is also a lack of good IDE&#8217;s that can help with programming and debugging programs written for the cloud. The providers that do provide a local debug experience, do not simulate real cloud like conditions. Both from my personal experience and from conversations with other developers, I have come to realize that most people face problems when moving code from their local development servers to the actual cloud. This is only due to inconsistencies in the behavior of the local dev env compared to the cloud.</li>
<li>Appropriate metrics and documentation of programming best practices : On a cloud, since a user pays for almost every CPU cycle, appropriate metrics on usage of processing time and memory must be presented to the users. Typically a profile of the application with function names and their corresponding time taken, memory used, processing cycles used will definitely help the developer tune his/her code to optimize on usage of processing power. The best solution for this is for cloud providers to abstract common code patterns into optimal libraries so that the users can be assured that they are running the most optimal code for a certain operation. An example of this is Apache PIG, which gives a scripting like interface to Apache Hadoop&#8217;s HDFS for data analysis. Also, Most cloud providers do not provide enough statistics and also profiling capabilities.</li>
</ol>
<p><strong>From the providers perspective:</strong></p>
<p>Here I look at challenges that cloud providers have to face:</p>
<ol>
<li>Ensuring availability of the cloud: This proves to be crucial as Clouds host critical business applications, for whom, downtime would mean monetary losses. Effective monitoring and load balancing solutions are to be built. Most clouds employ virtualization technology to get the most out of any resource. In such cases, tools should be written to figure out a resource hog early and move the application to a more powerful grid or a machine, so that the other users get their share of the cloud without delays.</li>
<li>Ensuring Consistency: Both the data and code is replicated on the cloud and maintaining consistency of data is extremely crucial. This is the reason why most transactional updates are not allowed on the cloud. Example: sequence objects, which are almost a given in traditional databases are not provided, probably because maintaining state across machines for such statements is non trivial. Problems like distributed updates, locking, partitioning, sharding etc  arise when dealing with data. Such constructs are to be provided to the users as most of it is given in the non cloud deployment space.<br />
Most datastores provided by cloud vendors (except the ones that provide cloud based database services) do not support relational models. Which means all object relations have to be programmatically established. This could always lead to bad code, unnecessary joins, cascading problems and tons of other problems that developers faced before working with relational datastores.</li>
<li>Program verification : One of the biggest worries about deploying applications on the cloud is the correctness of the program in execution. Erroneous conditions, like infinite loops, can not only put the machine at the risk of being overloaded and unavailable, but also cost the user a significant amount of money. Tools like static analysis should be used to analyze code uploaded on the cloud and it should be checked for infinite loops, possible race conditions,  null references, unreachable code etc. The code uploaded should also be optimized or suggestions should be provided to the users about how they could optimize code to best utilize the available resources.</li>
</ol>
<p><strong>Conclusion </strong>: The cloud should become a complete nonrestrictive platform for applications. There should be no restrictions on the constructs, functionality and privileges on the cloud. Also, it should be dead simple to move everyday applications onto the cloud without too much of rework. This could mean writing migration utilities, import/export options and other artifacts that make the transition to a cloud much easier.  This will prove essential as most live applications, at least currently, do not run on a cloud and helping them migrate easily will mean more revenue and adoption.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/V50YZr4l0LF-7wWVHDMZ4qm-GbI/0/da"><img src="http://feedads.g.doubleclick.net/~a/V50YZr4l0LF-7wWVHDMZ4qm-GbI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/V50YZr4l0LF-7wWVHDMZ4qm-GbI/1/da"><img src="http://feedads.g.doubleclick.net/~a/V50YZr4l0LF-7wWVHDMZ4qm-GbI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/04/13/limitations-and-challenges-in-cloud-computing-for-applications/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/04/13/limitations-and-challenges-in-cloud-computing-for-applications/</feedburner:origLink></item>
		<item>
		<title>Moffe – My own friendfeed emulator.</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/erm7I_atb1k/</link>
		<comments>http://riteshnayak.com/blog/2009/03/27/moffe-my-own-friendfeed-emulator/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 10:40:58 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Tips,Tricks and code]]></category>
		<category><![CDATA[Unsolved problems]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=435</guid>
		<description><![CDATA[I started using friendfeed recently and have been using ff to post links and other interesting artifacts I find on the net. The ease with which I can post links from ff not only  increased my posts on ff, and indirectly on twitter, but also the frustration of my friends. Now instead of going directly [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://riteshnayak.com/moffe/" target="_blank"><img class="alignnone size-full wp-image-438" title="moffe" src="http://riteshnayak.com/blog/wp-content/uploads/moffe.gif" alt="moffe" width="173" height="66" /></a>I started using <a title="friendfeed" href="http://friendfeed.com" target="_blank">friendfeed</a> recently and have been using ff to post links and other interesting artifacts I find on the net. The ease with which I can post links from ff not only  increased my posts on ff, and indirectly on twitter, but also the frustration of my friends. Now instead of going directly to the link I share, they now had to go to friendfeed and then after another click go the address that I had shared.</p>
<p>I used friendfeed because I wanted to start a conversation based on the items I shared. But, again like all social media sites, my ability to get the conversation started depended directly on the number of people who were using friendfeed. So, I sat down to fix the problem myself and after one nights work, <a title="Moffe" href="http://riteshnayak.com/moffe" target="_blank">Moffe</a> was born.</p>
<p>For the unitiated moffe stands for <strong>My Own FriendFeed Emulator</strong>. It gives the same features that friendfeed provides and also provides an easy way for people to leave comments on the items I share. Plus, the link that I shared, is federated directly into the page. The outcome is that now people can leave comments on items I share plus see the page all with one click. I have also incorporated canned comments for that restless user who doesn&#8217;t have time to write in comments. Plus, I get to monitor moffe on this cool <a href="http://riteshnayak.com/moffe">dashboard</a>.</p>
<p>In essence, its a microsharing service which lets me keep my content on my site and not rely on other services like friendfeed ,twitblogs etc. Thanks to Easy on the Slaw for giving me the <a href="http://blog.slawcup.com/2007/04/full-twitter-php-library-ver-01/" target="_blank">twitter wrapper in PHP</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/NduNBJmY5Ayw1KnOG1K3txaLuh4/0/da"><img src="http://feedads.g.doubleclick.net/~a/NduNBJmY5Ayw1KnOG1K3txaLuh4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NduNBJmY5Ayw1KnOG1K3txaLuh4/1/da"><img src="http://feedads.g.doubleclick.net/~a/NduNBJmY5Ayw1KnOG1K3txaLuh4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/03/27/moffe-my-own-friendfeed-emulator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/03/27/moffe-my-own-friendfeed-emulator/</feedburner:origLink></item>
		<item>
		<title>Uncertainty in programming – the lochness of the programming world</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/pqh-BLoy4Eg/</link>
		<comments>http://riteshnayak.com/blog/2009/02/23/uncertainty-in-programming-the-lochness-of-the-programming-world/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 08:14:28 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=421</guid>
		<description><![CDATA[Programming has come many a mile since the 70&#8217;s. A wide array of languages, methodologies, frameworks and other similar artifacts have made the life of a programmer really simple. These artifacts have incrementally solved problems faced by programmers and slowly, but steadily, wrapped the programmers view of a program into a set of abstractions. One [...]]]></description>
			<content:encoded><![CDATA[<p>Programming has come many a mile since the 70&#8217;s. A wide array of languages, methodologies, frameworks and other similar artifacts have made the life of a programmer really simple. These artifacts have incrementally solved problems faced by programmers and slowly, but steadily, wrapped the programmers view of a program into a set of abstractions. One of the first abstractions that was built, looking at the history of programming languages, was the ability to hide the underlying differences in hardware, system software and present a unified way of programing and manipulating the system. This is what we call modern day high level programming language. </p>
<p> If the programming language, an abstraction of the real machine code, ever helped solve a problem, it was that of uncertainty. Take an example of the piece of code given below.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">    <span style="color: #008080; font-style: italic;">// sample code to add two numbers  </span>
    <span style="color: #FF0000;">int</span> a<span style="color: #008000;">=</span><span style="color: #FF0000;">10</span>,b<span style="color: #008000;">=</span><span style="color: #FF0000;">20</span>,c<span style="color: #008000;">=</span><span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
     c<span style="color: #008000;">=</span> a<span style="color: #008000;">+</span>b<span style="color: #008000;">;</span>
     Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span>c.<span style="color: #0000FF;">toString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p> When I run this code on any machine, I am assured to get the value of c to be equal to be 30. I know when I access the variable &#8220;c&#8221; the next time, I will find it contains the value of 30. I know that two instructions from now, variables a,b,c  will be available for further manipulation. </p>
<p>My recent attempts at programming on the cloud has taught me several lessons, the most important one being,<em> programming to deploy on a cloud is almost like writing programs that you can never be certain about.</em> You can never maintain application state. This means no static variables, no relational datastore, no freedom to write into the filesystem etc. Think about it for a second and it will make sense why these seemingly harmless actions are prohibited. Filesystem access is a big no-no anywhere, but as for static variables, persistent classes, singletons etc, running this on many actual/virtual machines means, all these entities with their values have to be moved/replicated across the cloud. This becomes a non trivial problem especially when the state keeps constantly changing. I could live with all these restrictions by coding, painful but effective, workarounds. What I can&#8217;t do is, work with uncertainty. Here is an example :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="python" style="font-family:monospace;">  <span style="color: #ff7700;font-weight:bold;">from</span> google.<span style="color: black;">appengine</span>.<span style="color: black;">api</span> <span style="color: #ff7700;font-weight:bold;">import</span> memcache
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> get_greetings<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
  <span style="color: #483d8b;">&quot;&quot;&quot;get_greetings()
&nbsp;
  Checks the cache to see if there are cached greetings.
  If not, call render_greetings and set the cache
&nbsp;
  Returns:
    A string of HTML containing greetings.
  &quot;&quot;&quot;</span>
  greetings = memcache.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;greetings&quot;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">if</span> greetings <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">None</span>:
    <span style="color: #ff7700;font-weight:bold;">return</span> greetings
  <span style="color: #ff7700;font-weight:bold;">else</span>:
    greetings = <span style="color: #008000;">self</span>.<span style="color: black;">render_greetings</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> memcache.<span style="color: black;">add</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;greetings&quot;</span>, greetings, <span style="color: #ff4500;">10</span><span style="color: black;">&#41;</span>:
      <span style="color: #dc143c;">logging</span>.<span style="color: black;">error</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Memcache set failed.&quot;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> greetings</pre></td></tr></table></div>

<p> The code is an example on using the built in caching mechanism on appengine. Notice the line of code given below; its supposed to return the value of the item in the cache with the key <em>greetings</em></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">greetings = memcache.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;greetings&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Here&#8217;s the question: what is the guarantee that the value, which I inserted into the cache with a large timeout, is actually available. Whenever I write this line of code, do I have to write the failsafe code also(line 15,19) ? I am trying to model state using variables in the cache, mainly because its the next best thing to persistent classes and is less expensive (computationally and financially) than the key/value datastore. How do I reliably do this ? I cant trust that the cache will be available and have to keep on constantly updating the failsafe mechanism ( in case of appengine, the datastore) which is inefficient and highly taxing on the application. What has given rise to this situation is the environment of the cloud. Its not a new problem by any means. With the introduction of new languages, language constructs and other programmatic abstractions, this kind of uncertainty in programming has always reared its ugly head. The lochness of the programming world.  And it will continue to do so; which is why we will have constructs like the assert(). My greatest worry is that I don&#8217;t see an elegant solution in the foreseeable future. </p>

<p><a href="http://feedads.g.doubleclick.net/~a/7xcZnjQGYS2-UyyuwPNgTGCfeMM/0/da"><img src="http://feedads.g.doubleclick.net/~a/7xcZnjQGYS2-UyyuwPNgTGCfeMM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7xcZnjQGYS2-UyyuwPNgTGCfeMM/1/da"><img src="http://feedads.g.doubleclick.net/~a/7xcZnjQGYS2-UyyuwPNgTGCfeMM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/02/23/uncertainty-in-programming-the-lochness-of-the-programming-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/02/23/uncertainty-in-programming-the-lochness-of-the-programming-world/</feedburner:origLink></item>
		<item>
		<title>New Programming Paradigms</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/P2mz1zZpoWc/</link>
		<comments>http://riteshnayak.com/blog/2009/01/14/new-programming-paradigms/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 06:57:56 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Tips,Tricks and code]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=404</guid>
		<description><![CDATA[Over the last two or three years, I have seen introduction of many new psuedo programming languages(if I can call it that) that help users build applications over the web. Most of these languages are built to work with or as a service. I shall wildly switch between a web service and also the langauge [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last two or three years, I have seen introduction of many new psuedo programming languages(if I can call it that) that help users build applications over the web. Most of these languages are built to work with or as a service. I shall wildly switch between a web service and also the langauge to interact with that webservice; so get the message when I switch from one to another. Let me take one of these languages called <a title="Yahoo Query Language" href="http://developer.yahoo.com/yql/" target="_blank">YQL</a>. A sample instruction would look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* Get the latest 10 photos from flickr where the photo name contains cat */</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> flickr<span style="color: #66cc66;">.</span>photos<span style="color: #66cc66;">.</span>search <span style="color: #993333; font-weight: bold;">WHERE</span> text<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'Cat'</span> <span style="color: #993333; font-weight: bold;">LIMIT</span> <span style="color: #cc66cc;">10</span></pre></div></div>

<p>As you can clearly see the language makes querying a service and receiving its response really really simple. This is how most new psuedo languages are. They work with service end points and emulate an existing programming language&#8217;s syntax to do that. These languages are built with mashup&#8217;s in mind. The dangers of such an offering are already imminent. Services are good as long as they are up and live.   Take for example any of the Google or yahoo  Api&#8217;s and you will find wrappers written by people in such pseudo langauges to make your life simple. Even in the enterprise space there are such languages being built which query custom services and makes building applications really really simple.</p>
<p>Another observation of mine involves loose typing in these languages. Most new languages are loosely typed. Most of them take from python which lets the user take care of the typing. SQL by far has been the most emulated language amongst these pseudo langauges. Take for example JoSql to add SQL like capabilities to operations like file handling or Linq in .NET which exposes a sql like interface to datastructures. These improvisations have dramatically reduced time to turn ideas into code and rapidly prototype the application.</p>
<p>There are limitations to using such improvisations; some that even I can vouch for. Loosely typed and unstructured languages are good as long as you are not working on large scale systems. If you are hacking up a solution to a problem that you are facing, these pseudo languages look to be real problem solvers but when it comes to working in teams, projects that need to go into production, you start getting into big problems. Though I am a python fanboy, I faced problems when I was working on python and perl on a large project with a team. Interfaces would be unclear, poor documentation would literally spell doom and tons of other problems that we never thought we would face. <a href="http://teddziuba.com/2008/12/python-makes-me-nervous.html" target="_blank">There are others who complain of the very same thing</a>. I am guessing we will see a flood of such languages in the future thanks largely to applications evolving slowly into services and it will be difficult to guage the quality of these services. Twitter&#8217;s API tried to make their service more stable but the mechanism they chose <a href="http://search.twitter.com/search?q=twitter+api+limit" target="_blank">didn&#8217;t satisfy many developers</a>.  Lets hope we figure out a way to make these more reliable and stable. I guess its the developers call to be judicious about what language and service to choose when building applications.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/_msCSjOFxBzjMaVDA5FzDT0ZUYI/0/da"><img src="http://feedads.g.doubleclick.net/~a/_msCSjOFxBzjMaVDA5FzDT0ZUYI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_msCSjOFxBzjMaVDA5FzDT0ZUYI/1/da"><img src="http://feedads.g.doubleclick.net/~a/_msCSjOFxBzjMaVDA5FzDT0ZUYI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2009/01/14/new-programming-paradigms/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2009/01/14/new-programming-paradigms/</feedburner:origLink></item>
		<item>
		<title>Trends in online advertising</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/s-f1V2qXMNE/</link>
		<comments>http://riteshnayak.com/blog/2008/12/06/trends-in-online-advertising/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 18:04:11 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Search]]></category>
		<category><![CDATA[Trends-Predictions-Inferences]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=402</guid>
		<description><![CDATA[Advertising has come a long way since its inception. A simple concept of endorsing links to online resources has becoming a dominating factor on the web. But given the state of online advertising now, what is the roadmap and what can we expect in the future. 
 The answer is of course non trivial and I will [...]]]></description>
			<content:encoded><![CDATA[<p>Advertising has come a long way since its inception. A simple concept of endorsing links to online resources has becoming a dominating factor on the web. But given the state of online advertising now, what is the roadmap and what can we expect in the future. </p>
<p> The answer is of course non trivial and I will only make a fool of myself by trying to predict the answer, but there are certain inferences I have made based on my observation which I shall pen down. I divide the broad category of pc users into prospects and adless users. Prospects are users who are new or ignorant to concept of online advertising, people like my mother who doesn&#8217;t know people endorse links for money. This category could also include people who are open to targeted advertising and see a value add with it. These are people who wholeheartedly click on interesting links. The other category I call adless users, users who have been around the internet long enough to understand irrelevant ads and can spot and ignore ads in a page. Take the example of the ad below.<br />
<script type="text/javascript"><!--
google_ad_client = "pub-7842209198869842";
/* sqaure plain for blog */
google_ad_slot = "6787148217";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
The adless users wont even realize they scrolled though the content and didnt even notice the ad, or read it. </p>
<p>More time a user spends online, the probability of him/her realizing the web is filled with irrelevant ads and over time becoming adless users. As a result, almost all users tend to move towards becoming adless users. This is dangerous for marketers, ad companies, publishers etc as there is a whole eco system depending solely depending on money made out of ads. As new users discover the web, their prospect phase is what publishers can hope to cash in on, but eventually the shift will happen. What happens then ?</p>
<p>Search engines are arguably the best places for advertising and probably the best place for demonstrating the phenomenon I call intrusive or endorsed content. Take the example below. </p>
<p><img src="http://rnayak.files.wordpress.com/2008/12/ad_meltdown.jpg" alt="Advertising Meltdown" width="450" /></p>
<p> Ads will stop being sidekicks and move into the foreground, I have shown the shift pictorically.  Payperpost got the next concept right, people wont read ads, but social media yes, so pay people to write about your product/service etc. More results on search engines will be  endoresed and most of them already are, how do you know a review you are reading of some product isnt already endorsed. Now here is the strangeloop bit, you could say you will search for bad reviews instead of good <a title="Problems with Macintosh" href="http://www.google.co.in/search?hl=en&amp;q=problems+with+macintosh&amp;btnG=Search&amp;meta=">like this.</a> It wont take long for the advertisers to see this trend as well and then pay for people to write moderately bad reviews inturn endorsing the product. You know that they know that you are looking for bad reviews !! </p>
<p> A surprising result on top caught my eye. A visit to the site will tell you immediately that the site isn&#8217;t half as good as the second or the third result, but still its on top. SEO has come a long way and to cheat search engines into making a page popular isn&#8217;t that hard. You can hire professionals to do that job. That in a wierd sense is a form of endorsing, a professional SEO group can start bidding for making pages more popular and start their own cartel for endorsed content. </p>
<p> The other strange phenomenon I see that people recognize big search brands, Google in particular, but don&#8217;t necessarily relate to the results( you can&#8217;t possible relate to the results). You could have the Google homepage serving ads from ask.com and nobody would know the difference if the results looked like Google returned them. Thats probably the reason there still are companies trying to capitalize on the search market. Take a look at the results page below.</p>
<p><img src="http://rnayak.files.wordpress.com/2008/12/ad_meltdown_2.jpg" alt="Ad meltdown 2" width="400" /></p>
<p>In this case the difference between a result from the index and an endorsement is a mere patch of color. How difficult do you think it is to remove that demarcation during difficult times.  Ethical boundries as meagre as color differences can be crossed very easily and corporations have showed time and again it can be done. </p>
<p>Thanks to the falling prices of bandwidth and also social media, video is the next big delivery mechanism and it was quite understandable that Google paid a billion and a half to capitalize on youtube&#8217;s huge market share and put intrusive ads on videos( you dont have a choice there, no adblock plus !! ). Same goes with pictures and audio. Radio, papers and the television have been doing it for years. </p>
<p>The world thought that we moved away from pop up advertising but we have just made the situation far worse. Ads will become more and more intrusive and there could come a time when content and advertisement are indistinguishable. More on this later.</p>
<p> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/liRcKBmfCfemoRJPjkf_kKqG0v4/0/da"><img src="http://feedads.g.doubleclick.net/~a/liRcKBmfCfemoRJPjkf_kKqG0v4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/liRcKBmfCfemoRJPjkf_kKqG0v4/1/da"><img src="http://feedads.g.doubleclick.net/~a/liRcKBmfCfemoRJPjkf_kKqG0v4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/12/06/trends-in-online-advertising/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/12/06/trends-in-online-advertising/</feedburner:origLink></item>
		<item>
		<title>Human in the loop searches</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/IbOBbuAbyw4/</link>
		<comments>http://riteshnayak.com/blog/2008/10/24/human-in-the-loop-searches/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 15:19:08 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Search]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/2008/10/24/human-in-the-loop-searches/</guid>
		<description><![CDATA[For quite some time now, I am using social media sites to do my searching. Its not that traditional search results are bad, just that for most of the results that I am trying to get to, social media sites are doing a far better job. Take for example a search on accessibility or cognitive [...]]]></description>
			<content:encoded><![CDATA[<p>For quite some time now, I am using social media sites to do my searching. Its not that traditional search results are bad, just that for most of the results that I am trying to get to, social media sites are doing a far better job. Take for example a search on accessibility or cognitive psychology. It&#8217;s painful to get through the clutter and get to results that actually pertain to sites that describe accessibility and information on it. But a couple of searches on Digg and Delicious and I have tons of results at my disposal. Traditional web searches work well for certain types of queries, like word lookups, product lookups, news etc. Non trivial query results have a tough time gaining page rank and will usually fail to show up on the results screen. The central point here is that, for certain searches, you just need the wisdom of the crowds.
</p>
<p>I know when I look at sites like <a href="http://digg.com">Digg</a>, <a href="http://reddit.com">Reddit</a> and <a href="http://delicious.com">Delicious</a> people have gone through these links and painfully tagged and saved these links. Which means that with a very high probability its not marketing gibberish or spam. Folksonomy should definitely be given the credit for making life more organized. While searching for certain tags(delicious), I also discover other related tags and then run more filtered searches to improve the relevance of the results. The web, at least for the moment, is said to be partial to content on computers (technology in general, iPhone in particular <span style="font-family:Wingdings">J</span> ) and for the zillion other domains that the web doesn&#8217;t do justice to, traditional ranking methods do little to improve relevance. Human in the loop is definitely better for such queries.
</p>
<p>One of the projects that I have worked on is targeting this very need for non trivial searches. <a href="http://silverfish.iiitb.ac.in">Silverfish</a>, is a semantics extraction engine for academic documents and courses. The indexed results and the social aspect of the site are used to update researchers on the latest in their fields of interest and also recommend fresh material. When more and more people start using the internet there will be an increased demand for searches not related to technology and in such cases human in the loop searches will definitely take front stage. Future of search is definitely going to be more interesting. </p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-7842209198869842";
/* sqaure plain for blog */
google_ad_slot = "6787148217";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>

<p><a href="http://feedads.g.doubleclick.net/~a/WU0ghh8O5XmeH8zUTaxyZQqNI6Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/WU0ghh8O5XmeH8zUTaxyZQqNI6Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WU0ghh8O5XmeH8zUTaxyZQqNI6Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/WU0ghh8O5XmeH8zUTaxyZQqNI6Q/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/10/24/human-in-the-loop-searches/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/10/24/human-in-the-loop-searches/</feedburner:origLink></item>
		<item>
		<title>Sharing some Wordpress love</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/mbuAdGxv9r0/</link>
		<comments>http://riteshnayak.com/blog/2008/10/10/sharing-some-wordpress-love/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 11:51:19 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Tips,Tricks and code]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=400</guid>
		<description><![CDATA[I have been blogging for about three years now, started here in Nov of 2005. But, the day I saw wordpress, was the day my blogging actually took shape. After a controversial blogpost saw a lot of activity on my personal blog, I decided to share some of the plugins that I think helped complete [...]]]></description>
			<content:encoded><![CDATA[<p>I have been blogging for about three years now, started <a href="http://rithy.blogspot.com" target="_blank">here </a>in Nov of 2005. But, the day I saw <a href="http://wordpress.com" target="_blank">wordpress</a>, was the day my blogging actually <a href="http://rnayak.wordpress.com" target="_blank">took shape</a>. After a <a href="http://riteshnayak.com/personal/?p=42" target="_blank">controversial blogpost</a> saw a lot of activity on my personal blog, I decided to share some of the plugins that I think helped complete my blogging experience.</p>
<p>First and fore most you need to to get Wordpress. Wait for 2.7, its awesome, with Quickiepress and customizable screens, blogging will never be the same again. If you dont own your own site, then get a wordpress subdomain. Though such a step will mean you wont be able to use most of what I write about next. Good, now lets get some plugins :</p>
<p>1. Akismet : I think this is shipped with wordpress by default but is seriously one plugin that you need. Its stopped nearly 50,000 spam comments.</p>
<p>2. <a href="http://www.acmetech.com/blog/adsense-deluxe/" target="_blank">Adsense- deluxe</a> : Manage ads in your Wordpress posts by using simple shortcuts to insert different types of ads. Really useful for people displaying ads ( multiple ads ) on a post.</p>
<p>3. <a href="http://www.u-g-h.com/index.php/wordpress-plugins/wordpress-plugin-comment-email-responder/" target="_blank">Comment-email-responder</a> : This plugin lets the author reply to a comment via mail if the user has provided his/her mail id. Its useful as it drives the discussion forward and also is a way to bring people back for a good discussion.</p>
<p>4. <a href="http://wordpress.org/extend/plugins/google-syntax-highlighter" target="_blank">Syntax highlighte</a>r : Syntax highlighter is an awesome plugin for developers. Most developers end up writing some code on their blogs and lets admit it, code is not so elegantly displayed on most blogging engines. Syntax highlighter make code look really pretty on you blog. It supports C++ (cpp, c, c++), C# (c#, c-sharp, csharp), CSS (css), Delphi (delphi, pascal), Java (java), Java Script (js, jscript, javascript), PHP (php) Python (py, python), Ruby (rb, ruby, rails, ror), Sql (sql),VB (vb, vb.net),XML/HTML (xml, html, xhtml, xslt). Take a look at this section of code.</p>
<pre name="code" class="python">
 # python's functional programming support is awesome
 # you can use three functions map, reduce and filter

 # map(function, sequence) calls function(item) for each of the sequence's items
 #returns a list of the return values

  >>> map(lambda x: x*x*x, range(1, 11))
  [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

 #reduce(function, sequence) returns a single value by performing tree based reduction on f(item)
 #For example, to compute the sum of the numbers 1 through 10: 

 >>> reduce(lambda x, y: x+y, range(1, 11))
  55
</pre>
<p>5. <a href="http://www.semiologic.com/software/marketing/google-analytics/" target="_blank">Google-Analytics plugin</a> : This plugin lets you put your adsense code in a single place without having to edit any of the files. If you are using analytics for your blog then get this plugin, makes the job hasslefree.</p>
<p>6. <a href="http://www.google.co.in/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwordpress.org%2Fextend%2Fplugins%2Fsubscribe-to-comments%2F&amp;ei=kkDvSIz0HIL-6QPAs4yoBg&amp;usg=AFQjCNGgDXsaRZwVJLU5FVMoKItqFBvuQA&amp;sig2=00cMhq8qhdtR2LRNzQ9_lQ" target="_blank">Subscribe to comments</a>: I subscribe to comments feed for a post when I am interested in a discussion, but for users who dont want to take the pain of managing rss, you can give them an option to follow further comments by email. Its great to drive a good discussion again.</p>
<p>Well thats about it, have fun blogging!!</p>
<p><!--adsense--></p>

<p><a href="http://feedads.g.doubleclick.net/~a/pQgKd3vw__PUK21Wzb0c0ODqqto/0/da"><img src="http://feedads.g.doubleclick.net/~a/pQgKd3vw__PUK21Wzb0c0ODqqto/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/pQgKd3vw__PUK21Wzb0c0ODqqto/1/da"><img src="http://feedads.g.doubleclick.net/~a/pQgKd3vw__PUK21Wzb0c0ODqqto/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/10/10/sharing-some-wordpress-love/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/10/10/sharing-some-wordpress-love/</feedburner:origLink></item>
		<item>
		<title>Desitech.in – Technologies for the Indian audience</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/I4Ab_vBN3lM/</link>
		<comments>http://riteshnayak.com/blog/2008/10/09/desitechin-technologies-for-the-indian-audience/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 10:02:30 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Web News]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=399</guid>
		<description><![CDATA[ Visit Desitech.in for technology news in India 
A friend of mine along with a bunch of other contributors has started Desitech.in a blog site that covers a wide variety of upcoming technologies, events ( now thats something that I look forward to) and interesting startups. Here is their description about the site:
Desitech is a [...]]]></description>
			<content:encoded><![CDATA[<p><a title="DesiTech" href="http://desitech.in"> Visit Desitech.in for technology news in India </a></p>
<p>A friend of mine along with a bunch of other contributors has started <a title="DesiTech" href="http://desitech.in">Desitech.in</a> a blog site that covers a wide variety of upcoming technologies, events ( now thats something that I look forward to) and interesting startups. Here is their description about the site:</p>
<blockquote><p><span>Desitech is a technology journal which covers events, products and technologies relevant to the Indian audience. The journal features various columns including event announcements, event coverage, interviews with personalities, startup profiles, product comparison, etc</span></p></blockquote>
<p>Seems to be interesting. Prash, best of luck on the project.</p>
<p><!--adsense--></p>

<p><a href="http://feedads.g.doubleclick.net/~a/3QH63ZucwI4Ozu7HNIY97kI-bf4/0/da"><img src="http://feedads.g.doubleclick.net/~a/3QH63ZucwI4Ozu7HNIY97kI-bf4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3QH63ZucwI4Ozu7HNIY97kI-bf4/1/da"><img src="http://feedads.g.doubleclick.net/~a/3QH63ZucwI4Ozu7HNIY97kI-bf4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/10/09/desitechin-technologies-for-the-indian-audience/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/10/09/desitechin-technologies-for-the-indian-audience/</feedburner:origLink></item>
		<item>
		<title>I turn two today</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/LJDfa2o4GuE/</link>
		<comments>http://riteshnayak.com/blog/2008/09/29/i-turn-two-today/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 16:22:18 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[funny]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=398</guid>
		<description><![CDATA[Yes, its two years since I started functioning. My statistics are pretty impressive for a blog from a nobody in technology, ie without writing hit sensitive content on technology. I even have a small set of loyal readers who take the time to read through the gibberish that my author writes. But still, its been [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, its two years since I started functioning. My statistics are pretty impressive for a blog from a nobody in technology, ie without writing hit sensitive content on technology. I even have a small set of loyal readers who take the time to read through the gibberish that my author writes. But still, its been a pretty good run till now. Here are some of my statistics.</p>
<p>These stats are for both me and my mirror, actually the place where I was born.</p>
<p><span class="entry-content">Posts : 322 posts</span><br />
<span class="entry-content">Comments: 378<br />
Spam Comments :44,083<br />
Pageviews: 75,289<br />
Visitors: 32,877<br />
Average 2.5 min/visit<br />
Total money made redeemed = Rs 800<br />
Total money made yet to be redeemed = Rs 1269 ( waiting for 4500, till it redeems, damn adsense)</span></p>
<p>One of my articles even made it to 25 newspapers in the US. Some have even been added to the contribute section of <a title="msn" href="http://content.msn.co.in/MSNContribute/Userprofile.aspx?UserID=OWI4MDY1Y2UtNzFjYi00ZWM4LTlkZDMtZGJlMDQ5YzMzYWRk">MSN India</a></p>
<p>Anyway, I hope I get the same response (or better) for many more years to come and hope my author can put in credible and creative content and not make do with such lame attempts at posting.</p>
<p>( Author : ah screw you!! )</p>
<p>#@!* you hippie !!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/1PhbLYnzpuwiM6D9tczM4DNCMwI/0/da"><img src="http://feedads.g.doubleclick.net/~a/1PhbLYnzpuwiM6D9tczM4DNCMwI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/1PhbLYnzpuwiM6D9tczM4DNCMwI/1/da"><img src="http://feedads.g.doubleclick.net/~a/1PhbLYnzpuwiM6D9tczM4DNCMwI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/09/29/i-turn-two-today/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/09/29/i-turn-two-today/</feedburner:origLink></item>
		<item>
		<title>Python – Still Getting started</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/vGXquTs6cvw/</link>
		<comments>http://riteshnayak.com/blog/2008/09/27/python-still-getting-started/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 13:40:29 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[gedit]]></category>
		<category><![CDATA[itsmeritesh]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/?p=397</guid>
		<description><![CDATA[My new found interest in learning python, probably one of the most coolest programming languages has left me clamouring for more python goodies. The learning curve for python, at least the scripting part, was extremely small and easy, or maybe that&#8217;s because I already know Perl. Here&#8217;s my set of getting started tips on Python. [...]]]></description>
			<content:encoded><![CDATA[<p>My new found interest in learning python, probably one of the most coolest programming languages has left me clamouring for more python goodies. The learning curve for python, at least the scripting part, was extremely small and easy, or maybe that&#8217;s because I already know Perl. Here&#8217;s my set of getting started tips on Python. And  believe me, if you haven&#8217;t started yet, please do.</p>
<p>- Most Linuxes come with python interpreter, if not use a package manager to get the latest interpreter.</p>
<p>- Read the Python Tutorial by Guido Von Rossum. The most (100 pages) you will ever read about python, beacuse its faster to do than read about python.</p>
<p>- Any good editor will do, but if you are one of those IDEated individuals, use the <a href="http://pydev.sourceforge.net/" target="_blank">pydev</a> plugin for Eclipse.</p>
<p>- For a simpler feel, you can get the python plugins for Gedit from <a href="http://live.gnome.org/Gedit/Plugins" target="_blank">this location</a>. Just install it and my favorite, GEdit becomes python wise.  My friend also suggests using Emacs for python development.</p>
<p>Thats about it !! Please feel free to add comments on what else you read, did, installed to become a python developer.<br />
<!--adsense--></p>

<p><a href="http://feedads.g.doubleclick.net/~a/tPw-n4JJk0I3wy29IMhXHkkvK6s/0/da"><img src="http://feedads.g.doubleclick.net/~a/tPw-n4JJk0I3wy29IMhXHkkvK6s/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tPw-n4JJk0I3wy29IMhXHkkvK6s/1/da"><img src="http://feedads.g.doubleclick.net/~a/tPw-n4JJk0I3wy29IMhXHkkvK6s/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/09/27/python-still-getting-started/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/09/27/python-still-getting-started/</feedburner:origLink></item>
		<item>
		<title>Ruby on Rails – Comprehensive tutorial</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/2sVzHNqpviw/</link>
		<comments>http://riteshnayak.com/blog/2008/09/22/ruby-on-rails-comprehensive-tutorial/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 07:23:30 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Tips,Tricks and code]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/2008/09/22/ruby-on-rails-comprehensive-tutorial/</guid>
		<description><![CDATA[I recently gave a tutorial on Ruby on Rails at my school. Its pretty comprehensive and most of the material I used for the tutorial is present on my personal Wiki. Please find the tutorial on my wiki here
&#160;http://riteshnayak.com/wiki/index.php?title=Ruby_on_Rails
Also, people who are using rails 2.0, please go the 2.0 section directly. If you start using [...]]]></description>
			<content:encoded><![CDATA[<p>I recently gave a tutorial on Ruby on Rails at my school. Its pretty comprehensive and most of the material I used for the tutorial is present on my personal Wiki. Please find the tutorial on my wiki here<br />
<a href="http://riteshnayak.com/wiki/index.php?title=Ruby_on_Rails">&nbsp;http://riteshnayak.com/wiki/index.php?title=Ruby_on_Rails</a></p>
<p>Also, people who are using rails 2.0, please go the 2.0 section directly. If you start using 1.0 tutorial, you may get lost after a certain time and the results wont show. Check what version of rails you have installed and then use the corresponding section. Best of luck!!<br />
<!--adsense--><!-- technorati tags begin -->
<p style="font-size:10px;text-align:right;">Tags: <a href="http://technorati.com/tag/rubyon%20rails" rel="tag">rubyon rails</a>, <a href="http://technorati.com/tag/%20ror" rel="tag"> ror</a>, <a href="http://technorati.com/tag/%20rails" rel="tag"> rails</a>, <a href="http://technorati.com/tag/%20itsmeritesh" rel="tag"> itsmeritesh</a></p>
<p><!-- technorati tags end --></p>

<p><a href="http://feedads.g.doubleclick.net/~a/C6rlmv12eBPJ2QCRYIJEmtOhd_E/0/da"><img src="http://feedads.g.doubleclick.net/~a/C6rlmv12eBPJ2QCRYIJEmtOhd_E/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/C6rlmv12eBPJ2QCRYIJEmtOhd_E/1/da"><img src="http://feedads.g.doubleclick.net/~a/C6rlmv12eBPJ2QCRYIJEmtOhd_E/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/09/22/ruby-on-rails-comprehensive-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/09/22/ruby-on-rails-comprehensive-tutorial/</feedburner:origLink></item>
		<item>
		<title>More modifications to More Y!</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/MRh-uyKJbSo/</link>
		<comments>http://riteshnayak.com/blog/2008/08/21/more-modifications-to-more-y/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 14:26:58 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/2008/08/21/more-modifications-to-more-y/</guid>
		<description><![CDATA[If you haven&#8217;t seen More Y! , then its high time you do. Its a simple search plugin built on top of BOSS platform that optimizes the search experience for widescreen displays. Whats even more cool is the adoption rate. My statistics tell me that there have been a lot of people who use this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://riteshnayak.com/blog/2008/08/06/more-y-search-for-the-widescreen/" title=""><img alt="" src="http://www.riteshnayak.com/boss_logo.gif" border="0" /></a>If you haven&#8217;t seen More Y! , <a href="http://riteshnayak.com/blog/2008/08/06/more-y-search-for-the-widescreen/">then its high time you do.</a> Its a simple search plugin built on top of BOSS platform that optimizes the search experience for widescreen displays. Whats even more cool is the adoption rate. My statistics tell me that there have been a lot of people who use this service and nothing satisfies a technologist more than to see his technology being adopted. </p>
<p>&nbsp; After a fight with my significant other who is trying really hard to improve relevance on Yahoo search results, I realized that I wasn&#8217;t doing justice to search results by ordering top results in top down fashion. I have changed the code to now show results in left-right fashion. Now the most popular results will be available on top of the screen and you don&#8217;t have to strain those precious eyeballs of yours to look all the way down to see the results. A simple change but for a goo cause. </p>
<p>&nbsp;When I get the time, I shall also incorporate search suggestions on your toolbar, but till then make do with this. </p>
<p><!--adsense--><br />
   <!-- technorati tags begin -->
<p style="font-size:10px;text-align:right;">Tags: <a href="http://technorati.com/tag/BOSS" rel="tag">BOSS</a>, <a href="http://technorati.com/tag/yahoo" rel="tag">yahoo</a>, <a href="http://technorati.com/tag/%20search" rel="tag"> search</a>, <a href="http://technorati.com/tag/%20More%20Y!%20" rel="tag"> More Y! </a></p>
<p><!-- technorati tags end --></p>

<p><a href="http://feedads.g.doubleclick.net/~a/aJGJVynL54qH9cz3Les2xUlI4Ew/0/da"><img src="http://feedads.g.doubleclick.net/~a/aJGJVynL54qH9cz3Les2xUlI4Ew/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aJGJVynL54qH9cz3Les2xUlI4Ew/1/da"><img src="http://feedads.g.doubleclick.net/~a/aJGJVynL54qH9cz3Les2xUlI4Ew/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/08/21/more-modifications-to-more-y/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/08/21/more-modifications-to-more-y/</feedburner:origLink></item>
		<item>
		<title>More Y! – Search for the widescreen</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/bIUZ04RFYGA/</link>
		<comments>http://riteshnayak.com/blog/2008/08/06/more-y-search-for-the-widescreen/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 09:45:24 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Unsolved problems]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/2008/08/06/more-y-search-for-the-widescreen/</guid>
		<description><![CDATA[
Don&#8217;t you hate it that your favorite search engine cannot realize that you are using a widescreen or a theatrical display and still shows you ten measly results ? Well, I do and I sat down yesterday to fix it. The result is More Y! &#8211; a widescreen optimized search. Wait, before you make any [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.riteshnayak.com/morey_intro.html" title=""><img alt="" src="http://www.riteshnayak.com/boss_logo.gif" border="0" /></a><br />
Don&#8217;t you hate it that your favorite search engine cannot realize that you are using a widescreen or a theatrical display and still shows you ten measly results ? Well, I do and I sat down yesterday to fix it. The result is <a href="http://riteshnayak.com/morey_intro.html">More Y! &#8211; a widescreen optimized search</a>. Wait, before you make any assumptions about it, its not a google killing revolutionary new search algorithm. Its just a differnt way of packaging Yahoo&#8217;s search results, thanks to <a href="http://developer.yahoo.com/search/boss/">Yahoo! Search BOSS</a>. And, No, its not a <a href="http://cuil.com">Cuil </a>ripoff <img src='http://riteshnayak.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Cuil is way cuiler. This is just an optimization on the traditional Yahoo search that I liked using. </p>
<p>&nbsp;If you are using a widescren display or a theatrical display with resolution sizes bigger than 1024 *768 then use <a href="http://www.riteshnayak.com/morey_intro.html">More Y! </a>. More Y! displays thirty results in three columns and looks legible on widescreen displays (no guarantees for normal displays though). Whats even more handy is that More Y! can be integrated into your favorite browser (Firefox 2+ or Internet Explorer 7+ ) by following the instruction provided on the More Y! page. Its a cinch.</p>
<p>&nbsp;Have fun with <a href="http://riteshnayak.com/morey_intro.html">More Yahoo!</a> and do reply back with comments and feedback. </p>
<p><!--adsense--><br />
   <!-- technorati tags begin -->
<p style="font-size:10px;text-align:right;">Tags: <a href="http://technorati.com/tag/boss" rel="tag">boss</a>, <a href="http://technorati.com/tag/search" rel="tag">search</a>, <a href="http://technorati.com/tag/%20More%20Y!" rel="tag"> More Y!</a>, <a href="http://technorati.com/tag/%20yahoo" rel="tag"> yahoo</a>, <a href="http://technorati.com/tag/%20itsmeritesh" rel="tag"> itsmeritesh</a></p>
<p><!-- technorati tags end --></p>

<p><a href="http://feedads.g.doubleclick.net/~a/OSb-1wMoaadMUvEzWdjhR3o8bv0/0/da"><img src="http://feedads.g.doubleclick.net/~a/OSb-1wMoaadMUvEzWdjhR3o8bv0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OSb-1wMoaadMUvEzWdjhR3o8bv0/1/da"><img src="http://feedads.g.doubleclick.net/~a/OSb-1wMoaadMUvEzWdjhR3o8bv0/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/08/06/more-y-search-for-the-widescreen/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/08/06/more-y-search-for-the-widescreen/</feedburner:origLink></item>
		<item>
		<title>Yahoo BOSS – simple, open and awesome</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/aqDVcurpwPk/</link>
		<comments>http://riteshnayak.com/blog/2008/08/05/yahoo-boss-simple-open-and-awesome/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 09:56:45 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Tips,Tricks and code]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/2008/08/05/yahoo-boss-simple-open-and-awesome/</guid>
		<description><![CDATA[Reached home early yesterday and read an article about Yahoo BOSS and its open nature. In my effort to kill time, till dinner, I sat and read through the documentation for BOSS and it turns out its the easiest open search ever. I used the Google Coop as my site search but, somehow the techie [...]]]></description>
			<content:encoded><![CDATA[<p>Reached home early yesterday and read an article about <a href="http://feedproxy.google.com/%7Er/Techcrunch/%7E3/JoKwzo5lCRc/">Yahoo BOSS and its open nature</a>. In my effort to kill time, till dinner, I sat and read through the <a href="http://developer.yahoo.com/search/boss/boss_guide/">documentation for BOSS</a> and it turns out its the easiest open search ever. I used the <a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=3&amp;url=http%3A%2F%2Fwww.google.com%2Fcoop%2Fcse%3Fcx%3D010687943935697476799%253Awtrvyq17qyc&amp;ei=NCKYSPGACYryiQHQx7DODw&amp;usg=AFQjCNFAAqTnZaM6oSIoYfTqv5PI3CkiHw&amp;sig2=h_OGhGhp5-fguiMIQH2C1Q">Google Coop as my site search</a> but, somehow the techie inside me couldn&#8217;t rest at the thought of someone else doing the tech for me. BOSS looked really tempting with its good results and recent indexes; I sat down to build my site search.<br />
<a href="http://developer.yahoo.com/search/boss/"><img style="width: 498px; height: 121px;" src="http://l.yimg.com/a/i/ydn/boss/boss_info4.gif" border="0" alt="" /></a></p>
<p>BOSS is simple. Really really simple and can do wonders if you are planning to build a search engine with your own flavor. Unlike other searches, BOSS gives you XML/JSON, meaning you can re-order results and present them in any way you like. Add flash, css, javascript, canvas elements whatever to build that unique search experience. After the <a href="http://cuil.com">cuil</a> ripoff Yuil, which got taken down and was relaunched again as <a href="http://4hoursearch.com">4Hoursearch</a> (why did they call it that ? figure it out Einstein !!), I was sure BOSS would be easy, but didn&#8217;t know it would be this easy.</p>
<p>Its only recently that I started learning Python, and I suck at it,  so I picked my old favorite PHP as the language of choice ( I suck at PHP too, but suck less compared to Python). Got myself an <a href="http://developer.yahoo.com/wsregapp/">Application ID to use BOSS.</a> Used PHP SimpleXML parser to get a URL of choice and Voila, I had my results in an array. Wrote some really rudimentary CSS to match the aesthetics of my site and my site search was done .</p>
<p><a href="http://riteshnayak.com/boss.php">Check out my Yahoo BOSS powered site search here !!</a></p>
<p>If it wasn&#8217;t for my crappy PHP skill level, Im sure I could have wrapped up the entire thing, right from &#8220;Duh, what is BOSS ?&#8221;  to the implementation, in under an hour. If I do find more time to kill whilst I wait for dinner, I shall experiment with different displays for search results from BOSS. <a href="http://developer.yahoo.com/search/boss/">Y! BOSS</a> is truly open and in keeping with the Open Source spirit, I have shared my rudimentary site search code. You wont believe it but the code , with proper convention, HTML and CSS comes up to <span style="font-weight: bold;">65 lines</span> . Isn&#8217;t it awesome ??</p>
<p><a href="http://riteshnayak.com/boss_src.zip">Get the code for site search here.</a></p>
<p>Another wonderful manifestation of this concept is that you can now build custom search engines that will search only the sites that you catalog for information you need. Check out Y! BOSS.<br />
<!--adsense--></p>
<p><!-- technorati tags begin --></p>
<p style="font-size:10px;text-align:right;">Tags: <a rel="tag" href="http://technorati.com/tag/yahoo">yahoo</a>, <a rel="tag" href="http://technorati.com/tag/BOSS">BOSS</a>, <a rel="tag" href="http://technorati.com/tag/%20sitesearch"> sitesearch</a>, <a rel="tag" href="http://technorati.com/tag/%20search"> search</a></p>
<p><!-- technorati tags end --></p>

<p><a href="http://feedads.g.doubleclick.net/~a/crNMja8umOkNT1h8wn2VTHpeY8c/0/da"><img src="http://feedads.g.doubleclick.net/~a/crNMja8umOkNT1h8wn2VTHpeY8c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/crNMja8umOkNT1h8wn2VTHpeY8c/1/da"><img src="http://feedads.g.doubleclick.net/~a/crNMja8umOkNT1h8wn2VTHpeY8c/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/08/05/yahoo-boss-simple-open-and-awesome/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/08/05/yahoo-boss-simple-open-and-awesome/</feedburner:origLink></item>
		<item>
		<title>Redesigning interfaces: what facebook and delicious got right</title>
		<link>http://feedproxy.google.com/~r/technayak/~3/nz-dtEbefAc/</link>
		<comments>http://riteshnayak.com/blog/2008/08/01/redesigning-interfaces-what-facebook-and-delicious-got-right/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 12:04:01 +0000</pubDate>
		<dc:creator>Ritesh</dc:creator>
				<category><![CDATA[Architecture - Design]]></category>

		<guid isPermaLink="false">http://riteshnayak.com/blog/2008/08/01/redesigning-interfaces-what-facebook-and-delicious-got-right/</guid>
		<description><![CDATA[I have like two new interface changes in the recent past. One being the new Facebook interface and more recently (ie today) the del.icio.us page. Both these interfaces have one thing in common, putting the most essential information out where you would need them and more importantly break through the clutter. 
&#160;Lets take the example [...]]]></description>
			<content:encoded><![CDATA[<p>I have like two new interface changes in the recent past. One being the new Facebook interface and more recently (ie today) the del.icio.us page. Both these interfaces have one thing in common, putting the most essential information out where you would need them and more importantly break through the clutter. </p>
<p>&nbsp;Lets take the example of facebook. The apps killed the facebook profile page. There were days when a single page would take 15 minutes to load thanks to the 50 odd apps that people had added to their profiles. Facebook&#8217;s new design rocks coz they have removed the clutter. Facebook&#8217;s usp, the newfeed, is what is shown as the profile , which is nice considering you get to see what the person you are seeing is upto recently. The apps have moved to a completely new page which means, no clutter <img src='http://riteshnayak.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Also the profile information, which people hardly change is gone into another page. Another cool addition I saw is the &#8220;What are you doing now ?&#8221; is highlighted and big. Given the run twitter is having with its fans, Im sure facebook realizes that micotexting about yourself is the rage right now and integrates that at the head of your homepage. Pretty ingenious if you think about it. Not all redesigns work , for ex , I hated the analytics redesign for the first few days and so was the redesign of wordpress but regular usage and some groking made me very comfortable with the interface. When you are redesigning interfaces especially for sites like flickr, facebook then it becomes essential that you get a value add and Facebook certainly nailed this one. </p>
<p>&nbsp;Now lets go back to del.icio.us. Firstly the dots are off and you can access it as delicious.com, which saves me the trouble of explaining people the position of the dots in the url. I like the old del.icio.us and its UI. It was very basic, no frill, plain text based UI. The reason was probably the speed which it would work. But one thing that annoyed me was the clutter.The URL, Description, tags, other taggers, edit&nbsp; and remove links etc were fit into a really small space; the new UI had to break this clutter.&nbsp; The other problem was the tag cloud on the right. The older version would buch up tags and it would be difficult to spot the tags if you had more than say 200 which is common for most delicious uses. The new UI does a wonderful job of reducing the clutter. All the above mentioned items of the URL are still present in the same space and look darling. The tag cloud has also become more navigable and the social aspect of the site is utilized superbly if you see your networks page. </p>
<p>&nbsp;I am now looking at some of the properties that I have built that can possibly be redesigned for better usage.<br />
<!--adsense--><br />
   <!-- technorati tags begin -->
<p style="font-size:10px;text-align:right;">Tags: <a href="http://technorati.com/tag/interfaces" rel="tag">interfaces</a>, <a href="http://technorati.com/tag/redesign" rel="tag">redesign</a>, <a href="http://technorati.com/tag/%20facebook" rel="tag"> facebook</a>, <a href="http://technorati.com/tag/%20delicious" rel="tag"> delicious</a></p>
<p><!-- technorati tags end --></p>

<p><a href="http://feedads.g.doubleclick.net/~a/r_g_QLNo29ZtMm5w4hYgYPy-TRc/0/da"><img src="http://feedads.g.doubleclick.net/~a/r_g_QLNo29ZtMm5w4hYgYPy-TRc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/r_g_QLNo29ZtMm5w4hYgYPy-TRc/1/da"><img src="http://feedads.g.doubleclick.net/~a/r_g_QLNo29ZtMm5w4hYgYPy-TRc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://riteshnayak.com/blog/2008/08/01/redesigning-interfaces-what-facebook-and-delicious-got-right/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://riteshnayak.com/blog/2008/08/01/redesigning-interfaces-what-facebook-and-delicious-got-right/</feedburner:origLink></item>
	</channel>
</rss>
