Chef: Quick and Tasty Ruby Powered Server Configuration
Chef isn't exactly new, but I've been looking into it recently after briefly talking to Lindsay Holmwood at Rails Underground.

Chef isn't exactly new, but I've been looking into it recently after briefly talking to Lindsay Holmwood at Rails Underground.
In Make Your Test Suite UNCOMFORTABLY FAST! (called "the best blog post ever written" by one commenter) Jason Morrison of Thoughtbot demonstrates how to use Michael Grosser's Parallel Specs project to speed up your Ruby tests.
A couple of weeks ago we featured Gabriel Horner's Hirb framework for formatting irb output. I've recently been playing with another of his projects, Alias, which further enhances the Ruby Console experience (but it conceivably could be used in your Ruby programs too).
Inspired by Git (the version control system), Delano Mandelbaum has come up with a library called Gibbler, which produces hashes and history for Ruby objects.
Integrity is a simple and lightweight Continuous Integration server written in Sinatra (a DSL for quickly creating web-applications in Ruby). When commits are pushed to a Git repository, Integrity builds, runs tests, and reports the build status to each team member. It supports a variety of notifiers including Email, IRC, and Twitter.
MongoDB a is a high-performance, open source, schema-free, document-oriented database written in C++. It's sort of a cross between scalable key/value stores and traditional functionality-rich relational databases.
The Interactive Ruby Shell (irb) and the Rails console are great for interacting and experimenting with your ruby application code, but sometimes it's hard to visualize the output. Gabriel Horner has come to the rescue with Hirb: a 'mini view framework' for irb which is designed to improve the default output to make it more human-readable.
This post is by Matt Sears of Littlelines.

Earlier this week, Rip quietly made its way into the world. It's a "next generation" Ruby packaging system, clearly meant to both work around some of the problems with RubyGems and also introduce some fresh ideas of its own. If you want to immediately jump and learn more, check out the official About us page for a tour.

The Ruby Toolbox gives Ruby developers a categorized overview of 100 or so different libraries ranked on how commonly used they are. It's not perfect as it only pays attention to projects hosted on Github and the ranking system is based on the number of watchers and forks they have, but it's enough to give you a basic overview of the activity within a certain area.
Paul Dix, of Feedzirra fame, strikes again! This time with Typhoeus (Github repo), a high-speed, parallel HTTP request library for Ruby. At first glance, you could be forgiven for wondering what the point is when we already have John Nunemaker's awesome HTTParty to build simple HTTP clients, but Typhoeus is, in many ways, like HTTParty on ten cans of Red Bull.
Last week, the latest version of Ruby packaging library/tool, RubyGems, was released.
Version 1.3.2 not only has a bunch of bug fixes (including supporting https URLs for gem sources) and improvements, but a number of new features. The biggest new feature is support for plugins. Plugins can be used to add commands to the gem command line tool or install/uninstall hooks. InfoQ's Mirko Stocker has put together a good summary of the new functionality along with some comments directly from RubyGems maintainer Eric Hodel.
Five months ago JetBrains (the company behind Java IDE IntellJ IDEA) released a "public preview" of RubyMine, a new Ruby and Rails IDE. Now, they've released the beta of version 1.0, the precursor for a final 1.0 launch later this month. You can download it right away - it came in at about a 75MB download for OS X, but Windows and Linux versions are also available.
Twitter - the lifestreaming-meets-microblogging social site - has exploded in the last year and lots of applications have been developed that can take advantage of Twitter accounts. The downside is that many have required users to put their own Twitter username and password credentials into the third party apps.. a security minefield!
Dash, a new metrics service from FiveRuns, has been moved to private beta (for which you can apply) allowing interested developers to take part in assessing a new way to monitor your applications. The new service from FiveRuns is an extensible monitoring service for gathering metrics from your critical daemons and applications.

Priit Haamer is an Estonia-based Ruby developer who has put together a "Ruby dictionary for Mac OS X." All you have to do is download the file he provides, unzip it into your ~/Library/Dictionaries folder (or create that folder and unzip it in there) and you'll be able to use the built-in OS X "Dictionary" application to search for Ruby module names, classes, and methods.
Feedzirra is an all-new Ruby feed parsing (it's not a generator) library by Paul Dix. The choice of feed parsing libraries in Ruby has been reasonably limited so far, so Feedzirra is a most welcome addition to the Ruby ecosystem. Its focus is on pure speed - it uses Nokogiri (an ultra fast Ruby XML parser that depends on libxml) and curb (bindings for libcurl - to do the HTTP work) so compilation is required. Feedzirra was designed to be used to fetch thousands of feeds, process updates quickly, save on bandwidth (with conditional GETs, etc) and be dead simple to use.
Rhodes - developed by Rhomobile - is an intriguing framework of Ruby interpreters that can be used to develop native applications for the iPhone, Windows Mobile, RIM (Blackberry) and Symbian smartphone platforms (with Android support to come). Last month, Werner Schuster (of InfoQ) wrote a basic roundup of how Rhodes works.
Apologies for the buzzword collision in the title, but Cloudkit really is a RESTful JSON-powered storage appliance that uses Rack! Think of it as a schema-less, HTTP accessible database of sorts - like CouchDB without some of the more advanced features. It's all written in Ruby and makes it ridiculously easy to set up a fully discoverable, RESTful, JSON API.
It was a few months ago that Rubysophic - a Bay Area startup working on products relating to Ruby diagnostics - came quietly into the Ruby scene, launching their first product, RubyRun Community Edition, a free, standalone application-performance diagnostic tool. While the most obvious use is with Rails applications, RubyRun works on any Ruby code (within reason) though it's primarily suited to Web applications.
If you've ever investigated how to build your own compiler, you might be familiar with LLVM (Low Level Virtual Machine), a "compiler infrastructure" that makes it easy(ish) to create virtual machines, code generators, and optimizers of your own. It also has its own intermediate representation language that's architecture independent and the instruction sets and typing system available are similarly language independent. In theory, if you want to build your own programming language and a compiler for it, LLVM will get you most of the way.
Testing is a firmly ingrained part of the Ruby culture: you probably ran across Test::Unit not long after you first started writing Ruby code (though it wouldn't be surprising if you ignored it for a while). But it hasn't been a static part of Ruby - we've seen the simple availability of tests evolve into test-driven development (TDD) that in turn gave rise to behavior-driven development (BDD). Along the way, Ruby has spawned a variety of testing tools and frameworks. The latest, Aslak Hellesoy's Cucumber, is the latest addition to the RSpec family of tools.
Anyone building up a project with many dependencies - and in the Ruby community, with so much functionality wrapped up in gems and plugins, it's hard to imagine not having external dependencies! - must face the issue of managing the situation in source code control. How do you maintain everything you need in your own repository, while still being able to update your dependencies from their own repository? How do you set things up so you can even contribute to the projects you depend on?