PragPub Magazine, Android 1.5/1.6

October issue of our magazine, PragPub, now available. Hello, Android Second Edition for Android 1.5/1.6.

Ruby Inside and Rails Inside Redesigned – Check It Out

ruby-inside-design-transition.gifThey’ve had several days to settle in, but because most of you will be reading via the RSS feed it’s time to make a point to announce that… Ruby Inside and Rails Inside have both been redesigned! If you usually just read the full-text RSS feed, do come and visit the site – if only to let us know what you think.

The new design marks the 3rd major redevelopment of Ruby Inside since 2006 and the stats from the last week are showing it to be a lot more effective with a 40% increase in pageviews per visitor. As well as an improved design, new features include:

  • An extended “elsewhere” section with automatically updated links to other top Ruby content each day
  • Our listing of the “Top 10 Ruby Sites” on every page’s sidebar (Wanna know what they are? Visit the site!)
  • A listing of our recommended Ruby books on every sidebar
  • New, graphic-oriented “related posts” bar on every post – a great way to find other posts to read
  • Search (people were asking for this a lot)
  • A “fixed”/permanent header bar – reaction so far has been positive but I’m not entirely sure it’s quite right yet..
  • A proper page for people who want to post to our jobs board. No longer are you dumped right into a sales form – you get to learn a bit about it first.

Lastly, I’d like to thank all of you for reading and supporting us over the years – ultimately it’s you, by reading every day, that keeps this site going.

As an aside, I’ve also quietly launched a The Ruby Way blog, dedicated to unearthing interesting bits and pieces from Hal Fulton’s awesome Ruby book.

It’s Here: iPhone SDK Development 3.0

iPhone SDK Development, for the latest 3.0 iPhone SDK is now in print and shipping.

Ruby Enterprise Edition 1.8.7 Released – Lower Memory Usage, Increased Speed

ruby-enterprise-edition.pngToday Phusion has announced the release of Ruby Enterprise Edition (REE) 1.8.7 (more specifically, 1.8.7-20090928). Once considered a bit of a joke, given the name, REE has proven itself to be anything but, with significant memory usage and speed improvements over the stock “MRI” Ruby implementation. The key development with this release is compatibility with Ruby 1.8.7, rather than the 1.8.6 of previous versions.

While REE has shown itself to be a good performer compared to MRI before, this week Evan Weaver of Twitter revealed how a release candidate version of REE 1.8.7 has resulted in a significant throughput increase on the same codebase. He also noted that Ruby is faster when compiled with optimization for size rather than speed due to the benefits of being able to fit more of Ruby into the CPU’s cache. REE 1.8.7 is optimized for size by default, so you get the same improvements out of the box. For information on other optimizations and changes from MRI, Phusion’s release post has more details.

Installing REE is pretty easy (instructions here) but the latest version of RVM (Ruby Version Manager) already has support for it if you want to seamlessly run multiple versions of Ruby.

Disclaimer: The REE “logo” shown above is not official and was designed by Ahmad Galal. It’s CC 3.0 licensed.

[ad] railsjumpstart.pngJumpstart Lab is offering Rails Jumpstart, an introduction to Ruby on Rails, on 10/31-11/1 in Washington, DC. Save $30 with code “rubyrow“!

Beginning Mac Programming; news

Beginning Mac Programming: Develop with Objective-C and Cocoa now in beta; new email delivery, upcoming studio.

Review of The Merb Way by Foy Savas

the merb wayI’ve been reading the Merb Way by Foy Savas (Addison Wesley).  I was a little sceptical about this book at first, because of the recent marriage of the Merb and Rails core teams and the announcement that the Merb codebase would be merged with Rails as part of the march towards Rails 3. As Yehuda Katz put it, “Merb 2 is Rails 3”.

