Issue #37 - April 14, 2011
Welcome to issue 37 of Ruby Weekly - it's been yet another busy week so let's get straight on to it :-)
Rails 3.1 Adopts CoffeeScript, jQuery, Sass and.. Controversy
The as-yet-unreleased Rails 3.1 is going to be bringing in a few new friends as dependencies: CoffeeScript, jQuery, and Sass. What does this mean? And why has it been controversial?
Is It Rubinius? - Community-powered Rubinius Gem Compatibility
Back when Ruby 1.9 was initially becoming popular, Brightbox rolled out the useful 'Is it Ruby 1.9?' site so we could track which gems worked on Ruby 1.9 and which didn't. This is almost the same thing, except for Rubinius.
SliceCraft: Your Design, Converted to Haml and Sass
SliceCraft is a 'design to HTML' conversion company with a difference - they work with Haml and Sass and can deliver your translated design in these formats, ready to drop into your Rails app. The first time I've seen this feature specifically highlighted - cool!
Articles and Tutorials
Ruby HTTP Client Library Comparison Chart
A handy dandy spreadsheet by Hiroshi Nakamura comparing the features of 17 different Ruby HTTP libraries. Do they support 1.8? JRuby? Asynchronous requests? Find out here.
Pure Ruby 'Colored Blob' Detection in Images
Jeff Kreeftmeijer demonstrates how to use the excellent ChunkyPNG library and some pixel scouring techniques to detect large areas of similar colors in images using pure Ruby.
JRuby 1.6 Disabled Overriding Fixnum Methods - Why?
An interesting discussion on the JRuby project's ticket board about how JRuby 1.6.0 disabled the ability to override internally defined methods on the Fixnum class and some potential workarounds.
The Padrino Slides - A Tour of the Padrino Ruby Web Framework
Padrino - a Sinatra-based webapp framework - has been out a while now but they've just updated their 'slides' which give you a quick and straightforward tour of what Padrino is all about.
How to Play with Rails 3.1, CoffeeScript and All That Jazz Right Now
OK, it hasn't even been released yet but I decided to take the current edge Rails (Rails 3.1) for a spin to see how the new CoffeeScript and Sass integration worked. This is a step by step walkthrough for the curious.
Drawing Binary Trees from Ruby
Taping API Interactions with VCR
A free 50 minute screencast by Avdi Grimm about VCR, a tool that 'records' your test suite's HTTP interactions so you can have a more reliable/predictable setup on each run.
How to Use RVM in 8 Minutes
It's entry-level only but Screencasts.org shows off some basic RVM usage patterns in just 8 minutes. There's a transcript too if you don't like watching videos.
Libraries and code
Pow: A Zero-configuration Rack server for Mac OS X
From 37signals comes Pow, a zero-config Rack server for OS X-based developers. Don't let tedious configuration get in the way of building great apps. With Pow, there are no preference panes to install or /etc/hosts entries necessary to run multiple apps.
Gibberish: Easier OpenSSL Encryption in Ruby
Gibberish is an opinionated cryptography library for Ruby by Mark Percival of Twitter. While OpenSSL is a powerful and capable encryption library, it lacks a terse and clean interface in Ruby - Mark gives us one here.
HireFire: Open-Source Heroku Scaling Toolkit
HireFire automatically "hires" and "fires" (aka "scales") Delayed Job (and soon Resque too) workers on Heroku. When there are no queue jobs, HireFire will fire (shut down) all workers. If there are queued jobs, then it'll hire (spin up) workers.
Powder: Syntactic Sugar for Pow
Powder is a small tool that makes it a little easier to manage the Pow Rack server system mentioned above.
Sandboxed: Block-Level Safe Modes in Ruby 1.9
Sandboxed is a Ruby execution sandbox library by Michael Klaus. It's Ruby 1.9 only and executes a code block at a given $SAFE level and handles the security of the context the code operates on.
RABL - Ruby API Templating Language for JSON and XML
Lumberg: WHM and cPanel API Library
Sinatra Gone Async with em-fiber_pool and em_mysql2
Ruby Jobs of the Week
Develop on Rails for tomorrow's Rock Stars! [Boston, MA]
Berklee College of Music Online School is the premier 'learning lab' for the musicians of today and tomorrow and they're looking for a Rails developer to join their team. You'll need strong UNIX chops and a bachelors degree.
Data Engineer [Washington, DC]
LivingSocial is a popular 'social buying' site and they recently bought esteemed Ruby consultancy InfoEther. Now they're looking for a Data Engineer to join their team too. You'll need to know at least one of R, Ruby, Python, Lisp, Erland, Clojure, Java, PHP or Perl and you'll be working in the business intelligence group developing Web based statistical tools for the growing LivingSocial dataset.
Web, Mobile, and Analytics Engineers [Washington, DC]
It's LivingSocial again. This time they're looking for a mix of folks with various Web, Mobile, and Analytics (think A/B testing and multivariate test analysis with Hadoop) skills. This is not just a single job so if working in DC sounds good to you, check them out.
Last but not least..
Rails Best Practices - The Code School Interactive Course
Enjoyed Rails for Zombies? Well, EnvyLabs bring out that same awesome interactive teaching technology here for a course on best practices in Rails. It's a mixture of screencasts and interactive elements and a lot of fun. It costs money, but what doesn't nowadays? Well, except Ruby Weekly of course.
TDGotchi - A TDD Tamagotchi for Eclipse IDE Users