<?xml version="1.0" encoding="UTF-8"?>
<items type="array">
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">6</comments-count>
    <content>Introducing the new &lt;a href=&quot;http://github.com/moonmaster9000/binder&quot;&gt;binder&lt;/a&gt; gem. Read about the impetus for this &lt;a href=&quot;http://moonmaster9000.tumblr.com/post/401320361/binder-for-all-your-esoteric-proc-closure-needs&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://moonmaster9000.tumblr.com/post/398991873/creating-cleaner-apis&quot;&gt;here&lt;/a&gt;. Checkout the source &lt;a href=&quot;http://github.com/moonmaster9000/binder&quot;&gt;here&lt;/a&gt;.</content>
    <created-at type="datetime">2010-02-20T23:25:31+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">3505</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Creating a sexy DSL like the new Rails 3 router is now within your reach!</title>
    <updated-at type="datetime">2010-02-20T23:25:31+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">1173</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">2</comments-count>
    <content>The day has finally arrived where you can run a browser-less javascript + DOM environment from within Ruby. &lt;a href=&quot;http://github.com/mynyml/harmony&quot;&gt;Harmony&lt;/a&gt; offers a convenient DSL that allows you to get started simply and easily. There is even a Rails plugin (&lt;a href=&quot;http://github.com/mynyml/holygrail&quot;&gt;holygrail&lt;/a&gt;) for functional tests. You can now leverage the power of the command line to do with JS what once required a browser.
</content>
    <created-at type="datetime">2010-02-12T20:52:25+00:00</created-at>
    <featured type="boolean">true</featured>
    <id type="integer">3447</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Javascript + DOM in your ruby</title>
    <updated-at type="datetime">2010-02-12T22:01:22+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">775</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://github.com/snitko/mmmenu&quot;&gt;Mmmenu&lt;/a&gt; is a Rails plugin that provides a nice DSL for creating multi-level menus.
