
(Credit: june29 - photo under CC 2.0 Attribution license)
RubyKaigi 2008 took place a couple of weeks ago. As the main Japanese Ruby conference, RubyKaigi is the de-facto authoritative Ruby conference, and the news that came out of the conference this year did little to shake its stature.
The online enterprise news publication InfoQ has covered the conference in two parts. The first features a mini interview with Matz, where he talks about the low adoption rate of Ruby in the enterprise and the role of certifications in the Ruby world. The second InfoQ post reveals that Matz is preparing to “standardize” Ruby, with the ultimate aim to submit a Ruby standard to the ISO, and Koichi Sasada reveals that Ruby 1.9.1 (notable, as it will be the first officially stable / production-ready release of Ruby 1.9) is set to arrive this December.
A lot more seems to have gone down at RubyKaigi than this, as evidenced by the absolute snowstorm of links tagged rubykaigi on del.icio.us, though most of the evidence is in Japanese, of course.
It’s been years in the making, but it has finally arrived.. Rails Inside, the Rails-only equivalent of Ruby Inside! Featuring an all-new template, Rails Inside presents information in a similar format and style to Ruby Inside but with a focus entirely on the Ruby on Rails scene. If Rails is your main thing, or a significant part of your development life, get over there and subscribe (by RSS or e-mail - the e-mail version actually looks surprisingly nice I’ve found).
Rails stories will still crop up on Ruby Inside but in slightly lower numbers. With its focus, Rails Inside will feature lots more interesting Rails stories and cover smaller (but still interesting) announcements that Ruby Inside wouldn’t traditionally pick up anyway. Further, Rails Inside features small items “From The Rails Blogosphere” in between the regular posts to highlight interesting posts made elsewhere in the Rails blogosphere, making it a one-stop Rails news shop (note that the Rails blogosphere items are on the site only, not the feed, to avoid any annoyance).
It’s still early days for Rails Inside, but the site is under active development and I hope to get a few key features rolled out within the next couple of weeks, including a feed of Rails-related events in the sidebar, a Twitter subscription option, and an improved general view of the Rails blogosphere.
This post supported by Rails Kits: Skip the hassle of writing recurring billing code: use the SaaS Rails Kit to quickly add credit card and PayPal payments to your Rails app. Get 10% off by using the discount code “rubyinside” at checkout before August 1st.

erubycon is a Ruby conference taking place in Columbus, Ohio between August 15 and 17, 2008. The e seemingly stands for “enterprise” with The Enterprise (and not the Star Trek variety) being a key focus. Earlybird registration is $199.00 and is open till July 4.
The speaker list is quite substantial and includes Neal Ford (Thoughtworks), Stuart Halloway (Relevance, Inc), Jim Weirich, Josh Holmes, Giles Bowkett (is there a conference Giles doesn’t speak at?), Evan Light, Anthony Eden, Michael Letterie (IronRuby), Brian Sam-Bodden, Jeremy McAnally (ENTP and the Humble Little Ruby Book) and Lance Carlson (Ruby Skills).
The schedule so far appears to have a focus on solid, information-rich practical presentations rather than airy keynotes and fluffy thought pieces, so it could prove to be quite a learning experience.
Post supported by Brightbox: Brightbox is a specialist European Rails hosting company. Each Brightbox server includes an optimised Ruby on Rails stack, SAN storage and access to a managed MySQL database cluster. They also manage dedicated clusters for large scale Rails deployments. Click here to learn more…

