<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>has_many :thoughts: Tag plugins</title>
    <link>http://blog.kineticweb.com/articles/tag/plugins</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Musings from a Ruby on Rails development team</description>
    <item>
      <title>More rubyish finders</title>
      <description>&lt;p&gt;I just came across &lt;a href="http://giantrobots.thoughtbot.com/2006/9/29/an-improvement-for-querying-in-rails"&gt;this little plugin&lt;/a&gt; which seems to make the writing of ActiveRecord finders much more rubyesque.&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;query&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;User&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;find&lt;/span&gt; &lt;span class="keyword"&gt;do&lt;/span&gt;
    &lt;span class="ident"&gt;name&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="ident"&gt;persons_name?&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Definitely seems nicer then:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="constant"&gt;User&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;find&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:conditions=&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;[&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;name=?&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;,&lt;/span&gt;&lt;span class="ident"&gt;persons_name&lt;/span&gt;&lt;span class="punct"&gt;])&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <pubDate>Wed, 17 Oct 2007 14:37:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:0ec9095d-232a-4112-b326-e9e92c1312a2</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/10/17/more-rubyish-finders</link>
      <category>Rails</category>
      <category>ActiveRecord</category>
      <category>plugins</category>
      <trackback:ping>http://blog.kineticweb.com/articles/trackback/66</trackback:ping>
    </item>
    <item>
      <title>CAPTCHA for the greater good</title>
      <description>&lt;p&gt;We all know those annoying &lt;span class="caps"&gt;CAPTCHA&lt;/span&gt; things where you copy down the letters and digits from the image to prove you&amp;#8217;re not a computer.&lt;/p&gt;


	&lt;p&gt;I like the concept of them and they can be quite handy, although on a large scale they are largely ineffective against determined individuals.&lt;/p&gt;


	&lt;p&gt;Carnegie Melon University has come up with a way to put all those (they claim over 60 million a day) &lt;span class="caps"&gt;CAPTCHA&lt;/span&gt; translations to good use&amp;#8230; scanning books intro electronic format.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://recaptcha.net"&gt;reCAPTCHA&lt;/a&gt; is a technology that uses words scanned in from books through archive.org. You are presented two words: one the &lt;span class="caps"&gt;OCR&lt;/span&gt; software already knows and one it doesn&amp;#8217;t. You translate both to text. If you get the known one correct, it assumes you got the unknown one correct as well.&lt;/p&gt;


	&lt;p&gt;This is a great idea and a great way to put all those unused &amp;#8220;cycles&amp;#8221; of human intelligence. We have a few upcoming projects that might need to use &lt;span class="caps"&gt;CAPTCHA&lt;/span&gt; and I hope to use reCAPTCHA as part of the. &lt;del&gt;-Perhaps even create a Rails plugin to use it.&lt;/del&gt;- (Looks like there already is a Rails plugin&amp;#8230; cool!)&lt;/p&gt;</description>
      <pubDate>Wed, 27 Jun 2007 20:17:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:522c5a86-b0c3-493c-8aa9-2dfe842453f3</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/06/27/captcha-for-the-greater-good</link>
      <category>captcha</category>
      <category>Rails</category>
      <category>plugins</category>
      <trackback:ping>http://blog.kineticweb.com/articles/trackback/44</trackback:ping>
    </item>
    <item>
      <title>Plugins we're using</title>
      <description>&lt;p&gt;I thought it might be nice to share what plugins we&amp;#8217;re using in some of our apps:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;action_mailer_layouts&lt;/strong&gt;&lt;br/&gt;
Adds some handy functionality allowing ActionMailer to use layouts just like any other view. I was surprised this doesn&amp;#8217;t come out of the box with Rails but this plugin handles it nicely. Makes mailings dry when you want to have layouts that wrap around multiple emails.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;acts_as_state_machine&lt;/strong&gt;&lt;br/&gt;
Interesting little tool that allows you to define various states (aka statuses) and define various events that transition ActiveRecord objects from one state to another. It&amp;#8217;s handy to help organize items that have many states.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;human_attribute_override&lt;/strong&gt;&lt;br/&gt;
Handy when you have columns with legacy naming conventions (or lack of conventions) or even when you change the name of a column but don&amp;#8217;t feel like actually changing the name in the database. Things like validation errors use the human_name of a column to make it friendly looking and this allows you to set it to whatever you want.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;acts_as_ferret&lt;/strong&gt;&lt;br/&gt;
Full text index searching of AR items. Works great and easy to implement!&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;betternestedset&lt;/strong&gt;&lt;br/&gt;
This is an improved version of the nested set functionality that comes with Rails. We actually ended up not using this but still have it installed on the project. I don&amp;#8217;t remember why we didn&amp;#8217;t use it&amp;#8230; I think because acts_as_tree sufficed just fine for our needs.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;fckeditor&lt;/strong&gt;&lt;br/&gt;
A decent &lt;span class="caps"&gt;HTML&lt;/span&gt; editor that&amp;#8217;s open source and nicely customizable.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;geokit&lt;/strong&gt;&lt;br/&gt;
We use this to detect the country of origin of a visitor via IP address and direct them to a country specific version of their site.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;ssl_requirement&lt;/strong&gt;&lt;br/&gt;
Handy tool that allows you to set specific actions on specific controllers as either requiring or not allowing &lt;span class="caps"&gt;SSL&lt;/span&gt;. Really helps you cut down on server load by not allowing &lt;span class="caps"&gt;HTTPS&lt;/span&gt; on pages that really don&amp;#8217;t need it.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;to_csv&lt;/strong&gt;&lt;br/&gt;
Takes a collection of AR objects and spits it out into a line of comma delimited text with one simple method call.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;redcloth&lt;/strong&gt;&lt;br/&gt;
Adds textile lightweight markup capability. I simply adore textile.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;sparklines&lt;/strong&gt;&lt;br/&gt;
Geoff Grosenbach&amp;#8217;s handy little plugin that makes really neat little graphs. Graphs without keys or even numbers but just enough info to give you context for a chunk of data.&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Thu, 07 Jun 2007 20:30:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:d4eb77c6-9404-46e8-9540-599bd8ea1b47</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/06/07/plugins-were-using</link>
      <category>Rails</category>
      <category>plugins</category>
      <trackback:ping>http://blog.kineticweb.com/articles/trackback/39</trackback:ping>
    </item>
  </channel>
</rss>
