<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zen and the Art of Programming &#187; This Week in Ruby</title>
	<atom:link href="http://programmingzen.com/category/this-week-in-ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://programmingzen.com</link>
	<description>By Antonio Cangiano, Software Engineer &#38; Technical Evangelist at IBM</description>
	<lastBuildDate>Tue, 17 Aug 2010 20:50:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>A status update</title>
		<link>http://programmingzen.com/2008/09/09/a-status-update/</link>
		<comments>http://programmingzen.com/2008/09/09/a-status-update/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 18:14:12 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Ruby Benchmark Suite]]></category>
		<category><![CDATA[This Week in Ruby]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/?p=219</guid>
		<description><![CDATA[More than a month has passed since my last update. Did you miss me? I sure missed you, I truly love you guys. Jokes aside, it was rather uncharacteristic for this blog to go so long without a post, so I feel that a status update is in order before my feed ends up in [...]]]></description>
			<content:encoded><![CDATA[<p>More than a month has passed since my last update. Did you miss me? I sure missed you, I truly love you guys. Jokes aside, it was rather uncharacteristic for this blog to go so long without a post, so I feel that a status update is in order before my feed ends up in the Dinosaur reports of your <span class="caps">RSS</span> reader. And with humanity facing the imminent threat of the Large Hadron Collider, I didn&#8217;t want to be sucked into a black hole without saying a few last words.</p>
<p>At the beginning of August I moved from Markham to Toronto (technically North York). My wife and I were prepared for this move, so it went well. That said, there were negative aspects beyond our control.</p>
<p>The Satellite Dish installer had a few interesting discussions with our property management, and while they eventually agreed to a compromise that would preserve the holiness and virginity of my balcony, they also caused me to miss the opening ceremony of the Olympic Games. I really wanted to see the fake singing by the Chinese kid and the computer generated fireworks, but alas nothing. I consoled myself by eating dumplings a la Kung Fu Panda, minus the Kung Fu part.</p>
<p>Perhaps more devastatingly my <span class="caps">ISP</span> took its sweet time to activate my <span class="caps">DSL</span> service. And when they did, things worked on an off for all of August. When my <span class="caps">ISP</span> had problems connecting me to the tubes, I tried what any respectable geek <a href="http://xkcd.com/466/">would do</a>. Despite my impression of the Statue of Liberty, standing near the window with my laptop in hand, my attempts to freeload on Wi-Fi were futile.</p>
<p>If these disruptive happenings weren&#8217;t enough, I&#8217;ve been very busy with work and the book I&#8217;m writing (<a href="http://antoniocangiano.com/my_ruby_on_rails_book.php">Ruby on Rails for Microsoft Developers</a>). I&#8217;ve written 7 chapters so far and just passed the 300 page mark. The schedule is tight, and there is so much that I want to include, so I have to dedicate almost all of my spare time to the book. On the bright side, I think I&#8217;m going to give readers their money&#8217;s worth.</p>
<p>The direct consequence of my focus on the book is that This Week in Ruby and This Week in Rails have been interrupted. A few of you enquired about them, bringing to my attention how much you appreciated them. Unfortunately, for the next two months I won&#8217;t have time to read all the daily feeds I normally follow and come up with weekly (or bi-weekly) reports of what&#8217;s cool and worth mentioning from. My friend <a href="http://www.railsenvy.com/">Gregg Pollack</a> may take over for the Rails post that gets published on the <a href="http://weblog.rubyonrails.org">official blog</a>. Unless someone sends me a complimentary English Bulldog puppy, in which case I promise to do both reports weekly and I&#8217;ll even put your picture with a halo over your head on the sidebar of the blog.</p>
<p>Another victim of overcommitment is the (vapor)shootout. Right now I&#8217;m at full capacity and need the laptop for both work and the book, so that will have to wait. If you want to lend a hand with the project, feel free to <a href="http://groups.google.com/group/ruby-benchmark-suite">jump right in</a> though.</p>
<p>Finally, while I may not have time for the weekly reports or the shootout right now, I can still spare some time to write posts more frequently. And there is no reason not to indulge in such a rewarding activity. So expect more technical articles, especially now that there are many interesting things to talk about (Google Chrome, Django 1.0, Rails 2.2, etcetera).</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/09/09/a-status-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>This Week in Ruby (July 26, 2008)</title>
		<link>http://programmingzen.com/2008/07/26/this-week-in-ruby-july-26-2008/</link>
		<comments>http://programmingzen.com/2008/07/26/this-week-in-ruby-july-26-2008/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 08:10:59 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[This Week in Ruby]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/?p=207</guid>
		<description><![CDATA[This is the 13th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments. Also, if you enjoy the series and this blog in general, please consider recommending me on Working With Rails. JRuby 1.1.3 has been released. This version includes several bug fixes and [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the 13th episode of This Week in Ruby, please consider <a href="http://feeds.feedburner.com/ZenAndTheArtOfRubyProgramming">subscribing to my feed</a> so as to not miss any weekly installments. Also, if you enjoy the series and this blog in general, please consider <a href="http://workingwithrails.com/recommendation/new/person/4723-antonio-cangiano">recommending me</a> on Working With Rails.</em></p>
<p></p>
<p><a href="http://docs.codehaus.org/display/JRUBY/2008/07/19/JRuby+1.1.3+Released">JRuby 1.1.3</a> has been released. This version includes several bug fixes and major speed and memory improvements.<br />
Satish Talim of RubyLearning has announced <a href="http://rubylearning.com/satishtalim/jruby_course.html">a new course</a> dedicated to the subject, and also interviewed Charles Nutter for the occasion, who provided some suggestions for <a href="http://rubylearning.com/blog/2008/07/21/charles-nutter-talks-to-rubylearning-participants/">RubyLearning participants</a>. This week, Satish also interviewed <a href="http://rubylearning.com/blog/2008/07/23/guy-naor-cto-morph-labs/">Guy Naor</a>, the <span class="caps">CTO</span> of Morph Labs, a prominent cloud computing Rails hosting company.</p>
<p>On the .NET side, things are moving just as quickly. <a href="http://rubyworld.wordpress.com/2008/07/25/great-ironruby-news-from-oscon-2008-cheer-up/">Some great news</a> emerged from <span class="caps">OSCON 2008</span> regarding IronRuby, including the first binary release and the setting up of a project called ironruby-contrib on GitHub. This already includes the Rails plugin for Silverlight. Meanwhile, Peter Cooper published a great set of <a href="http://www.rubyinside.com/ironruby-tutorials-by-justin-etheredge-964.html">IronRuby tutorials to bring C# developers into the Ruby fold</a>.</p>
<p>In the alternative framework world, <a href="http://www.mackframework.com/2008/07/16/release-060/">Mack Framework 0.6</a> was released, which includes DataMapper 0.9.2 and RSpec support, transactional tests, internationalization and other improvements. The <a href="http://blog.merbivore.com/2008/07/21/charging-toward-1-0">roadmap to Merb 1.0</a> was also posted on the official blog.</p>
<p>I had previously mentioned a few well known issues with Ruby and <span class="caps">XML</span>. Well, it appears that there is hope regarding a <a href="http://cfis.savagexi.com/articles/2008/07/16/resurrecting-libxml-ruby">libxml-ruby resurrection</a> after all. <a href="http://redcloth.org">RedCloth 4</a> was also released this week.</p>
<p>Two interesting articles were: <a href="http://judofyr.net/posts/dont-forget-about-rubyforge.html">Don&#8217;t forget about RubyForge</a>, which covers the issue of mass migration towards GitHub, and <a href="http://blog.jayfields.com/2008/07/ruby-underuse-of-modules.html">Modules underuse</a> by Jay Fields.</p>
<p>Toronto&#8217;s sponsor-less conference <a href="http://rethink.unspace.ca/2008/7/20/we-are-rubyfringe">RubyFringe</a> is over and according to its participants it was fantastic. I truly regret not being able to participate in it. For those who were there, feel free to share your opinions in the comment section.</p>
<p>One last thing before you go; I must give my &#8220;caught-red-handed Ruby Community award&#8221; this week to Thiyagarajan Veluchamy. This dude thought it was a good idea to <a href="http://thiyagarajanveluchamy.wordpress.com/2008/07/23/top-10-ruby-on-rails-performance-tips">lift the entire content</a> of <a href="http://antoniocangiano.com/2007/02/10/top-10-ruby-on-rails-performance-tips/">one of my most popular articles</a> from more than a year ago, even hotlinking the image, and then attributing the post to himself. Did he really think that no one would notice? Its link became popular on Del.icio.us for the Rails tag, and I got all sorts of emails from people who recognized my old (and now somewhat outdated) article. After a brief investigation, it turns out that Thiyagarajan has a habit of stealing content. Other articles appear to be copied verbatim from various blogs. Thiyagarajan, a word of advice, gathering inspiration from a certain post is fine, copying it is not. Especially if you try to pull it off by copying from someone who reports on the most interesting and popular posts in the community. That&#8217;s just a really dumb move.</p>
<p>To keep the good times rolling, the fourth edition of <a href="http://weblog.rubyonrails.org/2008/7/26/this-week-in-rails-july-26-2008">This Week in Rails</a> is available on the official Rails blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/07/26/this-week-in-ruby-july-26-2008/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>This Week in Ruby (July 11, 2008)</title>
		<link>http://programmingzen.com/2008/07/11/this-week-in-ruby-july-11-2008/</link>
		<comments>http://programmingzen.com/2008/07/11/this-week-in-ruby-july-11-2008/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 02:05:57 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[This Week in Ruby]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/?p=200</guid>
		<description><![CDATA[This is the 12th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments. Also, if you enjoy the series and this blog in general, please consider recommending me on Working With Rails. I&#8217;d like to start this edition by apologizing to my readers for [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the 12th episode of This Week in Ruby, please consider <a href="http://feeds.feedburner.com/ZenAndTheArtOfRubyProgramming">subscribing to my feed</a> so as to not miss any weekly installments. Also, if you enjoy the series and this blog in general, please consider <a href="http://workingwithrails.com/recommendation/new/person/4723-antonio-cangiano">recommending me</a> on Working With Rails.</em></p>
<p>I&#8217;d like to start this edition by apologizing to my readers for the delay in publishing this edition. Things got pretty hectic last week.</p>
<p>As far as I know, there are no updates regarding Ruby&#8217;s vulnerabilities, but if you&#8217;re aware of any, feel free to state so in the comment section. Meanwhile, BreakingPoint Systems published a couple of extra problems that were discovered while analyzing those pesky security issues. You can read about them <a href="http://www.breakingpointsystems.com/community/blog/ruby-vulns.odt">here</a>.</p>
<p>As you may have inferred, I&#8217;m quite interested in the optimization of Ruby code. Ilya Grigorik wrote 6 <a href="http://www.igvita.com/2008/07/08/6-optimization-tips-for-ruby-mri/">nice tips for optimizing Ruby <span class="caps">MRI</span></a>, which may come handy to you.</p>
<p>A new chapter was added to <em>The Book of Ruby</em> by Huw Collingbourne. Read more about it and <a href="http://www.sapphiresteel.com/Book-Of-Ruby-New-Chapter">download it here</a>.</p>
<p>The Ruby community is big on <span class="caps">TDD</span> and <span class="caps">BDD</span> and there is no doubt that testing is fundamental for good quality software. RailSpike opens a can of worms with its thought-provoking article, <a href="http://railspikes.com/2008/7/11/testing-is-overrated">Testing is overrated</a>. Whether you agree or not with its findings, it is definitely worth a read.</p>
<p>Ethan Vizitei has had a couple of compelling entries lately. The first is about <a href="http://codeclimber.blogspot.com/2008/06/using-ruby-for-imap-with-gmail.html">handling Gmail&#8217;s imap from Ruby</a> and the second deals with <a href="http://codeclimber.blogspot.com/2008/07/refactoring-in-ruby.html">refactoring Ruby code</a>.</p>
<p>Sinatra is an ultralight Web framework, while Datamapper is considered by many to be a valid substitute for Active Record. Nick Plante <a href="http://blog.zerosum.org/2008/7/2/clone-pastie-with-sinatra-datamapper-redux">shows us how to use them together</a> to create <a href="http://paste.zerosum.org/">a Pastie clone</a>. If you are into Datamapper or would like to just get a feel for it, consider reading over <a href="http://cheat.errtheblog.com/s/datamapper/">this cheatsheet</a> as well.</p>
<p>In conclusion, InfoQ published a <a href="http://www.infoq.com/news/2008/07/metaprogramming-roundup">Metaprogramming roundup</a> and the second part of their <a href="http://www.infoq.com/news/2008/07/rubykaigi">RubyKaigi 2008 coverage</a>. The most interesting bit is about the exciting prospective of standardizing Ruby. That would be a leap forward for the language and our community.</p>
<p>To keep the good times rolling, the third edition of <a href="http://weblog.rubyonrails.org/2008/7/11/this-week-in-rails-july-11-2008">This Week in Rails</a> is available on the official Rails blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/07/11/this-week-in-ruby-july-11-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Week in Ruby (June 26, 2008)</title>
		<link>http://programmingzen.com/2008/06/26/this-week-in-ruby-june-26-2008/</link>
		<comments>http://programmingzen.com/2008/06/26/this-week-in-ruby-june-26-2008/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 04:33:19 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[Merb]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby Benchmark Suite]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[This Week in Ruby]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/?p=194</guid>
		<description><![CDATA[This is the 11th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments. This edition begins with some bad news: Several vulnerabilities that affect the main Ruby implementation have been discovered. There is no reason to freak out, but they are serious. An ill-intended [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the 11th episode of This Week in Ruby, please consider <a href="http://feeds.feedburner.com/ZenAndTheArtOfRubyProgramming">subscribing to my feed</a> so as to not miss any weekly installments.</em></p>
<p>This edition begins with some bad news: <a href="http://weblog.rubyonrails.com/2008/6/21/multiple-ruby-security-vulnerabilities">Several vulnerabilities</a> that affect the main Ruby implementation have been discovered. There is no reason to freak out, but they are serious. An ill-intended person could take advantage of these vulnerability and execute arbitrary code. Matasano has a few <a href="http://www.matasano.com/log/1070/updates-on-drew-yaos-terrible-ruby-vulnerabilities/">practical examples</a> which illustrate the vulnerabilities in question. To learn more head over to the <a href="http://www.ruby-lang.org/en/news/2008/06/20/arbitrary-code-execution-vulnerabilities/">official advisory</a>. Unfortunately, the suggested upgrades (except those for Ruby 1.8.7) are currently not working for many Rails developers, who&#8217;re reporting segmentation faults. The Phusion team has created <a href="http://blog.phusion.nl/assets/r8ee-security-patch-20080623.txt">a patch</a> that was reported to be working, but it would be nice to see the Ruby Core Team verify and incorporate it quickly. If you&#8217;re running a version of Ruby that shipped with Mac <span class="caps">OS X</span>, don&#8217;t upgrade yet. Instead wait for Apple&#8217;s Software Update.</p>
<p><a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/305855">RubyGems 1.2 was released</a> and it&#8217;s much more responsive than previous versions of it were (no more bulk updates just to install a new gem). To upgrade run: <code>sudo gem update --system</code> (without <code>sudo</code> if you are on Windows). After a substantial refactoring, Mocha 0.9 &#8211; a framework for mocking and stubbing &#8211; was released this week. A new BitNami RubyStack version was released (1.2 beta) as well, which adds <a href="http://bitnami.org/article/new-rubystack-released">a lot of goodies</a> to the package, including but not limited to <span class="caps">NGINX</span>, Thin, Rack, EventMachine and so on. Speaking of EventMachine, check out <a href="http://www.infoq.com/news/2008/06/eventmachine">EventMachine: Fast and Scalable Event-Driven I/O Framework</a> published by InfoQ. Last week they also published <a href="http://www.infoq.com/news/2008/06/introducing-ruby-benchmark-suite">an interview</a> with yours truly, in regards to the Ruby Benchmark Suite. I regret that the shootout testing hasn&#8217;t started yet as promised, but <a href="http://antoniocangiano.com/2008/06/23/heads-up-regarding-the-shootout/">Murphy&#8217;s law got in the way</a>.</p>
<p>For those interested in improving their language-fu, there were a numbers of interesting articles: <a href="http://matthewcarriere.com/2008/6/23/using-select-reject-collect-inject-and-detect">Using select, reject, collect, inject and detect</a>, <a href="http://globalnerdy.com/2008/06/25/enumerating-enumerable-enumerablecollectenumerablemap/">Enumerating Enumerable</a>, <a href="http://weblog.raganwald.com/2008/06/macros-hygiene-and-call-by-name-in-ruby.htmland">Macros, Hygiene, and Call By Name in Ruby</a> <a href="http://szeryf.wordpress.com/2008/06/05/eliminating-code-duplication-with-metaprogramming/">Eliminating code duplication with Metaprogramming</a>. Also noteworthy, this piece on <a href="http://rubypond.com/articles/2008/06/19/ruby-and-microformats/">working with Microformats from Ruby</a>.</p>
<p>A <a href="http://groups.google.com/group/ruby-community-announcements">Ruby Community Announcements group</a> was started in order to provide a fast ML for announcements only. It&#8217;s for those who&#8217;d like to stay in the loop, but wish to avoid the high volume of messages in Ruby-Talk.</p>
<p>The <a href="http://erubycon.com/">erubycon conference</a> about Ruby and the Enterprise will be held between August 15 and 17 (&#8216;08) in Columbus, Ohio. They still have a few seats available, so if this topic is of interest to you, grab a spot while you still can.</p>
<p>Finally, if you&#8217;re hiring Ruby talent or plan to look for a Ruby job any time soon, take a peek at these <a href="http://blog.ritirisi.com/2008/06/17/15-questions-to-ask-during-a-ruby-interview">15 fundamental questions</a> for Ruby interviews. They&#8217;re somewhat basic, but the article is a good staring point nevertheless.</p>
<p><strong><span class="caps">ALT</span>.rb</strong></p>
<p>From the world of alternative implementations and frameworks, I found this article on <a href="http://pluskid.lifegoo.com/?p=370">Rubinius <span class="caps">FFI</span></a>, an <a href="http://alternateidea.com/blog/articles/2008/6/17/macruby-the-path-forward">introduction to MacRuby</a> as a replacement for RubyCocoa, and the announcement of <a href="http://merbunity.com/news/28">Merb&#8217;s run_later</a>&#8221; method for backgrounds tasks, all to be informative.</p>
<p><br/></p>
<p>To keep the good times rolling, the second edition of <a href="http://weblog.rubyonrails.com/2008/6/26/this-week-in-rails-june-26-2008">This Week in Rails</a> is available on the official Rails blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/06/26/this-week-in-ruby-june-26-2008/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>This Week in Ruby (June 16, 2008)</title>
		<link>http://programmingzen.com/2008/06/16/this-week-in-ruby-june-16-2008/</link>
		<comments>http://programmingzen.com/2008/06/16/this-week-in-ruby-june-16-2008/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 02:23:30 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[Merb]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby Benchmark Suite]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[This Week in Ruby]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/?p=191</guid>
		<description><![CDATA[This is the 10th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments. As announced a few days ago, This Week in Ruby is being split into two parts: This Week in Ruby and This Week in Rails. The one you are reading is [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the 10th episode of This Week in Ruby, please consider <a href="http://feeds.feedburner.com/ZenAndTheArtOfRubyProgramming">subscribing to my feed</a> so as to not miss any weekly installments.</em></p>
<p>As announced a few days ago, This Week in Ruby is being split into two parts: This Week in Ruby and This Week in Rails. The one you are reading is the Ruby edition, while <a href="http://weblog.rubyonrails.org/">Riding Rails</a> &#8211; the official Rails blog &#8211; will host the Rails one. Links to and from each post will be provided, in case you don&#8217;t follow both blogs.</p>
<p><strong>Ruby</strong></p>
<p>The Ruby community has shown a clear interest in <a href="http://en.wikipedia.org/wiki/Behavior_driven_development">Behavior-Driven Development</a> (BDD), so if you haven&#8217;t taken the plunge yet, check out Ben Emson&#8217;s <a href="http://blog.emson.co.uk/2008/06/understanding-rspec-stories-a-tutorial/">introduction to RSpec Stories</a>. Those who&#8217;re already well versed with RSpec, will enjoy an article by another Ben, in which RSpec&#8217;s <span class="caps">DSL</span> internals are explained in detail so as to cover an example of creating macros with RSpec.</p>
<p>The Pragmatic Programmers published a series of screencasts about <a href="http://www.pragprog.com/screencasts/v-dtrubyom/the-ruby-object-model-and-metaprogramming">The Ruby Object Model and Metaprogramming</a>. So far they&#8217;ve received <a href="http://www.rubyinside.com/ruby-screencasts-oop-metaprogramming-dave-thomas-920.html">glowing reviews</a>, including <a href="http://antoniocangiano.com/2008/06/12/review-of-the-ruby-object-model-and-metaprogramming/">my own</a>, hence I highly recommend that you evaluate them.</p>
<p>A couple of weeks ago <a href="http://antoniocangiano.com/2008/06/01/help-me-create-the-ruby-benchmark-suite/">I announced</a> the creation of a <a href="http://github.com/acangiano/ruby-benchmark-suite/tree/master">Ruby Benchmark Suite</a> project. The next shootout will take place starting from the 24th and I should be able to get the results up on this blog by the 30th of this month.</p>
<p>While working on modifying his RX Ruby Tokenizer to be included in the Ruby Benchmark Suite, Tim Bray <a href="http://www.tbray.org/ongoing/When/200x/2008/06/10/RX-Work">reported a few considerations</a> on the sad status of <span class="caps">REXML</span> and Ruby 1.9. It&#8217;s definitely an interesting read, and it&#8217;s important to increase the awareness about the current pains of working with Ruby 1.9 and <span class="caps">REXML</span>.</p>
<p>Yesterday, Tim also had a post titled <a href="http://www.tbray.org/ongoing/When/200x/2008/06/15/Deletionist-Morons">Deletionist Morons</a> about the controversy surrounding the proposed deletion of <a href="http://en.wikipedia.org/wiki/Why_the_lucky_stiff">Why the lucky stiff&#8217;s wikipedia entry</a>. The Ruby community at large vouched for Why, who is clearly one of its biggest, and definitely most original, contributors.</p>
<p>Finally, the fun Ruby article award of the week goes to Ilya Grigorik for his <a href="http://www.igvita.com/2008/06/08/tumblr-rmagick-and-a-photo-frame/">Tumblr, RMagick and a Photo Frame!</a></p>
<p><strong><span class="caps">ALT</span>.rb</strong></p>
<p>RailConf&#8217;s presentation regarding MagLev has been an attention grabber in the world of alternative Ruby implementations. A video of <a href="http://www.vimeo.com/1147409">Avi Bryant&#8217;s demo</a> is now available online, as well as a somewhat older <a href="http://www.infoq.com/news/2008/06/bryant-maglev-ruby-gemstone">interview with InfoQ</a>. You can read <a href="http://www.chadfowler.com/2008/6/5/maglev">Chad Fowler&#8217;s take</a> as well as <a href="http://antoniocangiano.com/2008/05/31/maglev-rocks/">mine</a>.</p>
<p><a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/304264">MacRuby 0.2 was released</a> about 10 days ago. For those not familiar with this project, it&#8217;s an Ojective-C based implementation of Ruby 1.9 for Mac <span class="caps">OS X</span>. The general idea is to have a Ruby version that lets you write Mac applications that perform reasonably well. In the upcoming shootout we&#8217;ll be testing this early release as well.</p>
<p>Those of you still working in Java, but interested in the possibility of using Ruby&#8217;s testing tools and frameworks, should pay attention to the <a href="http://ola-bini.blogspot.com/2008/06/jtestr-03-released.html">release of JtestR 0.3</a>. As you can imagine, this works thanks to JRuby&#8217;s interoperability capabilities with Java. If this alternative Ruby implementation for the <span class="caps">JVM</span> appeals to you, you should probably also read <a href="http://java.dzone.com/articles/discussing-jruby-with-thomas-e">Thomas Enebo&#8217;s interview</a> about the future of JRuby. Speaking of interoperability, at Tech Ed (that&#8217;s a Microsoft event), John Lam demonstrated <a href="http://www.iunknown.com/2008/06/ironruby-and-aspnet-mvc.html">a cool prototype</a> for the integration of IronRuby and <span class="caps">ASP</span>.NET <span class="caps">MVC</span>.</p>
<p>Readers interested in contributing to Rubinius, should take a look at <a href="http://adam.blog.heroku.com/past/2008/6/12/quickstart_to_hacking_rubinius/">this write-up</a> about getting started with hacking on Rubinius.</p>
<p><strong>Web Frameworks</strong></p>
<p>At the latest Toronto Rails night (which I didn&#8217;t attend, but I soon will be as I&#8217;m moving downtown), Rowan Hick presented Merb, and has now made <a href="http://work.rowanhick.com/2008/06/11/toronto-rails-night-merb-presentation/">his presentation</a><br />
 available online. Speaking of Merb, <a href="http://express.engineyard.com/">Engine Yard Express</a> is a new free product that lets you try out an Engine Yard &#8220;slice&#8221; wrapped up in a VMware image, and both Merb and Rails are supported.</p>
<p>The 2008.06 version of Ramaze was released last week. Aside from switching from a numeric release scheme to a date-based one (which I personally like much more), this is a major release that introduces over 450 patches and a few changes to the internal <span class="caps">API</span>.</p>
<p>To keep the good times rolling, the first edition of <a href="http://weblog.rubyonrails.org/2008/6/16/this-week-in-rails-june-16-2008">This Week in Rails</a> is available on the official Rails blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/06/16/this-week-in-ruby-june-16-2008/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The future of This Week in Ruby</title>
		<link>http://programmingzen.com/2008/06/11/the-future-of-this-week-in-ruby/</link>
		<comments>http://programmingzen.com/2008/06/11/the-future-of-this-week-in-ruby/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 15:14:20 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[This Week in Ruby]]></category>
		<category><![CDATA[this week in rails]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/?p=188</guid>
		<description><![CDATA[You may have noticed that a few days ago I didn&#8217;t post a new edition of This Week in Ruby. This was intentional and related to the future of this series. Let me tell you about it briefly. Ever since I started This Week in Ruby, I&#8217;ve received many emails from people telling me how [...]]]></description>
			<content:encoded><![CDATA[<p>You may have noticed that a few days ago I didn&#8217;t post a new edition of This Week in Ruby. This was intentional and related to the future of this series. Let me tell you about it briefly.</p>
<p>Ever since I started This Week in Ruby, I&#8217;ve received many emails from people telling me how much they appreciated a weekly summary of the most relevant and interesting highlights from the Ruby and Rails communities. So I feel completely compelled to continue the series and I don&#8217;t plan on ending it anytime soon.</p>
<p>However a new and important arrangement has developed: <a href="http://weblog.rubyonrails.org/2008/6/10/two-new-weekly-columns">I&#8217;ve been asked</a> to write a weekly summary exclusively about Rails for the official Rails blog. This means that every Sunday/Monday, I will publish This Week in Ruby (without the Rails bits) on this blog, and This Week in Rails on <a href="http://weblog.rubyonrails.org/">the Rails blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/06/11/the-future-of-this-week-in-ruby/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>This Week in Ruby (May 29, 2008)</title>
		<link>http://programmingzen.com/2008/05/29/this-week-in-ruby-may-29-2008/</link>
		<comments>http://programmingzen.com/2008/05/29/this-week-in-ruby-may-29-2008/#comments</comments>
		<pubDate>Thu, 29 May 2008 23:54:44 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Merb]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[This Week in Ruby]]></category>
		<category><![CDATA[datamapper]]></category>
		<category><![CDATA[ironruby]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[mod_rails]]></category>
		<category><![CDATA[purexml]]></category>
		<category><![CDATA[railsconf]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/?p=183</guid>
		<description><![CDATA[This is the 9th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments. Ruby Two days ago JRuby 1.1.2 was released. Amongst several bug fixes and improvements, this release is characterized by a focus on performances. Startup time, threading, method calling and YAML symbol [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the 9th episode of This Week in Ruby, please consider <a href="http://feeds.feedburner.com/ZenAndTheArtOfRubyProgramming">subscribing to my feed</a> so as to not miss any weekly installments.</em></p>
<p><strong>Ruby</strong></p>
<p>Two days ago <a href="http://docs.codehaus.org/display/JRUBY/2008/05/27/JRuby+1.1.2+Released">JRuby 1.1.2</a> was released. Amongst several bug fixes and improvements, this release is characterized by a focus on performances. Startup time, threading, method calling and YAML symbol parsing have all been drastically improved.</p>
<p>Huw Collingbourne of <a href="http://www.sapphiresteel.com">SapphireSteel</a>, <a href="http://www.sapphiresteel.com/The-Book-Of-Ruby-free-in-depth">has announced</a> that he&#8217;ll be releasing a complete book on Ruby, chapter by chapter, free of charge online. After reading <a href="http://www.sapphiresteel.com/The-Book-Of-Ruby">the first chapter,</a> I can attest that it&#8217;s excellent. Keep an eye on it, as new chapters get added.</p>
<p>The Pragmatic Programmers put out a series of screencasts for sale. The most relevant series for Ruby programmers is <a href="http://pragprog.com/screencasts/v-rbar/everyday-active-record">Everyday Active Record</a>. The first two episodes (a half an hour long, each) are out and can be purchased for just $5 a piece. The preview &mdash; and Ryan Bates&#8217;s reputation &mdash; lead me to believe that they are entirely worth their very reasonable sticker price. Speaking of screencasts, a new one about merb-slices was released <a href="http://merbunity.com/screencasts/1" title="17.9MB">on Merbunity</a>, check it out if you&#8217;re into Merb.</p>
<p>There were two important releases last week, <a href="http://www.mackframework.com/2008/05/21/release-055/">Mack 0.5.5</a> &mdash; which features a new rendering engine with support for Haml and Markaby &mdash; and <a href="http://datamapper.org/">DataMapper 0.9</a>, a major reworking of the <span class="caps">ORM</span>. A third release, which is perhaps just as welcomed, was launched by _Why who included <a href="http://hackety.org/2008/05/22/theImageBlockAtTheBottomOfShoes.html">a few graphical improvements</a> for Shoes, his <span class="caps">GUI</span> application toolkit. Definitely neat stuff, which I invite you to take a look at if you&#8217;re working on a Mac.</p>
<p>Peter Cooper published <a href="http://www.rubyinside.com/21-ruby-tricks-902.html">21 Ruby Tricks You Should Be Using In Your Own Code</a>. You probably know already most of the common ones at least, but they&#8217;re quick and fun, so if you haven&#8217;t checked out the post yet take a moment and do so. Other must-read tutorials and articles were <a href="http://redartisan.com/2008/5/18/dtrace-ruby">Ruby &#38;&#38; DTrace!</a> (really neat results), <a href="http://www.igvita.com/2008/05/27/ruby-eventmachine-the-speed-demon/">Ruby EventMachine &#8211; The Speed Demon</a> by one of my favorite Ruby bloggers, and <a href="http://benchcoach.com/papers/scraping">Will&#8217;s Guide to Mashing-up Remote Databases using Page Scraping</a>.</p>
<p>In a post made a couple of days ago, Robert Fischer opened up a can of worms by bringing up the issue of Ruby and <span class="caps">XML</span> libraries. As most of you know <span class="caps">REXML</span> is far from being issue-free (performance <em>in primis</em>), and in <a href="http://enfranchisedmind.com/blog/2008/05/27/the-status-of-rubys-libxml/">The Status of Ruby&#8217;s libxml</a> Robert uncovers that the author of LibXml Ruby is unable to actively pursue the development of his extension. This issue concerns me, but if I&#8217;m working with databases, I prefer to take advantage of <a href="http://www-306.ibm.com/software/data/db2/express/download.html"><span class="caps">DB2</span> Express-C</a> &#8217;s fantastic <a href="http://www.redbooks.ibm.com/abstracts/sg247315.html?Open">pureXML</a> features, which give me the sort of speed, flexibility and stability that I won&#8217;t find in a Ruby library anytime soon.</p>
<p>Before highlighting some of the news from Rails-land, I wanted to inform you that a new version of <a href="http://antoniocangiano.com/2007/12/03/the-great-ruby-shootout/">The Great Ruby Shootout</a> will surface in June, as I intend to test a couple of special new entries.</p>
<p><strong>Rails</strong></p>
<p>Today, <a href="http://en.oreilly.com/rails2008/public/content/home">RailsConf 2008</a> started and it certainly stands a great chance of being dubbed an exhilarating event. A few people enquired to see if they could meet me there, but unfortunately I couldn&#8217;t make it. Chances are that you&#8217;re reading this post from RailsConf. If that&#8217;s the case, say hi for me and don&#8217;t forget to visit the nice fellas from <a href="http://engineyard.com">Engine Yard</a>, <a href="http://en.oreilly.com/rails2008/public/schedule/detail/4345">Morph</a> (my sponsor), <a href="http://phusion.nl">Phusion</a> and <a href="http://en.oreilly.com/rails2008/public/schedule/detail/4351">GemStone</a>. Oh and also, feel free to pass around the url of this entry. <img src='http://programmingzen.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Rails 2.1 <span class="caps">RC1</span> is out, so you&#8217;ll find this article on <a href="http://blog.assaydepot.com/2008/5/23/upgrade-to-rails-2-1-0_rc1">upgrading to Rails 2.1.0_RC1</a> useful. Fabio Akita released a new version of his popular tutorials, Rolling with Rails 2.1 (<a href="http://www.akitaonrails.com/2008/5/25/rolling-with-rails-2-1-the-first-full-tutorial-part-1">part 1</a> and <a href="http://www.akitaonrails.com/2008/5/26/rolling-with-rails-2-1-the-first-full-tutorial-part-2">part 2</a>). And if you are looking for an advanced authentication/authorization system for Rails 2, take a gander at <a href="http://lockdown.rubyforge.org/">Lockdown on RubyForge</a>.</p>
<p>My friends at SeeSaw implemented a series of <a href="http://code.google.com/p/rails-widgets/">Rails Widgets</a> which can easily be installed as a Rails plugin. Feel free to use them and/or contribute, in order to add further support for simplifying and reusing common UI elements. Speaking of shiny things, check out this <a href="http://azizash.deviantart.com/art/Ruby-on-Rails-icon-pack-81755219">Ruby on Rails icon pack</a>; very pleasing to the eye, in my opinion.</p>
<p>RubyInside published a list of <a href="http://www.rubyinside.com/28_mod_rails_and_passenger_resources-899.html">28 mod_rails / Passenger Resources To Help You Deploy Rails Applications Faster</a>. As <span class="caps">DHH</span> forecasted, &#8220;this could definitely become very popular, very fast <img src='http://programmingzen.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> &#8221;.</p>
<p>New Relic released their RPM solution for monitoring and improving the performances of Rails applications to the general public. You can <a href="http://newrelic.com/get-RPM.html">get it here</a>.</p>
<p>And finally, some great news just came in, <a href="http://twitter.com/john_lam/statuses/822070470">IronRuby is running unmodified Rails</a>. &#8220;Excellent&#8221; (said in Montgomery Burns&#8217; voice, complete with characteristic hand gesture).</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/05/29/this-week-in-ruby-may-29-2008/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>This Week in Ruby (May 20, 2008)</title>
		<link>http://programmingzen.com/2008/05/20/this-week-in-ruby-may-20-2008/</link>
		<comments>http://programmingzen.com/2008/05/20/this-week-in-ruby-may-20-2008/#comments</comments>
		<pubDate>Tue, 20 May 2008 22:20:07 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[This Week in Ruby]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/2008/05/20/this-week-in-ruby-may-20-2008/</guid>
		<description><![CDATA[This is the 8th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments. Ruby Yehuda Katz released a couple of &#8220;gems&#8221; this week: Thor improves Ruby&#8217;s support for scripting, and it was created while he was working on a Textmate gem for handling bundles. [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the 8th episode of This Week in Ruby, please consider <a href="http://feeds.feedburner.com/ZenAndTheArtOfRubyProgramming">subscribing to my feed</a> so as to not miss any weekly installments.</em></p>
<p><strong>Ruby</strong></p>
<p>Yehuda Katz released a couple of &#8220;gems&#8221; this week: <a href="http://yehudakatz.com/2008/05/12/by-thors-hammer/http://yehudakatz.com/2008/05/12/by-thors-hammer/">Thor</a> improves Ruby&#8217;s support for scripting, and it was created while he was working on a <a href="http://yehudakatz.com/2008/05/19/textmate-gem/">Textmate gem</a> for handling bundles.</p>
<p>You may have heard about the book: The Ruby Programming Language. I found <a href="http://www.unboundimagination.com/Book-Review:-The-Ruby-Programming-Language">this review</a> to be an interesting read if you are considering purchasing it.</p>
<p>Struggling with regular expressions in Ruby? Now you can use <a href="http://rubular.com">Rubular</a>, an excellent way of editing and testing Regular Expressions in Ruby, so that <a href="http://regex.info/blog/2006-09-15/247">&#8220;you don&#8217;t have a new problem&#8221;</a>.</p>
<p>If you are one of the developers who prefers Flex to Ajax, then you need to check out <a href="http://ruboss.com/">Ruboss</a>, a new framework aimed at simplifying the creation of Flex powered Rails applications. The co-author of the framework is also the author of <a href="http://www.flexiblerails.com/">Flexible Rails</a>, a well written book that I&#8217;m trying (slowly) to read, even if at this stage I don&#8217;t plan to use Flex.</p>
<p>DataMapper continues to gain momentum in the Ruby community, particularly for its usage with alternative frameworks. An article titled <a href="http://adam.speaksoutofturn.com/articles/thoughts_on_datamapper.html">Thoughts on DataMapper</a> provides a lot of insight into this enterprise level ORM.</p>
<p><strong>Rails</strong></p>
<p>The big news this week is that <a href="http://blog.fallingsnow.net/2008/05/17/rails-on-rubinius/">Rails is finally on Rubinius</a>. This follows a previous announcement in which the Rubinius team managed to get Merb up and running. Once long ago, at the time of my first shootout when Rubinius was a very young project and performed poorly, I had an email exchange with Evan Phoenix and I told him, &#8220;I secretly think that your project may become the most interesting implementation of Ruby.&#8221;. I stick to that conviction. As long as they manage to improve performance to the point of being as fast as Ruby 1.9, they have a shot at becoming the most popular Ruby VM. The company that made this possible is Engine Yard, and you may be interested in checking out <a href="http://sazbean.com/2008/05/14/interview-with-lance-walley-ceo-of-engine-yard/">this interview</a> with their CEO, Lance Walley.</p>
<p>WindCityRails is a one-day (September 20, 2008) not-for-profit conference. There are only 150 places available and these will sell out really fast. Book your sit now, it&#8217;s only $99 for a day of fun and coding.</p>
<p>Other remarkable articles from this week were: <a href="http://www.flyingmachinestudios.com/2008/05/12/chunky-iterator-so-you-dont-have-to-load-all-your-ar-objects-at-once/">Chunky Iterator: So You Don’t Have to Load All Your AR Objects at Once</a>, <a href="http://www.railway.at/articles/2008/05/14/do-we-really-need-controller-and-view-tests">Do we really need Controller and View tests?</a>, <a href="http://www.railway.at/articles/2008/05/19/guide-to-unobtrusive-javascript-part-1">Guide to Unobtrusive JavaScript</a> and <a href="http://jimneath.org/2008/05/15/swfupload-paperclip-and-ruby-on-rails/">SWFUpload, Paperclip and Ruby on Rails</a>.</p>
<p>Not exactly published last week, but still worth mentioning is this series of Notes from the Advanced Rails Studio (<a href="http://evan.tiggerpalace.com/2008/05/05/advanced-rails-studio-notes-day-1/">part 1</a>, <a href="http://evan.tiggerpalace.com/2008/05/06/advanced-rails-studio-day-2/">2</a> and <a href="http://evan.tiggerpalace.com/2008/05/07/advanced-rails-studio-day-3-live-blogging/">3</a>).</p>
<p><strong>mod_rails</strong></p>
<p><a href="http://blog.dreamhost.com/2008/05/13/passenger-for-ruby-on-rails/">Dreamhost is now officially on Passenger</a>; this is a major score for the guys at Phusion. They also have <a href="http://www.rubyenterpriseedition.com/">a challenge up</a> with t-shirts offered as a prize, for those who can identify the various deployment configurations compared in two speed and memory charts, while testing the blog engine Typo 5.0.3.</p>
<p>This week Geoffrey Grosenbach shared his point of view regarding mod_rails in <a href="http://nubyonrails.com/articles/ask-your-doctor-about-mod_rails">Ask Your Doctor About mod_rails</a>, while the second part of <a href="http://sysadminschronicles.com/articles/2008/05/13/ubuntu-8-04-rails-server-using-passenger-part-2">Ubuntu 8.04 Rails Server Using Passenger</a> went up.</p>
<p>It could be said that the Phusion guys are very good at creating hype for their products, but &#8212; for now I can&#8217;t say more than that &#8212; they seem to deliver.</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/05/20/this-week-in-ruby-may-20-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>This Week in Ruby (May 12, 2008)</title>
		<link>http://programmingzen.com/2008/05/12/this-week-in-ruby-may-12-2008/</link>
		<comments>http://programmingzen.com/2008/05/12/this-week-in-ruby-may-12-2008/#comments</comments>
		<pubDate>Mon, 12 May 2008 19:52:42 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Merb]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[This Week in Ruby]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/2008/05/12/this-week-in-ruby-may-12-2008/</guid>
		<description><![CDATA[This is the 7th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments. Ruby The tickets for RubyKaigi went on sale yesterday. RubyKaigi is the Japanese equivalent of RubyConf and will take place from the 20th to the 22nd of June. Yehuda Katz blogged [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the 7th episode of This Week in Ruby, please consider <a href="http://feeds.feedburner.com/ZenAndTheArtOfRubyProgramming">subscribing to my feed</a> so as to not miss any weekly installments.</em></p>
<p><strong>Ruby</strong></p>
<p>The tickets for RubyKaigi <a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/301304">went on sale</a> yesterday. RubyKaigi is the Japanese equivalent of RubyConf and will take place from the 20th to the 22nd of June.</p>
<p>Yehuda Katz <a href="http://yehudakatz.com/2008/05/05/best-things-come-in-threes/">blogged about Benchwarmer</a>, which is an improved DSL for doing benchmarks. The repository can be found <a href="http://github.com/wycats/benchwarmer/tree/master">on GitHub</a>.</p>
<p>That mad man, commonly known as <em>why</em>, has released another interesting proof of concept, aptly named <a href="http://github.com/why/unholy/tree/master">Unholy</a>. It&#8217;s a Ruby to PYC converter that aims at compiling Ruby sources to Python bytecode, making it possible to write Ruby code and run it on CPython. Not only that, but with a patched version of <em>decompyle</em>, it&#8217;d be possible to obtain Python source code that could be used, for example, <a href="http://hackety.org/2008/05/05/sneakingRubyThroughGoogleAppEngine.html">on Google App Engine</a>. Don&#8217;t expect to run Rails on mod_python anytime soon, though.</p>
<p>The Rails community may favor Macs, but there is no denying that there exist a huge amount of developers using Ruby and Rails on Windows. As a matter of fact, the One-Click Ruby Installer is the most popular project on <a href="http://rubyforge.org/">RubyForge</a> with almost 2.4 Million downloads, and Instant Rails is not doing too bad either, having surpassed the half a million mark. However, there is now another easy way to get the whole stack that&#8217;s required to run Rails on Windows (also available for Mac and Linux), and it&#8217;s called <a href="http://bitnami.org/stack/rubystack">RubyStack</a>. Unlike InstantRails, this is an actual installer and it includes: Ruby, RubyGems, Rails, MySQL, SQLite, Subversion, ImageMagick, Mongrel, Apache 2.2.8, PHP 5 and phpMyAdmin. The company, BitNami, also recently published <a href="http://bitnami.org/article/howto-windows-rubystack-aptana-radrails-ruby-debug">a tutorial</a> on how to add Aptana RadRails and Ruby Debug to the stack. If you&#8217;ve tried RubyStack, please leave your comments and opinions in the comments section.</p>
<p><strong>Alternative implementations</strong></p>
<p>Adam Fine, of Israel.rb, has a nice Ruby implementation roundup. You can read and comment on it <a href="http://groups.google.com/group/israelrb/browse_thread/thread/cfc8e3fbb63bd3ad">here</a>.</p>
<p>A couple of weeks ago the IronRuby project received a healthy dose of criticism (including my own) within the mailing list. A lack of openness and status updates, made contributions harder and portrayed the project as progressing at a deadly slow pace. I&#8217;m glad to report that the team has reacted in a proactive manner and embraced <a href="http://rubyforge.org/pipermail/ironruby-core/2008-May/thread.html">a more open approach</a> where, for example, code reviews are now published in the ML. IronRuby has changed pace, or at least that&#8217;s the perception, and in an open source project this is also important. Now I&#8217;m confident that we can expect good things from this project. Meanwhile, you can <a href="http://www.ironruby.info/ir/">try IronRuby in your browser</a>, courtesy of <a href="http://www.tkachenko.com/blog/archives/000742.html">Oleg Tkachenko</a>.</p>
<p>You may remember, from a few editions ago, that I mentioned Dan Berger and his fork of the MRI, called Sapphire. DevFi has <a href="http://devfi.com/articles/2008/05/05/devfi-podcast-1-buy-build-fork">an interview with him</a> in which he expresses quite clearly his intentions and rationale behind the decision to fork Ruby. Better support for Ruby on Windows, attention to correctness and testing, improving the standard library and a faster evolution of the language, seem to be the main reasons.</p>
<p>Sticking with the name Sapphire, Huw Collingbourne has <a href="http://www.sapphiresteel.com/The-Sapphire-Language-the-problem">a nice writeup</a> on Multiple Inheritance, modules and mixins. While his language isn&#8217;t a fork of Ruby but rather just inspired by it, Ruby developers will find the article interesting as well, because it covers what Huw perceives as being issues when it comes to Ruby&#8217;s modules.</p>
<p>In JRuby-land, on the heels of Java One, Nick Sieger has <a href="http://blog.nicksieger.com/articles/2008/05/08/introducing-jruby-rack">announced JRuby-Rack</a> which can be used to run Rails, Merb, or any Rack-compatible framework inside a Java application server.</p>
<p><strong>Merb</strong></p>
<p><a href="http://merbivore.org"><img src='http://antoniocangiano.com/wp-content/uploads/2008/05/merb.png' alt='Merb' align="right"/></a>According to <a href="http://metaclass.org/2008/5/10/merb-on-rubinius">this post</a> Merb is running on Rubinius (if we exclude the ORM layer). Both projects are promoted and sponsored by <a href="http://engineyard.com">the same company</a>, so it&#8217;s natural that we&#8217;ll continue to see better integration.</p>
<p>Two new bundles for Merb and DataMapper are finally available for TextMate users. You can download and <a href="http://merbunity.com/news/3">read about them here</a>.</p>
<p>A post by Michael Klishin created quite a bit of controversy. Entitled <a href="http://novemberain.com/2008/5/11/state-of-merb-before-1-0-the-good-the-bad-and-the-ugly">State of Merb on road to 1.0: the good, the bad and the ugly</a>, this kind of status update can be very appealing, as we head towards version 1.0 of Merb. Unfortunately &#8220;the ugly&#8221; in this case is the tone of the post, which made the author appear immature, due to the gratuitous bashing of Rails developers. It is unfortunate that the author of <a href="http://github.com/wycats/merb-core/tree/1a3c12d216439d5db5c7e39468a9723b5e6a7041/docs/merb-core-call-stack-diagram.png?raw=true">this nice mapping of a Merb server&#8217;s boot process</a>, opted to convey his enthusiasm through blind antagonism. Let me reassure you though, that this is not representative of the Merb community as a whole; which is welcoming, definitely enthusiastic, but far from disrespectful of other projects. Merb developers believe in their project and the technical advantages that it offers over Rails, and have no qualms in stating so either. But they do so in a factual manner, as opposed to vague attacks against people who opt for a different framework.</p>
<p><strong>Rails</strong></p>
<p>Through his Twitter account, David <a href="http://twitter.com/d2h/statuses/808936705">announced</a> that &#8220;Rails 2.1 RC1 has been tagged and the gems are on the beta servers&#8221;. Now is an ideal time to test it out. If you need some help, <a href="http://railscasts.com/episodes/105">this screencast</a> should do the trick.</p>
<p>The fourth part of a tutorial on Routing in Rails 2 was recently published. If you haven&#8217;t done so, follow the links to <a href="http://darynholmes.wordpress.com/2008/03/15/beginners-tutorial-routing-in-rails-20-with-rest-part-1-of-n/">part 1</a>, <a href="http://darynholmes.wordpress.com/2008/03/25/beginners-tutorial-routing-in-rails-20-with-rest-part-2-of-n/">2</a>, <a href="http://darynholmes.wordpress.com/2008/04/27/beginners-tutorial-routing-in-rails-20-with-rest-part-3-of-n/">3</a> and <a href="http://darynholmes.wordpress.com/2008/05/11/beginners-tutorial-routing-in-rails-20-with-rest-part-4-of-n/">4</a>.</p>
<p>Emacs fans may be interested in <a href="http://platypope.org/yada/emacs-demo/?zomg=omgwtflolbbq">this screencast</a>, that shows how to use Emacs with Rails. Other interesting highlights this week were: <a href="http://tenderlovemaking.com/2008/05/06/write-your-rails-view-in-javascript/">Write your Rails view in&#8230; JavaScript?</a>, <a href="http://www.missingmethod.com/projects/community_engine/">Community Engine</a> (a Social Networking plugin), the release of <a href="http://almosteffortless.com/2008/05/05/el-dorado-092-group-chat-edition/">El Dorado 0.9.2</a> (which adds a group chat option) and finally <a href="http://caffeinefueled.com/posts/after-create-pimp">after_create :pimp</a>, which automatically pings Google (and possibly other services) once the contents of your Rails app have been updated.</p>
<p><strong>Rails deployment</strong></p>
<p>Ron Valente has <a href="http://sysadminschronicles.com/articles/2008/05/06/ubuntu-8-04-rails-server-using-passenger">a guide</a> on setting up a Rails server through Ubuntu 8.04 using Passenger. While Jim Neath, published <a href="http://jimneath.org/2008/05/10/using-capistrano-with-passenger-mod_rails/">Using Capistrano with Passenger (mod_rails)</a>.</p>
<p>For those interested in cloud computing, I found <a href="http://jaikoo.com/2008/5/9/poor-mans-cdn">this article</a> on how to create a &#8220;poor man&#8217;s&#8221; Content Delivery Network with NGINX, Varnish, Merb and Amazon S3, to be very compelling.</p>
<p>Meanwhile the VC funding spree of Ruby/Rails hosting companies continues, with <a href="http://www.techcrunch.com/2008/05/08/ruby-on-rails-startup-heroku-gets-3-million/">a $3 Million round of financing</a> being handed out to Heroku by Redpoint Ventures.</p>
<p><a href="http://www.amazon.com/gp/product/0978739205?ie=UTF8&#038;tag=zenruby-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0978739205"><img src='http://antoniocangiano.com/wp-content/uploads/2008/05/deploying_rails.jpg' alt='Deploying Rails' align="right" /></a>This week, Ezra&#8217;s <a href="http://www.amazon.com/gp/product/0978739205?ie=UTF8&#038;tag=zenruby-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0978739205">Deploying Rails Applications: A Step-by-Step Guide</a> finally hit the press. I ordered my copy from Amazon and it shipped yesterday. At about the same time, <a href="http://www.amazon.com/gp/product/0978739221?ie=UTF8&#038;tag=zenruby-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0978739221">Advanced Rails Recipes: 84 New Ways to Build Stunning Rails Apps</a> was published but, at least in my case, hasn&#8217;t shipped yet.</p>
<p><strong>Railscasts 100th Episode Contest</strong></p>
<p>Ryan Bates had a contest for his 100th Episode of <a href="http://railscasts.com">Railscasts</a>. Yesterday night he announced the winners. Congratulations to them and to all of those who participated. What&#8217;s really interesting though is that now there are several hundred Rails tips out there. You can read (and in some cases watch) all of them by following the links <a href="http://railscasts.com/contest">on the contest page</a>.</p>
<p>All this material should be enough to keep you busy until next week. Please feel free to provide comments and feedback on this series.</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/05/12/this-week-in-ruby-may-12-2008/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>This Week in Ruby (May 5, 2008)</title>
		<link>http://programmingzen.com/2008/05/05/this-week-in-ruby-may-5-2008/</link>
		<comments>http://programmingzen.com/2008/05/05/this-week-in-ruby-may-5-2008/#comments</comments>
		<pubDate>Mon, 05 May 2008 19:21:33 +0000</pubDate>
		<dc:creator>Antonio Cangiano</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[This Week in Ruby]]></category>

		<guid isPermaLink="false">http://antoniocangiano.com/2008/05/05/this-week-in-ruby-may-5-2008/</guid>
		<description><![CDATA[This is the 6th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments. Ruby Jamis Buck released Net::SSH 2.0, Net::SFTP 2.0, Net::SCP 1.0, Net::SSH::Gateway 1.0 and Net::SSH::Multi 1.0. If you would like to learn why this matters, please head over and read his announcement. [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the 6th episode of This Week in Ruby, please consider <a href="http://feeds.feedburner.com/ZenAndTheArtOfRubyProgramming">subscribing to my feed</a> so as to not miss any weekly installments.</em></p>
<p><strong>Ruby</strong></p>
<p>Jamis Buck released Net::SSH 2.0, Net::SFTP 2.0, Net::SCP 1.0, Net::SSH::Gateway 1.0 and Net::SSH::Multi 1.0. If you would like to learn why this matters, please head over and <a href="http://weblog.jamisbuck.org/2008/5/2/net-ssh-2-0-and-friends">read his announcement</a>.</p>
<p><a href='http://ruby.gemstone.com/'><img src='http://antoniocangiano.com/wp-content/uploads/2008/05/maglev.gif' alt='maglev.gif' align="right" /></a>Gemstone is working on a Ruby VM, that&#8217;s similar to Rubinius, called MagLev. InfoQ has <a href="http://www.infoq.com/news/2008/04/maglev-gemstone-builds-ruby">a nice interview with their Project Manager</a> Bob Walker. These guys are serious and are heavily investing in this project. Their tagline is &#8220;Ruby that scales&tm;&#8221; and it&#8217;ll be interesting to see their announcement at RailsConf in less than a month. Speaking of alternative VMs, my <a href="http://antoniocangiano.com/2007/12/03/the-great-ruby-shootout/">The Great Ruby shootout</a> is now six months old so an update is due soon. I don&#8217;t have much spare time, especially now that I&#8217;ve accepted an offer to write an exciting book about Rails, but I&#8217;ll try to publish a new edition of the shootout in May.</p>
<p>James Edward Gray II has <a href="http://ciaranwal.sh/2008/02/20/textmate-tip-the-ruby-bundle">a nice article</a> about the Ruby bundle for Textmate, the popular text editor for Mac OS X. If you are new to Textmate and/or Ruby, it&#8217;s a must read.</p>
<p><a href="http://www.rubyhoedown.com">Rubyhoedown</a> will take place on August 8 and 9 in Huntsville, Alabama. Registration is now open. Yehaww!</p>
<p><strong>Mack Framework</strong></p>
<p>Mark Bates, decided to move away from ActiveRecord for his Mack Framework. Since <a href="http://www.mackframework.com/2008/05/01/saying-goodbye-to-activerecord/">his first announcement</a>, Mark decided to compromise and let DataMapper be the default ORM, while still <a href="http://www.mackframework.com/2008/05/04/orms-and-mack/">allowing ActiveRecord</a> as a possible choice for those who prefer it. DataMapper is definitely gaining momentum, and I feel that Rails&#8217; focus on ActiveRecord is the biggest limit to DataMapper&#8217;s widespread appeal.</p>
<p><strong>Rails</strong></p>
<p>David announced to the community that <a href="http://weblog.rubyonrails.com/2008/4/30/rails-2-1-release-candidate-is-imminent">Rails 2.1 RC</a> is imminent. In case you&#8217;re wondering what&#8217;s new, you can take a peak at <a href="http://github.com/rails/rails/tree/master">the repository on GitHub</a>, or read <a href="http://railspikes.com/2008/5/2/rails-gets-more-mature">this RailSpikes article</a>. In short, the article mentions six noteworthy changes to Rails. Rails 2.1 will create necessary directories if they don&#8217;t exist, in order to &#8220;play nice&#8221; with the Git and Mercurial source control systems. Improved support for time zones was added, thereby transforming a real pain in the neck into something easy by <a href="http://ryandaigle.com/articles/2008/1/25/what-s-new-in-edge-rails-easier-timezones">tracking Time objects</a> with their time zone. They also added support in ActiveRecord for <a href="http://ryandaigle.com/articles/2008/4/1/what-s-new-in-edge-rails-partial-updates">partial updates</a> and <a href="http://ryandaigle.com/articles/2008/3/31/what-s-new-in-edge-rails-dirty-objects">dirty objects</a>. Timestamped migrations, better gem dependency and unpacking, and text helpers which are usable outside of the view, complete the aptly titled article &#8220;Rails gets more mature&#8221;.</p>
<p>For those of you who&#8217;d like to contribute to the Rails project, there is now <a href="http://rails.lighthouseapp.com/projects/8994/sending-patches">a guide on how to create and test patches with Git</a>. Perhaps just as important, the official <a href="http://github.com/lifo/docrails/tree/master">Documentation Project for Rails</a>, which is hosted at GitHub as well, is looking for contributors. But before providing your help, ensure that you head over to their wiki and read the <a href="http://github.com/lifo/docrails/wikis">documentation conventions</a>.</p>
<p>This week <a href="http://weblog.jamisbuck.org/2008/5/2/capistrano-2-3-0">Capistrano 2.3.0</a> and <a href="http://blog.innerewut.de/2008/4/29/webistrano-1-3-released">Webistrano 1.3</a> were released, further improving the deployment process for Rails.</p>
<p><a href="http://hobocentral.net/hobofields/">HoboFields</a> is an interesting plugin that allows the programmer to define the fields in their model, by generating the migrations for you. Give it a spin! <img src='http://programmingzen.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Another plugin, worth pointing out, is <a href="http://www.unboundimagination.com/Rails-Plugin:-TextMate-Syntax-Highlighting">TextMate Syntax Highlighting</a>, which simplifies the process of publishing beautifully highlighted code.</p>
<p>The Rails performance company <a href="http://www.newrelic.com/index.html">New Relic</a> received $3.5 Million in investment funds from Benchmark Capital. As I said back at the time of <a href="http://antoniocangiano.com/2008/01/15/why-engine-yard-rubinius-and-merb-matter/">their investment in Engine Yard</a>, Benchmark is doing the right thing by covering their other investments in the many startups who&#8217;ve adopted Ruby on Rails as their framework of choice.</p>
<blockquote><p>Our goal as a company is simple: to make Rails developers&#8217; lives easier and enable their web applications to scale and perform exceptionally well&#8221; &#8212; Mr. Cirne, CEO of New Relic.</p></blockquote>
<p>Do you happen to need a whole team of Rails developers? A London based team of six is <a href="http://www.workingwithrails.com/group/8792-an-entire-rails-team-for-hire">available for hire</a>. My guess is that it won&#8217;t take long before they are snapped up.</p>
<p><strong>A new Rails book</strong></p>
<p><a href="http://www.amazon.com/gp/product/0470189487?ie=UTF8&#038;tag=zenruby-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0470189487"><img src="http://antoniocangiano.com/wp-content/uploads/2008/05/artofrails.jpg" alt="The Art of Rails" title="The Art of Rails" align="right"></a>Today there is a new book on the Rails scene. <a href="http://www.amazon.com/gp/product/0470189487?ie=UTF8&#038;tag=zenruby-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0470189487">The Art of Rails</a> by Edward Benson went on sale. I didn&#8217;t have a chance to read it yet, of course, but I get a feeling that it&#8217;s going to be an enlightening one. In fact, it appears to be targeted at intermediate Rails developers, who&#8217;d like to learn more about issues such as design, code style, and project maintenance. In that sense, it&#8217;s a unique book and far from a &#8220;me too&#8221; Rails book. The table of contents seem promising as well. If you&#8217;ve got $25 to invest in your career, give it a shot!</p>
]]></content:encoded>
			<wfw:commentRss>http://programmingzen.com/2008/05/05/this-week-in-ruby-may-5-2008/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