So, is this book now redundant?  I don’t think so. As Obie Fernandez explains in the foreword, knowing about Merb is still valuable as it is a fairly widely used framework, and it will probably continue to be seen in the wild for a good while after Rails 3 is released.  Additionally, learning how Merb works and exploring the underpinning philosophies will aid your understanding of some of the changes happening in Rails.

The book itself is engaging and well written, and serves as a great reference guide for developing Merb applications.  It’s quite code-heavy, but this is by no means a criticism – Foy guides the reader through the Merb source, revealing how things are done in Merb, in order that the Ruby community can learn from it for developing our applications and future frameworks.

With under 300 pages of actual content, this is by no means a weighty tome, but it covers most things a Merb developer needs to know.  Foy starts with the fundamentals, explaining how Merb apps are structured and configured, as well as providing an introduction to some of the internals of Merb. The first part of the book is concerned with routing and MVC, which will be familiar to Rails developers.  It then moves onto more Merb-specific topics such as slices (self-contained mini-apps that can be packaged as gems) and parts (for reusable logic used in partials throughout your app). Sessions, authentication, and mailers are also covered, before the book concludes with a chapter on testing.

The Merb Way is available now from Amazon for $29.19 (or £23.19 from Amazon UK).

Ruby5: A Twice-Weekly 5 Minute Ruby News Podcast

ruby5-itunes-logo.pngRuby5 is a new twice weekly podcast dedicated to Ruby and Rails news. It’s headed by Gregg Pollack (formerly of the RailsEnvy podcast which Jason Seifer has now taken over) and Nathan Bibler. They aim to cover several bits of Ruby and Rails news in five minutes. You can also leave comments about the stories on their site as you listen. As of today, there are 7 episodes in the archives if you want to catch up, all in the 5-6 minute range.

I’m not a big fan of listening to news, but Ruby5 has done a great job of also making it possible to learn about what they’ve featured without listening to the audio if you don’t want to.

Why’s “Try Ruby” (Web Version of irb) Back Online

Screen shot 2009-09-02 at 19.19.38.pngTry Ruby was a Web site by Why The Lucky Stiff that provided a Web-based version of irb (the interactive ruby prompt) and a 15 minute tutorial for people to learn and play with Ruby. With Why’s disappearance, however, the site went down and an invaluable Ruby community resource was lost.

Luckily, Andrew McElroy has made a great effort in getting Try Ruby back online. It’s not precisely the same, but it’s as close as you’re going to get for now (one key difference is that the irb process is not persistent – instead the history is re-run on each new line). There’s even the 15 minute introductory Ruby tutorial! An extra bonus is that Andrew has released all of the code he has for Try Ruby in a Github repository. Why’s code was never open sourced but Andrew has done a good job in starting to rebuild the backend.

Note that this is not a Why-approved project (yet). To the best of my knowledge there is still no further information on Why’s disappearance.

bbox.pngSupport from: Brightbox – Europe’s leading provider of Ruby on Rails hosting. Brightbox is currently looking for a Senior Developer to take a lead developing their customer control panel and other backend systems. They want a great coder and project manager with experience of RSpec and Capistrano.

Magazine 3, Final vote

PragPub the magazine, with a feature article by XP’s Kent Beck and all manner of other goodies; vote for your favorite programming language

Devver: Run Your Tests or Specs 3 Times Faster (On A Cloud Of Servers)


Devver is a new Ruby testing service that lets you run your tests in parallel on their cloud of servers. This means your tests (or specs, both Test::Unit and RSpec are supported) could run in a third of the time as usual (depending on your setup) and it’s as easy as copying a Rakefile into your project and entering a few settings. Devver stresses that “you won’t have to alter a single line of your code.” Devver is currently in public beta.


I got in touch with Devver cofounder Benjamin Brinckerhoff (pictured first in the image to the right) to get some background on the service, the reason for it being created, and how the whole thing works:

How did you guys come together to build Devver?

