Issue #30 - February 24, 2011
Issue 30 of Ruby Weekly is here - rock and roll. I've had notes that this newsletter is going into people's spam folders on GMail. If it does for you too, can you make sure to mark it "Not Spam" so it can be trained to know Ruby Weekly isn't evil? :-) Thanks!
Ruby Is 18 Years Old Today
Matz has previously said Ruby was "born" on February 24, 1993, so.. it's 18 years old today. Yes, I'm sad enough to have had this in my calendar ever since I read that.. congrats to Matz and Ruby.
Two Security Vulnerabilities Force 3 New Releases of MRI Ruby 1.8.7, 1.9.1, and 1.9.2
Two security vulnerabilities have forced the release of 3 new production versions of the de facto official Ruby interpreter. Learn about them here - you're bound to be affected one way or another as most of the previously current releases were affected.
Ruby Enterprise Edition 1.8.7-2011.02 released
Phusion has responded quickly to the aforementioned vulnerabilities by releasing a new version of their memory efficient Ruby implementation.
Phusion Passenger 3.0.3 Released
Not ones to rest on their laurels, the Phusion guys have also put out a new release of Passenger - the most popular way to deploy Ruby webapps. 3.0.3 is only a bug fix release but, in my experience, the stability improvements are always worth the upgrade.
Articles and Tutorials
Ruby Concurrency Explained
Matt Aimonetti looks at concurrency concepts and how they relate to Ruby. He looks at threads and their implementation, the multiple process & forking models, fibers, and event/reactor patterns.
How To Get Rails 3 and RSpec 2 Running Specs Fast (From Scratch)
Peter Cooper (me!) presents a walkthrough of setting up RSpec 2, watchr and spork to run specs automatically on a Rails 3 app without the typical lag Rails initialization can cause.
Optimising Phusion Passenger for a VPS
Josh Nesbitt looks at how to get more out of your VPS performance-wise if you're using Phusion Passenger to serve your Ruby webapps. Some interesting but simple tweaks.
Rubinius, What's Next?
Rubinius 1.2.1 was recently released and now the team looks forward to Rubinius' future. This in-depth blog post looks at the eventual removal of the GIL, performance, and more.
Getting Comfortable With Rubinius' Pure-Ruby Internals
You probably know that Rubinius is a Ruby implementation mostly written in Ruby (with a C++ VM). While that sounds nice in theory, you may not know what that means in practice. Yehuda Katz takes us on an interesting tour of what Rubinius is up to behind the scenes.
Ruby Implementation Start-up Times Compared
Erik DeBill looks at Ruby implementation 'start up' times and runs some benchmarks. In short, Ruby 1.9.2 beats the others by a handy margin but JRuby appears to scale more linearly and performs surprisingly well.
A Unit Testing Framework In 44 Lines Of Ruby
Alan Skorkin (a.k.a. skorks) demonstrates how to create a simple, RSpec-esque testing framework in a mere 44 lines of code. It's a popular joke that testing frameworks have become the new 'Hello World' but this is a great read and Alan's approach is easy to digest.
Less Annoying Activity Emails: Clustered Notifications Using Resque
Receivd is a forthcoming file sharing platform and one feature they offer is 'clustered' notification e-mails so e-mails aren't triggered on every single upload someone performs. In this post, they demonstrate how they've pulled this off using Resque.
Ruby Jobs of the Week
Looking for a Great Ruby Developer! [London, UK]
Econsultancy is an award-winning online publisher based in London and New York. They're looking for a developer to work at their London office with general experience of Ruby, Rails and Unix/Linux - salary is up to 60k.
Ruby on Rails Software Engineer [Dulles, Virginia]
Grab Networks is looking for analytical individuals with strong computational skills to work on multiple levels of a complex technology stack. You'll need 5-6 years' experience developing dynamic, data-driven, commercial web applications.
Ruby/JRuby Tools Engineer [San Mateo, California]
Where can you work on challenging engineering problems while saving the planet? At eMeter! eMeter is seeking an Java/Ruby/JRuby Automation/Tools Engineer to drive the development of automation tools.
Pagination with Kaminari
Last week we linked to Akira Matsuda's Kaminari Rails 3 pagination plugin. This week, Ryan Bates has produced an episode of Railscasts showing you how to use it.
Introduction to Sass
Like Haml, Sass is the brain child of Hampton Catlin and stands for Syntactically Awesome Stylesheets. Screencasts.org shows how to get working with Sass in just 7 minutes.