</content>
    <created-at type="datetime">2010-01-22T19:19:16+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">3317</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Multi-level menu DSL for Rails</title>
    <updated-at type="datetime">2010-01-22T19:19:16+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">1149</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>Yehuda Katz details advanced route methods added in the newly rewritten routes DSL. Essentialy, he talks about how Django's generic views can be ported to Rails 3. Check it out &lt;a href=&quot;http://yehudakatz.com/2009/12/20/generic-actions-in-rails-3/&quot;&gt;here&lt;/a&gt;.</content>
    <created-at type="datetime">2009-12-21T09:19:25+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">3174</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Generic Actions in Rails 3</title>
    <updated-at type="datetime">2009-12-21T09:19:25+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">974</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://xdotcommer.wordpress.com/2009/11/30/flotomatic-a-new-graphing-plugin-for-rails/&quot;&gt;Flotomatic&lt;/a&gt; is a new Rails plugin built on top of flot (jquery / javascript based graphs).  It's got a nice DSL that makes it really easy to drop graphs into your site.</content>
    <created-at type="datetime">2009-12-01T03:52:17+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">3107</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Flotomatic: an awesome new graphing plugin for Rails</title>
    <updated-at type="datetime">2009-12-01T03:52:17+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">575</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://github.com/cldwalker/boson/#readme&quot;&gt;Boson&lt;/a&gt; is a new gem which blurs the distinction between writing ruby commands for use in irb or in a shell. It comes with a powerful option parser, ability to write commands in plain non-dsl ruby and a command manager. &lt;a href=&quot;http://tagaholic.me/2009/10/14/boson-command-your-ruby-universe.html&quot;&gt;The intro post&lt;/a&gt; explains its basic features. &lt;a href=&quot;http://tagaholic.me/2009/10/15/boson-and-hirb-interactions.html&quot;&gt;The second post&lt;/a&gt; reveals its integration with &lt;a href=&quot;http://github.com/cldwalker/hirb&quot;&gt;Hirb&lt;/a&gt; to produce &lt;a href=&quot;http://tagaholic.me/2009/10/15/boson-and-hirb-interactions.html#to_render_or_not_to_render&quot;&gt;a toggleable Hirb view per command&lt;/a&gt; and &lt;a href=&quot;http://tagaholic.me/2009/10/15/boson-and-hirb-interactions.html#github_boson_library&quot;&gt;a useful github library&lt;/a&gt;.</content>
    <created-at type="datetime">2009-10-16T09:39:29+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2880</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Introducing Boson - A command/task framework for irb and the commandline</title>
    <updated-at type="datetime">2009-10-16T09:39:29+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">663</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">1</comments-count>
    <content>ever needed a way to grade how complete a user profile is? look no further than &lt;b&gt;&lt;a href=&quot;http://github.com/joshk/completeness-fu&quot; rel=&quot;nofollow&quot; &gt;completeness-fu&lt;/a&gt;&lt;/b&gt;, a simple dsl which allows you to describe checks to determine how complete a class instance is, similar to LinkedIn and the 'profile completeness' indicator. read more about it &lt;a href=&quot;http://blog.tty.nl/2009/09/23/100-completeness-fu/&quot; rel=&quot;nofollow&quot; &gt;here&lt;/a&gt;.</content>
    <created-at type="datetime">2009-09-23T21:33:21+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2799</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>the age of completeness-fu is upon us!</title>
    <updated-at type="datetime">2009-09-24T08:31:34+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">1015</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">11</comments-count>
    <content>&lt;a href=&quot;http://github.com/elight/coulda/tree/master&quot;&gt;Coulda&lt;/a&gt; is a new testing library by Evan Light that provides &quot;Cucumber-like BDD power but with an internal DSL.&quot; Further: &lt;em&gt;&quot;coulda believes that the best way to reuse code is the good ol&#8217; fashioned method. Instead of sharing files of regexps mapped to procs, you just write methods. That simple.&lt;/em&gt; </content>
    <created-at type="datetime">2009-09-12T21:43:34+00:00</created-at>
    <featured type="boolean">true</featured>
    <id type="integer">2750</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>coulda - Cucumber-like BDD power without the magic</title>
    <updated-at type="datetime">2009-09-13T16:57:34+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">5</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">3</comments-count>
    <content>&lt;a href=&quot;http://github.com/josevalim/inherited_resources&quot;&gt;Inherited Resources&lt;/a&gt; is growing in a fast pace and now &lt;a href=&quot;http://blog.plataformatec.com.br/2009/08/inherited-resources-is-scopes-and-responder-fluent/&quot;&gt;it supports named scopes and ActionController::Responder from Rails 3.0 was backported&lt;/a&gt;! And be sure to let a comment if you agree or not with the new proposed DSL.</content>
    <created-at type="datetime">2009-08-28T17:12:33+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2678</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Inherited Resources is scopes and responder fluent</title>
    <updated-at type="datetime">2009-08-28T17:12:33+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">665</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>The &lt;a href=&quot;http://github.com/polly/ffmpeg/tree/master&quot; rel=&quot;nofollow&quot; &gt;ffmpeg&lt;/a&gt; gem provides a nice and easy to use ruby dsl for interfacing with FFmpeg.</content>
    <created-at type="datetime">2009-08-06T19:38:59+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2596</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>FFmpeg for the rubyist</title>
    <updated-at type="datetime">2009-08-06T19:38:59+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">933</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>They just released the speaker announcement on to the website: &lt;a href=&quot;http://rubyhoedown.com&quot;&gt;http://rubyhoedown.com&lt;/a&gt; They've got a little bit of everything in there: deep technical talks on building external DSLs with fancy parsers and such, some sweet MacRuby action, a great talk from a Sunlight Labs employee about being a civic coder, and much, much more.  Check out the speaker list for a full list of speakers and topics!</content>
    <created-at type="datetime">2009-07-10T05:40:23+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2488</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Ruby Hoedown 2009 -- Speakers announced</title>
    <updated-at type="datetime">2009-07-10T10:08:11+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">731</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://tagaholic.me/2009/07/07/alias-quickness-in-the-ruby-console.html&quot;&gt;This post&lt;/a&gt; introduces the Alias gem which makes creation of aliases easy and configurable. Alias already supports aliasing constants, instance methods, class methods and delegated methods. With its aliasing DSL, creating your own alias types is a cinch.</content>
    <created-at type="datetime">2009-07-07T10:59:50+00:00</created-at>
    <featured type="boolean">true</featured>
    <id type="integer">2474</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Introducing Alias - Quickness in the Ruby Console</title>
    <updated-at type="datetime">2009-07-15T19:11:04+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">663</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://github.com/adamsalter/sitemap_generator-plugin/tree/master&quot; rel=&quot;nofollow&quot; &gt;SitemapGenerator&lt;/a&gt; enables Google Sitemaps to be easily generated for a Rails site as a rake task, using a simple 'Rails Routes'-like DSL. Sounds pretty familiar right? (well except for the Routes-like DSL) But it's not... it actually works the way you would expect. Plus it allows you to take care of familiar issues like: gzip of Sitemap files, variable priority of links, paging/sorting links (e.g. my_list?page=3), SSL host links (e.g. https:), Rails apps which are installed on a sub-path (e.g. example.com/blog_app/) and hidden ajax routes. As stated in the docs, it does have one shortcoming though - it only supports a maximum of 2.5 billion urls, after which you're on your own.</content>
    <created-at type="datetime">2009-07-02T10:32:54+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2443</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>NEW Sitemap Generator Plugin - that actually works the way you would expect</title>
    <updated-at type="datetime">2009-07-02T10:32:54+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">891</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://endofline.wordpress.com/2009/06/22/sexp_path/&quot;&gt;SexpPath&lt;/a&gt; is a library that defines a neat DSL for pattern matching against S-Expressions, for instance the ruby Abstract Syntax Tree.  Kind of like XPath or Regular Expressions for your code.</content>
    <created-at type="datetime">2009-06-23T05:55:51+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2412</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>SexpPath - Structural Pattern Matching for Ruby</title>
    <updated-at type="datetime">2009-06-23T05:55:51+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">269</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">1</comments-count>
    <content>&lt;a href=&quot;http://github.com/jcoglan/consent&quot; rel=&quot;nofollow&quot; &gt;Consent&lt;/a&gt; provides a DSL for matching HTTP requests and managing access control to Rails apps. Recently updated to support Rails 2.3 and provide shorthand URL generator expressions for controller and view code.</content>
    <created-at type="datetime">2009-05-10T22:23:34+00:00</created-at>
    <featured type="boolean">true</featured>
    <id type="integer">2209</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Consent: an access control DSL for Rails</title>
    <updated-at type="datetime">2009-05-16T16:07:00+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">824</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>I'm &lt;a href=&quot;http://devoh.com/posts/2009/05/relaxed-and-relieved&quot; rel=&quot;nofollow&quot; &gt;relaxed and relieved&lt;/a&gt; to release two new DSLs for defining web service consumers and custom XML parsers.</content>
    <created-at type="datetime">2009-05-08T21:58:53+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2201</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Relax and Relief</title>
    <updated-at type="datetime">2009-05-08T21:59:58+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">822</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">9</comments-count>
    <content>&lt;a href=&quot;http://aub.github.com/record_filter/&quot; rel=&quot;nofollow&quot; &gt;Record Filter&lt;/a&gt; is a pure-Ruby API for ActiveRecord that uses an expressive DSL to replace nasty hard-coded SQL with beautiful Ruby. It works seamlessly with your existing named scopes, but once you see it you might just want to rewrite them all. Check out the &lt;a href=&quot;http://github.com/aub/record_filter/tree/master&quot; rel=&quot;nofollow&quot; &gt;project home&lt;/a&gt; or the &lt;a href=&quot;http://aub.github.com/record_filter/rdoc/&quot; rel=&quot;nofollow&quot; &gt;rdocs&lt;/a&gt; for more info.</content>
    <created-at type="datetime">2009-05-06T20:58:11+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2186</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Record Filter: An ActiveRecord query API for replacing SQL with awesome.</title>
    <updated-at type="datetime">2009-05-06T20:58:11+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">816</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">4</comments-count>
    <content>&lt;a href=&quot;http://github.com/carlosbrando/remarkable&quot;&gt;Remarkable 3.0&lt;/a&gt; is released and &lt;a href=&quot;http://www.nomedojogo.com/2009/04/14/remarkable-30-is-out-and-its-well-remarkable/&quot;&gt;Carlos Brando put up a post&lt;/a&gt; with all the new features which goes from I18n to new macros for Rails, including a DSL for your controller specs.</content>
    <created-at type="datetime">2009-04-14T16:05:58+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2061</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Remarkable 3.0 is out and it&#8217;s&#8230; well&#8230; remarkable!</title>
    <updated-at type="datetime">2009-04-14T16:05:58+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">665</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>Simple form is a nifty DSL for contact forms, which will be ready to go in a minute! Blog post &lt;a href=&quot;http://josevalim.blogspot.com/2009/04/3-2-1-go-your-contact-form-is-ready.html&quot;&gt;here&lt;/a&gt; and Github page &lt;a href=&quot;http://github.com/josevalim/simple_form&quot;&gt;here&lt;/a&gt;.</content>
    <created-at type="datetime">2009-04-05T09:18:30+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">2012</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>3, 2, 1... go! Your contact form is ready!</title>
    <updated-at type="datetime">2009-04-05T09:18:30+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">665</user-id>
  </item>
  <item>
    <byline>Christian Johansen</byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://www.cjohansen.no/en/ruby/twibot_a_microframework_for_twitter_bots_in_ruby&quot; rel=&quot;nofollow&quot; &gt;Twibot&lt;/a&gt; makes writing Twitter bots in Ruby easy and fun! Twibot offers a Sinatra inspired DSL that will allow you to write a working bot with only four lines of code.</content>
    <created-at type="datetime">2009-03-15T21:07:21+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1894</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Twibot: Micro-framework for writing Twitter bots, inspired by Sinatra</title>
    <updated-at type="datetime">2009-03-15T21:07:21+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer" nil="true"></user-id>
  </item>
  <item>
    <byline>Mischa Fierer</byline>
    <comments-count type="integer">0</comments-count>
    <content>For intermediate rubyists, a look at how to write easy to use DSLs, with a focus on Machinist, a plugin for ditching fixtures. &lt;a href=&quot;http://themomorohoax.com/2009/02/25/how-to-write-a-clean-ruby-dsl-rails&quot; rel=&quot;nofollow&quot; &gt;Part 1 explains why you might want to write a dsl in ruby&lt;/a&gt;. &lt;a href=&quot;http://themomorohoax.com/2009/02/25/how-to-write-a-clean-ruby-dsl-part-2-line-by-line-with-machinist-rails&quot; rel=&quot;nofollow&quot; &gt;Part 2 takes a deep look at the machinist code&lt;/a&gt;. &lt;a href=&quot;http://themomorohoax.com/2009/02/25/ruby-dsl-part-3-summary&quot; rel=&quot;nofollow&quot; &gt;Part 3 summarizes the techniques used by machinist&lt;/a&gt;.</content>
    <created-at type="datetime">2009-02-25T08:32:06+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1781</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Building a syntactically sweet Ruby DSL - Machinist</title>
    <updated-at type="datetime">2009-02-25T15:11:48+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer" nil="true"></user-id>
  </item>
  <item>
    <byline>Evil Trout</byline>
    <comments-count type="integer">0</comments-count>
    <content>Forumwarz's &lt;a href=&quot;http://uploads.forumwarz.com/conversation_editor/conversation_editor.html&quot; rel=&quot;nofollow&quot; &gt;conversation editor&lt;/a&gt; creates Ruby code from a visual finite state machine.</content>
    <created-at type="datetime">2009-02-17T19:44:19+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1739</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Using CANVAS to provide a rich interface for creating a Ruby DSL</title>
    <updated-at type="datetime">2009-02-17T19:44:19+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer" nil="true"></user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://stonean.com/wiki/lockdown&quot;&gt;Lockdown&lt;/a&gt;, an authentication/authorization system for Rails 2.x, has just released version 0.8.0. Improved DSL for defining permissions in preparation for the &lt;a href=&quot;http://blog.stonean.com/2009/01/23/upcoming-dsl-for-defining-lockdown-rules/&quot;&gt;model level security coming in version 0.9.0.&lt;/a&gt;</content>
    <created-at type="datetime">2009-02-08T22:29:21+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1669</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Lockdown 0.8.0 Released</title>
    <updated-at type="datetime">2009-02-09T01:22:16+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">165</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://github.com/nakajima/sinatras-hat/tree/master&quot;&gt;Sinatra's Hat&lt;/a&gt;, the library that lets you create a RESTful Sinatra app in &lt;strong&gt;1 line of code&lt;/strong&gt; has been completely rewritten, wit a new and improved API. Example &lt;code&gt;mount Article&lt;/code&gt;. And that's it. It works with ActiveRecord out of the box, but can support any ORM. It also supports nested resources, the ability to specify actions to be protected via basic auth, custom formatters, and a sweet DSL for specifying custom flow control.</content>
    <created-at type="datetime">2009-01-31T19:00:13+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1608</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Sinatra's Hat 0.1.1 (the rewrite)</title>
    <updated-at type="datetime">2009-01-31T23:00:50+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">288</user-id>
  </item>
  <item>
    <byline>koneko</byline>
    <comments-count type="integer">0</comments-count>
    <content>Harald is a Ruby-based nano-test-framework for Bluetooth adapters and devices on Linux. Harald tries to simplify the somewhat random collection of Bluetooth testing tools on Linux into a small Domain Specific Language (DSL). A tutorial and technical summary of the initial version of Harald can be found at Technetra &lt;a href=&quot;http://www.technetra.com/2009/01/22/introducing-harald-the-ruby-bluetooth-tester/&quot; rel=&quot;nofollow&quot; &gt;here&lt;/a&gt;.</content>
    <created-at type="datetime">2009-01-22T19:21:03+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1569</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Check out Harald</title>
    <updated-at type="datetime">2009-01-22T19:21:03+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer" nil="true"></user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>Role-based authorization system with a nice DSL for specifying access control rules. Available on &lt;a href=&quot;http://github.com/be9/acl9&quot;&gt;github&lt;/a&gt;.</content>
    <created-at type="datetime">2009-01-04T05:24:50+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1463</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>acl9: new authorization plugin for Rails</title>
    <updated-at type="datetime">2009-01-04T05:24:50+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">586</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>A Domain-specific language(DSL) is a computer language that's targeted to a particular kind of problem, rather than a general purpose language that's aimed at any kind of software problem &lt;a href=&quot;http://www.khelll.com/blog/ruby/ruby-and-internal-dsls/&quot;&gt;continue here...&lt;/a&gt;</content>
    <created-at type="datetime">2008-12-30T18:57:32+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1448</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Ruby and Internal DSLs </title>
    <updated-at type="datetime">2008-12-30T18:57:32+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">528</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>I posted my notes from Neal Ford's talk at Rubyconf 2008. Here is the working &lt;a href=&quot;http://jroller.com/dscataglini/entry/railsconf_2008_advanced_dsls_in&quot;&gt;Link&lt;/a&gt;. He also posted the slides of his talk online &lt;a href=&quot;http://www.nealford.com/downloads/conferences/canonical/Neal_Ford-Advanced_DSLs_in_Ruby-slides.pdf&quot;&gt;here&lt;/a&gt;</content>
    <created-at type="datetime">2008-11-11T01:38:02+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1167</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>[Railsconf 2008] Advanced DSLs in Ruby - Neal Ford</title>
    <updated-at type="datetime">2008-11-11T01:38:02+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">492</user-id>
  </item>
  <item>
    <byline>merb-pr</byline>
    <comments-count type="integer">2</comments-count>
    <content>&lt;a href=&quot;http://merbist.com&quot; rel=&quot;nofollow&quot; &gt;The Merbist&lt;/a&gt; published a great &lt;a href=&quot;http://merbist.com/2008/11/09/merb-1-0-released/&quot; rel=&quot;nofollow&quot; &gt;article about Merb 1.0 release&lt;/a&gt;. In the long list of the compelling reasons to use Merb, you will find and interesting quote from Matz(Ruby creator) himself: &lt;em&gt;