Back in 2007, my co-founder and I were building a product review site in Rails. We wrote a lot of tests, which had all the benefits you’d expect. However, we found that once the test suite took over about ninety seconds to run, it became significantly less useful. We started developing all these bad habits: we’d only run a small portion of tests before committing and then let CI handle the rest, we’d get distracted and check email while tests were running, we’d run tests less often, and we started to write fewer tests.

We realized that since testing best practices advocate creating completely independent tests, it would be possible to significantly improve performance running them in parallel. That was what led us to create Devver.

How did you build the prototype of Devver?

We had a week where we didn’t have anything really scheduled and were discussing what we should work on. We decided that it might be interesting to try to build a prototype of the distributed testing idea we had.

We actually completed the first version in a little over a week. It ran on the eight computers that we had in our house (our various servers, laptops, and a bunch of old computers we found in our closets). It was incredibly hacky – you had to manually log in and set up a ton of stuff on each computer. There was no automatic code distribution, our communication between components was a hugely inefficient system we built on top of Rinda, and it only worked for our specific code base. But it did speed things up! Even that early version cut around 60% of the time off our big functional test suite.

What convinced you that Devver was worth going ahead with full-time? It’s not the usual sort of developer service..

We did a demo of that early prototype for TechStars and were fortunate enough to be accepted into the program for the summer of 2008. Once we got accepted into TechStars, we knew we wanted to work on developer tools that were based in the cloud, but we weren’t sure our idea of test acceleration was interesting by itself. The thing that convinced us was a talk we gave at Pivotal Labs. The project was still in its infancy, but the feedback we got was clear – many Ruby developers really wanted a tool that would enable them to run their tests quickly so they could run them more often.

What surprises have have you found with Devver so far?

We always expected Devver to be a challenging project, but making it as compatible as we’d like has been even more difficult than we anticipated. Early on, we had a plan (which, at the time, we considered extremely clever) to make Devver work on a ton of open-source projects in order to improve our compatibility. We got many open-source projects working and thought we were in good shape. Of course, as soon as we started bringing on additional closed-source projects, we quickly learned they were quite different from open-source ones!

One nice surprise has been the degree to which Rubyists write highly independent tests. Early on, we expected that many test suites would contain hidden dependencies – that is, you’d have to run the tests in a certain order. It’s really easy to miss these dependencies when your tests always run in the same order on your local machine. But in practice, we’ve seen virtually zero suites that have interdependent tests. As a result, the tests parallelize well and we can run them very quickly, which is great.

What stack are you using for Devver? (i.e. Ruby version(s), libraries, daemons, anything like that)

We run on Amazon EC2 instances running Linux and use their SimpleDB for our storage. We currently run Ruby 1.8.6 (but we’d eventually like to let the user determine if we run their tests using 1.8.6, 1.8.7, or 1.9). We use Beanstalkd for our job queues. We have components built on top of EventMachine and Sinatra, and some that are entirely custom.

Where do you see Devver going in a year’s time?

First and foremost, we want to make our core experience as awesome as possible. That means making Devver even easier to set up and compatible with more projects. As a quick example, we don’t currently support Cucumber, but we’d like to. After that, we’d like to beef up our web site to display some metrics that individual developers and teams would find useful. For instance, we’d like to track code coverage over time or give you a report that lets you view your slowest tests.

But of course, we’ll stay flexible and keep listening to what our users want. We love any and all feedback. If there is a reason that a user or team can’t or won’t use Devver, or a feature they’d like to see, we’d love to know about it so we can continue to make Devver better!

Disclaimer: You might have seen a couple of footer ads on Ruby Inside advertising Devver – though this writeup is in no way dependent on that; it’s a cool tool!

Rails Rumble Voting Is Go – 22 New Ruby Webapps To Check Out!

rrumble.png Rails Rumble is an annual Ruby (and Rails) development contest where developers attempt to build a working web app in 48 hours. This year it took place between 22-23 August and you can now vote on the top 22 applications (as ranked by an expert paneldisclaimer: I was on the panel). Despite its name, Rails Rumble is not only for Rails applications – this year, any application that uses Rack could be entered. I wasn’t aware of this before the contest took off, but hopefully with this in mind many more Sinatra and Ramaze entries could join the fold next year.