Photo by JL2003 - CC 2.0 Attribution License
The official Ruby blog is reporting “multiple vulnerabilities” in the official Ruby interpreter (MRI). A significant number of versions are affected:
Jeremy Kemper, at the official Rails blog, advised upgrading immediately, but with the warning that Ruby 1.8.7 only works with Rails 2.1 and later. Numerous commenters, however, have noted significant issues with Rails applications once they’ve upgraded to Ruby 1.8.6p230 and 1.8.5p231. A poster on RubyFlow suggests Ruby 1.8.6-p230 is not compatible with Rails at all, although others have reported success.
What are the problems?
Zed Shaw has put together a pretty detailed look at what the actual defects are (mostly “general buffer overflow defects, signed integer problems, and path traversal problems”).
Eric Monti has posted code examples to demonstrate some issues.
Is it urgent?
It appears that while this is a significant security advisory, and you should be paying attention, there’s no 0-day urgency on this as Eric Wong highlights. Walk, but don’t run, to the exit. Eric Monti, on the other hand, seems to be quite worried by the security vulnerabilities.
If you’re only running your own scripts on your own local machine (that is, not a public-facing Web app), you might be better off waiting for your operating system’s packaging system to update Ruby for you (whether on Linux or OS X). The security issues were discovered by Drew Yao of Apple who has suggested a OS X update for this will be going out soon, so it’s reasonable to wait for that if you’re on OS X.
My personal advice (which is, as noted by Thomas H. Ptacek, “spectacularly bad“) is that unless you’re already itching to upgrade out of panic, just make sure you’re familiar with where all your Ruby deployments are, what versions they’re running now, and that you have a good idea of how to upgrade them. Then unless you’re confident about upgrading and running tests straight away, I’d wait until a lot more positive noises are coming out of Rails developers upgrading to the latest versions, especially surrounding Ruby 1.8.6p230.
Update: In comments, Thomas H. Ptacek says:
The “walk don’t run” sentiment is dead wrong. You do not need to handle multi-gigabyte strings to trip these vulnerabilities; you just need code that can be coerced into using broken indices. It’s spectacularly bad advice to suggest that people should continue to run code with known memory corruption vulnerabilities.
Quite why anyone would have code that relies on any unchecked / unsanitized data is beyond me, but it’s worth keeping in mind if you do. So, panic if you want, but even if you don’t, you’ll probably still be alive and this news will be forgotten within a week or two.
I’ve had word from Apress that they’re doing a one-off 24 hour $10 sale on the e-book version of Beginning Ruby as part of their “daily deal” series. The 24 hours is up - sorry! - but the e-book is still available from Apress at the usual rate of $27.99. It comes as a password protected PDF - no crazy DRM.
Beginning Ruby (Amazon link to the print version) is the ideal book for those new to Ruby, whether fresh to programming or coming from other languages. As well as covering Ruby in a general sense, it also covers the community, a handful of interesting RubyGems, database programming & SQL, object orientation (from the ground up), Rails (though very briefly), and network programming. Not convinced yet? The foreword was drawn by Why The Lucky Stiff, and of the 21 reviews of the book on Amazon.com, 18 give it five stars, and 3 give it four stars (the reviews are well worth reading to see if it’s the sort of book for you).
At $10, even if you’re a bit beyond the level of Beginning Ruby, it might make a good purchase for a co-worker, family member, or anyone else who’s hassling you about Ruby. Feel free to buy a copy and share it around the office. You’re probably not meant to, but I don’t care because if you really wanted to steal, you can just get it off of BitTorrent anyway :)
Finally, while on the Beginning Ruby theme, Amazon has Beginning Ruby available for the Kindle. It’s $23.75, and appears to be the best selling Ruby book on the Kindle so far (which isn’t saying a lot, I appreciate).

