<?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>Weblog: Tag ruby</title>
    <link>http://blog.mkolodziej.net/articles/tag/ruby?tag=ruby</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>by &lt;a href="/pages/about"&gt;Maciek Kolodziej&lt;/a&gt;</description>
    <item>
      <title>Domain Specific Languages explained</title>
      <description>&lt;p&gt;The idea of creating internal DSLs in programming languages has always seemed kind of awkward to me. How can you create a DSL in Lisp for example? It would just be a collection of classes and mehtods/functions that you call - in other words a &lt;em&gt;library&lt;/em&gt; or an &lt;em&gt;API&lt;/em&gt; and with those pesky parentheses on the top. And to be honest, I&amp;#8217;ve never dug any deeper into this subject, because it only seemed a fancy name for an old thing to me. &lt;/p&gt;

&lt;p&gt;But yesterday while browsing the most popular Ruby questions on &lt;a href="http://stackoverflow.com"&gt;stackoverflow&lt;/a&gt;, I &lt;a href="http://stackoverflow.com/questions/150638/ruby-off-the-rails/151409#151409"&gt;found a link&lt;/a&gt; to a very nice &lt;a href="http://obiefernandez.com/presentations/obie_fernandez-agile_dsl_development_in_ruby.pdf"&gt;presentation on DSLs (PDF)&lt;/a&gt; by Obie Fernandez. It kind of opened my eyes on what it is all about and, what is more important, nicely showed what were the initial ideas behind RoR. Make it a DSL for writing web applications!&lt;/p&gt;

&lt;p&gt;And I really liked this quote from &lt;a href="http://weblog.jamisbuck.org/"&gt;Jamis Buck&lt;/a&gt;: &lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;&amp;#8220;The fascinating thing is that, in my experience, most well-written Ruby
    programs are already a DSL, just by nature of Ruby’s syntax.&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I think it really helps to remember what you should expect of yourself when writing a new piece of code in Ruby.&lt;/p&gt;

&lt;p&gt;PS. Two years is a pretty nice interval between blog posts, isn&amp;#8217;t it? At least a realistic target for me ;). Guess one shouldn&amp;#8217;t have taken the &amp;#8220;I’ll be writing more about that soon&amp;#8221; seriously.&lt;/p&gt;</description>
      <pubDate>Thu, 28 Jan 2010 00:45:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:5c5e7ba5-2521-46df-bb61-2ec05a10eb21</guid>
      <author>Maciej Kołodziej</author>
      <link>http://blog.mkolodziej.net/articles/2010/01/28/domain-specific-languages-explained</link>
      <category>ruby</category>
      <category>programming</category>
      <trackback:ping>http://blog.mkolodziej.net/articles/trackback/18665</trackback:ping>
    </item>
    <item>
      <title>Useful URLs for RoR 2.0</title>
      <description>&lt;p&gt;I spent last evening coding a new web app in RoR 2.0 till 2 a.m. This is fantastic how smooth and enjoyable the experience is. Although I had previously coded a few other apps in RoR and I loved it too, this time it was even better. &lt;/p&gt;

&lt;p&gt;I feel it&amp;#8217;s mainly because I found a ton of great tutorials and documentation I didn&amp;#8217;t have previously. And although I own the 2nd edition of the &lt;a href="http://pragprog.com/titles/rails2/"&gt;Rails book&lt;/a&gt; it doesn&amp;#8217;t cover the RESTful features deeply enough and this is the killer feature in 2.0.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;re some URLs that I think are worth sharing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://railscasts.com/"&gt;Railscasts&lt;/a&gt; - a fantastic collection of free RoR screencasts by Ryan Bates&lt;/li&gt;
&lt;li&gt;&lt;a href="http://svn.techno-weenie.net/projects/plugins/attachment_fu/"&gt;attachment_fu&lt;/a&gt; plugin by &lt;a href="http://techno-weenie.net/"&gt;Rick Olson&lt;/a&gt; and &lt;a href="http://clarkware.com/cgi/blosxom/2007/02/24"&gt;a great tutorial&lt;/a&gt; by Mike Clark&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.juixe.com/techknow/index.php/2006/06/18/acts-as-commentable-plugin/"&gt;acts_as_commentable&lt;/a&gt; plugin&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/rolerequirement/"&gt;role_requirement&lt;/a&gt; and &lt;a href="http://agilewebdevelopment.com/plugins/restful_authentication"&gt;restful_authentication&lt;/a&gt; plugins&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hope it&amp;#8217;s useful!&lt;/p&gt;</description>
      <pubDate>Tue, 18 Dec 2007 03:17:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:684e0751-15c0-4bac-9d8f-e6fcc7431b55</guid>
      <author>Maciej Kołodziej</author>
      <link>http://blog.mkolodziej.net/articles/2007/12/18/useful-urls-for-ror-2-0</link>
      <category>ruby</category>
      <category>rails</category>
      <trackback:ping>http://blog.mkolodziej.net/articles/trackback/15541</trackback:ping>
    </item>
  </channel>
</rss>

