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

<channel>
	<title>Engineering a Software Startup</title>
	<atom:link href="http://stealthmode.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://stealthmode.wordpress.com</link>
	<description>Real-world wisdom for a better (and successful) startup experience</description>
	<lastBuildDate>Sat, 17 Oct 2009 18:16:03 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='stealthmode.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/0ddf043cd7db60c85ee2158ae1924845?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Engineering a Software Startup</title>
		<link>http://stealthmode.wordpress.com</link>
	</image>
			<item>
		<title>Outsource Your Development Process Tools</title>
		<link>http://stealthmode.wordpress.com/2009/06/23/21/</link>
		<comments>http://stealthmode.wordpress.com/2009/06/23/21/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 21:13:36 +0000</pubDate>
		<dc:creator>Rajeev Kalavar</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[Startup DO's]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[outsource]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://stealthmode.wordpress.com/?p=21</guid>
		<description><![CDATA[A Process is a well defined set of actionable steps (including best practices) explicitly designed to improve the efficiency of the organization. No more. No less. And to ensure that, your first step is to make sure you have the right tools. From a product development perspective, the obvious and critical process tools for are:

 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=21&subd=stealthmode&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A Process is a well defined set of actionable steps (including best practices) explicitly designed to improve the efficiency of the organization. No more. No less. And to ensure that, your first step is to make sure you have the right tools. From a product development perspective, the obvious and critical process tools for are:</p>
<ul>
<li> <em>Configuration Management:</em> Source Control System providing the ability to manage versions/revisions of source code. This enables tracking of code-changes, rollbacks, managing branches, releases etc.</li>
<li> <em>Quality Assurance:</em> Bug Tracking System that helps track software bugs generated through quality assurance tests.</li>
<li> <em>Project Management:</em> Task/Resource tracking and planning system that helps in the planning of tasks, tracking deliverable and optimizing task allocations.</li>
</ul>
<p>Choices for the tools are pretty standard; the selection drivers are for the tool to perform it&#8217;s intended function well, not hinder development, and be cost effective. For version control, the choice is generally Subversion since it addresses many of CVS&#8217;s drawbacks, is extremely easy to use, and in TortoiseSVN there exists a great client tool for the commandline-averse. For bug tracking, there&#8217;s Bugzilla, and for project management, it generally comes down to Trac and/or Basecamp (from 37Signals). While there are other more comprehensive tools out there, you can get almost everything done with these, and they are FREE! And that&#8217;s a magic word for any startup!</p>
<p>Process is wonderful because it provides a definition of how things get done. The team is generally more efficient, new hires have a means to understanding the method to the madness, and when the day comes where you&#8217;re successful enough that ISO compliance matters, you already have a leg up generating that audit trail! But, as someone with experience working for a  30,000 person strong telecommunications giant, 100 person growth mode company, and a 5 person garage stealth venture, take it from me that one shoe does NOT fit all. <strong>You should (read have to) tailor your processes for the environment you&#8217;re in if you don&#8217;t want it to be a mill-stone around your neck.</strong></p>
<p>As an example: A lot of entrepreneurs, especially those with a big company background, want to do things in-house as they start off. A friend of mine who started his company some years back had some pain to share &#8211; Of course he didn&#8217;t have the budget for an IT staff, so he used his developers for the initial setup of these tools. It took about 3 weeks to set things up, and it was time to get to product development!</p>
<p><strong>Points Of Pain:</strong><br />
For the first couple of months, this worked well for them. They&#8217;d setup VPN connectivity primarily to enable their remote developers. To access any of these tools, they&#8217;d diligently vpn in, check their bug-list, access the code, and work till the wee hours of the morning. But as they started to grow their development team, issues started to crop up. Pretty soon, what started as an irritating itch turned to a full blown hemorrhage. And here&#8217;s why:</p>
<ul>
<li> With new versions of Subversion or Bugzilla that were released, patches needed to be applied. In addition, for every new hire, configuration files needed to be edited, access control scripts needed to be modified, and access issues resolved. For all these tasks, precious premium development cycles were wasted.</li>
<li> Many of their developers were Linux users, and the windows based VPN setup was a bane of their existence. Not a day went by when they didn&#8217;t have VPN connectivity issues, and developers could not access code, sometimes for hours.</li>
<li> With their VPN setup and no dedicated IT function, security was always a concern. Was the network safe enough? Was it configured right?</li>
<li>For a distributed team, notifications were critical, when bugs were fixed for the Q/A team, and when reopened for the development team, as well as management to keep track of progress. In addition, emails related to checkin-diffs are extremely useful in getting a sense of what&#8217;s fixed, and cursory code review. Integrating your email system into this setup and making it work right isn&#8217;t particularly easy.</li>
</ul>
<p>The world is indeed flat. As your engineering organization grows and gains a certain maturity, there will come the time when your engineers will be dispersed, located around the world. Not being able to access code or checkin new versions, or receive notifications reliably can seriously destabilize your development momentum. The last thing you want when starting off is to have your development team stymied by the very processes you&#8217;ve setup to assist them.</p>
<p><strong>What should you do?<br />
</strong>Process is definitely required. The question to ask yourself is whether you want the tools that enable it to reside in-house. In today&#8217;s distributed team environment, I question whether that&#8217;s good wisdom, because there are some great alternatives. Companies have been established to essentially solve the problems of the nature described above, faced by every startup. They provide you with most process tools, and due to economies of scale, their fee structure is remarkably competitive. For example we used <a href="http://www.cvsdude.com">CVSDUDE.com</a>, dedicated to providing Bugzilla, Subversion and Trac for your projects. They have some easy to use administrative tools that make configuration changes a breeze, but most importantly, they have a very responsive customer service team. In addition, you have complete control over different branches, how you want to expose them, teams you want to expose them to, etc.</p>
<p>My recommendation is to give serious thought to outsourcing your development processes if you can. There are many choices out there. It can truly liberate your development team and allows you to focus on what&#8217;s important &#8211; developing an outstanding product!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stealthmode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stealthmode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stealthmode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stealthmode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stealthmode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stealthmode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stealthmode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stealthmode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stealthmode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stealthmode.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=21&subd=stealthmode&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://stealthmode.wordpress.com/2009/06/23/21/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/364c9eb55be1771444e6650c96cec6e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arkay</media:title>
		</media:content>
	</item>
		<item>
		<title>Is it Healthy to be Stealthy?</title>
		<link>http://stealthmode.wordpress.com/2008/11/08/is-it-healthy-to-be-steathy/</link>
		<comments>http://stealthmode.wordpress.com/2008/11/08/is-it-healthy-to-be-steathy/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 03:32:01 +0000</pubDate>
		<dc:creator>Rajeev Kalavar</dc:creator>
				<category><![CDATA[Startup DO's]]></category>
		<category><![CDATA[80-20]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[startup mistakes]]></category>
		<category><![CDATA[stealth]]></category>
		<category><![CDATA[stealthmode]]></category>

		<guid isPermaLink="false">http://stealthmode.wordpress.com/2007/11/08/is-it-healthy-to-be-steathy/</guid>
		<description><![CDATA[I am often asked when we decided to go &#8216;live&#8217; with our product and what the factors were that prompted our decision to get out of stealth mode.
Now, from a business perspective, this really depends on what your product is trying to accomplish &#8211; If you have an idea so unique, different yet valuable that no one [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=5&subd=stealthmode&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I am often asked when we decided to go &#8216;live&#8217; with our product and what the factors were that prompted our decision to get out of stealth mode.</p>
<p>Now, from a business perspective, this really depends on what your product is trying to accomplish &#8211; If you have an idea so unique, different yet valuable that no one has (as yet) thought of capitalizing on through the Internet, it&#8217;s a no-brainer; you should try and go live as soon as possible. Never underestimate the value of the First Mover Advantage.</p>
<p>But most times, you&#8217;ll find there&#8217;s already something similar out there, and your competitiveness will very likely involve differentiation with existing solutions &#8211; maybe you have that killer function that will get users to abandon the competition in droves to adopt your solution, or your application is so well designed as to make an existing very convoluted process as simple as 1-2-3. It&#8217;s in situations like these that you may get stressed by the thought that going live early will allow the competition to &#8217;steal&#8217; your idea, and you might be tempted/forced to delay it until you&#8217;ve got the base functionality your competition already has, and then adding the differentiation factor that makes it better.<span id="more-5"></span></p>
<p>I&#8217;ll say this: <strong>It&#8217;s never too early</strong>. There are the obvious reasons, namely:</p>
<ol>
<li>Getting your product out early allows you to identify and address process issues (such as deployment) early on, and fine tune it before the stakes get too high.</li>
<li>The sooner you get it out there, the quicker your user base will start to build. Ultimately, in the on-line world, success is driven by the users who adopt your product. And unless you have a revolutionary product capable of spreading virally, user adoption takes time especially when you don&#8217;t have those marketing dollars or a CEO with an established &#8216;Old Boy&#8217; network to fall back on (which you likely won&#8217;t when you&#8217;re just starting off)</li>
<li>Yes, you&#8217;ve researched and identified an opportunity. A big one. Which is why you&#8217;ve ventured to start your own company. And you&#8217;re confident the product you&#8217;re putting out there is exactly what your customers need. But how can you be sure that the time and effort invested in developing this product will have the adoption rate you expect and that it indeed services a customer need? How can you know? Well, you can&#8217;t. And so the best way is to ask for feedback from the users you&#8217;re targeting by getting something out there as quickly as possible so you can collect and react to this feedback.</li>
<li>Having a product in use and available to play with is the best way you can convince potential VCs and angel investors that this is a serious endeavour and that your team can execute quickly, and execute well.</li>
<li>Having a product on-line allows you to evangelize easier.</li>
</ol>
<p>These are the tangibles. Then, there are the intangibles that are equally important, such as:</p>
<ol>
<li>The collective sense of achievement that the team&#8217;s putting products out there that are actually being used.</li>
<li>The collective pride when you get your 1000th user signed up, and looking forward to the day when your 100,000th will.</li>
</ol>
<p>We were aware of these, so in our very first &#8216;founding team&#8217; meeting, we decided our strategy would be to get something out in 2 months, come hell or high water. And once we signed up for it, every decision we made, every step we took, every task we defined was designed to help us achieve that goal. We applied the 80-20 rule indiscriminately to almost every blocking issue in pursuit of this goal.</p>
<p>1 year down the line, we&#8217;ve had 6 major releases, 4 diverse on-line products, our user base continues to grow, and every improvement is driven through the feedback by customers who are actually using our product. So we did indeed see the benefits we&#8217;d expected from going live early. <strong>But we saw another benefit, the most intangible of them all, yet in my opinion the most important &#8211; we saw a team executing with clinical efficiency, focused and driven to meet the next milestone. And I would attribute it to this one decision we made for the reasons below.</strong></p>
<p>Bad habits die hard, but so do good habits. Our team&#8217;s ability to execute didn&#8217;t happen overnight &#8211; it always takes time to get everyone on a team aligned, and we had our teething problems. But 9 iterations on, and everyone has imbibed this focused lean-n-mean approach to almost every issue we tackle, and I strongly believe that the decision to get out of stealth as soon as possible was probably the single most important factor in getting our team aligned to this agile philosophy. It forced us to make the tough process and engineering decisions much sooner than we would normally have, and that continues to shape our team values, our attitudes and our focus that we apply on a day-to-day basis one year on.</p>
<p>You&#8217;d be surprised how even the simplest of decisions you make during the early days can affect the team, the project, and ultimately the fate of the company &#8211; I&#8217;ve seen companies that chose a different approach and started off with a plan to deliver an architecturally brilliant pluggable scalable framework in the first 3 months and then build on that platform in an agile fashion. I believe by focusing on breadth and starting slow, they&#8217;ve already started off at a disadvantage - while some still succeed, most struggle to gain momentum which is critical during the early days.</p>
<p>So there you have it. Now that you&#8217;ve read this post, it has hopefully given you the necessary impetus to push, and push hard to go &#8216;public&#8217; with your application. You&#8217;ve got a great idea and the right resources. But how you start off the block is critical to how your team will execute in the coming months and years.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stealthmode.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stealthmode.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stealthmode.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stealthmode.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stealthmode.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stealthmode.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stealthmode.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stealthmode.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stealthmode.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stealthmode.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=5&subd=stealthmode&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://stealthmode.wordpress.com/2008/11/08/is-it-healthy-to-be-steathy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/364c9eb55be1771444e6650c96cec6e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arkay</media:title>
		</media:content>
	</item>
		<item>
		<title>Prioritizing for Success; Living, Breathing 80-20 &#8211; Part II</title>
		<link>http://stealthmode.wordpress.com/2008/06/13/living-breathing-80-20-part-ii/</link>
		<comments>http://stealthmode.wordpress.com/2008/06/13/living-breathing-80-20-part-ii/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 19:58:17 +0000</pubDate>
		<dc:creator>Rajeev Kalavar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Startup DO's]]></category>
		<category><![CDATA[80-20]]></category>
		<category><![CDATA[efficiency]]></category>
		<category><![CDATA[Pareto's Principle]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[prioritizing]]></category>

		<guid isPermaLink="false">http://stealthmode.wordpress.com/2007/11/13/living-breathing-80-20-part-ii/</guid>
		<description><![CDATA[In my previous post, I&#8217;d highlighted the issues we faced when we&#8217;d first set out to prioritize our gargantuan set of requirements, and introduced you to &#8220;Pareto&#8217;s Principle&#8221;, also referred to as the 80-20 rule. So How did the 80-20 rule help us? How did we use it to guide us through all those competing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=7&subd=stealthmode&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my <a title="Living, Breathing 80-20 - Part I" href="http://stealthmode.wordpress.com/2008/03/11/living-breathing-80-20/">previous post</a>, I&#8217;d highlighted the issues we faced when we&#8217;d first set out to prioritize our gargantuan set of requirements, and introduced you to &#8220;Pareto&#8217;s Principle&#8221;, also referred to as the 80-20 rule. So How did the 80-20 rule help us? How did we use it to guide us through all those competing requirements?</p>
<p>As I&#8217;d mentioned then, Pareto&#8217;s principle inherently addresses efficiency and the Return on Investment (ROI), and is applicable in almost all business and software engineering processes. Apply it judiciously, and you&#8217;d be surprised how well it can work to bring clarity and focus to a time-bound problem set.<span id="more-7"></span></p>
<p>Which we duly did. In our case, our customer base was homogeneous and of equal distribution (our payment model expected same payments for all customers, at least when we started off, so there wasn&#8217;t really a concept of a &#8216;high value&#8217; or &#8216;low-value&#8217; customer). The 20% customer-80% revenue rule thus wasn&#8217;t applicable in this context. So we asked ourselves other types of questions to help prioritize -</p>
<ul>
<li>What were the 20% features that would be used 80% of the time?</li>
<li>What were the 20% features that 80% of our customer base really cares about?</li>
</ul>
<p>And we chose requirements that satisfied these questions. It helped us whittle down our initial set of requirements to a manageable set. Now, if you&#8217;re really lucky your new subset will be doable in the time-lines you&#8217;ve set, and you don&#8217;t need to prioritize further. But sometimes, it&#8217;s just not possible. So you could:</p>
<ol>
<li>Re-prioritize the whittled down set by re-applying the above 80-20 rule to reduce the functional set further OR</li>
<li>Understand what the technical factors are that bloat the time-lines, and tackle it by applying a different 80-20 rule, this time on the engineering front. 80% of engineering effort goes in 20% of the features. So drop these 20% features, and you&#8217;ve just saved 80% of the engineering effort.</li>
</ol>
<p>Ultimately, you have to decide what works best for you. <strong>We went with applying feature-use trade-off once on the domain front, followed by a effort-feature trade-off on the technical front to define a feature set for each iteration. It worked well for us.</strong></p>
<p>I agree this all sounds a bit complicated, but really, it&#8217;s not that difficult once you start executing on it. You don&#8217;t have to be exact, it&#8217;s just a process that if you follow diligently, <strong>you know you&#8217;ll always be delivering maximum benefit to your end customer with the limited resources and time you&#8217;ll always have.</strong></p>
<p>We&#8217;ve learned to apply this 80-20 rule to all aspects of our decision making when we are faced with competing priorities. Not only has it helped us close on competing issues quickly, but has also contributed to the overall efficiency of our team.<br />
~~<br />
Some additional notes:</p>
<p>A] All of what I have mentioned above is common-sense and there&#8217;s nothing new in what I am advocating. The reason I thought to share this experience was because:</p>
<ol>
<li>Knowing something and applying it are two entirely different things. Sometimes, these things just lie dormant somewhere in the sub-conscious, and an external stimulus is required to get us to &#8216;wake-up&#8217; and start applying it. Hopefully this reading does that for you.</li>
<li>It was instrumental in helping me (and the team) execute with clarity and focus. If we hadn&#8217;t ruthlessly applied this in our day to day activities, I doubt we would have made the progress we have.</li>
</ol>
<p>B] I often wonder why it was difficult for me to prioritize during those early days when I&#8217;d been doing it with ease (and success) in my day job &#8211; I think it may have been due to the fact that as part of the founding team, my emotional investment in it was far greater than in any other past project I may have worked on, and this made it harder to be impartial. And maybe that&#8217;s why 80-20 works so well &#8211; it take the emotion out of the equation!</p>
<p>C] Interpretation of the 80-20 is key to successfully applying it. There&#8217;s this joke about a software engineer who was really sloppy in his coding. On confronting him as to why there were always loose ends in his code, he replied &#8220;I was just following the 80-20 rule&#8221;! Be judicious and be thoughtful in how you apply it, and 80-20 will work wonders for you.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/stealthmode.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/stealthmode.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stealthmode.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stealthmode.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stealthmode.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stealthmode.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stealthmode.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stealthmode.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stealthmode.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stealthmode.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stealthmode.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stealthmode.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=7&subd=stealthmode&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://stealthmode.wordpress.com/2008/06/13/living-breathing-80-20-part-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/364c9eb55be1771444e6650c96cec6e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arkay</media:title>
		</media:content>
	</item>
		<item>
		<title>Prioritizing for Success; Living, Breathing 80-20 &#8211; Part I</title>
		<link>http://stealthmode.wordpress.com/2008/03/11/living-breathing-80-20/</link>
		<comments>http://stealthmode.wordpress.com/2008/03/11/living-breathing-80-20/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 01:47:46 +0000</pubDate>
		<dc:creator>Rajeev Kalavar</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[Startup DO's]]></category>
		<category><![CDATA[80-20]]></category>
		<category><![CDATA[competing requirements]]></category>
		<category><![CDATA[Pareto's Principle]]></category>
		<category><![CDATA[prioritizing]]></category>
		<category><![CDATA[trivial many]]></category>
		<category><![CDATA[vital few]]></category>

		<guid isPermaLink="false">http://stealthmode.wordpress.com/2007/11/11/living-breathing-80-20/</guid>
		<description><![CDATA[One of the early challenges we faced was trying to define the scope of V1 of our product &#8211; the first set of on-line services we would make available to our target base.
A startup is conceived as a result of the founders identifying a set of significant pain-points in a particular domain validated through market [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=6&subd=stealthmode&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>One of the early challenges we faced was trying to define the scope of V1 of our product &#8211; the first set of on-line services we would make available to our target base.</p>
<p>A startup is conceived as a result of the founders identifying a set of significant pain-points in a particular domain validated through market research. Since requirements originate from these, all requirements initially assume equal significance, and it&#8217;s tempting to start to build a system that does it all from the get-go. Of course, the reality is you have a very finite and limited set of development resources, and you improve your chances of success by biting no more than you can chew.</p>
<p>When we got off the blocks, it was no different &#8211; we had a vast set of requirements, and we knew we had to prioritize if we wanted V1 out in 2 months. We were thoroughbred professionals with experience in executive management, software development and systems engineering working for fortune 500 companies. We prioritized on issues to maximize effectiveness every day; and we were good at it. How hard could it be?<span id="more-6"></span></p>
<p>Hard enough! As we started defining our application requirements, we were overwhelmed by the competing requirements; it almost seemed like we had to sacrifice a leg to keep an arm; chop off the kidneys to keep the liver; at the end of our first requirements meeting, it almost  felt like for our product to be valuable to our customers, there was nothing we could drop out of V1. And we were just discussing the domain requirements &#8211; we&#8217;d not even got to the technical and non-functional requirements yet.</p>
<p>In these situations, there&#8217;s one thing to do, and that&#8217;s to look to Pareto for guidance! And so we did.</p>
<blockquote><p>&#8220;The Pareto principle (also known as the 80-20 rule) states that, for many events, 80% of the effects comes from 20% of the causes. The original observation was in connection with income and wealth. Italian economist Vilfredo Pareto noticed that 80% of Italy&#8217;s wealth was owned by 20% of the population. He then carried out surveys on a variety of other countries and found to his surprise that a similar distribution applied.&#8221; &#8212; <strong>Wikipedia</strong></p></blockquote>
<p>Dr. Joseph Duran, another management specialist observed that such similar distribution patterns existed in many environments (such as business, software engineering, project planning, etc.) that require the application of an &#8216;input&#8217; (investment of time, labor, effort) to generate some &#8216;output&#8217; (quantity, quality, revenue, etc). Recognizing the universality, he coined the term &#8220;vital few and the trivial many&#8221;, and also labeled this observation the &#8220;Pareto Principle&#8221;.</p>
<p>There are many good articles on the web that explain the Pareto Principle, it&#8217;s application and it&#8217;s value, so I won&#8217;t delve into it much further, except to highlight some real-world examples that validate this principle, namely:</p>
<p>20% of bugs cause 80% of crashes<br />
20% of the workers produce 80% of the results<br />
20% of products generate 80% of revenues<br />
20% of the inventory occupies 80% of the warehouse<br />
20% of time can be used to address 80% of daily chores<br />
20% of customers generate 80% of the revenues<br />
20% of tests can detect 80% of system failures<br />
etc., etc.</p>
<p><strong>Pareto&#8217;s principle inherently addresses efficiency and the Return on Investment (ROI), and is applicable in almost all business and software engineering processes. Apply it judiciously, and you&#8217;d be surprised how well it can work to bring clarity and focus to a time-bound problem set.</strong></p>
<p>Coming up&#8230;. In my <a title="Living, Breathing 80-20 - Part II" href="http://stealthmode.wordpress.com/2008/06/13/living-breathing-80-20-part-ii/">next post</a>, I&#8217;ll explain how we  applied the 80-20 rule it to solve our requirements and iteration planning&#8230; Stay tuned!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/stealthmode.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/stealthmode.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stealthmode.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stealthmode.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stealthmode.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stealthmode.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stealthmode.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stealthmode.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stealthmode.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stealthmode.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stealthmode.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stealthmode.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=6&subd=stealthmode&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://stealthmode.wordpress.com/2008/03/11/living-breathing-80-20/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/364c9eb55be1771444e6650c96cec6e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arkay</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby On Rails Cluster On Ubuntu using VMWare</title>
		<link>http://stealthmode.wordpress.com/2007/12/09/rails-cluster-on-ubuntu-using-vmware/</link>
		<comments>http://stealthmode.wordpress.com/2007/12/09/rails-cluster-on-ubuntu-using-vmware/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 06:46:43 +0000</pubDate>
		<dc:creator>Rajeev Kalavar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[deployment topology]]></category>
		<category><![CDATA[HP Pavilion dv9000]]></category>
		<category><![CDATA[Mongrel]]></category>
		<category><![CDATA[Mongrel cluster]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[VMWare]]></category>

		<guid isPermaLink="false">http://stealthmode.wordpress.com/2007/12/09/rails-cluster-on-ubuntu-using-vmware/</guid>
		<description><![CDATA[Earlier, I had shared my notes on setting up a development environment (Rails, Java and tools) on Ubuntu Linux. There&#8217;s another aspect to my setup that I think would be useful to share, which is how I have currently built my clustered server (test) environment. 
My Development Environment: 
My development machine is an HP Pavilion dv9000 Windows Vista Notebook. It&#8217;s a pretty powerful machine, so I&#8217;ve [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=12&subd=stealthmode&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Earlier, I had shared my notes on setting up a development environment (Rails, Java and tools) on Ubuntu Linux. There&#8217;s another aspect to my setup that I think would be useful to share, which is how I have currently built my clustered server (test) environment. </p>
<p><strong>My Development Environment:</strong> </p>
<p>My development machine is an HP Pavilion dv9000 Windows Vista Notebook. It&#8217;s a pretty powerful machine, so I&#8217;ve also installed VMWare Workstation on it and defined  3 VMWare slices each with Ubuntu 7.04. One slice is my dedicated Rails development environment, while the other 2 represent my ‘mongrel cluster’. Each slice has the Ruby and Rails eco-system, the LAMP stack (Linux, Apache, MySQL, Php), PhpMyAdmin MySQL client and some additional graphical tools, Eclipse, Java, Subversion, Mozilla Thunderbird, FTP Service.<span id="more-12"></span></p>
<p><strong>Machine details:</strong></p>
<ul>
<li>Windows Vista Home Premium</li>
<li>HP Pavilion dv9000</li>
<li>CPU: Intel Centrino Core 2 Duo (T5600 @1.83 GHz)</li>
<li>RAM: 2046 MB</li>
<li>Graphics Card: nvidia GeForce 7600</li>
</ul>
<p><strong>Why VMWare:</strong></p>
<p>I’ve used VMWare extensively in the past, especially their ESX Servers. It’s an amazing platform, and VMWare (the company) has done a great job with their virtualization software portfolio. With hardware getting more powerful by the day, it just makes sense to use Virtualization software to improve it’s usage efficiency and ROI.</p>
<p>I had the option of dual-booting my 1.83GHz/2Gb Vista machine, but I opted for a VMWare setup instead. The advantages of using VMWare to host Operating Systems are many fold:</p>
<ol>
<li>Firstly, you can easily switch between your host OS (in my case Vista), and a particular VMWare slice. I use Microsoft Outlook 2007 for my emails, calendar and meetings. I depend on it, and enjoy the application enough to not want to move to something else. Using a VMWare slice for Ubuntu allows me to switch from my development environment to my business environment as easily as (Ctrl+Alt), with (Alt+Tab).</li>
<li>You can host multiple slices running in parallel. So I could not only configure a development Ubuntu setup, but have two additional slices with a mongrel cluster setup so I have a full fledged deployment topology, all on my Vista box.</li>
<li>I found it very easy to install the Ubuntu OS on a VMWare slice. Pop the CD in, and VMWare recognizes all the necessary ports, networks and drives, and the Guest OS can configure itself appropriately by detecting the necessary hardware. when I installed Ubuntu on my first VM slice, I wasn’t sure how easy it would be to configure Ubuntu so it would work with my wireless setup. It was a breeze &#8211; I had to do absolutely NOTHING.</li>
<li>You can clone or take snapshots of an existing setup and use that as the base for deploying new VMWare slices. Your new image will be a replica of the one that you cloned or snapshot’ed. You don’t have to go through the process of installing everything from scratch.  I setup my development environment on ‘Ubuntu Rails 1′, cloned it and created ‘Ubuntu Cluster 1′, setup the mongrel cluster and some server specific programs, then cloned that to create ‘Ubuntu cluster 2′. All through some simple clicks.</li>
<li>Taking snapshots allows you to backup your image, so if you mess up, you can always revert to the last snapshot/checkpoint.</li>
<li>Finally, I have everything on 1 machine. Where-ever I go, my vista programs, Rails development environment as well as my deployment environment go with me!</li>
</ol>
<p>This is a convenient alternative to having multiple hardware boxes dedicated to your cluster. Of course, i don&#8217;t recommend this for serious performance measurement and load testing and it&#8217;s definitely not a replacement for your &#8216;pre-production&#8217; test environment, but it&#8217;s been pretty helpful for me when trying to run some light load tests during initial analysis of performance bottlenecks.</p>
<p>So give it a try&#8230; I&#8217;m sure you&#8217;ll enjoy your new &#8216;testlab-in-a-box&#8217;.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/stealthmode.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/stealthmode.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stealthmode.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stealthmode.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stealthmode.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stealthmode.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stealthmode.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stealthmode.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stealthmode.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stealthmode.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stealthmode.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stealthmode.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=12&subd=stealthmode&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://stealthmode.wordpress.com/2007/12/09/rails-cluster-on-ubuntu-using-vmware/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/364c9eb55be1771444e6650c96cec6e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arkay</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting up Ubuntu Linux For Ruby On Rails Development</title>
		<link>http://stealthmode.wordpress.com/2007/12/09/setting-up-ubuntu-linux-for-development/</link>
		<comments>http://stealthmode.wordpress.com/2007/12/09/setting-up-ubuntu-linux-for-development/#comments</comments>
		<pubDate>Sun, 09 Dec 2007 17:36:37 +0000</pubDate>
		<dc:creator>Rajeev Kalavar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fiesty Fawn]]></category>
		<category><![CDATA[HP-Pavilion]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mongrel]]></category>
		<category><![CDATA[Mongrel cluster]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PhpMyAdmin]]></category>
		<category><![CDATA[Pligg]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[VMWare]]></category>

		<guid isPermaLink="false">http://stealthmode.wordpress.com/2007/12/09/setting-up-ubuntu-linux-for-development/</guid>
		<description><![CDATA[If you are planning on installing Ubuntu and setting it up for development but don&#8217;t know where to look, you&#8217;re in luck. Sometime back, I went through the trouble of installing a fresh Ubuntu7.0.4 (Fiesty Fawn)  in a VMWare slice and setting it up for some Rails development. I&#8217;d never worked with Ubuntu before, so I googled for help. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=11&subd=stealthmode&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you are planning on installing Ubuntu and setting it up for development but don&#8217;t know where to look, you&#8217;re in luck. Sometime back, I went through the trouble of installing a fresh Ubuntu7.0.4 (Fiesty Fawn)  in a VMWare slice and setting it up for some Rails development. I&#8217;d never worked with Ubuntu before, so I googled for help. And as always, I found a ton of crap mixed with a few nuggets of gold.</p>
<p>Good luck finding all the information you want in one document! I spent a whole weekend trying to mine the right information on the development stack and tools I needed. There are some good tutorials out there, but each deals with a specific task and you have to go through a fair set of links before you find the one for a particular topic that makes sense. <span id="more-11"></span></p>
<p>Took a bit of time, but eventually I got the environment I wanted and I was ready to rumble. I was keen on writing an uber-tutorial with all that I had learned to share on my blog, but that would have required some serious effort and time commitments at my end. Effort, no problem, but time, hmm&#8230; with 2 jobs, a blog and a baby on the way, that&#8217;s a luxury I just didn&#8217;t have. The next best option was to share the notes I had jotted down as I went through this process. So here it is &#8211; a collection of the steps I took during the install process (in sequence) with links to the articles on-line that I found very useful.</p>
<p><strong>The task:</strong></p>
<p>To set up a development environment (run-time and related tools) for developing Ruby On Rails and Java applications on a Ubuntu Linux Operating System.</p>
<p><strong>Why Ubuntu:</strong></p>
<p>Most in the Rails community either develop on Linux or Mac. I&#8217;ve almost never come across anybody who deploys Rails on a Windows setup in a production environment. By choosing Ruby On Rails as our technology stack, it was clear I&#8217;d need to start working with a Linux based development environment.</p>
<p>There are many different operating systems based on GNU/Linux: Debian, SuSE, Gentoo, RedHat, etc. Of the distros I researched, Debian seemed to be the flavor of choice for the relative newcomers to the Linux world. Debian has a powerful application packaging tool (named apt-get) that allows you to easily (and painlessly) install software, which has been Debian&#8217;s major claim to fame. Ubuntu is an offspring from the Debian distro that&#8217;s had a meteoric rise in the open source community primarily because of it&#8217;s Debian lineage, but more importantly because they make it super easy to install and use (they&#8217;ll even mail you a CD free of cost if you don&#8217;t want to download an ISO image and burn one for yourself). And because it&#8217;s based on Debian, it inherently supports the apt-get packaging tool. It also has a well defined 6 month release cycle, so it&#8217;s a stable and well-maintained platform.</p>
<p>Easy to install, easy to use, and the community was raving about it. I decided to jump on to the Ubuntu bandwagon as well!</p>
<p><strong>Steps:</strong> </p>
<p><u><strong>Installing Ubuntu7 (Fiesty Fawn)</strong></u></p>
<ol>
<li>Download and create the CD</li>
<li>Install via the CD.</li>
</ol>
<p><em>References:  </em><em><a href="http://www.ubuntu.com/getubuntu">http://www.ubuntu.com/getubuntu</a><br />
</em></p>
<p><strong><u>Installing the Lamp Stack</u></strong></p>
<p>1) Download and install packages using apt-get<br />
<em>$&gt; sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server<br />
</em>2) Check Status of PHP &#8211; Edit file phpinfo.php in Apache web-root and test<br />
<em>$&gt; sudo vim /var/www/phpinfo.php<br />
</em>3) Navigate to <a href="http://localhost/phpinfo.php">http://localhost/phpinfo.php</a>- ensure php info is available.<br />
<em> </em></p>
<p><em>References:</em><br />
<a href="http://www.ossgeeks.co.uk/?p=15">http://www.ossgeeks.co.uk/?p=15</a><br />
<a href="http://www.ctunion.com/node/22">http://www.ctunion.com/node/22</a></p>
<p><strong><u>Installing PhpMyAdmin</u></strong></p>
<p>1) Download and install phpMyAdmin mysql webclient. This is also available through apt-get<br />
<em>$&gt; sudo apt-get install phpmyadmin<br />
</em>2) Ensure phpmyadmin can work with the mysql database. Navigate to /var/www/phpmyadmin/config and edit config.inc.php<br />
<em>$&gt; sudo gedit /var/www/phpmyadmin/config/config.inc.php</em><br />
Change<br />
$cfg['Servers'][$i]['auth_type'] = &#8216;cookie&#8217;;<br />
To<br />
$cfg['Servers'][$i]['auth_type'] = &#8216;config&#8217;;<br />
Add<br />
$cfg['Servers'][$i]['username'] = &#8216;&lt;sql uname&gt;&#8217;;<br />
$cfg['Servers'][$i]['password'] = &#8216;&lt;password&gt;&#8217;;<br />
3) Navigate to phpmyadmin webclient and test: <a href="http://localhost/phpmyadmin">http://localhost/phpmyadmin</a></p>
<p><strong><u>IP information if you don&#8217;t want localhost<br />
</u></strong><br />
<em>$&gt; ifconfig</em></p>
<p><strong><u>Installing Java</u></strong></p>
<p>1) Install the package java-package, from contrib:<br />
<em>$&gt; apt-get install java-package</em><br />
2) Download the Sun JDK installer for Linux, from <a href="http://java.sun.com/j2se/">http://java.sun.com/j2se/</a>. Had to download 1.5 because the following steps did not work for Java6 (sept 8, 07)<br />
3) Create the Debian package. Be sure you are not root:<br />
<em>$&gt; fakeroot make-jpkg jdk-1_5_0_12-linux-i586.bin</em><br />
(change to the name of your downloaded archive)<br />
4) Install the Debian package. Become root and run this:<br />
<em>$&gt; dpkg -i sun-j2sdk1.5-1_5_12+update01.deb</em><br />
<em> </em></p>
<p><em>References:</em><br />
<a href="http://wiki.serios.net/wiki/Debian_Java_JRE/JDK_installation_with_java-package">http://wiki.serios.net/wiki/Debian_Java_JRE/JDK_installation_with_java-package</a><br />
<a href="http://www.cosy.sbg.ac.at/~amayer/files/How-to-install-Java-on-Debian.html">http://www.cosy.sbg.ac.at/~amayer/files/How-to-install-Java-on-Debian.html</a></p>
<p><strong><u>Installing eclipse</u></strong></p>
<p>1) Download the eclipse &#8216;classic&#8217; (or any other) package from <a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a><br />
2) Copy eclipse-SDK-3.3-linux-gtk.tar.gz to /usr/bin (folder where you&#8217;ll extract eclipse)<br />
<em>$&gt; su</em><br />
<em>$&gt; cp eclipse-SDK-3.3-linux-gtk.tar.gz /usr/bin<br />
</em>3) Extract the tar &#8211; an eclipse directory will be created<br />
<em>$&gt; cd /usr/bin<br />
$&gt; tar -xzvf eclipse-SDK-3.3-linux-gtk.tar.gz</em><br />
<em>$&gt; exit<br />
</em>4) Launch eclipse<br />
<em>$&gt; /usr/bin/eclipse/eclipse &amp;<br />
</em>5)) Install RDT For Eclipse &amp; Installing RadRails For Eclipse: Follow <a href="http://www.oreillynet.com/pub/a/ruby/2007/04/26/ruby-on-rails-meets-eclipse.html">http://www.oreillynet.com/pub/a/ruby/2007/04/26/ruby-on-rails-meets-eclipse.html</a></p>
<p><em>References:</em><br />
<a href="http://www.fluggart.com/linux/general/eclipse.html">http://www.fluggart.com/linux/general/eclipse.html</a></p>
<p><a href="http://www.oreillynet.com/pub/a/ruby/2007/04/26/ruby-on-rails-meets-eclipse.html">http://www.oreillynet.com/pub/a/ruby/2007/04/26/ruby-on-rails-meets-eclipse.html</a></p>
<p align="left"><strong><u>Installing Subversion</u><br />
</strong><br />
1) Download and install subversion<br />
<em>$&gt; sudo apt-get install subversion<br />
</em>2) Checkout the rails project from your repository</p>
<p align="left"><em>$&gt; svn co svn:&lt;your repository&gt;</em></p>
<p align="left"><u><strong>Installing KDE &#8211; Not Successful</strong><br />
</u><br />
<em>$&gt; sudo aptitude update &amp;&amp; sudo aptitude install kubuntu-desktop</em></p>
<p><em>References: (also explains removing, switching to Gnome, etc)</em><br />
<a href="http://www.psychocats.net/ubuntu/kde">http://www.psychocats.net/ubuntu/kde</a></p>
<p><strong><u>Installing Ruby On Rails</u></strong></p>
<p>1) Download and install ruby, gems and dependencies<br />
<em>$&gt; sudo apt-get install ruby rubygems irb ri rdoc ruby1.8-dev build-essential</em><br />
2) Next, install rails through gems<br />
<em>$&gt; $ sudo gem install rails &#8211;include-dependencies</em><br />
3) There are a few more steps. <strong>See reference.</strong><br />
3.5) Install sql driver for ruby<br />
<em>$&gt; sudo apt-get install libmysql-ruby<br />
</em>4) Install dependent gems <strong>(see reference for rmagick)</strong></p>
<p>References:<br />
<a href="http://wiki.rubyonrails.org/rails/pages/RailsOnUbuntu">http://wiki.rubyonrails.org/rails/pages/RailsOnUbuntu</a></p>
<p><strong><u>Installing Mozilla Thunderbird</u></strong></p>
<p><em>$&gt; sudo aptitude install mozilla-thunderbird</em><br />
2) If you want to open the application go to Applications -&gt; Internet -&gt; Thunderbird Mail Client<br />
3) Finally, configure the client with your POP3 and SMTP server settings</p>
<p><strong><u>Installing FTP Service</u></strong></p>
<p>1) Download and install<br />
<em>$&gt; sudo apt-get install proftpd</em><br />
2) During install, set option to standalone (if you don&#8217;t have inetd function)<br />
3) To Restart<br />
<em>$&gt; sudo /etc/init.d/proftpd restart</em></p>
<p><em>References:<br />
</em>Setting up ftp service: <a href="http://ubuntuguide.org/wiki/Ubuntu:Feisty#FTP_Server">http://ubuntuguide.org/wiki/Ubuntu:Feisty#FTP_Server</a><br />
If inetd doesn&#8217;t work <a href="http://ubuntuforums.org/archive/index.php/t-79588.html">http://ubuntuforums.org/archive/index.php/t-79588.html</a></p>
<p><strong><u>Install MySQL Graphical tools</u></strong></p>
<p>Application-&gt;Add/Remove-&gt;Programming-&gt;MySQL Administrator, Query Browser, RapidSVN<br />
   &gt;Internet-&gt;Filezilla</p>
