<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Amy’s guide to choosing and using rails plugins (With Bonus Checklist!)</title>
	<link>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/</link>
	<description>Reqs. Code. Docs. Done.</description>
	<pubDate>Thu, 21 Aug 2008 19:59:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2</generator>

	<item>
		<title>By: amy</title>
		<link>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1041</link>
		<author>amy</author>
		<pubDate>Tue, 20 Nov 2007 13:45:24 +0000</pubDate>
		<guid>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1041</guid>
		<description>Thanks, everyone for the interesting comments! I love comments! Lori: I don't know how I missed that errtheblog post yesterday, but thanks for the link, it's great.</description>
		<content:encoded><![CDATA[<p>Thanks, everyone for the interesting comments! I love comments! Lori: I don&#8217;t know how I missed that errtheblog post yesterday, but thanks for the link, it&#8217;s great.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lori</title>
		<link>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1040</link>
		<author>Lori</author>
		<pubDate>Tue, 20 Nov 2007 05:02:41 +0000</pubDate>
		<guid>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1040</guid>
		<description>And this is an other interesting post today, showing a really good way  to customize plugins.

http://errtheblog.com/post/19679</description>
		<content:encoded><![CDATA[<p>And this is an other interesting post today, showing a really good way  to customize plugins.</p>
<p><a href="http://errtheblog.com/post/19679" rel="nofollow">http://errtheblog.com/post/19679</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert</title>
		<link>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1039</link>
		<author>Robert</author>
		<pubDate>Tue, 20 Nov 2007 03:52:39 +0000</pubDate>
		<guid>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1039</guid>
		<description>I also want to make a comment about plugins, which was what the article was about.  One thing I didn't tell Amy about but has been my experience is the problem of poorly optimized code in plugins for massive deployments.

I've helped deploy and manage some of the biggest Rails sites out there, and when you're scrutinizing every SQL statement and dealing with issues like partitioning data over several databases and such, plugins start to make less and less sense. Sure the code is handy to have, but in all likelihood, unless the plug-in was built with scalability in mind, you'll pay for the use of it later down the road.

Which brings me to Capistrano.  Sure it's great for small deployments, and I do use it on some projects. But for the big ones, you end up trying to find workarounds for things that it can't do, or things you need to do that it isn't well suited for.

So my methods may seem a bit nuts sometimes, but they are born out of experience of problems we've faced and challenges we've overcome, not because I'm spreading FUD or just trying to be different.</description>
		<content:encoded><![CDATA[<p>I also want to make a comment about plugins, which was what the article was about.  One thing I didn&#8217;t tell Amy about but has been my experience is the problem of poorly optimized code in plugins for massive deployments.</p>
<p>I&#8217;ve helped deploy and manage some of the biggest Rails sites out there, and when you&#8217;re scrutinizing every SQL statement and dealing with issues like partitioning data over several databases and such, plugins start to make less and less sense. Sure the code is handy to have, but in all likelihood, unless the plug-in was built with scalability in mind, you&#8217;ll pay for the use of it later down the road.</p>
<p>Which brings me to Capistrano.  Sure it&#8217;s great for small deployments, and I do use it on some projects. But for the big ones, you end up trying to find workarounds for things that it can&#8217;t do, or things you need to do that it isn&#8217;t well suited for.</p>
<p>So my methods may seem a bit nuts sometimes, but they are born out of experience of problems we&#8217;ve faced and challenges we&#8217;ve overcome, not because I&#8217;m spreading FUD or just trying to be different.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert</title>
		<link>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1038</link>
		<author>Robert</author>
		<pubDate>Tue, 20 Nov 2007 01:55:47 +0000</pubDate>
		<guid>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1038</guid>
		<description>I've used Capistrano on several things, but prefer my own scripts for deployment.

When I say "just anyone can deploy your app", I obviously don't mean everyone!  What I mean is that in my experience, its best if just one person actually does the deploying.  If anyone can do it that knows the password, you might step on each others toes.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve used Capistrano on several things, but prefer my own scripts for deployment.</p>
<p>When I say &#8220;just anyone can deploy your app&#8221;, I obviously don&#8217;t mean everyone!  What I mean is that in my experience, its best if just one person actually does the deploying.  If anyone can do it that knows the password, you might step on each others toes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: topfunky</title>
		<link>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1037</link>
		<author>topfunky</author>
		<pubDate>Tue, 20 Nov 2007 01:07:17 +0000</pubDate>
		<guid>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1037</guid>
		<description>Actually, that should be "its", not "it's."</description>
		<content:encoded><![CDATA[<p>Actually, that should be &#8220;its&#8221;, not &#8220;it&#8217;s.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: topfunky</title>
		<link>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1036</link>
		<author>topfunky</author>
		<pubDate>Tue, 20 Nov 2007 01:04:27 +0000</pubDate>
		<guid>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1036</guid>
		<description>You can also put my vote in the 'nuts' column.

* You can store your deploy.rb in a completely different repository than the code. I do this for several apps.
* Anyone can deploy your application if they have the code and...the SSH password to your server! That's the whole point of passwords. If you don't want someone to deploy your application, don't give them the password, and don't put their public key on the server.

As for plugins, I take the middle road. I'm not opposed to starting with a plugin, then modifying it's source for my use. I did this for the OpenID plugin and it works the way I want it to. That's the beauty of open source!</description>
		<content:encoded><![CDATA[<p>You can also put my vote in the &#8216;nuts&#8217; column.</p>
<p>* You can store your deploy.rb in a completely different repository than the code. I do this for several apps.<br />
* Anyone can deploy your application if they have the code and&#8230;the SSH password to your server! That&#8217;s the whole point of passwords. If you don&#8217;t want someone to deploy your application, don&#8217;t give them the password, and don&#8217;t put their public key on the server.</p>
<p>As for plugins, I take the middle road. I&#8217;m not opposed to starting with a plugin, then modifying it&#8217;s source for my use. I did this for the OpenID plugin and it works the way I want it to. That&#8217;s the beauty of open source!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lori</title>
		<link>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1035</link>
		<author>Lori</author>
		<pubDate>Mon, 19 Nov 2007 21:24:33 +0000</pubDate>
		<guid>http://www.thirdbit.net/articles/2007/11/19/amy%e2%80%99s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/#comment-1035</guid>
		<description>I think Robert is nuts.  But one thing is for certain... he's never used Capistrano, or he wouldn't be spouting FUD like "Do you really want anyone who has the source to be able to deploy your app? That’s dangerous!", which is totally untrue.

As for the rest of your post, I agree in general "pluginitis" is a bad thing, but I don't think plugins are only for noobs.  There are many good, general-use plugins that you SHOULD be using, instead of re-inventing the wheel.  It's just that you should be using ALL of them in every Rails application you write ;-)</description>
		<content:encoded><![CDATA[<p>I think Robert is nuts.  But one thing is for certain&#8230; he&#8217;s never used Capistrano, or he wouldn&#8217;t be spouting FUD like &#8220;Do you really want anyone who has the source to be able to deploy your app? That’s dangerous!&#8221;, which is totally untrue.</p>
<p>As for the rest of your post, I agree in general &#8220;pluginitis&#8221; is a bad thing, but I don&#8217;t think plugins are only for noobs.  There are many good, general-use plugins that you SHOULD be using, instead of re-inventing the wheel.  It&#8217;s just that you should be using ALL of them in every Rails application you write <img src='http://www.thirdbit.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
</channel>
</rss>