Your votes will ultimately decide the winners so if you want to check out 22 awesome Ruby and Rails powered web apps, go and get voting on the entries!

My Top Picks

I don’t really want to sway the voting but there are a couple of apps that jumped out at me and that I think you’d like to learn about even if you don’t want to go and vote:


Hurl: Hurl is a Web equivalent of HTTP request tool curl. It lets you make HTTP requests from a Web page and then analyze the results in detail (including headers, etc). It comes from Github’s Chris Wanstrath and Pownce’s Leah Culver.

Lazeroids: Lazeroids is a Web version of arcade classic Asteroids. It’s multiplayer and is pretty fun to play with even if it has a few quirks.


How’s My Code?: How’s My Code is a Git-based lightweight code review app. You don’t get much of an idea from the front page, but sign up and log in and you’ll see this is a well designed and useful tool. If you work in a remote team environment and use Git at all, check it out. Basically you can comment on any commits made on git repositories of your choice.

Hosting Statistics

One of Rails Rumble’s main sponsors is virtual private server provider (and Ruby Inside sponsor) Linode who provide free servers for Rumble participants to use and they put together a page with statistics about how their machines were used during the contest. It turns out 80% of participants used their Linode in some way or another, that 81% of those then chose to use Ubuntu, and 68% of users went with Phusion Passenger to deploy their app.

bbox.pngSupport from: Brightbox – Europe’s leading provider of Ruby on Rails hosting. Brightbox is currently looking for a Senior Developer to take a lead developing their customer control panel and other backend systems. They want a great coder and project manager with experience of RSpec and Capistrano.

O’Reilly’s “The Ruby Programming Language” Ebook for $9.99 – Limited Offer

rubyprogramminglanguage.gifI’ve just had word from David Flanagan – co-author of The Ruby Programming Language, published by O’Reilly – that O’Reilly are running a temporary sale on the e-book edition. The PDF e-book is now just.. $9.99 for a limited time only. That’s a pretty good deal considering O’Reilly are selling the print book for $40 (though it’s only $26.39 on Amazon).

Actually.. make that $5.99? Reader Mike Hodgson claims: If you use the LREL40 coupon code you can get an additional $4.00 off, bringing it down to $5.99 – Not tried it myself, but it’s worth a go.

The Ruby Programming Language is the canonical Ruby book covering both Ruby 1.8 and 1.9. It’s by David Flanagan and Yukihiro Matsumoto (Matz!) so you know it’s authoritative. When we reviewed it in 2008, we billed it “the new most important Ruby book.”

David also mentions that there’s a new iPhone edition available too for a mere $5. A great opportunity to get a great book on the cheap, whatever your budget.

jslab.pngJumpstart Lab is running a JavaScript Master Class for Javascript & UI programmers with Thomas Fuchs (Scriptaculous, Prototype Core) and Amy Hoy (UI Expert) on 9/12 in Washington, DC. Save 10% with code “rubyinside”!

“Why The Lucky Stiff” Is Missing


Long-time Rubyist and the community’s own resident crazy genius, whytheluckystiff (a.k.a. _why) seems to have gone missing. Not only has he deleted his Twitter account (@_why) but his Github repositories and all of his great Ruby related Web sites –,,, and are all down and not even resolving at DNS level.

The Poignant Guide, Hpricot, Markaby, RedCloth, Shoes, Camping, and Try Ruby (a Web version of irb) are considered important by Rubyists not only for their usefulness but for their significant contribution to Ruby’s culture, and if _why has truly fallen off the grid, it’s a big deal. That said, this appears to be either a deliberate attempt to disappear or a major hack and not just a bunch of coincidental outages. In either case, hopefully he’ll be back soon.

