It's possible that you just haven't read enough ruby, then. There are only two variations on the syntax of passing a block to a function, "do/end" and "{ }". By convention, multiline blocks use do/end, and single line blocks use {}.<p>It's also possible that one of the things in the article is the gotcha, flexible parenthesis. By convention, Rubyists tend to use parenthesis when defining functions, but not when calling them:<p><pre><code>    def get(path, opts={}, &#38;block)

    get "/hello" do
</code></pre>
not<p><pre><code>    get("hello") do
</code></pre>
Which would still work, if you preferred. The exception to this is chaining method calls:<p><pre><code>    Users.find_all_by_age(23).select {|user| user.first_name == "steve" }
</code></pre>
... not that that's an awesome use of ActiveRecord, but whatever.