This Week in Ruby: Rails 4 Sneak Peeks, A Gist Drama, and a CoffeeScript Book (by a Rubyist!)
Welcome to this week's Web-based syndication of Ruby Weekly, the Ruby e-mail newsletter.
Highlights include: MagicRuby 2012, a code structure/patterns 'drama', Mark Bates' new CoffeeScript book, minitest 3.2.0, and the Ruby Rogues chatting with Jim Weirich (who I met for the first time this week, ironically at a JavaScript conference!)
Headlines
'Programming in CoffeeScript' by Mark Bates, Now Available
Mark Bates, a Ruby developer, was won over by CoffeeScript and has written a book for Addison-Wesley which has now been published. Despite being a language that compiles down to JavaScript, CoffeeScript has become relevant to Rails developers in recent times given its inclusion in Rails 3.1+.
Reading
Am I Doing It Wrong?
A month ago, Rubyist Justin Ko asked fellow Rubyists if his code in a Rails project was poorly designed or not. The initial consensus was that he'd done a good job but then last week DHH weighed in and.. it got a bit 'dramatic.'
My (new) Favourite RSpec Pattern
Jordan Maguire shares an interesting RSpec technique and there's some interesting debate in the comments. It seems popular, though Geoffrey Grosenbach raises doubts about its readability.
Tutorial: Reddit in 10 Lines of Code
A curious walkthrough of taking an existing 'Reddit in Sinatra' and using some 'seldom used features of Ruby' to cram it down to 10 lines of dense Ruby code.
Generating Random URL-safe tokens with SecureRandom
Burke Libbey shows off a single liner that can generate a URL safe token using something from the Ruby standard library.
Rails 4.0 Sneak Peek: Queueing
A quick look at the new queueing API in edge Rails (to become Rails 4.0).
Watching and Listening
Facebook Authentication in Rails (RailsCasts)
Ryan Bates shows us how to create a new Facebook application, configure it, add authentication with the omniauth-facebook gem and top it off with client-side authentication using the JavaScript SDK.
Complex Made Simple: Sleep Better with TorqueBox
At RailsConf 2012, Lance Ball spoke about TorqueBox, a popular Ruby application server built on JRuby and JBoss AS7 that provides asynchronous messaging, scheduled jobs, long-running processes, caching, and more.
The Ruby Rogues Discuss SOLID with Jim Weirich
The Rogues sit down with Ruby old-hand and all round nice guy Jim Weirich to talk about the 'SOLID' principles of object oriented design.
The Changelog Interviews Laurent Sansonetti about Ruby Motion, MacRuby and More
The Changelog guys caught up with RubyMotion creator Laurent Sansonetti to talk about MacRuby, RubyMotion, MonoTouch, and more.
Libraries and Code
Rack Canonical Host: Middleware for Defining A Canonical Host Name
Rack middleware for defining a single hostname as the canonical host for your app. Requests for other hostnames will get redirected to the canonical host.
SoundCord: Perform Comparisons for Phonetically Similar Terms
A phonetic algorithm matches two different words with similar pronunciation to the same code, which allows phonetic similarity based word set comparison and indexing. SoundCord is initially aimed at Brazilian Portuguese but English and Spanish support is not far behind.
Jist: Publish GitHub 'gists' from Ruby
Jist is a gem that allows you to publish a gist from Ruby or the command line including file uploads and OAuth2 authentication.
ffi-http-parser: Ruby FFI Bindings to the 'http-parser' Library
http-parser is a high performance HTTP message parser written in C by Joyent. ffi-http-parser can hook your Ruby scripts up to it for parsing both HTTP requests and responses.
Jobs
Back End Developer, SoundCloud, Berlin, Germany
Soundcloud is looking for an über-talented back end web developer with knowledge of the latest web development tools and methodologies. As part of our A-team, you will be faced with the challenges of developing the world's leading audio sharing platform.
Sr. Ruby on Rails Software Engineer
Do you live to work hard, play hard, live life big? Then consider working at G5. G5 has created a digital experience management platform designed to allow clients to optimize their online experience. Our mission is to help our customers and employees thrive.
Last but not least..
Sublime Text 2 for Ruby
A look at the Sublime Text 2 programmers' text editor including why it's a good fit for Rubyists and how to set it up in a productive manner.