[..] I think that that Merb will give users more freedom in a Ruby-ish way of programming [..]&lt;/em&gt;

The entire quote is available in the &lt;a href=&quot;http://merbist.com/2008/11/09/merb-1-0-released/&quot; rel=&quot;nofollow&quot; &gt;blog post&lt;/a&gt;. But basically, Matz in enthusiastic about the fact that Merb tries to be closer to the Ruby language and Ruby philosophy instead of trying to create a web DSL on top of the language. Merb is &quot;bringing back&quot; Ruby and is trying to reunite the Ruby web world with the rest of the Ruby community. Now that Merb is 1.0 and companies like yellowpages.com are using Merb, you don't have any excuses to not give it a try.</content>
    <created-at type="datetime">2008-11-10T07:16:57+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1160</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags></tags>
    <title>Merb 1.0 - approved by Matz himsself</title>
    <updated-at type="datetime">2008-11-10T12:56:26+00:00</updated-at>
    <url></url>
    <user-id type="integer" nil="true"></user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://github.com/nakajima/roleful/tree/master&quot;&gt;roleful&lt;/a&gt; is a DSL for your classes that handles roles and permissions. All you have to do is declare your roles, then provide a #role instance method to determine what role(s) an object has. Roleful will then let you know what your object can and can't do.