What’s the motive? We have nothing definite, but Hacker News user fizx quoted a recent tweet from why before he deleted his account:

programming is rather thankless. u see your works become replaced by superior ones in a year. unable to run at all in a few more.

Meanwhile, Twitter users are going bonkers over the news:

Do you know anything or do you just want to show some appreciation to why (he used to read Ruby Inside so he might see this)? Leave a comment! Lastly, if you’re reading _why, I hope everything’s okay and if you want to release any sort of statement through us, just get in touch.

Agile Coaching, Project Portfolios, 7 Languages

Agile Coaching now in print, Manage Your Project Portfolio now in print, help us pick which Seven Languages to learn.

Upcoming Late 2009 Ruby and Rails Events (With Tickets Ready To Buy)

Here’s a list of some prominent forthcoming Ruby and Rails events scheduled through to the end of the year. Only events with tickets ready to buy right now are included – events which have already sold out are not included.


Lone Star Ruby Conference 2009 (Austin, Texas; August 27-29, 2009)

The third annual Lone Star Ruby Conference (LSRC) is heating up and right around the corner, running for three days, August 27-29 in Austin, TX. LSRC 2009 offers a full day of advanced training on Thursday in addition to the two days of Ruby-packed, dual-track speaking sessions on Friday and Saturday. And, back again for an encore performance, is the author of Ruby, Yukihiro Matsumoto

Registration is $350 for the conference (meals includes) and an additional $300 for the advanced training. A full outline of available training sessions and presentations is available.

RubyRX (Washington DC; September 10-11, 2009)

RubyRX is a professional Ruby conference covering what you’d expect at a professional Ruby conference, namely: Ruby development, Rails, JRuby, Ruby tools, frameworks, testing, best practices, and so forth. You get a two-fer with this conference as the AgileRX conference is taking place at the same time at the same place!


WindyCityRails (Chicago, Illinois; September 12)

WindyCityRails is a one-day conference taking place in Chicago (home of better pizza than New York, 37signals and, of course, Rails creator, David Heinemeier Hansson) in September. You get seven sessions and two tutorials for your money with Ryan Singer (37signals), Noel Rappin, Ben Scofield, John McCaffrey, Dean Wampler, Yehuda Katz, and David Elsinger to keep you entertained.


RubyFoo (London; October 2-3, 2009)

RubyFoo is a Ruby conference taking place in London in October, 2009. It’s being put on by Trifork, the company behind the successful JAOO developer conferences. RubyFoo is a sort of follow up to the RubyFools conference they put on in Copenhagen, Denmark last year. Speakers lined up so far include Sam Aaron, Ola Bini (JRuby), Aslak Hellesoy, and Matz.


Aloha On Rails (Hawaii; October 4-6, 2009)

Aloha on Rails is a brave new entry to the Rails conference circuit, taking place in Hawaii in early October. If you’ve always wanted to try and get a Hawaii vacation on the company dime, this is the time to build up your powers of persuasion. The conference bills itself as “the premier destination event for Ruby on Rails and Web development” and promises three unique days (2 for conference, 1 for tutorials) of Ruby and Rails related fun.
The speaker list for Aloha is pretty significant. Names include Chad Fowler, Obie Fernandez, Gregg Pollack, Desi McAdam, Charles Nutter, Yehuda Katz, Sarah Mei, Tammer Saleh, Chad Pytel, Blake Mizerany, Pat Maddox, and Ezra Zygmuntowicz.. and that’s only the start of it – see all of them.


Rails Summit Latin America 2009 (São Paulo, Brazil; October 13-14, 2009)

Rails Summit Latin America comes back for a second run in 2009 – taking place between October 13-14 in sunny São Paulo, Brazil. Last year’s event attracted 550 attendees, so for a regional Ruby/Rails conference it did amazingly. This year it costs 400 Brazilian Real to attend (about $200).

