Ruby Weekly
Issue #50 - July 14, 2011

Welcome to issue 50 of Ruby Weekly. Due to a temporary problem with Gmail, issue 49 did not reach many Gmail users (well it did, but it ended up in the 'opposite-of-ham' folder). If you want to play catch up, issue 49 can be found in our Web archives and I encourage you to check your 'opposite-of-ham' folder if Ruby Weekly fails to arrive in future. Thanks.

Headlines

Ruby's Creator, Matz, Joins Cloud Hosting Company Heroku
Yukihiro Matsumoto, creator of Ruby and more commonly known as Matz, has joined Heroku, the Salesforce.com-owned Ruby cloud hosting company, as its Chief Architect of Ruby. Learn more in my roundup of the news at Ruby Inside.

Padrino 0.10.0 Released: Routing Upgrades, Rbx and JRuby Support, and More
Padrino is a Sinatra-based webapp framework that gives you lots of powerful webapp functionality on top of the Sinatra base you know and love. They've hit version 0.10.0 which includes updates to the routing system and improves their Rubinius and JRuby support.

The Cucumber Book: Behaviour-Driven Development for Testers and Developers
The Pragmatic Programmers have rolled out the beta of a new book about the Cucumber acceptance testing DSL being written by Matt Wynne and Aslak Hellesoy. The final print version is due in December 2011.

Articles and Tutorials

Ruby on Rails Guides: The Asset Pipeline in Rails 3.1
Apologies to Ryan if this is premature, but Ryan Biggs has been working on a new 'Rails Guide' specifically about the asset pipeline features in Rails 3.1. This is unfinished but an excellent start.

Speed Up Your Rails Start-up Time With Load Path Optimization
If your Rails app's load time is starting to get you down, check out this article by Xavier Shay on how to analyze and optimize the way your app loads in its files. Don't get too excited though - it's suited for established apps with lots of loading going on and the speed increase isn't severe.

Throw, Catch, Raise, Rescue... I'm So Confused!
Avdi Grimm clears up some confusion over the idea of using exceptions as a flow control technique and demonstrates how to use Ruby's throw and catch statements to make things more elegant.

Test Your API with Cucumber and json_spec

Rails Migrations With No Downtime

Don't Like WEBrick? Try net-http-server

Video and Audio

RailsCasts #274 - Remember Me & Reset Password Features
It is easy to create authentication from scratch, but how do you extend it with more features like "Remember Me" and "Forgotten Password"? Ryan Bates shows us how.

Sam Stephenson on Pow, Rails 3.1 Asset Pipeline, and CoffeeScript
Adam and Wynn of the popular The Changelog podcast caught up with 37signals' Sam Stephenson to talk about his his many open source projects including the popular Pow local deployment tool for OS X.

The Ruby Rogues on Personal Development Design Rules

Libraries and code

Ruby Patches: Patches to Make Your Ruby Better (And How)
Michael Edgar has put together a repo of patches for MRI Ruby 1.9 and JRuby that you can easily apply using RVM (instructions included) in order to get extra features not yet present. An interesting collection here for the brave developer.

Embedded Mongo: A MongoDB 'Simulator' in Pure Ruby
Embedded Mongo is a Ruby implementation of the MongoDB interface meaning you can swap your app's Mongo::Connection.new line for the EmbeddedMongo variant and almost everything will still work locally on a Ruby simulation of Mongo. Useful for testing or continuous integration systems where MongoDB isn't installed.

rbrepl.vim - A Ruby REPL Inside Vim
RbREPL.vim is a Vim plugin that allows you to run a Ruby interactive interpreter (a REPL) inside a Vim buffer.

ri_vim: Ruby Documentation Inside Vim
Continuing the Vim theme for another link, ri.vim lets you search and navigate Ruby library and gem documentation inside Vim.

YAMLRecord: Persisting Data with YAML
YAML Record is a data persistence library that complies with the ActiveModel API meaning you can get a lot of the usual ActiveRecord goodness but the data is stored in a human-readable format beneath the surface. An interesting concept. Want to make one for XML, anyone? ;-)

Pinch: Grab A Single File From A Zip Over The Wire

Ruby Jobs of the Week

Braintree Seeks Internal Rails Developer [Chicago, IL]
Braintree, a popular payments system provider and long-term user of Rails, is looking for an exceptional Rails developer. You'll need at least a year of experience with Rails, TDD/BDD and working on Unix-like platforms (e.g. Linux). Git experience is a big plus.

Ruby Programmer for Xquizit [Nutley, New Jersey]

Test Driven Ruby and Javascript Developer [San Francisco and Los Angeles, CA]
Carbon Five builds web and mobile products for startups, institutional companies and non-profit organizations using a finely tuned agile process with cutting edge tools and technology. Join a team of seasoned pros in a highly-collaborative environment and work on a new project every few months.

Last but not least..

3 Day Ruby and Rails Foundations Course in Leeds, UK (July 25-27)
I appreciate this is incredibly niche but in a couple of weeks I'm running an in-person 3 day workshop for Ruby and Rails newbies in Leeds, UK. We have 3 seats left and I'd get in trouble with the company co-organizing it if I didn't at least give it a mention. Ha!