The point of it is not to implement something you couldn't do better yourself. It's to implement something well enough so you don't have to think about it.</content>
    <created-at type="datetime">2008-10-31T06:59:56+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1114</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>roleful is a DSL for your classes that h...</title>
    <updated-at type="datetime">2008-10-31T06:59:56+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">288</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://www.daniel-azuma.com/blog/view/z3bqa0t01uugg1/implementing_dsl_blocks&quot;&gt;Implementing DSL Blocks&lt;/a&gt; is a lengthy but thorough survey of various strategies, referencing some of the recent discussion on instance_eval. The posting also describes a gem called &lt;a href=&quot;http://virtuoso.rubyforge.org/blockenspiel&quot;&gt;Blockenspiel&lt;/a&gt; that helps with DSL block implementations.</content>
    <created-at type="datetime">2008-10-30T02:35:13+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1109</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Implementing DSL Blocks</title>
    <updated-at type="datetime">2008-10-30T02:35:13+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">34</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>Daniel Spiewak laces up not only &lt;a href-&quot;http://www.codecommit.com/blog/ruby/jruby-interop-dsl-in-scala&quot;&gt;a DSL for Scala to call JRuby&lt;/a&gt;, but also &lt;a href=&quot;http://www.codecommit.com/blog/ruby/integrating-scala-into-jruby&quot;&gt;a DSL for JRuby to run Scala&lt;/a&gt;.</content>
    <created-at type="datetime">2008-10-29T03:59:09+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1105</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Integrating Scala into JRuby</title>
    <updated-at type="datetime">2008-10-29T03:59:09+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">99</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>&lt;a href=&quot;http://www.matthewdavidwilliams.com/2008/10/17/introducing-barduino-the-ruby-powered-bar-monkey/&quot;&gt;Barduino&lt;/a&gt; was introduced at the &lt;a href=&quot;http://www.orug.org&quot;&gt;Orlando Ruby Users Group&lt;/a&gt; meeting last night.  It's a bar monkey implementation using an Arduino microcontroller, programmed with the &lt;a href=&quot;http://rad.rubyforge.org&quot;&gt;Ruby Arduino Development&lt;/a&gt; framework and controlled with a Ruby DSL; Barduino-tender.</content>
    <created-at type="datetime">2008-10-17T17:27:07+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1051</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Barduino - The drink serving robot built with Ruby</title>
    <updated-at type="datetime">2008-10-17T17:27:07+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">436</user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">0</comments-count>
    <content>Several recent blog posts about instance_eval: a &lt;a href=&quot;http://olabini.com/blog/2008/09/dont-overuse-instance_eval-and-instance_exec/&quot;&gt;warning not to overuse it&lt;/a&gt;, making it optional by &lt;a href=&quot;http://blog.grayproductions.net/articles/dsl_block_styles&quot;&gt;checking blog arity&lt;/a&gt;, &lt;a href=&quot;http://hackety.org/2008/10/06/mixingOurWayOutOfInstanceEval.html&quot;&gt;mixing and unmixing&lt;/a&gt; instead of using instance_eval, and &lt;a href=&quot;http://www.dcmanges.com/blog/ruby-dsls-instance-eval-with-delegation&quot;&gt;using instance_eval with delegation&lt;/a&gt;.</content>
    <created-at type="datetime">2008-10-08T05:12:15+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">1007</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>using instance_eval in ruby dsls</title>
    <updated-at type="datetime">2008-10-08T05:12:15+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">169</user-id>
  </item>
  <item>
    <byline>Ben Mabey</byline>
    <comments-count type="integer">0</comments-count>
    <content>An article walking through how to create shoulda-like macros in rspec.  Extending rspec's DSL is easier than you think!