<p><strong><u>Install SSH</u></strong></p>
<p>For Capistrano (preferred way to deploy a Rails application) to work, you need ssh enabled on your server, and an SSH client on your development box.</p>
<p><a href="http://www.nukesilo.com/2007/03/08/installing-openssh-on-ubuntu-linux-ssh-part-1/">http://www.nukesilo.com/2007/03/08/installing-openssh-on-ubuntu-linux-ssh-part-1/</a><br />
<strong>putty:</strong><br />
<a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">http://www.chiark.greenend.org.uk/~sgtatham/putty/</a></p>
<p>P.S: </p>
<p>Hope you found this useful:) Please do add a comment if you have additional useful pointers to share&#8230; it would be great if this post could grow into a &#8216;living&#8217; list of things one could do to build a kick-ass Ubuntu Rails setup.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/stealthmode.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/stealthmode.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stealthmode.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stealthmode.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stealthmode.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stealthmode.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stealthmode.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stealthmode.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stealthmode.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stealthmode.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stealthmode.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stealthmode.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=11&subd=stealthmode&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://stealthmode.wordpress.com/2007/12/09/setting-up-ubuntu-linux-for-development/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/364c9eb55be1771444e6650c96cec6e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arkay</media:title>
		</media:content>
	</item>
		<item>
		<title>Horses For Courses &#8211; Selecting the Right Technology Stack!</title>
		<link>http://stealthmode.wordpress.com/2007/12/02/horses-for-courses-selecting-the-technology-stack/</link>
		<comments>http://stealthmode.wordpress.com/2007/12/02/horses-for-courses-selecting-the-technology-stack/#comments</comments>
		<pubDate>Sun, 02 Dec 2007 23:36:14 +0000</pubDate>
		<dc:creator>Rajeev Kalavar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Advantages of RoR]]></category>
		<category><![CDATA[comfort zone]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Technology stack]]></category>

		<guid isPermaLink="false">http://stealthmode.wordpress.com/2007/12/02/horses-for-courses-selecting-the-technology-stack/</guid>
		<description><![CDATA[Alright, on to the technology stack! 
To truly appreciate the lesson here, I need to share with you a bit about my background, which is technology related - I love building software and have been involved in initiatives touching almost every aspect of the software development lifecycle; I&#8217;ve led server teams as well as driven the architecture, design and development of many large-scale products, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=10&subd=stealthmode&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Alright, on to the technology stack! </p>
<p>To truly appreciate the lesson here, I need to share with you a bit about my background, which is technology related - I love building software and have been involved in initiatives touching almost every aspect of the software development lifecycle; I&#8217;ve led server teams as well as driven the architecture, design and development of many large-scale products, mostly in the enterprise space. And for all of the 8 years prior to getting involved in this start-up, most of my development had been in Java, J2EE (JEE) and related technologies &#8211; put forth a particular technical challenge to solve, and I was confident there existed a Java based utility, library or web-tier framework that would enable me to solve it in quick time, given my expertise. The reason I mention this is to drive home the point that I lived, breathed and swore by Java and JEE; if anyone mentioned C# or .NET or PHP (heavens NO!) for web-application development, I would mock and taunt them, then laugh myself silly. <span id="more-10"></span></p>
<p>My current role in the company is two fold &#8211; As the Engineering Director, I am responsible for driving the engineering effort which includes defining the processes, building, managing and leading the engineering team, and planning/executing the iterations and development road-map; As the Chief Architect, my responsibilities lie in determining the technology stack, architecting the product, defining the test-plans, performance metrics, etc., managing deliverables of the different engineers, and as the senior developer, driving the design and development of the application(s).</p>
<p>The first task was defining the technology stack and development tools. And I am sure you can guess what I came up with initially!. In my first presentation to our team on our options, I&#8217;d created a Mind Map of all the open source Java tools, application servers, ORM libraries, web frameworks etc. we would require. Here&#8217;s a sampling of the stack I proposed then:</p>
<ul>
<li>Language: Java</li>
<li>Web-framework: Struts, Servlets, Jsps</li>
<li>Javascript Toolkit: Dojo</li>
<li>Business-tier: Spring based injection of POJOs </li>
<li>ORM Layer: Hibernate</li>
<li>IDE: Eclipse (Java IDE)</li>
<li>Servlet Container: Tomcat</li>
<li>Unit Tests: JUnit</li>
<li>Code Coverage: Cobertura</li>
<li>Database: MySQL</li>
<li>Performance/Profiling Tools: JProfiler, JProbe</li>
</ul>
<p>We had set out to develop a product suite of consumer oriented web-applications, targeting  15 million potential users. Analyzing the domain and the requirements, it was clear most of our data would reside in a back-end repository and would be inherently database driven. So the above set of tools and servlet container would suffice, and there wouldn&#8217;t be a need for a heavy-weight enterprise strength app-server platform like JBoss supporting EJB and the like.</p>
<p>Around the same time, I&#8217;d heard of Ruby On Rails, a relatively new web-framework especially suited for database driven applications. Google it, and you&#8217;ll find tons of articles on folks who&#8217;d used it, and swore by the productivity improvements they saw &#8211; I came across articles that mentioned 8-10x productivity increase using RoR v/s a Servlet/Struts/JSP based solution!</p>
<p><strong>The Nay-Sayer:</strong></p>
<p>Now, the sceptic in me was quick to trash this as just another &#8216;me-too&#8217; web framework. I&#8217;d seen this all too often - a hot new framework fuelled by hype from the trailblazer geeks who wanted to show how &#8216;different&#8217; and &#8216;in tune&#8217; they were with the latest and greatest, only for reality to bite in later and see this go the way of the Dodo. And there was merit in this view, the industry is littered with remains of the early adopters who were seriously set back because they bet on the wrong technology.</p>
<p>The other reason, as I mentioned earlier, was that we were *very* familiar with the above mentioned Java development environment and tools. We knew we could get something out there quickly. When you&#8217;re starting off, you want to keep the unknowns to a minimum. Going with Ruby On Rails meant we were injecting some serious unknowns to the core of our engineering effort &#8211; it wasn&#8217;t just about learning a new web-framework, it was the entire eco-system around it that we&#8217;d need to learn as well, which was quite different from the world of Java that we knew, loved and were experts in. We&#8217;d need to learn a new language (Ruby), a new ORM layer (ActiveRecord), the actual Web-framework (RoR), the Javascript framework (based on Scriptaculous and Prototype), the deployment mechanism (Capistrano, Mongrel, Lighttpd, etc), and familiarize ourselves with all the Gems and Plugins available in the RoR eco-system so we don&#8217;t reinvent the wheel. Add to this mix the fact that the deployment platform was Linux (we&#8217;d worked with Unix in the past, but because of Java&#8217;s byte-code abstraction, I&#8217;d worked mostly on Windows for my development), and I&#8217;d have to be crazy to go this route.</p>
<p>Finally, I had a day-job as well, and I expected the nights and weekends to go towards this endeavour. I really didn&#8217;t think I&#8217;d have the bandwidth to learn a slew of new technologies fast enough to actually see the ROI.</p>
<p><strong>The Yay-Sayer:</strong></p>
<p>But there was this other part of me that was really curious &#8211; no one would put their reputation on the line to claim the 8-10x productivity unless they did see a pretty substantial uptick in their ROI. In addition, many well known Java evangelists, well respected in the community, were actually jumping on the RoR bandwagon. Ruby as a language was starting to gain serious traction (it had been around for as long as Java, but had languished in obscurity because documentation was sparse, and mostly written in Japanese), and RoR was being identified as the killer application that was pushing the programming community to migrate to this language. Whenever you have an application driving the adoption of a language (rather than the other way around), you know there&#8217;s something there.</p>
<p>I was taking a month long break visiting family before joining the endeavor, and that worked to my advantage. I spent 12-14 hrs each day that month reading up on everything RoR. At the end of that month, I was convinced Ruby On Rails was the way to go. And when I got back, we did. If I hadn&#8217;t taken that &#8216;vacation&#8217;, I probably would not have had the chance to research and read up on Ruby and RoR, and we&#8217;d very likely have ended up working with our Java stack.</p>
<p>We are now a Ruby On Rails shop, and we couldn&#8217;t be happier. I am not going to espouse the virtues of the Ruby On Rails framework here (I&#8217;ll cover it in a future post). <em>But when someone like me who&#8217;s been a Java enthusiast says &#8217;selecting RoR was the best decision we made&#8217;, stand up and take notice.</em> </p>
<p><strong>Horses For Courses:</strong> </p>
<blockquote><p>Every technology stack has a purpose and value, but there are some that are better suited for certain tasks as compared to others.</p></blockquote>
<p>Ask yourself whether your application is likely database driven. If the answer is yes, then I urge you to take a step back and not rush into using the stack you&#8217;re familiar with, but rather choose a stack that makes development faster, cleaner, easier and more FUN. <strong>And Ruby On Rails makes development fun</strong>. <em>The dynamic and meta programming aspects of the Ruby language and Rails&#8217; exploitation of it makes certain things work &#8216;like magic&#8217;, and it&#8217;s sort of like a treasure hunt, trying to find the next &#8216;wow, that&#8217;s cool!&#8217; nugget in the framework</em><strong>.</strong> And Ruby on Rails is a perfect fit for developing web applications. The first couple of months may require serious investment of time if you&#8217;re a newbie. But 1 year down the line, and I can state unequivocally that we&#8217;ve got a lot more done, with a lot less code and in a lot less time than we could have got done using a Java based stack.</p>
<p>It&#8217;s quite likely you&#8217;ll probably just read this post and then move on to the next one. But if there&#8217;s that that one thing I&#8217;d want you to take from my blog, it&#8217;s this. Give RoR a try<strong>.</strong> There are a dozen (nay, a lot more than that) reasons to go this route. Remember, you&#8217;ll reach a point where you can hire talent, so don&#8217;t think you have to learn EVERYTHING. You will at some point hire developers.<strong> But RoR gives you that red-bull turbo start that every startup needs.  I&#8217;ve experienced it first hand, and I hope it helps maximize your team&#8217;s efficiencies as it has mine.</strong> </p>
<p>PS:</p>
<p>Ruby On Rails is not the panacea for everything. This post is applicable to you if your idea can be developed as a web-application that is inherently database driven (where most stateful information is ultimately stored in a  back-end repository).  Most non-communication/non-realtime web-applications will generally fall into this category. Otherwise, a Java stack may prove equally useful.</p>
<p> A tip: Master the book &#8220;Agile Web Development with Rails, 2nd Edition&#8221;. It&#8217;s a great read, and the author does a fantastic job showing you how Rails is a natural fit for any Agile development methodology.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/stealthmode.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/stealthmode.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stealthmode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stealthmode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stealthmode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stealthmode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stealthmode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stealthmode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stealthmode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stealthmode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stealthmode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stealthmode.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=10&subd=stealthmode&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://stealthmode.wordpress.com/2007/12/02/horses-for-courses-selecting-the-technology-stack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/364c9eb55be1771444e6650c96cec6e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arkay</media:title>
		</media:content>
	</item>
		<item>
		<title>The Essential Startup (Engineering) Team</title>
		<link>http://stealthmode.wordpress.com/2007/11/08/the-ideal-web-application-startup-team/</link>
		<comments>http://stealthmode.wordpress.com/2007/11/08/the-ideal-web-application-startup-team/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 03:12:02 +0000</pubDate>
		<dc:creator>Rajeev Kalavar</dc:creator>
				<category><![CDATA[Hiring DO's]]></category>
		<category><![CDATA[Startup DO's]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[hiring]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[stealth]]></category>
		<category><![CDATA[stealthmode]]></category>
		<category><![CDATA[successful startup]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://stealthmode.wordpress.com/2007/11/08/the-ideal-web-application-startup-team/</guid>
		<description><![CDATA[An interesting question that always seems to pop up during conversations with fellow entrepreneurs is what constitutes an ideal engineering team for an Internet startup when getting off the block. Assume you had to select the smallest set of individuals possible for your engineering function when starting your company, who would you hire? What are the bare [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=4&subd=stealthmode&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>An interesting question that always seems to pop up during conversations with fellow entrepreneurs is what constitutes an ideal engineering team for an Internet startup when getting off the block. Assume you had to select the smallest set of individuals possible for your engineering function when starting your company, who would you hire? What are the bare minimum skills you&#8217;d need?</p>
<p>I thought it would be nice to start our journey by addressing this head-on and highlight what we did different, why it worked for us, and why I believe it&#8217;s an option you SHOULD consider when building your startup team.<span id="more-4"></span></p>
<p>Ask a first time entrepreneur, and the most likely answer is that a couple of senior developers, one with UI experience, and one with experience with the server stack and a domain expert should suffice. If the luxury of an additional resource could be added, it would be another junior developer. After all, you&#8217;re just getting started, there&#8217;s not much of a product definition, and the priority is to get a working (well designed) prototype that can later be tweaked and given a face lift when some decent functionality is in place, right?</p>
<p>At first, we felt the same. But as I will cover in a later post, one of the earliest (and best) decisions we made was to get out of stealth mode as quickly as possible. This driver made us question common wisdom to see how we could go &#8216;live&#8217; faster. We wanted to accelerate as quickly as possible, build momentum and have a product on-line and <strong>*usable*</strong> by the general public as soon as possible.</p>
<p><em>&#8220;Usable&#8221;&#8230;</em> That&#8217;s right! <strong>Usability </strong>- it&#8217;s a key component that we felt would ultimately determine our success in this space. Our product was trying to make a convoluted process as easy as 1-2-3. So for us, the usability aspects and the UI design had to be at the forefront, and not an afterthought. For that reason, the first step we took was to hire a UI designer/Usability expert, even before we thought of hiring any additional developers.</p>
<p>And it&#8217;s worked out well &#8211; from the onset we had a product that was UI focused and driven, and stories were created from the user&#8217;s perspective. There was a time when the walls of our office were just pasted with reams and reams of paper documenting different screens and how one flowed into the other. We had actual UI mockups of the application and flows in place even before the first line of code was written.</p>
<p>When you&#8217;re planning iterations, having the UI specs and design/stories in place at the start of an iteration is a boon. Not only did we have a great UI experience already visualized and captured on file, we also had the UI specs available from which to plan each iteration. And if you&#8217;ve done development with XP or SCRUM, you know the benefits of having a user story defined through actual UI mockups.</p>
<p>So in my opinion, the bare-essential startup team would be the following:</p>
<blockquote><p><strong><u>1 Architect/Senior Developer/Manager.</u></strong> 8-10 years experience. If you can get a hands-on architect with great coding skills who has led development teams in the past, that&#8217;s gravy! He is the guy with the big picure who will define the iterations, architect the application, implement server code, lead the developers and effectively run the engineering organization. Each type is not difficult to find, but if you find someone who can wear all 3 hats, you&#8217;re at an advantage.</p>
<p><strong><u>1 UI developer</u></strong>. Coding rock-star, minimum 2-3 years <strong>startup</strong> experience with Javascript expertise along with CSS, Ruby On Rails (RoR) and Ajax support in RoR. If he knows Php, that&#8217;s gravy too! He will be the UI go-to guy.</p>
<p><strong><u>1 Domain Expert</u></strong>. Generally, the founders will be the domain experts (since they identified the opportunity, that&#8217;s the likely case). And there&#8217;s empirical evidence that most successful startups generally have 2 founders (checks and balances, bouncing ideas off each other, etc. etc.). So it&#8217;s quite likely you&#8217;ll have 2 domain experts.</p>
<p><strong><u>1 Server Developer</u></strong>. Coding rock-star, minimum 2-3 years <strong>startup</strong> experience Since we used Ruby on Rails, someone with RoR experience, and has deployed applications to production environments before. Deployment experience is a must.</p>
<p><strong><u>1 UI Designer/Usability Expert.</u></strong> Generates the user experience, defines the user personas that represent the customer, orchestrates the screens and application flow. Generates the UI specifications each iteration that forms the basis of the engineering effort for that iteration. </p>
<p>Net: 5 (or 6 if two founders). And don&#8217;t worry about Q/A&#8230; just ensure you define a good test plan, and folks will be able to find cycles to dedicate towards this.</p></blockquote>
<p>In my opinion, this is the &#8216;bare-essential&#8217; <strong>engineering</strong> team to give you that turbo-start. Some might argue that having 2 senior developers negates the need for 1 senior and 2 junior developers. On the contrary, I think 1 senior and 2 junior developers trumps a combination of even 3 senior developers for two simple reasons:</p>
<ol>
<li>Your younger kick-ass coding rockstars have the hunger, drive and TIME you&#8217;re just not going to see in your senior developers, period!</li>
<li>If your 1 senior developer has managerial skills, he along with the younger developers will always give you a superior ROI in the long run.</li>
</ol>
<p>And select the right technology stack and you can effectively quadruple your ROI. But more on that in a later post.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/stealthmode.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/stealthmode.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stealthmode.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stealthmode.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stealthmode.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stealthmode.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stealthmode.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stealthmode.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stealthmode.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stealthmode.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stealthmode.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stealthmode.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stealthmode.wordpress.com&blog=2051062&post=4&subd=stealthmode&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://stealthmode.wordpress.com/2007/11/08/the-ideal-web-application-startup-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/364c9eb55be1771444e6650c96cec6e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arkay</media:title>
		</media:content>
	</item>
	</channel>
</rss>