RubyNation is a new Ruby conference launching August 1 & 2, 2008. It bills itself as an annual Ruby conference serving the Virginia, West Virginia, Maryland, and Washington DC areas. It costs $175 to register and you get admission for both days, lunches, snacks, drinks and a conference t-shirt.
Of particular note is the level of speakers the organizers have managed to obtain to such a new, locally organized conference. Neal Ford, Stuart Halloway, Rich Kilmer, David Bock, Giles Bowkett, Yehuda Katz, David Keener, Russ Olsen, Bruce Tate, and Glenn Vanderburg are all confirmed speakers so far.
As an aside, and not to detract from RubyNation, why aren’t there more multi-day Ruby / Rails events that don’t have hours of scheduled sessions, like RailsCamp?
Here’s the regular update of the most interesting stories posted on RubyFlow (a community-driven Ruby news sister site to Ruby Inside) in the past couple of weeks:
Markdown - 59 times faster: Ryan Tomayko wants to “move past BlueCloth.” The result is two significantly faster Markdown libraries for Rubyists.
Cry: Cry is a Ruby library that provides a nice object oriented way to create, transfer, and manipulate frozen parse trees.
New Ruby Social Network: Acts As Community is a new social network for Rubyists.
Building an MP3 Player with Ruby and Shoes: Satoshi Asakawa has put together a cute tutorial demonstrating how to create a GUI-based MP3 player using Ruby and _why’s Shoes library.
Capistrano 2.4.0: Deployment tool Capistrano has hit version 2.4.0. Lots of new features and tweaks.
“Run Ruby Script” Action for OS X’s Automator: Jason Foreman has put together a custom action for OS X’s Automator tool that makes it easy to run Ruby code from an Automator workflow.
Lazy evaluation for Ruby methods: Lazyeval is an interesting library that makes it possible for methods to only be executed on objects when they’re actually needed (ideal if you’re doing caching on Rails views but still need logic in the controller).
Guide to using Sphinx: Pat Allan has written a great article on installing and using Sphinx, the search library.
Bashfully Yours, Gem Shortcuts: A little Bash script that lets you gain quick access to the RDocs for your installed gems.
Phusion Passenger 2.0 RC 1 and Ruby Enterprise Edition Released: The guys at Phusion have unveiled a release candidate of Passenger 2.0 (now supporting Rack) as well as Ruby Enterprise Edition.
Sequel 2.0: A significant update to the Sequel database access abstraction library has been released.
Disclaimer: I have no financial connection to the Pragmatic Programmers and other than through receiving these videos to review get no direct benefit from this review.
It was only a few weeks ago I announced that the Pragmatic Programmers were getting into the screencasting business. The first Ruby related videos were from the Everyday Active Record series by Ryan Bates. The reaction to these across the Ruby blogosphere has been very positive, and true to their word, the Pragmatics have been quick to release some more interesting videos. The latest addition is the Ruby Object Model and Metaprogramming series by Dave Thomas (of Pickaxe fame). Three episodes are available so far, respectively “Objects and Classes,” “Sharing Behavior,” and “Dynamic Code.” They cost $5 each and clock in at around half an hour each.
With the first episode, Dave starts off at a basic level by covering the history of object-oriented development and taking a look at the core elements of what makes up the object-oriented programming style. He moves on to looking at Ruby specific concerns, metaclasses/eigenclasses, anonymous classes, singleton methods, and the like. He manages to keep things at a level that’s immediately accessible to beginners (lots of diagrams are presented to illustrate concepts and relationships between objects and classes) but isn’t afraid to introduce more complex examples straight after. This is a common pattern throughout each of the screencasts, the contents of which are covered here.
I’d recommend these videos to anyone who wants to quickly get up to speed with the concepts involving classes, objects, and metaprogramming. I don’t believe Dave Thomas has done any screencasting before, but he comes across as a natural. His voice is engaging, eager, and authoritative, which makes the videos very easy to follow without drifting off. Certainly, these screencasts are a superb alternative to the explanations of classes, objects and metaprogramming in most Ruby books. If you’re still unsure, Dave gives a quick 3 minute introduction to the series (video).
Elsewhere: Antonio Cangiano has also reviewed these videos. Check out his review for a slightly different perspective.
Post supported by Ruby Hoedown: Come on down to the south for the Ruby Hoedown, the South’s regional Ruby conference! Submit a talk now or sign up for registration at $199. The first 50 people to use the promo code IMINSIDE will get an additional $25 off the price!