&lt;a href=&quot;http://www.benmabey.com/2008/06/08/writing-macros-in-rspec/&quot; rel=&quot;nofollow&quot; &gt;Writing Macros in RSpec&lt;/a&gt;</content>
    <created-at type="datetime">2008-06-09T06:12:05+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">463</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>How To Write Macros in RSpec</title>
    <updated-at type="datetime">2008-06-09T06:12:05+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer" nil="true"></user-id>
  </item>
  <item>
    <byline nil="true"></byline>
    <comments-count type="integer">3</comments-count>
    <content>&lt;a href=&quot;http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/303681&quot;&gt;Sequel 2.0 has been released.&lt;/a&gt; Sequel is a popular database / SQL abstraction library. It provides thread safety, connection pooling and a concise DSL for constructing database queries and table schemas, as well as a simple ORM layer.</content>
    <created-at type="datetime">2008-06-02T23:36:26+00:00</created-at>
    <featured type="boolean">false</featured>
    <id type="integer">435</id>
    <metadata type="yaml" nil="true"></metadata>
    <name nil="true"></name>
    <tags nil="true"></tags>
    <title>Sequel 2.0 Released</title>
    <updated-at type="datetime">2008-06-02T23:36:26+00:00</updated-at>
    <url nil="true"></url>
    <user-id type="integer">5</user-id>
  </item>
</items>
