The Mega Ruby News and Release Roundup for May 2012
Welcome to the bumper pick'n'mix of Ruby and Rails news and releases for May 2012, fresh from the pages of Ruby Weekly (which, unsurprisingly, comes out once every week - on Thursdays).
Highlights include: RubyMotion's release, the JRuby guys are moving to Red Hat, Spree 1.1, DHH's RailsConf keynote, and JRuby 1.7.0 preview 1.
RubyMotion Released: It's Ruby, but for iOS
The biggest Ruby news of the month! RubyMotion is a Ruby implementation and toolchain for iOS by Laurent Sansonetti, the former MacRuby lead developer, that lets you build iPhone and iPad apps.
DHH's RailsConf 2012 Keynote (YouTube)
DHH rails against conservatism, people who think about the newbies, and ex-hippies, while celebrating progress and getting the audience to chant "I will not fear change, I will not fight progress". "Stay hippie," he closes.
Spree 1.1 (Rails E-commerce Platform) Released
Spree is a popular Rails-based e-commerce system and the 1.1.0 release brings support for Rails 3.2, an API overhaul, and more.
Read A Chapter From 'Ruby Under a Microscope', A Forthcoming E-Book
Prolific Ruby blogger Pat Shaughnessy has been working on a new e-book about Ruby language and MRI internals. It's not finished yet but he's sharing a single preview chapter for free right now. Enjoy.
Everyday Rails Testing with RSpec by Aaron Sumner
A new e-book written by Aaron Sumner that digs into building confidence with testing Rails apps using RSpec. It comes in PDF, EPUB and Mobi formats. Always handy to have up to date efforts in this regard.
OpenShift (Red Hat's Answer to Heroku?)
OpenShift is Red Hat's new, free auto-scaling 'platform as a service' for webapps. It supports Java, Ruby, Node, Python, PHP and Perl and seems to be a reasonable entry into a world made popular by Ruby's own Heroku.
Startups Court Dev Bootcamp's Ruby Grads with $79K Average Salary
A rare human interest story for Ruby Weekly! Dev Bootcamp is a 10 week $12K bootcamp program for people to get up to speed with Rails development and of their latest batch, 14 of 17 developers ready to get a job got an offer at an average salary of $79K.
The Bastards Book of Ruby
Billing itself as 'a programming primer for counting and other unconventional tasks,' the online Bastards Book teaches Ruby programming via practical data processing tasks. It's aimed at non-programmers and especially journalists, researchers, scientists, etc.
JRuby Core Team Members Moving to Red Hat
At JRubyConf this week, it was revealed that Thomas Enebo and Charles Nutter - key members of the JRuby core team - are moving from Engine Yard to Red Hat. Learn more about what they'll be up to here.
First Alpha of ruby_parser 3.0 Released
ruby_parser (RP) is a long standing Ruby parser written in pure Ruby but till now it had the disadvantage of not supporting Ruby 1.9 parsing. Now it does! Still only an alpha but a good release to see.
MRI Accepts Google Patch for Google NativeClient (NaCl) Support
Still early days on this but Google has been working on a proof of concept port of Ruby to its NativeClient technology (which lets you compile software to run in Chrome).
Vermont's First Ruby Conference, July 28 - 29, 2012
Burlington Ruby Conf 2012 will take place in Burlington, Vermont on July 28 - 29th. Join like-minded Ruby enthusiasts for Vermont's first Ruby conference, hosted on beautiful Lake Champlain.
JRuby 1.7.0 Preview 1 Released
1.7 is proving to be a big release for JRuby and the first preview is out. A key change is that Ruby 1.9.3 is now the default runtime mode (but 1.8 is still available as an option) and support for Java 7's invokedynamic brings some major performance boosts (when running on the right JVM.)
Heroku's 'Cedar' Stack Now in General Availability
The popular 'Cedar' stack on Heroku that allows you to run multiple processes, multiple languages, and more is now out of beta and is 'generally available'.
What Makes an Awesome Command-line Application?
David Copeland, the author of Build Awesome Command-Line Applications with Ruby, shares some pointers to building good command line apps in Ruby.
Ruby HTTP Client Performance Shootout Redux
Jonathan Rochkind puts several HTTP client libraries through their paces. Eric Hodel, author of net-http-persistent, gives the write up a thumbs up so that's good enough for me.
Exhibit vs Presenter
Mike Pack explores the 'exhibit' and 'presenter' decorator patterns. And if all this sounds like buzzword bingo to you, this is a pretty accessible introduction!
A Vision for Cucumber 2.0
Cucumber is a popular natural language accepting testing toolkit for Ruby and in this post Matt Wynne has collected together ideas from various Cucumber maintainers to see what's coming in Cucumber's future.
Meet 6 Misunderstood Ruby Features
Targeting C++ developers who are learning Ruby, Arpan Sen looks at six areas of Ruby that might trip them up: class hierarchy, singleton methods, self, method_missing, exception handling, and threading. If you already know your stuff though, steer clear.
Multiple Ruby Version Support on Heroku
With the release of Bundler 1.2.0 beta and the Ruby 'build pack' you can now select the version of Ruby you want to run on Heroku. Learn more here.
Mixins: A Refactoring Anti-Pattern
An interesting stroll through measuring complexity and refactoring with Steve Klabnik.
Five Common Rails Mistakes
Experienced Rails developer Mike Perham shares a handful of common mistakes he sees in most Rails apps.
How To Get 4x the Performance Out of Heroku with Unicorn
A look at using Unicorn and a Procfile to increase the number of processes that are handling Web requests when using Heroku.
Getting Started with Ember.js and Ruby on Rails
Fresh from the official Ember site comes a guide to building a simple, personal photoblog application using Ember.js and Rails 3.2.
Benchmark Your Bundle
See how long it takes to load each individual library referenced by your Gemfile.
Passing Open Files Between Processes with UNIX Sockets
Jesse Storimer shares a neat technique for using UNIX sockets as a conduit to passing file descriptors between processes.
Backbone.js, CoffeeScript, Jasmine, HAML and Rails Working Together
A holistic walkthrough by Jeremy Walker tying together a bunch of modern Web development technologies.
A Better Way to Set Up Rails on Windows
Don't flame me about this, but what's the best way to get a Rails environment running on Windows for development work? Use VirtualBox and a VM says Roshan Choxi of programming training company Bloc.
Three Quick Rails Console Tips from 37signals
Dig into your app with the 'app' method, play with helpers, and find out where certain methods are defined (more a general 1.9 trick though).
Anaphora in Ruby, 2012 Edition
Esteemed essayist Reg Braithwaite updates a popular 2009 article about 'anaphora' in Ruby, namely language elements that can refer back to earlier used objects or results. A lot of geekery to enjoy here.
Integrating Rails and jQuery Mobile
There are some rough edges when integrating Ruby on Rails and jQuery Mobile for your mobile application and jQuery Mobile core contributor John Bender shows you how to smooth these out.
Objectify: A Better Way to Build Rails Applications
Objectify is a framework that codifies good object oriented design practices for building maintainable Rails applications. In this post, James Golick explains the motivations.
You Don't Have to Use Bundler to Create New RubyGems
Not a new or provocative opinion, but nonetheless an interesting introduction to the 'Ore' project generator which I didn't know about before.
Injection Vulnerabilities in Ruby Apps Through Bad Regexes
A pretty simple issue but one that I suspect is commonplace.
Tossing Out IRB for Pry
Pry is a powerful and popular alternative to the IRB Ruby console. In this post, Phil Aquilina shows off a few reasons why to give it a go.
CoffeeScript Love: Testing CoffeeScript in Rails
The Development of Sequel
A slidedeck by Jeremy Evans about his work on the popular database interaction library.
Why Our Code Smells
A great slide deck by Brandon Keepers.
Watching and Listening
The Rails API Gem - RailsCasts
Ryan Bates looks at the 'Rails API' gem (recently linked in Ruby Weekly) and demonstrates how it can be used to build an API-only Rails app.
10 Minutes on Rails Engines
Ryan Bigg presents a well-recorded ten minute tour of Rails engines, what they are, how they work in different versions of Rails, how to build them, and examples of their usage in Forem and Spree.
Sandboxing Ruby Code: Lessons from the Battlefield
A talk by Tejas Dinkar and Jasim Basheer from RubyConf India 2012 looking at the process of running untrusted code on your server using various sandboxing techniques.
rbenv and Bundler
An hour long talk from the Pittsburgh Ruby Brigade presenting a history of rbenv and Bundler, debating the merits of rbenv and RVM, and showing off rbenv-bundler, a new plugin which ties rbenv and Bundler together.
Making Little Classes Out of Big Ones with Avdi Grimm
In a 'Lunch n' Learn' session with Avdi Grimm, he takes a look at the pros and cons of four different techniques for breaking a too-big class into smaller pieces. 50 minutes long.
RubyMotion with Laurent Sansonetti
As Ruby Weekly may have shown, the RubyMotion Ruby + iOS developer tools have been a big hit lately and their creator Laurent Sansonetti dropped in to chat with the Ruby Rogues about what it all means.
RailsCasts on 'Squeel' - a SQL DSL
Squeel provides a comprehensive DSL for writing SQL queries in Ruby, all built upon Arel. Ryan Bates gives us a tour in just 9 minutes.
Libraries and Code
Focused Controller: Bringing Real OOP to Rails Controllers
Jon Leighton notes that classical Rails controllers violate the Single Responsibility Principle (part of the SOLID group of OO programming principles). Focused Controller aims to resolve that by splitting up responsibilities into an object each. The usage example shows it off best.
Initial Queue Implementation on Edge Rails
It seems Rails 4 is getting a built-in unified API for queueing! Enjoy this GitHub commit jam packed with comments and discussion on the development of this feature.
Sublime Text 2 Guard Plugin
This project provides integration of Guard (a tool that handles and responds to events on file system modifications) into the Sublime Text 2 editor. Handy if you want your tests to run automatically but then see the results directly in ST2.
Thor: Toolkit for Building Command Line Interfaces
Thor is not a new tool but it has a new Web site so check it out. It makes an interesting alternative to Rake for certain use cases (although ultimately Rake and Thor should serve different purposes).
Firehose: Build Real-Time Web Applications
Kandan: A Slick, Rails-Powered Open Source Live Chat App
A fan of online chat apps like Talker or Campfire? Kandan is an open source Rails app that claims to be 'the slickest chat app out there!' I had it up and running on Heroku within a couple of minutes.
DataMiner: Download, Parse and Import Many Data Formats into AR Models
DataMiner by Seamus Abshere is a Ruby library that can download data archives, extract them, parse the data contained, and then import that data into ActiveRecord models.
Monologue: Mountable Rails Blogging Engine
Monologue is a basic mountable blogging engine in Rails built to be easily mounted in an already existing Rails app, but it can also be used alone.
Mechanize 2.5 Released
The popular Web request and Web site interaction library has been updated.
Ampex: A(nother) Practical Use Of Ruby's & Operator
The ampex library takes the idea from '&:symbol', and adds a little more flexibility. An interesting idea.
Introducing Live for RubyMotion
Live is a gem for RubyMotion implementing some of the ideas presented in Bret Victor’s awesome 'Inventing on Principle' talk. It interfaces with the REPL and allows you to control it from the comfort of your preferred text editor.
ActiveRecord Reputation System (from Twitter)
The Reputation System gem makes it easy to integrate 'reputation systems' into Rails applications and decouple the system from the main application.
rake-rails: Bringing Rails Commands to Rake
Ever get confused between which things you should use 'rake' for and which you should use the 'rails' command for? Andy Lindeman brings them both together with rake-rails.
CLAWS: Command Line AWS
A command line based AWS (Amazon Web Services) console with Capistrano integration.
Sextant: Bringing Your Rails Routes to a View
Sextant is a simple addon to give you a /rails/routes URL while in development on a Rails app, as a way to see the routes your app implements. Interestingly, this functionality is being merged into the forthcoming Rails 4.0 as standard.
Senior Developer at AT&T [Palo Alto, California]
Senior Software Engineer at Zendesk [San Francisco]
Popular hosted helpdesk service Zendesk is looking for a senior engineer with 2+ years of Rails experience.
Senior Web Technologist at Holiday Extras UK
Do you spend your leisure time tinkering with the latest NoSQL du jour or playing with the latest AWS toy? Do you dream of big data? Is GitHub the first thing you think of when someone says the word fork? If so, Holiday Extras is looking for techies like you.