Issue #52 - July 28, 2011
Welcome to issue 52 of Ruby Weekly. With 52 weeks in a year (or close enough) Ruby Weekly is now a year old, although the true honor comes in a month, as issue 4 was the first public edition. Whether you've been with us since the start or just in the last week, thanks for reading and I hope to make it for many more years yet.
Slim 1.0 Released - A Fast, Lightweight Template Engine for Ruby
Slim is a Haml-influenced template system for Ruby that's been picking up steam lately. While 1.0.0 seems an incremental release over 0.9.3, it reflects the project's coming of age. Well worth checking out.
Rails 3.1 Due on August 22, 2011; RC5 Out Now
Rails' Codebase Gets Continuous Integration with Travis CI
DHH explains that setting up continuous integration for the Rails project is a complicated undertaking. It needs to be tested against many different Ruby versions and various modes of operation. Travis CI is now providing the goods and you can see the results live via a link from this blog post.
Madison Ruby Conference - August 18-20 - Wisconsin
Madison Ruby Conference is a forthcoming two-track conference with speakers including Chad Pytel, Jeff Casimir, Brian Hogan, Bryan Liles, Scott Chacon, and many more. There's also a day of workshops. It looks like a pretty significant shindig so check it out.
Learn Rails 3 with 500+ Pages and 15+ Hours of Video Guidance
Michael Hartl's 'Rails tutorial' combo is a great way to learn Rails. You can read the book online for nothing but it truly comes into its own with his 500 page PDF book and over 15 hours of screencasts showing you how to work with Rails 3 and build apps start to finish.
Articles and Tutorials
Finding and Fixing Memory Leaks in Ruby C Extensions
An excellent article by Timothy Elliott where he walks through the process of finding and fixing a memory leak in Nokogiri. You might find his technique useful for your own investigations.
An Introduction to Concurrency in JRuby
Nick Sieger of Engine Yard provides a deft introduction to the concept of concurrency using JRuby by looking at best practices, threading and the actor model.
Compiling Executables on Heroku
This strikes me as somewhat experimental but Jon Magic has brewed up a way to compile software on Heroku so you can safely include it within your Heroku-based projects. He demonstrates compiling xpdf to get PDF-to-text functionality in his Rails app.
Code Review: Ruby and Rails Idioms
The folks at Thoughtbot work with a lot of other Rails developers who aren't on their team and so often do code reviews on third party code. In this article, they share some common, yet simple, one-line refactors that they've needed to do frequently.
Controlling Access to Resque with CanCan
How to Use Capybara on Any HTML Fragment or Page
A Tour of Ruby's pack and unpack
Testing Time & Web Requests - RailsCasts
It can be difficult to test code that deals with the current time or an external web request. In this week's episode of RailsCasts, Ryan Bates shows us how to do both with the Timecop and FakeWeb gems.
Engine Yard's Ruby Platform Options Throwdown
Libraries and code
Rack-webconsole: A Ruby/Rails Console Inside Your Browser
Wouldn't it be nice to have an in-browser console for a Rails (or any Rack) application while in development? Josep M Bach shows how to make it happen with Rack-webconsole.
Jsonify: An Easy Way to Build JSON
Jsonify is to JSON as Builder is to XML. Jsonify provides a builder-style engine for creating JSON representations of Ruby objects. It can be used with Rails, or independently.
Whoops: A Rails-based Self-Hosted Logging System
Whoops is an open-source, self-hosted logging system consisting of a Rails engine (to record logs and provide an interface to them) and a logger you can use in other apps. It's quite an elegant piece of work so far.
Foreverb - A Framework for Daemons
Foreverb is a small daemon-process framework for Ruby, with logging, error handler, and scheduling. It's influenced by the Node.js project, Forever.
Introducing Has Face for Rails
Has Face is a Ruby library that uses face.com's API to ensure that an image contains a person's face (if you so choose). Mario Visic shows you how to use it.
Myrrha: The Missing Coercion Framework
Coercions are mechanisms for converting values from source to target domains. For example, in 3 / 2.0, 3 is a Fixnum but 2.0 is a Float and yet Ruby handles it. Myrrha is a framework to help you extend Ruby with extra coercion types.
Adauth 1.0.0: Active Directory Authentication for Rails
delayed_paperclip: Background Paperclip Attachment Processing
Ruby Jobs of the Week
Rails Developer [San Mateo, California]
Motista is pioneering a web-based intelligence solution that informs marketing departments how to best motivate consumer behavior. They seek an eager, creative, self-motivated Rails Developer who is ready to hit the ground running and lead front-end development.
Ruby on Rails Developer for Wimdu GmbH [Berlin, Germany]
Rails Developer for RevSource Solutions [Irvine, California]
Readers have been requesting job listings in France, Canada, and other countries that rarely pop up. If you're a subscriber and have a job in a country that isn't the UK, USA, Australia or Germany, get in touch and I may be able to run a complimentary listing :-)