RubyFringe, a rather progressive and brave addition to the Ruby / Rails conference scene, taking place in Toronto, Canada in July will be closing its registration doors in just six hours. When registration initially went live, four months ago, there were many complaints of the conference being overpriced, but despite this, only a handful of tickets (certainly less than 20, I’m told) now remain and an exciting schedule is shaping up. A separate “track” for travel companions / significant others is taking place so that anyone can go to the conference without abandoning their loved ones while they geek out on Ruby all day.
As promised, RubyFringe has no sponsors and is focused not only on the cutting edge, exciting areas of Ruby, but on radical presentations and unheard-of levels of detail in the ancillary events. Live music and entertainment is being provided, a brewery and an art gallery are being rented, and parties are taking place each night, with free bar and food throughout. Some intriguing talks are already lined up from people such as Zed Shaw, Chris Wanstrath, Ezra Zygmuntowicz, Jeremy McAnally, Tobias Lütke, John Lam, Obie Fernandez and Geoffrey Grosenbach. Lastly, a separate FailCamp being run by Amy Hoy and Thomas Fuchs will be taking place before the opening party. More information to come soon from those guys.
It seems like this rather brave attempt at an unusual, high adrenaline Ruby conference is going to work out quite well, but even if it doesn’t, it appears it will provide a lot of significant talking points within the Ruby community in July. If you’ve been waiting to see who’s going or whether it would even go ahead, wait no more, go and register.
Update: On a similar note, the registration for RailsConf Europe has just opened. Oh, and The Ruby Hoedown (Huntsville, Alabama in August) too.
(Note: I wanted to post about this earlier, but a family emergency has put me out of action for several days. This is why the Ruby Inside schedule has slipped. I’m getting back on top of it and wish to apologize for the gap. Disclaimer: I have no financial connection to this conference.)
Microsoft’s got plans for Ruby beyond the fine IronRuby project in the shape of “ARAX” (Asynchronous Ruby and XML), a Ruby-flavored variety of the popular AJAX Web development techniques. Microsoft’s Silverlight plugin will be able to process and run Ruby code that’s directly within Web pages similar to how browsers process JavaScript. This allows Ruby developers to write Ruby code instead of the equivalent JavaScript as they do now.
eWeek interviewed John Lam, creator of and program manager for IronRuby, to find out more about the project. Lam seems to feel that Ruby developers aren’t happy with using multiple languages and dealing with context shifts:
[A]t some point you might have to add some JavaScript code that adds some custom functionality on the client yourself. So there’s always that sense of, ‘Now I’m in another world. And wouldn’t it be nice if I have this utility class I wrote in Ruby…’ Today if I want to use it in the browser I have to port it to JavaScript. Now I can just run it in the browser.
On the other hand, though, he seems to have no issue with HTML and CSS:
It’s a known thing and people understand this technology. The part that [is important], at least as far as Rails programmers are concerned with, is they would like to be able to do some Ruby on the client. JavaScript is no longer the ugly stepchild that it used to be, but it’s quirky in certain ways. That’s not to say that Ruby isn’t, but Ruby has more ‘oohs and ahs’ about it than JavaScript does.
Naturally, the success of this idea rests on the success of Silverligh, but it remains to be seen whether Silverlight will take off. Silverlight’s dynamic language support is exciting and innovative but whether it’ll actually prove worthwhile to developers in the long run is doubtful. Microsoft already seems to have enough issues with .Net 3.x (.Net 3.5’s runtime is a 190MB download - almost an operating system in its own right!) and IE 7 adoption on the operating systems it actually controls updates for.
An amusing part of eWeek’s article was a fine shot across the bow from David Heinemeier Hansson:
It’s great to see Microsoft making progress on IronRuby. Just like JRuby provides people who are stuck with an inventory of Java infrastructure and programs an easy way into Ruby, so does IronRuby for those who are still sitting on a Microsoft stack. As with JRuby, though, I don’t expect a lot of Ruby programmers with no existing connection to Microsoft to go gaga over it.
Let’s just cross our fingers and hope it doesn’t become another proprietary rehash (JScript, J#) and that Silverlight isn’t abandoned or dumbed down on non-MS platforms (as Internet Explorer, Media Player, Messenger and Office were or are).

With all the excitement surrounding RailsConf 2008 and the Maglev announcement, news of the release of Ruby 1.8.7 passed rather quietly. The download URLs can be found here, but note that the official Ruby-Lang.org download page does not reflect 1.8.7’s release yet.
Ruby 1.8.7 is a point release of the stable, production-ready 1.8.x branch, so it should be ready to roll out to your deployment environments but be cautious. It features many bug fixes, but also some performance enhancements and significant back-ports of Ruby 1.9 functionality (enumeration objects in particular). More information is available in the release NEWS file. The most interesting developments include:
vendor_ruby
A new library directory named `vendor_ruby’ is introduced in addition to `site_ruby’. The idea is to separate libraries installed by the package system (`vendor’) from manually (`site’) installed libraries preventing the former from getting overwritten by the latter, while preserving the user option to override vendor libraries with site libraries. (`site_ruby’ takes precedence over `vendor_ruby’)
securerandom
securerandom is a Ruby 1.9 library that’s now part of the Ruby 1.8 standard library too. Example: require ’securerandom’; SecureRandom.random_bytes(16)
Array#flatten changes
Array#flatten now takes an optional argument that determines how deep to perform flattening.
Array method changes
Array#collect!, Array#map!, Array#each, Array#each_index, Array#reverse_each, Array#reject, Array#reject! and Array#delete_if now return an enumerator if no block is given. Array#pop and Array#shift now take an optional argument specifying the number of elements to remove from the array.
Binding#eval
Binding#eval is a new method to enable evaluations to take place in the context of a binding.
Enumerable::Enumerator added
Enumerable::Enumerator adds support for enumerations to be dealt with as objects, as in Ruby 1.9.
Enumerator support on many classes
Many methods based on IO, Integer, Array (see above), ARGF, Numeric, ObjectSpace, Range, String, and Struct now support returning enumerator objects where no blocks are given.
net/smtp
net/smtp now supports SSL/TLS connections.
These items really only scratch the surface though. Dig into the NEWS file for more info.

RailsConf 2008 - the primary conference for Rails developers - took place over the last few days (May 29th to June 1st, 2008). By all accounts, everyone had a great time, but not everyone could attend so here’s a casual roundup of what happened.
The best overall “walkthrough” of the conference I’ve seen has been by Drew Blas who put together a great set of blog posts covering: Friday morning, Friday afternoon, Friday evening, Saturday morning, Saturday afternoon, Saturday evening, Sunday morning and Sunday afternoon. He even put together a final summary. Great work Drew! For Italian readers, RailsConfLive is a remarkable resource too. Alternatively, Gregg Pollack’s set of videos, including “Railsconf in 36 minutes.”
Interviews

Quite a few informal interviews took place at the conference, mostly by the guys from GotThingsDone. Worth watching are Geoffrey Grosenbach, John Straw, Ola Bini, Ryan Singer, Joel Spolsky, David Heinemeier Hansson, Jeremy Kemper, and Chris Wanstrath.
Gregg Pollack of RailsEnvy also interviewed Obie Fernandez, Chu Yeow, Amy Hoy, Michael “Koz” Koziarski, David Heinemeier Hansson, Bruce Williams, and Ninh Bui.
Selection of Presentations
Note: You can download the presentation files used by some of the speakers from the official RailsConf site.
DHH Keynote: Thanks to Daniel Wanja, you can watch David Heinemeier Hansson’s keynote presentation. It’s a bit of a shaky video and only made up of extracts, so it jumps a bit too. I imagine a better video will be available soon. Essentially, DHH moves from technical concerns to becoming a self-help and health advisor.
RailsConf 2008 Welcome Keynote: The welcome keynote, featuring Chad Fowler, David Heinemeier Hansson and Joel Spolsky is up on YouTube.
Ruby Heroes: RailsConf 2008 marked the inauguration of the “Ruby Hero” award. The ultimate winners were Evan Weaver, Tom Copeland, James Edward Gray II, Ilya Grigorik, Yehuda Katz and Ryan Bates. You can watch the video of the awards presentation at Vimeo.
Getting Git: Scott Chacon did a talk on “Getting Git”. It perhaps sets the record for number of slides at 520 covered in 55 minutes.
The Other mod_rails - Deployment with JRuby: Nick Sieger did a presentation about using JRuby to deploy Rails applications.
Pastie: Josh Goebel did a presentation about the popular Pastie source-code-pasting site.
Microapps for Fun and Profit: Erik Kastner talked about developing very small “microapps” using Rails.
Assembling Pages Last: Aaron Batalion presented on edge caching with Rails.
Advanced RESTful Rails: Ben Scofield covers the use of REST with Rails and includes lots of simple code examples. Perhaps the slides lack a lot of what happened in the presentation, but this seems like basic REST stuff than “advanced” so it’s well worth a read even if you don’t use REST yet.
Scaling Ruby from the Inside Out: Ezra Zygmuntowicz on scaling Ruby, and Vertebra a new “next generation cloud computing / automation framework.”
Scaling Rails Panel: A panel of Blaine Cook, Bradley Taylor, Ezra Zygmuntowicz, Jim Meyer and Kevin Lawver talk about the issues when scaling Rails applications.
Railsconf in 36 Minutes: Not a presentation, but roving reporter Gregg Pollack went around and asked a lot of the presenters to summarize their talks in 30 seconds. It makes for a great summary of the conference. It features the interviews linked above too.
Lightning Talk Summaries: A summary of the lightning talks given at the conference.
The RailsConf Message Board
It seems to be a tradition at Ruby / Rails conferences to put up a big “message board” for people to write / graffiti on as they see fit. RailsConf 08 was no exception. Vinícius Manhães Teles has taken a great high-resolution picture of the board. Messages include promotion for a new Gem called gitjour, codesmack.com t-shirts and a crazy number of requests for Rails developers (Zappos.com, Engine Yard, AideRSS, Synaptic Mash, Grockit, XMinute and Intridea are all hiring!).
Announcements
Rails 2.1 Launched: Rails 2.1 was officially launched. More about this on Ruby Inside in the next couple of days!
Passenger 2.0 - Now supporting Rack: Phusion announced that Passenger 2.0 (now supporting Rack!) and “Ruby Enterprise” 1.0 would be released today.
MagLev - A New Ruby VM: Avi Bryant and Bob Walker of GemStone revealed details surrounding their cutting-edge Ruby virtual machine, MagLev. Drew Blas posts with his opinions direct from the talk. Avi Bryant has posted some more detailed notes. Giles Bowkett steps it all up a bit.
TuneUp: FiveRuns announced TuneUp, a community-supported application performance profiling application.
Blog Posts
RailsConf Day 1 Wrap-Up by Dan Pickett
Quick RailsConf Update by Josh Susser. On the Joel Spolsky keynote: “If you missed it, count yourself lucky.“
Railsconf Highlights by Nick Plante
RailsConf - the retrospective by Eric Gelinas
RailsConf 2008 Retrospective by Dary
RailsConf08: Meta-programming Ruby for Fun and Profit by Nate Murray
Notes from the JRuby Q & A by Nick Sieger
Miscellaneous
Mentions of RailsConf on Twitter
Feel free to post any links, references, or notes of your own regarding RailsConf 2008!

The Pragmatic Programmers (who brought us the “Pickaxe“) have decided to branch into screencasting with Pragmatic Screencasts. At launch, screencasts for Expression Engine, OS X Core Animation, Erlang, and Rails are available. On the Rails front, Ryan Bates (of Railscasts fame) has been brought on board to create a series called “Everyday Active Record.” So far two episodes, each focusing on a different area of Rails / Active Record, are available (at $5 each) but more are promised over time.
The first two episodes are “Designing Models with Associations” and “Finding and Scoping Models.” I’ve watched both and they do a great job of taking a chunk of Active Record / Rails functionality and demonstrating the “right” way to use it. Ryan’s vast experience makes the screencasts good demonstrations of how to use Rails “properly.”
The screencasts are certainly not for anybody who follows Rails Edge like a hawk and keeps on top of everything Rails, but for those who’d like to gain extra confidence from seeing a Rails master at work with Rails 2.1’s features, they’re a bargain. They’re well produced, go along at a nice pace, and Ryan makes a good narrator. I look forward to seeing more from this series in future. Definitely consider checking them out, especially if you want to support Ryan for the hard work he does with Railscasts.
It’s also worth noting that the Pragmatic Programmers are also looking for other people (see bottom question) who might be interested in working with them to produce more screencasts. They do the post-production and pay 50% royalties.
Post supported by Ruby Hoedown: Come on down to the south for the Ruby Hoedown, the South’s regional Ruby conference! Submit a talk now or sign up for early registration for $50 off. The first 50 people to use the promo code IMINSIDE will get an additional $25 off the price!

Evan Phoenix has announced that the Rubinius project has hit a major milestone: Rubinius can run Rails! This makes it implementation #3 (after MRI and JRuby) to join the Rails club and will help cement its reputation as a strong, key implementation to watch in the future. Chad Fowler goes as far as to assert that in a year’s time, Rubinius will be used in production deployments and quickly become the defacto standard Ruby implementation shortly thereafter.
Eyes are now on Microsoft’s implementation, IronRuby, that may also be joining the Rails club soon.
This post is sponsored by 16bugs — You know how cumbersome most bug trackers are. We know it, too! If you believe bug tracking should be an easy and unobtrusive task, you should try 16bugs right now. Use coupon code “RUBYINSIDE” and get 50% off when you upgrade your account.

I usually try to get a review copy and read through a book before mentioning it here, but a book like Deploying Rails Applications (Amazon.com alternative) has been in demand for a long time now. Its provenance (coming from the keyboards of Ezra “Engine Yard” Zygmuntowicz, Bruce Tate, and Clinton Begin - and published by Pragmatic Bookshelf) encourages me to support it without direct review. That’s not to say it’s certainly a good book, but it darn well shouldn’t be a bad one.
The book covers deploying Rails applications under shared hosting, virtual machine, and dedicated server hosting environments, and looks at the variety of technologies you can use, such as Apache, Nginx and Mongrel. Monitoring, source control, and automated deployment (using Capistrano) are also discussed.
For those who’d rather squint endlessly at the screen than fondle finely pressed tree flesh, Pragmatic Bookshelf have a PDF version available for $22.
This post is sponsored by KickStart Events — RubyOnRails Training at the EMCC (East Midlands Conference Centre), UK. High-quality hands-on workshops and courses for web application developers. Taught by experienced mentors using live coding sessions, slides and participatory discussion.

Merbunity is a new site dedicated to “news, projects, and tutorials” related to the Merb Web framework (increasingly a common alternative to Rails). It’s very early days, but it’s well designed, and the initial content is good. It feels a little like a Ruby Inside for Merb. Great job! Among the launch content, and of almost immediate interest to Mac-based Merb developers, is Dr. Nic Williams’ TextMate bundle for Merb.
It should not be hard for Merbunity to get traction with Merb fans. In the past few months the amount of amazing content for Merb developers has grown significantly. Key examples include the Merb wiki, the Merb book, the “How to create a chat wall” tutorial, and even Ruby Inside’s own list of 21 Merb links, tutorials, and other resources.
If you’ve been steering clear of Merb because it’s “not mature enough” (a complaint I have heard more than once), start dipping a toe in now. The water’s now warm but still not crowded.
This post is sponsored by 16bugs — You know how cumbersome most bug trackers are. We know it, too! If you believe bug tracking should be an easy and unobtrusive task, you should try 16bugs right now. Use coupon code “RUBYINSIDE” and get 50% off when you upgrade your account.
Hours ago, David Heinemeier Hansson announced informally on Twitter:
Rails 2.1 RC1 has been tagged, the gems are on the beta server, official announcement shortly. But no need holding you back from trying it.
New features include built-in timezone support, Gem dependencies, better caching, and more.
To get Rails 2.1 RC1 from the beta gems server, just use:
sudo gem install rails –source http://gems.rubyonrails.com/
If you prefer to go native, Ryan Bates of Railscasts has already produced a screencast showing how to install Rails 2.1 RC1 using Git.
To keep up with the community chatter about Rails 2.1, check out this search for “Rails 2.1″ on Twitter Summize. There’s already a lot of activity.
This post is sponsored by Rails Kits — Looking to build a subscription-based or membership web site with Rails? Use the SaaS Rails Kit to skip having to write the billing code. Instead of starting from scratch, start with subscription management and recurring billing all ready to go.

Yee-haw! The Ruby Hoedown enters its second year, taking place in Huntsville, Alabama on August 8th and 9th, 2008. It’s billed as the “Ruby conference for the South” and is sponsored by Engine Yard. Keynote speakers so far are David A. Black (of Ruby Central fame) and Chris Wanstrath (of GitHub fame). Registration is $149 until June 2nd.
And a Bonus: Toronto Rails Project Night!
The Toronto Rails Project Night is a much smaller affair than the Ruby Hoedown, but definitely deserves some attention if you’re in or near Toronto, Canada. The 5th one is being held next week on Tuesday, May 13th. It’s being held in the TSOT office at 151 Bloor Street West, Suite 1130, Toronto. You can submit an RSVP on FaceBook or e-mail corina.newby [-at-] tsotinc.com. The event kicks off at 5.45pm, a few presentations are planned, and a crawl to a nearby pub is expected afterwards.

It’s a rare occurrence, but there’s some “meta” news to give out about Ruby Inside. Regular programming follows this break!
FeedBurner Feed Ads Be Gone!
Subscribers to the Ruby Inside feed will be familiar with the graphical ads after each post. They perform horribly (think click through rates of 0.1%). I’m glad that Ruby Inside’s audience is so savvy and I’m sick of annoying you with irrelevant nonsense. Those ads are now gone.
Ruby Inside Turns 2 - So I Need To Eat My Hat
In just three weeks, Ruby Inside will be two years old. Unfortunately, two years ago I said I’d “eat my hat” if Ruby hadn’t beaten Python in the TIOBE index by May 2008. It hasn’t. I am currently sourcing a sugar hat. On the plus side, Ruby has moved from #20 to #9, while Python has moved only from #8 to #7. I’m not making any promises for next year, however.
Sponsored Post Footers - Not In A Sucky Way
I want to reassure you that Ruby Inside isn’t interested in payola. No incentives are received for writing about something here. Even the “Thank You to Ruby Inside’s Sponsors” posts are something I do out of courtesy; not a mandatory part of the deal.
In removing the FeedBurner ads (see above) I want to replace them with something useful to both you, the reader, and to those in the community who have something to promote. With that, I’m launching the concept of sponsoring the footer of a post (or multiple posts). It’s limited to a few lines of text, set off separately at the bottom of a post, with a link or two as necessary. Only things of interest to Ruby Inside readers will be allowed. The first couple will be going up soon, so keep an eye out. I
f you, your company or your project is interested in sponsoring posts, e-mail risp [/at/] peterc.org for more details. The big benefit in sponsoring posts is that the tagline will stay attached to the posts as long as Ruby Inside is around. You’ll also hit all 16,000 subscribers rather than just those who visit the site. You get the idea..
New Logo
If you haven’t seen it yet, Ruby Inside has a new logo. Blame Charles Nutter. I must say, though, I prefer this new one in any case.
For Sale?
It’s the first mention here, but followers of my Twitter stream will be aware I’ve considered selling or otherwise “changing the ownership structure” of Ruby Inside for a little while now. Investigations into this are only casual so far. One option is to farm out the advertising / commercial side to a team with the savvy to do that, and I have a very good proposal on the table for this already. The other option is to “sell up”, perhaps while still posting here, and let someone / a company with big ideas shake things up a bit.
In any case, it’s all very casual right now, but options are being explored. I still love working on Ruby Inside, I still love keeping up with the news, but I’m gradually moving into other areas with my big ideas, and am definitely not against Ruby Inside evolving to a new level under someone else’s wing. Contact me if you have any direct interest or ideas, or just comment here if you have general feedback.
Thank You!
Given that Ruby Inside’s turning two years’ old very soon, I want to thank you, the reader, for continuing to subscribe, continuing to support, and otherwise make working on Ruby Inside the amazing experience it is and has been.
RubyFlow - the community based companion site to Ruby Inside - has been on fire! I’m finding out about lots of new stuff on there that then gets included into Ruby Inside posts. It’s the place to be if you want the most up to date Ruby and Rails news, but don’t mind putting up with a bit of ‘noise’.
Every two weeks or so I’m going to summarize some of the best items from RubyFlow here on Ruby Inside, so that you can still keep up with the latest developments even if you don’t want to be soaked in the firehose of Ruby news over there.
For the period April 24 to May 5, 2008:
Net::SSH 2.0 Released: Jamis Buck announces the release of Net::SSH 2.0 and the availability of Net::SFTP 2.0, Net::SCP 1.0, Net::SSH::Gateway 1.0 and Net::SSH::Multi 1.0.
Webistrano 1.3: Webistrano 1.3 has been released; read the announcement. Webistrano is a Web UI for managing Capistrano deployments. It lets you manage projects and their stages like test, production, and staging with different settings. Those stages can then be deployed with Capistrano through Webistrano.
Automatic Migration Generator: Hobofields is an automatic migration generator for Rails / ActiveRecord users. Annotate your model with the fields required as you go, then Hobofields generates the required migrations.
Capistrano 2.3.0: Yehey! Capistrano 2.3.0 is released. It has many new tasty features!
Rails 2.1 Features: A summary of some of the nice new features coming in Rails 2.1. In short, many of the rough spots are being patched over!
Ruby and TextMate: An interesting introduction to TextMate’s Ruby bundle. A good place to start if you use TextMate but haven’t used any of the mnemonics and snippets the Ruby bundle provides (like me).
John Lam on Iron Ruby: A video update on Iron Ruby from John Lam recorded by David Laribee.
MetricFu: Jake Scruggs demonstrates how to use MetricFu to produce good looking metrics and reporting for your Rails application.
Merb Blogging Software: Announcing Feather, a Merb based blogging engine with a lightweight core framework, and a robust set of plugins, now open source and ready for contributions!
Parsing Quoted Strings: If you need to parse quoted strings in Ruby, a lesser-known module called Shellwords from the Ruby Standard Library is a handy utility.

New Relic is a new entrant into the nascent Ruby on Rails® application monitoring market, so far dominated by FiveRuns. The company has just taken $3.5 million in first-round venture financing from heavyweights Benchmark Capital. Rather impressively, New Relic has already been featured on TechCrunch, where writer Mark McGranaghan notes that New Relic’s founder, Lewis Cirne, previously ran a similar company in the Java space.
New Relic’s primary product at this time is “RPM,” a subscription-based Rails “Performance Management” solution. It provides useful information that Rails developers can use to quickly detect, diagnose and fix application performance problems. There are a lot of pretty graphs and charts on the RPM product page from which you get an idea of what sort of information it presents.
It is worth noting, however, that FiveRuns’ RM-Manage appears to provide more features at the moment, although without knowing New Relic’s pricing, it may still be better value depending on your needs. RM-Manage not only provides live Rails application monitoring, but also overall server monitoring (including OS, database, Web daemon, swap usage, etc.), as well as triggers and events to automatically notify you of changes or issues. I’ve also heard from a credible source that FiveRuns has some exciting new enhancements in the pipeline, due to be unveiled at RailsConf.
New Relic’s launch is newsworthy, however, not only because of the investment (something matched in the Ruby / Rails scene by FiveRuns and Engine Yard) but because the hype surrounding its launch demonstrates that both the press and investors are now seeing plays in the Ruby and Rails space as serious business rather than quirky gambles.