| CARVIEW |
Ruby Jobs (Post one)
- Senior Ruby DevOps Engineer
Demandbase, Inc.
San Francisco, California - Ruby Developer
Wildfire Interactive
Palo Alto, California - Ruby on Rails Software Developer
OPNET Technologies, Inc.
Bethesda, Maryland - Social Media/Social Game developer
Sweety High
Manhattan Beach, California - Web Developer
Zamzee
Redwood City, California - Senior Software Engineer - Ruby/Java - CNC
LinkedIn
Mountain View, California - Senior Ruby on Rails Software Engineer
HealthCentral.com
Arlington, Virginia - Ruby on Rails Software Developer
Cint USA
Atlanta, Georgia
Ruby Events
- Code MashJan 12-14 2011Sandusky, Ohio
- Los Angeles Ruby ConferenceFeb 3- 5 2011San Pedro
- MagicRubyFeb 3- 4 2011Orlando
- MagicRubyFeb 4- 5 2011Orlando
- Code PaLOUsaMar 4- 5 2011Louisville
- Rails Camp NZMar 18-21 2011Wellington, New Zealand
Elsewhere
- Tail call optimization –Elise Huard
- Stupid Things I Have Done in Ruby and Rails –examville.com
- Advise for Ruby Beginner : ruby –Reddit
- The Changelog Archive 20101031 - News roundup –The Changelog
- Learn Ruby on Rails in 4 Days –examville.com
- Introducing Hijacker - spy on your ruby objects! –blog.txustice.me
- Rubular & RubyMine: makes Cucumber easier –watirmelon.com
- I want to read the real time play-by-play JSON feed from nfl.com. Any suggestions? : ruby –Reddit
- Don't Know Metaprogramming In Ruby –RubyLearning
- Ruby on Rails Regains Lost Performance –DevX
- Git Pusshuten –gitpusshuten.com
- Object Scopes in Rails 3.1 –engineering.attinteractive.com
By Peter Cooper / 22 Nov 2010
In The Ruby Stdlib is a Ghetto, Mike Perham argues that Ruby's "standard library" (all the libraries that come by default with Ruby installs) is old and crufty and suggests some parts that should be removed.
The Problem
In case you're unfamiliar with the term, the ever authoritative Urban Dictionary lists ghetto as, among other things:
an impoverished, neglected, or otherwise disadvantaged residential area of a city, usually troubled by a disproportionately large amount of crime
Anyone's who recently looked up documentation for stdlib-dwelling libraries has probably been a little frustrated. I see rants and raves from time to time on IRC and Twitter and I'm often surprised at how much isn't documented. Frequently, documentation advocates like James Britt will encourage people to start contributing documentation in an attempt to tidy up their own back yard, but the process is, IMHO, reasonably arcane compared to that of other open source projects.
A Solution?
Mike's suggests that we remove most of the substantial libraries, like Net::* (including the popular Net::HTTP), DRb, REXML, RSS, and even WEBrick, and to have them as separate, RubyGems-installable libraries.
I agree. Even forgetting the technical aspects, freeing these libraries from the clutches of the standard library and having defined maintainers (on, say, GitHub) could encourage more developers to engage with them, fork them, provide patches, and so forth, as we see with other popular Ruby libraries.
The sticking point? The "standard library" is called "standard" for good reason. You can install Ruby 1.8.7, 1.9.2, JRuby 1.5, or any mainstream implementation and expect to run require 'drb' successfully out of the box. Taking libraries out of the standard library would change this and, of course, require significant community agreement and discussion, not least from the Japanese Ruby high guard.
I applaud Mike for kicking off the discussion, though. In a year or two's time, we might get to look back at the discussion much as we can now look back at 2008's "No True 'mod_ruby' is Damaging Ruby's Viability On The Web" and breathe a sigh of relief.
By Peter Cooper / 19 Nov 2010
Rails for Zombies is an intriguing attempt to teach people how to use Ruby on Rails directly in the Web browser. It comes from Envy Labs (and specifically Gregg Pollack, once of RailsEnvy fame).
The goal of Rails for Zombies is to make the learning process immediately accessible and fun. You're guaranteed to learn quite a bit too as the in-browser development environment frequently tests you and makes you actually do stuff rather than merely read learning material.
As Gregg points out, what you learn through R4Z won't be quite enough for you to build your own version of Twitter (or even Twitter for zombies - arf arf) but it covers enough of the basics to put you in a better position to continue with more traditional learning techniques later.
[suggestion] You know I launched Ruby Weekly, a weekly Ruby e-mail newsletter? Well, last week I launched JavaScript Weekly for all of you JS-heads too! It's been going great and the next issue is out later today.
By Peter Cooper / 14 Nov 2010
AppSumo is an intriguing "bad ass developer bundle" that brings together $1543 of credit for ten different Web app development related resources (most are Ruby focused or have Ruby APIs) for a mere $47 purchase.
The services include:
- Twilio - an API driven telephony service (I use this — it's great)
- Heroku - the Ruby webapp hosting environment
- Hoptoad - the errors notification service
- New Relic - the performance monitoring and application management service
- As well as Recurly, SendGrid, MongoHQ, SauceLabs, Infochimps and Linode.
Sadly I'm already signed up with most of these services and most of the credits are for new or upgraded accounts only, but if you want to give any of the above services a try or want to build a new app that relies on them, this looks like a steal.
I also need to put a big fat disclaimer here in case you have problems with AppSumo: I'm not related to AppSumo, getting nothing from them (shame!) and am not responsible if it turns out to be flaky. That said, I've only seen good reports so far (there are lots of them on Twitter). Enjoy.
By Peter Cooper / 10 Nov 2010
If you've been following the Ruby scene for a while you'll have heard of Gregory Brown. He's the author of O'Reilly's Ruby Best Practices, creator of the Prawn PDF library, and the head honcho of the Ruby Mendicant University. He does a lot of community funded Ruby work and his latest attempt to help fund his work is Practicing Ruby, an e-mail newsletter and discussion group dedicated to helping intermediate Rubyists to sharpen their skills.
Each week, Gregory will choose a topic that he thinks trips up intermediate Ruby developers from time to time and dig deep into it by sending background information along with discussion points and questions for readers. A separate mailing list for discussion will be made available. The first topic Greg will be covering is Ruby's method lookup path.
So what's the catch? The subscription is $5 per month, the proceeds of which will enable Gregory to continue work on the Ruby Mendicant University. At least 109 people are confident of Gregory's abilities though - that's how many have signed up as of today. Good luck to Gregory and good luck to you too if you decide to sign up.
Oh, and don't forget Ruby Inside's own Ruby Weekly newsletter (free!), of course. Every Thursday, a single mail with a roundup of the week's top Ruby and Rails news :-)
[suggestion] Interested in learning how to create your own programming language or just how the process works? Check out Marc-André Cournoyer's Create Your Own Programming Language. Even Matz said it's "the book I want to read"!
By Peter Cooper / 10 Nov 2010
In Making CI easier to do than not to with Hudson CI and Vagrant, Dr Nic Williams (of EngineYard) presents a walkthrough of setting up a VM-based continuous integration system in order to reliably test your apps across multiple setups:
It irked me a little that I could develop on one stack (OS X, Rubinius, Sqlite3), run continuous integration (CI) on another stack (Ubuntu, Ruby 1.8.7, Postgresql), and deploy into another stack (Gentoo, Ruby 1.9.2, MySQL). I think what irks and worries me is that there are three sets of differences to be aware of. A bug in production? Was it a missing test scenario or one of the many differences between production and CI environments?[A solution is to] use a VM that matches the production environment. Each different production environment would mean another VM. If you are managing your own production environment, then all you need is the tools (described in this article) to recreate your production environment in a VM.
Dr Nic
It's typically good stuff from everyone's favorite doctor of Ruby.
By Peter Cooper / 10 Nov 2010
Heroku, a popular Ruby webapp hosting platform that's picked up $13m in funding, has today unveiled their new Facebook App package. The package is aimed squarely at people wanting to develop Facebook apps and brings together several of Heroku's main offerings in a single, discounted monthly package.
Facebook apps represent a sizable portion of the close to 100,000 apps currently being hosted on Heroku, so the company felt it was time to target them directly. The package offers a Ronin-level dedicated database, 20 worker/dyno processes, 1GB of Memcache, New Relic Gold, and $200 of "platform credit" to add other features (such as SSL or the Sendgrid e-mail system).
It's not cheap but the package takes $2000 of retail services and offers it up for $1500 per month. It seems like quite a jump for anyone currently running their Facebook apps on a few VPSes but I suspect there are many existing Heroku customers who will take the opportunity to get a stiff discount on their hosting, though the Facebook App package represents a fixed offer with fixed specifications for now.
In other news, Heroku has reported that their experimental Node.js support program went well and that they'll be rolling it out for everyone in 2011. Given the opportunities for Ruby and Node.js to work alongside each other, this could be a great step forward.
By Peter Cooper / 3 Nov 2010
A few days ago, Burke Libbey, a Winnipeg based Ruby and Rails developer, gave a presentation called Ruby's Object Model: Metaprogramming and Other Magic to the Winnipeg.rb Ruby user group. I though it was interesting enough to embed here.
Presentations about metaprogramming and how the Ruby object model works are hardly anything new, but Burke has approached it in a friendly, easy to understand (though terse - but that's why it's a presentation) fashion, despite including the relevant C from MRI on the slides. Topics covered include how classes and objects are represented and related to each other, how singleton classes work, how method lookups work, and.. "more magic."
Note: If your reader doesn't support embedded presentations, click here to see the presentation on Slideshare.
By Peter Cooper / 26 Oct 2010
Tom Preston-Werner has pushed out version 0.3.0 of Chronic, the popular natural language date and time parsing library for Ruby. It's a significant release because the last was 0.2.3 back in July 2007! Grab it now with gem install chronic
Despite the long time between releases, Chronic hasn't gone without attention. It's been sitting on GitHub and attracting patches for years, but Tom (who's already pretty busy, y'know, running GitHub) has now decided to bundle it up and push it live.
What does 0.3.0 get you?
- Improved time-zone support
- Handles "on" in phrases like "10am on Saturday"
- Now ignores commas (which could throw it off before)
- Supports "weekend" and "weekday"
- Allows numeric timezone offsets (e.g. -0500)
- Support for seasons
- "a", "p", "am", and "pm" parsing
- The typical bugfixes and low level improvements
Chronic is basically a Ruby institution by now (I first posted about it in September 2006!) so check it out. But if you're still itching for other ways to work with dates and times, check out 3 New Date and Time Libraries for Rubyists from May 2010. Tickle is particular interesting as it allows you to parse natural language requests for recurring events rather than single times.
By Peter Cooper / 22 Oct 2010
Treetop is one of the most underrated, yet powerful, Ruby libraries out there. If you want to write a parser, it kicks ass. The only problem is unless you're into reading up about and playing with parsers, it's not always obvious how to get going with them, or Treetop in particular. Luckily Aaron Gough, Toronto-based Ruby developer, comes to our rescue with some great blog posts.
Aaron, who has a passion for messing around with parsers and language implementations, recently released Koi - a pure Ruby implementation of a language parser, compiler, and virtual machine. If you're ready to dive in at the deep end, the code for Koi makes for good reading.
Starting more simply, though, is Aaron's latest blog post: A quick intro to writing a parser with Treetop. In the post, he covers building a "parsing expression grammar" (PEG) for a basic Lisp-like language from start to finish - from installing the gem, through to building up a desired set of results. It's a great walkthrough and unless you're already au fait with parsers, you'll pick something up.
If thinking of "grammars" and Treetop is enough to make your ears itch, though, check out Aaron's sister article: Writing an S-Expression parser in Ruby. On the surface, this sounds like the same thing as the other one, except that this is written in pure Ruby with no Treetop involvement. But while pure Ruby is always nice to see, it's a stark reminder of how much a library like Treetop offers us.
If you're interested in parsing merely as a road to creating your own programming language, though, check out Create Your Own Programming Language by Marc Andre Cournoyer. It's a good read and even inspired CoffeeScript!
[ad] Check out Rails Cloud Hosting from Joyent. You can get started from a mere 83 cents per day and you get free bandwidth and persistent local storage with a 100% SLA.
By Peter Cooper / 22 Oct 2010
Back in August, Microsoft seemed to get tired of IronRuby so its project leader Jimmy Schementi jumped ship while asking the Ruby community to step up and get involved in its future. Today, Microsoft has announced new leadership for IronRuby (and IronPython) and has effectively jettisoned it into the community as a true fully open source project.
So who's in charge of IronRuby now? Jimmy Schementi, naturally, and Miguel de Icaza, the founder of the Mono and Gnome projects and generally all round super famous open source dude.

Schementi has written about what the leadership changes and Microsoft's announcements mean in the greater scheme of IronRuby's development. In short, Microsoft is no longer directly funding the projects but isn't restricting contributions or keeping code hidden behind the scenes anymore either (e.g. the IronRuby tools for Visual Studio).
Want to give IronRuby a try or get the source code? Head over to IronRuby's official homepage at ironruby.net.
[announcement] Want a fistful of links to the week's top Ruby and Rails news landing in your inbox each Thursday? Ruby Inside's sister project Ruby Weekly is for you — check her out.
Copyright © 2006–2010 — Peter Cooper
Got a link or story I might like? Tweet me @peterc or e-mail rubyinside@peterc.org



17