Speakers lined up to speak so far include Bryan Liles, Carlos Brando, Chad Fowler, Gregg Pollack, Ilya Grigorik, Jason Seifer, Matt Aimonetti, Obie Fernandez, Pratik Naik, Rich Kilmer, and several prominent South American Rubyists. It’s a bit of an all-star affair!


Rails Camps (Margate, UK and Melbourne, Australia; October / November 2009)

Rails Camps is a series of Rails related get-togethers, run in a lo-fi style in, usually, Australia and the United Kingdom. Two Rails Camps are on the calendar for late 2009. The first in Margate, UK (an interesting seaside resort, to say the least) on October 16-19 and the second in Melbourne, Australia on November 20-23. Previous reports show that these events seem to go down really well, especially if you want to get away from it all for a few days and hang out with fellow geeks – so check it out.

Ruby Cocoa in print; PragPub Magazine #2 for August

Programming Cocoa with Ruby is now in print and shipping, the August issue of PragPub now available in PDF, mobi, and epub.

Interesting Ruby Tidbits That Don’t Need Separate Posts #27

Yep, it’s the latest installment of the series of posts crammed with random Ruby links, articles, and resources:


Phuby – A PHP Runtime from within Ruby

Aaron Patterson (a.k.a. tenderlove), creator of Nokogiri, has recently been working on Phuby – a library that “wraps PHP in a loving embrace.” In short, Phuby exposes a PHP runtime in Ruby so you can eval stuff in PHP from Ruby, etc.


Hash Mapper – A “Hash to Hash” Converter

The guys over at New Bamboo (a UK Rails shop – looking for a new team member, by the way..) have recently unveiled Hash Mapper, a “hash to hash” converter. They describe it as a module that “gives you a little DSL to map which keys in an input hash should map to which keys” in an output hash. Their own use case was for “translating” a messed up response from a JSON API into something more sanitized.

Sunspot – Solr-Powered Search for Ruby Objects

Sunspot describes itself well without me messing it up, so… “All the power of the Solr search engine; all the beauty of Ruby. Sunspot exposes all of Solr’s most powerful search features using an API of elegant DSLs. That means robust, flexible fulltext search with no boolean queries and no string programming.” Sunspot’s homepage has a couple of code snippets demonstrating the overall idea. If you’re not familiar with Solr, it’s a stand alone search server built upon Lucene (Ferret being a Ruby port of Lucene – so Ferret == library, Solr == stand alone server).


Mutter – A “Tiny” Ruby Command Line Interface Library

Mutter is a “tiny command-line interface library” with, supposedly, lots of style. So far it’s primary function seems to be to simply produce command line output with various styles (bold, underline, blinking) and ANSI colors – no groovy input stuff or curses type interface doodads. But for what it is, it’s cute.

RubyConf 2009 Call For Proposals

RubyConf 2009 is taking place in San Francisco in November and the call for speaking proposals is now out. You might want to be quick though; you have only until August 21 to get your proposal in.

ODF-Report: Generate Open Document files with a template + data

ODF-Report is a new Ruby library for generating .odt files (OpenDocument text files – should be familiar to OpenOffice users) by substituting strings in a previously created template .odt file. The idea is that with this functionality you can use ODF-Report to automatically produce reports in an OpenDocument format.

bbox.pngSupport from: Brightbox; – Europe’s leading provider of Ruby on Rails hosting. Now with Phusion Passenger support, each Brightbox server comes with access to a managed MySQL cluster and redundant SAN storage. Brightbox also provides managed services for large scale applications and dedicated clusters.

Metaprogramming Ruby in beta

Metaprogramming Ruby now available in beta.

Programming Scala, Security on Rails, more

Programming Scala now shipping; Security on Rails now available in Beta; new screencast covering Map Kit on the iPhone 3.0.

PragPub: The First Iteration

Welcome to the first issue of first issue of PragPub, our newest monthly excuse to hang out at the virtual water cooler with you. Hosted by Michael Swaine.