
(Photo credit: Kieran Huggins)
RubyFringe - described as a "pricey, limited-attendance smoozefest" by Ruby documentation co-ordinator James Britt or as "an avant-garde conference for developers that are excited about emerging technologies outside of the Ruby on Rails monoculture" by the organizers - went ahead last week and appears to have been a significant hit. A small conference with a reasonably high ticket price (though far less than RailsConf Europe!), RubyFringe was set to be a very unique sort of conference with parties, drinks and out-of-hours entertainment laid on, and a limited number of tickets made available to ensure a more intimate gathering. The gamble appears to have paid off.
Praise
I'm not quite sure exactly what went down (I had to pull out of attending) but all references I've seen have been almost over-the-top with excitement and praise:
Soleone says: "Rubyfringe was amazing! So many good talks and great people. Best talk: Giles' presentation on computer generated music. Laughed my ass off!"
Rob Sanheim says: "rubyfringe was a blast, and now i can't sleep."
Lennon Day-Reynolds says: "RubyFringe after-party unsurprisingly turned out to be awesome."
Josh Merchant described it as "an amazing - inspirational - creative- experience."
Heck, there are far too many positive mentions to read on Twitter.
Mark McGranaghan of TechCrunch wrote directly to Ruby Inside:
RubyFringe was a huge win. Unspace set out to raise the bar for software conferences, and I think that they succeeded. I hope that RubyFringe does for web conferences what Rails did for web development; show others that there is a better way, that it does not require corporate sponsorship, and that it can fun, artistic, and productive all at the same time.
Content
There are over 1000 photos from the event on Flickr.
Joey deVilla has put together some handy notes for most of the presentations.
Rowan Hick has put together a list of his RubyFringe highlights.
InfoQ attended the event and, I am told, will be putting up videos of several presentations on their site soon. Until then, the content of the talks is summarized here.
The next RubyFringe?
With such success, it's inevitable another RubyFringe conference will take place within the next year. If you're interested, Pete Forde suggests joining the Google group, and keeping an eye on RubyFringe.com for more info (although it'll be here at Ruby Inside too). It remains to be seen if the success of RubyFringe will encourage "avant garde" conferences elsewhere in the world or for non Ruby communities generally, but Ruby Inside wants to hear about them if so.

(Remix of an original CC 2.0 licensed work by Joichi Ito.)
From the Ruby Inside job board (costs $99 for a 60 day listing - and you get featured on Ruby Inside like this) come a few new opportunities:
Senior Java Developer with Ruby (Vonage, New Jersey) - Vonage, the well known VoIP company, are looking for a software developer with both Java and Ruby experience. They offer a fun, casual and relaxed environment, a $100/month food credit, dry cleaning and laundry service, medical, dental and vision plans, as well as stock options. In return, you should have both strong knowledge and experience of both Java and Ruby. I suspect not a lot of people will meet the requirements for this job, but it could be extremely rewarding for someone who does!
Incredible Systems/Network Administrator Required! (San Francisco, CA) - Rapleaf, a fast growing SF-based startup in the personal information / privacy space, are looking for a systems and network administrator to manage their Linux (CentOS based, primarily) servers, backup systems, and other network requirements. You will need to be a hot-shot at systems administration and be ready to learn (or already know how) to scale Rails applications (and yes, Rails can scale!)
Atlanta-based Experience Ruby on Rails Developer / Designer (Buford, GA) - A small start-up in Atlanta is looking for an experienced software developer to help develop the next generation of their software. They seek a senior level developer with strong Ruby and Rails skills.
Rails and JavaScript Developer (Pyromedia Studios, California) - Pyromedia Studios are looking for a Ruby on Rails developer with JavaScript experience, preferably with experience with social networking and general Web design. Initially it'd start as a 4 - 6 month contract but could turn into full-time employment, if desired. It seems as if off-site might be okay, but contact them for details.
If you or your company have openings for Ruby and/or Rails developers, consider checking out the Ruby Inside job board. Your job not only gets featured in the sidebar of every Ruby Inside page, but also summarized in posts like this. You could even leave a comment on this post if you want.
Note: There are even more jobs over at RubyNow's jobs section and on the 37signals Job Board.
Here’s the regular update of the most interesting stories posted on RubyFlow (a community-driven Ruby news sister site to Ruby Inside) in the past couple of weeks:
Markdown - 59 times faster: Ryan Tomayko wants to “move past BlueCloth.” The result is two significantly faster Markdown libraries for Rubyists.
Cry: Cry is a Ruby library that provides a nice object oriented way to create, transfer, and manipulate frozen parse trees.
New Ruby Social Network: Acts As Community is a new social network for Rubyists.
Building an MP3 Player with Ruby and Shoes: Satoshi Asakawa has put together a cute tutorial demonstrating how to create a GUI-based MP3 player using Ruby and _why’s Shoes library.
Capistrano 2.4.0: Deployment tool Capistrano has hit version 2.4.0. Lots of new features and tweaks.
“Run Ruby Script” Action for OS X’s Automator: Jason Foreman has put together a custom action for OS X’s Automator tool that makes it easy to run Ruby code from an Automator workflow.
Lazy evaluation for Ruby methods: Lazyeval is an interesting library that makes it possible for methods to only be executed on objects when they’re actually needed (ideal if you’re doing caching on Rails views but still need logic in the controller).
Guide to using Sphinx: Pat Allan has written a great article on installing and using Sphinx, the search library.
Bashfully Yours, Gem Shortcuts: A little Bash script that lets you gain quick access to the RDocs for your installed gems.
Phusion Passenger 2.0 RC 1 and Ruby Enterprise Edition Released: The guys at Phusion have unveiled a release candidate of Passenger 2.0 (now supporting Rack) as well as Ruby Enterprise Edition.
Sequel 2.0: A significant update to the Sequel database access abstraction library has been released.

Passenger (often known as “mod_rails“) is an Apache module developed by Phusion, a small Dutch IT consultancy, that makes it easy to deploy Rails applications on Apache-based stacks. Passenger follows on well from the popular “No True mod_ruby Is Damaging Ruby’s Viability on the Web” discussion of January 2008 in that it mostly solves the Rails deployment issue (see SwitchPipe for an alternative that can deal with non-Rails frameworks).
Since its launch in April, Passenger has become quite popular and a lot of developers are already using it to rapidly deploy Rails sites. Even popular budget Web hosting company Dreamhost has got in on the action, and is offering cheap, Passenger-based Rails application hosting. The de-facto Ruby (and Rails) deployment system seems to change rapidly (remember Apache+FastCGI, then lighttpd+FastCGI, then Apache+Mongrel, then Nginx+Mongrel…?) and while Passenger may or may not be a de-facto standard in a few years’ time, it’s certainly becoming the standard for now, so jump on board!
To help with your leap on to the Passenger bandwagon, I’ve collected together some of the better resources and blog posts of recent weeks covering its use:
General
Official Passenger / mod_rails Site - The official site for the Apache module. Features testimonials, installation instructions, documentation, and information on how you can further support the project.
Passenger / mod_rails Source Repository - Passenger / mod_rails is an open-source project at heart, and the code is available on Github.
Passenger Users Guide - A very Apache-documentation-esque guide to using, configuring, and trouble shooting Passenger.
Installation
Ask Your Doctor About mod_rails - Geoffrey Grosenbach (of Peepcode fame) writes about Passenger from a user’s point of view. He walks through rolling out Passenger on his own server in a bunch of easy steps. He also covers log rotation.
Using Passenger on OS X for Rails development - Manfred Stienstra quickly walks through what’s involved in setting up Passenger on Mac OS X.
Configurating [sic] Passenger (mod_rails) on SliceHost with Ubuntu 7.10 - Ben Hughes covers the roll-out of Passenger, SQLite 3 and Rails on a SliceHost VM.
Ubuntu 8.04 Rails Server Using Passenger - Ron Valente covers the installation of Passenger on Ubuntu 8.04 (a.k.a. Hardy Heron). This is a very well put together guide, cut into nice bite size pieces with well formatted code examples.
Passenger Installation in Portuguese - Fabio Akita presents a Passenger installation guide in Portuguese.
Discussion & Benchmarks
Tools and Tips
Disclaimer: I don’t use and haven’t tried mod_rails yet, so any corrections to above comments are welcomed and encouraged.
This post is sponsored by KickStart Events — RubyOnRails Training at the EMCC (East Midlands Conference Centre), UK. High-quality hands-on workshops and courses for web application developers. Taught by experienced mentors using live coding sessions, slides and participatory discussion.
By all measures, the launch of RubyFlow, a new community-driven Ruby (and Rails) news site has been a success! We’ve had about 20,000 pageviews in the first week, and people whose sites have been getting linked on there have been reporting nice levels of traffic coming to their articles. We also have 1,500 subscribers to the main RSS feed, so there’s a great audience for your posts.
Makoto Kuwata (of Erubis fame) has started a Japanese version of RubyFlow based on translations of the regular RubyFlow posts. Japanese Rubyists will find this useful on its own, but for RubyFlow posters it provides a way to have more exposure in the Japanese Ruby community.
One of RubyFlow’s jobs is to act as a way for me to get leads for Ruby Inside stories and links, so if you have a particularly good Ruby library, blog post, article, tutorial, or other resource to announce, get it on RubyFlow, and it might make it to Ruby Inside too! Other than that, I plan to do regular roundups of the “best of RubyFlow” of which this is the first (this will probably replace the “Interesting Ruby Tidbits” series). So, without further ado:
FaceBook App In 8 Lines — Frankie which helps you create a “hello, world” Facebook application with just 8 lines of Ruby is now available. This blog post gives a good rundown of how it works.
Rice - C++ + Ruby — If you are writing binding C++ libraries to Ruby - check out Rice. It makes accessing C++ libraries from Ruby dead simple through clever use of C++ templating. It is similar to Boost.Python and provides an object-oriented interface to most of the Ruby C API.
Walkthrough of Ruby Reports — Gregory Brown and Michael Milner have written a great article / walkthrough of Ruport, the Ruby report generation library, for O’Reilly. It seems a pretty solid introduction for those not quite ready to buy the Ruport book.
Twitter Library — Twitter (Ruby library) is a Ruby library and command line client for the Twitter status / micromessaging social network. It’s not the first Ruby Twitter library but it certainly looks clean and well written.
19 Ruby Template Engines — Vidar Hokstad presents mini reviews of 19 different Ruby-based templating engines. This is a surprisingly good round up.
Live Validation for Rails — Live validation plugin for rails makes validating forms client-side a no-brainer.
Ruby + the Google Data API — Using Ruby with the Google Data APIs Published in April 2008. Could this be a good sign that App Engine will support Ruby?
![]()
Following on from this weeks’ launch of Github, it’s worth rounding up some of the best Ruby-related Git content out there.
For those who still aren’t familiar with what it is, Git is a distributed source code management / revision control system. It’s vaguely similar to Subversion, CVS, Mercurial, or Bazaar in terms of managing source code, but with significant differences to all of these in varying areas. If you use any of these systems, however, Git will be of interest to you.
Git Tutorials and Introductions
The Git Screencast - A tutorial type screencast and technical walkthrough by Geoffrey Grosenbach. Well worth the $9.
Git vs Subversion - Are you a diehard Subversion user wondering what the hoopla’s all about? Find out how Git compares to Subversion.

Git Cheat Sheet - A rather well designed and comprehensive “cheat sheet” that most Git users will find useful.
Linus Torvalds on Git - The famous / seminal video given by Linus Torvalds, the initial creator of Git, that introduced many of us to the tool.
Git: A Talk by Randal Schwartz - An hour long Google TechTalk on Git given by Randal Schwartz (a prominent Perl developer). I’ve seen a few people suggesting that this talk is better than Linus’, although I haven’t watched it all myself yet.
Git and Ruby
Git on RubyForge - Do you publish libraries on RubyForge? If so, you might be aware they support both CVS and SVN for source code management.. but Dr Nic fills us in that they now support Git too! Dr Nic continues to explain how to set it all up to work.
GitNub - A “pretty Git repository browser” for OS X. It’s not particularly powerful yet, but has proven a great demonstration of how Git and Github are driving people to work together. It’s also a cute example of a RubyCocoa application, forgetting the Git side of things!
Ruby-Github - A Ruby library that provides access to Github’s API.
Ruby/Git - A Ruby library that interacts with Git repositories generally.
Rails moves from SVN to Git - David Heinemeier Hansson’s announcement of the movement of the Rails source code from a public SVN repository to Github.
InfoQ’s Ruby and Git Roundup - InfoQ have their own Git and Ruby roundup, like this post. It’s pretty good but, as acknowledged in the Github post, I only noticed it after starting this post.. so, you get two roundups for the price of one!
Setting up CruiseControl.rb with Git - Chris Bailey demonstrates how to use Git along with CruiseControl.rb, the continuous integration tool.
Rake task to move from SVN to Git - Technoweenie presents an interesting Rake task that can export code from SVN and bring it into a new Git repository in one hit.
General Git Resources
Git Magic - A ridiculously indepth list of Git related resources and tips.
Cleaning Migrate Your Subversion Repository to a Git Repository - A handy guide to moving an SVN repository over to Git. Short and sweet!
Show your Git branch name on your command line - This is incredibly useful. A short shell script that shows your current Git branch within your command prompt (if you’re within a Git repository, of course).
Git HOWTO Index - Links to a handful of interesting posts from the Git mailing list. Mostly focused on more advanced topics.
A Three Finger Salute to Git - Rubyist Geoffrey Grosenbach (of Peepcode fame) comes up with a clever technique to use the new MacBook Pro / MacBook Air “multi touch” functionality to make pulling and pushing to a Git repository a “three finger” operation! A little wacky, but very clever.
Github-Campfire - A Sinatra app that pushes your Github commit info to a Campfire chat room.
Git Hosting
GitHub isn’t the only Git repository hosting option out there. There are two other significant ones:
repo.or.cz - The grandaddy of Git repository hosts. Free, public, and the first centralized Git host. It’s nearly entirely used by open source projects.
Gitorious - An older, Githubesque Git repository host which, sadly, didn’t quite get the attention it should have. Still used by quite a few projects though, and is free to use.
RubyAMP: Amazing Ruby Bundle for TextMate
RubyAMP is a TextMate bundle that goes above and beyond the typical TextMate bundle in usefulness. It adds auto-complete from all open tabs, easy jumping to methods and classes, improved RSpect debugging support, breakpoint support (set and remove from TextMate), Merb / Rails server or console launching, development log tailing, and a lot more. There’s a screencast on the project page itself so you can get a direct look at how it all works within a minute or two.
Bicycle Location Visualization with Ruby and RMagick

Paris has a shared bicycle scheme for those who want to get around downtown called Velib. Ardent Velib fan Thibaut Barrère decided he wanted a better way to see the availability of bikes, and put together a Ruby app that could scrape the raw data and put together a visualization for him. This is a well written article covering how he did it from start to finish.
Engine Yard Invites Ruby Developers To “Hackfests”
When a press release is so concise and well written (a VERY rare event), it seems a shame not to quote it verbatim:
Engine Yard, provider of the leading Ruby and Rails deployment platform, today announced a series of Hackfests, informal community events open to Ruby developers, where sharing, learning, and hacking rule. The inaugural Hackfest was a resounding success with participation from over 100 top Ruby and Rails developers. Two more Engine Yard Hackfests are planned for the coming months.
The first event was held this past weekend alongside MountainWest RubyConf 2008 in Salt Lake City, Ut., where Engine Yard’s Ezra Zygmuntowicz and Evan Phoenix shared the opening keynote. After the conference, folks generally look to talk tech, shoot the breeze, and hack. They split off into small groups, grab dinner, and eventually end up in various hotel rooms, awake into the wee hours.
The Engine Yard Hackfest aimed to draw these small groups together, and facilitate a mid-sized, casual, expert meeting of the minds. As an alterative to having Rubyists chat in the brief windows between conference sessions, the Hackfest offered an open-all-night comfortable workspace, with free wi-fi, dinner and snacks, and expert community leaders for company.
Rubyists are invited to participate in Engine Yard’s upcoming Hackfests, which will be held alongside GoRuCo in New York (April 26) and RubyFringe in Toronto (July 18-20).
I hear that the similar “Ruby Cave” events at the recent Ruby Fools conferences went down well, so this is a great development for those going to GoRuCo and RubyFringe.
ServiceReg - A RESTful API for RESTful APIs
ServiceReg is a new service by Chris Matthieu (of Wuby fame) that acts as an API to other RESTful APIs. Confused? Perhaps this example URL will give you an idea:
http://servicereg.com/verb/{user:password@}domain/noun{/id?params}
Still don’t get it? Thankfully Chris has put together a screencast to bring us all up to speed. ServiceReg appears to be useful for accessing third party RESTful APIs entirely through a well crafted URL to ServiceReg (without the need to send XML payloads, etc.)
Ruby’s Not Ready! (Or: Why Python Rules and Ruby Sucks)
A Python developer takes Ruby, rips it apart, and explains in 6000+ words why Ruby sucks compared to Python. It’s a ballsy essay, and if it were a lot shorter and not as well written, I’d be calling it Troll Of The Month. As it is, I think he’s missing the point a lot of the time (he tends to think Python’s better because he likes its conventions more than Ruby’s - not a compelling argument), but it’s an interesting read none the less. Anything that keeps our minds open to the fact that Ruby != perfection is worth a look.
Ruby 1.9 Coming To Symbian OS
David Wood talks about the development of a port of Ruby 1.9 for Symbian OS (as used in many portable devices). The port includes TCP/IP and filesystem access, although GUI-level features are expected to be implemented by third party developers if the interest is there. An initial release is scheduled for April 2008. (Thanks to Jose Marinez for the lead.)
Rubyizumi - Open Source Ruby-Powered RMTP Server
The official site says it best: “RubyIZUMI is an open source RTMP Server for Flash Video/Audio Streaming. It is written in (Pure) Ruby and it supports to broadcast MP4(H.264 + AAC).”
Ruby Inside in Indonesian!
The Indonesian version of the official Ruby homepage is now live, and features translations of Ruby Inside posts! If anyone else is interested in doing the same for their own language, feel free. Good work guys.
Ruby-Processing Continues to Evolve

Just a month ago I posted “Using the Processing Graphics System for Ruby” and I’ve had news that thanks to the interest produced by that post, the Ruby-Processing project is progressing by leaps and bounds. Jeremy Ashkenas writes:
The cross-platform issues were hammered out in short order, support for native libraries was added (so now you can use Ruby to write OpenGL visualizations), fullscreen support has been added, and now, today, there’s a new script to export your sketch to an applet. So you can now check out Ruby-Processing sketches in your browser without having to download a thing.
Exhibit A: The WishyWorm demo. Click to toggle translucent backgrounds.
Exhibit B: The Contextual Tree. This one shows off Ruby metaprogramming — it uses a context-free drawing DSL that I’ve been working on. (Which isn’t quite ready for prime time, and so will bork out on you now and again.) Click to generate new trees.
Exhibits C, D, and E: I’ve also exported the other three demos from the Ruby-Processing download.
This is great news for those who want to play with Ruby, generate graphics, and share the results on the Web.
Sun and University of Tokyo Developing Multiple Virtual Machine Environment for Ruby and JRuby
Sun and the University of Tokyo have announced that they’re going to work on developing a “multiple virtual machine environment” for both Ruby and JRuby, enabling multiple programs to run at the same time within the same process. The press release is a month old but skipped my attention as I haven’t found any significant mentions of it anywhere else. Verbatim:
A group led by Professor Ikuo Takeuchi at the Graduate School of Information Science and Technology, the University of Tokyo will collaborate with Sun’s Tim Bray (Director of Web Technologies) and the members of the JRuby team to implement a multiple virtual machine (MVM) environment on both Ruby and JRuby. The MVM environment is expected to make Ruby programs run more efficiently than was previously possible. The results of the research are scheduled to be open sourced via the broader community of Ruby developers, which could inspire further innovations.
Previously, running more than one application simultaneously on Ruby required multiple interpreters, leading to excessive memory consumption. The proposed MVM environment could generate multiple VM instances on a single interpreter, allowing applications to run more efficiently. The collaborative research aims to clarify such technical issues as the definition of common interfaces for using MVM, parallelization of VM instances and memory sharing, and then to implement technologies that can be used on Ruby and JRuby. While Ruby has already been widely in use in commercial and other environments, the research on MVM will further enhance the performance and utility of Ruby.
The collaborative research is scheduled to continue until the end of September 2009. For the first year, Sun will contribute funding to the research. In addition to the principal researchers from Sun’s JRuby team and Professor Takeuchi’s group, various other researchers and programmers will be invited to join in this research.
I suspect Rubinius will be a production-ready option by September 2009, but it’ll be interesting to see what Sun and the University of Tokyo come up with.
REST Client - Simple DSL / Ruby Library for Accessing REST Resources

Adam Wiggins of Heroku has made available rest-client, a new library that makes it ridiculously easy to interact with RESTful resources and APIs (over HTTP, naturally.)
Racket - Raw Packet Manipulation with Ruby
Racket is a new Ruby library that “crafts and analyzes” raw network packets. It’s all pretty low level stuff, but a collection of straight forward examples are provided to get you started.
RubyDoes.Net - A Blog for IronRuby Fans
RubyDoes.Net is, effectively, like a Ruby Inside but for the .Net / Microsoft side of things. It focuses on IronRuby, Microsoft’s .Net implementation of Ruby. IronRuby doesn’t get a significant amount of press here on Ruby Inside, so for those with an interest in the Windows platform, RubyDoes.Net is a great blog to check out.
RSpecced Haml Scaffolding for Rails
Daniel Fischer writes in with news about the availability of Haml scaffolding for Rails. I’m not a Haml user myself, but it seems this adds a generator to Rails that makes it easy to generate RSpec-backed Haml-templated scaffolds for your Rails models. If so, and if you’re a Haml fan, go get it!
Ruby In Steel Developments - Debugger Improvements and Full JRuby Support Coming Soon

Huw Collingbourne, the brains behind Visual Studio-based Ruby IDE Ruby In Steel, has written in with news of more developments. I swear the guy doesn’t eat or sleep with the amount of work he’s doing! First up, there have been some significant improvements to the Cylon Ruby debugger that enable you to change the values of variables in the middle of a debugging session, break on exceptions, break on a certain number of times a particular line of code has been run, conditional breakpoints, and more. Secondly, full JRuby support, including high speed Cylon-based debugging, is coming in the next major revision of Ruby In Steel. The quality of Huw’s work and his seemingly never-ending stream of releases and upgrades is inspiring.
InLine - 100% Ruby Solution for Inline Editing at the Console
Fabio Cevasco has put together InLine, a clever bit of Ruby code that makes it possible to create a console-based inline editing environment with pure Ruby. It seems a little bit like a hack, but it’s a very clever bit of coding and bound to be of interest to those developing console-based applications.
Ruby In Steel Releases Alpha of IDE for “IronRuby”

Huw Collingbourne writes in to tell us that Sapphire Steel, the company behind Ruby In Steel, has released the first alpha version of a Ruby In Steel IDE for Microsoft’s IronRuby .NET Ruby implementation. A particularly interesting development is that a visual form designer is included that enables you to drag and drop controls onto forms, as if you were designing a, say, Visual Basic app. Being able to develop Windows applications visually seems quite an appealing prospect.
MacRuby: Ruby Running On Top of Objective-C
Most Mac-based Ruby developers are already familiar with RubyCocoa, a bridge that enables regular Ruby apps to talk to OS X’s various frameworks. MacRuby, however, takes a rather different approach and is a port of Ruby 1.9 that runs directly on the Objective-C runtime and garbage collector. It’s still in its early stages, but for anyone interested in Ruby implementations, this is worth a look.
Try: Stop Using “@person ? @person.name : nil” And Start Using “@person.try(:name)”
try() is a ridiculously simple, but incredibly useful, bit of sugar Chris Wanstrath has come up with for making it easy to “try” and call methods on objects, but without Ruby getting upset if that method doesn’t exist.
ProcessorPool: Easily Farm Work to Amazon EC2 Instances
And the Rubyist infatuation with Amazon’s EC2 service continues! Ari Lerner and Ron Evans have developed ProcessorPool, a new Ruby library that provides a simple load-balancing solution for Amazon’s EC2 and S3 backend. It allows you to “effortlessly farm work to an EC2 instance.” The best source of information is Ari’s own blog post where some demonstration code is shown.
Heroku Gits an API
Heroku, the much heralded Ruby on Rails online development and deployment platform, has launched an API along with external Git access. The combination of these new features mean that you can work on your Rails applications on your local machine and deploy them on Heroku with just a few simple steps. All you need to do is install the Heroku gem, then use the “heroku” command line app to create an application before finally pushing it back to the Heroku servers with git. Miraculously, pushing your code back to Heroku automatically runs the migrations and restarts the processors on the server. One step deployment!
JRuby 1.1 Release Candidate 2 Released
The latest release candidate of JRuby 1.1 has been released. 260 issues have been fixed since RC1 and a number of memory and IO improvements have been made. JRuby developer Charles Nutter gives some interesting background to JRuby’s current state. Nutter explains that JRuby’s performance now regularly exceeds that of Ruby 1.8.6 and even Ruby 1.9 in places. Meanwhile, other developers have been doing benchmarks.
A Single File Rails Application
Pratik Naik has done the unthinkable and made… a single file Rails application. Clever stuff. He then created a tiny wrapper for this nugget of joy called tinyrails which makes things even easier.
Sending Ruby to the Jail: An Attempt at a Haml “Safe Mode”
Sven Fuchs has been working on a “safe mode” plugin for the Haml templating engine. This would allow regular users to supply Haml code for use on public Web sites, but without the risk of malicious code causing issues on the server. I picked some holes in Sven’s initial approach, and he went back to the drawing board. Essentially he’s trying to use Ryan Davis’ Ruby parsing libraries to make any Ruby code “safe” without relying on running code in an actual sandbox. I’m still not entirely convinced his latest approach is 100% safe but it managed to succeed with all of the initial “hacks” I could think of, so I’m happy to mention it.
Sven is hoping that by releasing his work so far to the public, someone will come up with a clever method for getting it to break. If Sven’s efforts succeed, of course, then his technique may be useful for non-Haml applications and allow us to “sandbox” Ruby code in yet another way.
Radiator: Your build statuses on a giant LED display

A bit of fun this one. “The Hammer” wrote in with news of Radiator, a handy Ruby-based service for blasting your build messages to a USB BetaBrite LED display.
Ruby MySpace Platform and YouTube APIs
Shane Vitarana has released two libraries. The first is a new one called Spacer and implements a Ruby API for the “MySpace Platform”’s REST API. The second is an update to an existing library, YouTube-G, an API for YouTube’s GData API.
ruby-prof 0.6.0 Released
Charlie Savage wants to get the word out about the latest release of ruby-prof, 0.6.0. ruby-prof is an amazing Ruby profiler that’s both faster and more detailed than the standard “profile” library that comes with Ruby. The biggest news is that 0.6.0 supports Ruby 1.9, and Charlie suggests that ruby-prof may even become an official part of Ruby in the future. Experimental support for memory profiling has also been added. This is a great update of one of the best Ruby tools. Charlie also wanted to stress that most of the work in this release was done by Shugo Maeda.
New Pragmatic Programmers Release: “Rails for PHP Developers” Book Now Shipping

The Pragmatic Programmers are now shipping “Rails for PHP Developers” by Derek DeVries and Mike Naberezny. The book takes the approach that its reader will be a proficient PHP coder, and demonstrates the ideal way to convert their thinking from PHP over to Rails / Ruby. I’m quite surprised a book like this hasn’t come out already. I haven’t read the book or had a preview at all, but the well-written blog backing the launch of the book gives me enough confidence to recommend it to PHP developers none-the-less.
Workling: Another alternative to BackgroundDRb, beanstalkd, Thruqueue, spawn…
Rany Keddo wrote in with news of a new asynchronous processing plugin called Workling. It’s based on Starling, the persistent queueing daemon released by Twitter recently. Rany posts an interesting quote from Evan Weaver which highlights various problems with the alternatives, such as BackgrounDRb, Spawn, Thruqueue and BackgroundFu. It’s still early days but Workling could be an interesting, and more stable, alternative to all the other systems currently in play in this area.
Ruby.NET is dead, cedes to IronRuby - the other “Ruby.NET”
A few days ago David Lake pointed out this post about the “demise” of Ruby.NET to me. Initially I wasn’t particularly interested, as I don’t understand the .NET space too well or its relevance to Ruby. Clearly a lot of people do get it, however, and there have been quite a lot of references to Ruby.NET’s demise in the blogosphere. Two references worth reading are On Ruby’s post and a post at RegDeveloper. The focus on a .NET-powered Ruby implementation therefore switches to Microsoft’s own IronRuby.

Merb is a Ruby Web framework that most Ruby and Rails developers are familiar with, even if they haven’t used it. Merb is a Model View Controller based framework, somewhat like Rails, but it’s significantly lighter, faster, and more customizable. Merb’s strength is that it has a lightweight core and relies on plugins, selected by the user, to provide most of the extended functionality.
This post is to summarize some of the more interesting Merb tutorials and references, so that newcomers to Merb, or those who want to refresh their knowledge, can get started quickly:
Official Stuff
Merb’s official homepage - The typical launching point for learning about what Merb is, and for accessing stable and trunk builds or learning how to contribute to the project.
Merb’s official API documentation - RDoc generated documentation, straight from Merb’s source code. The main page demonstrates how to install Merb, get a basic application started, and how the main concepts, such as models, views, and controllers, work.
Merb Features - The official list of Merb’s features.
Merb 0.5 Release Notes - The release notes for the latest (as of February 2008) release of Merb.
Merb’s source code repository trunk - A view of Merb’s official git repository at github.com. If you want the latest version of Merb, and live on the edge, get it from here.
Motivation / Rationale / Advocacy
Merb (and why you potentially should care) - A well written demonstration of why Merb matters and Merb’s key features.
Merb-tastic - A general overview of Merb from a non-official point of view. Unspace, a Canadian Ruby consulting firm, takes a look at what Merb is, how it can use different ORMs, and what their motivations for using Merb are.
Introductions / Tutorials / Installation
Merb + DataMapper + Noob: Quick Start - A great introductory tutorial for newcomers to Merb, demonstrating how to create a note taking / simple blog application from start to finish.
Merb Tutorial - Another tutorial that’s older, and partly out of date, but the supplied source code has been updated to the latest Merb standards (well 0.4.2, anyway).
Merborial: Getting Started with Merb and DataMapper - Chris Kaukis with the first installment of a very up to date Merb tutorial (February 2008). In this installment, he shows how to install Merb, DataMapper, and some other plugins, sets up an initial Merb application, creates a database, and provides a bunch of links to useful resources.
Merb & DataMapper: Getting Rolling - A quick introductory piece to installing Merb and DataMapper by Justin Pease.
Doing Stuff with Merb
A Quick Jaunt Through Merb’s Framework Code - A blog post by Ezra Zygmuntowicz that takes a look at how Merb processes and handles incoming requests.
Shoes Meets Merb: Driving A GUI App through Web Services - A six page, in-depth article by Gregory Brown and Brad Ediger that demonstrates how to use the Shoes GUI toolkit along with Merb, where Merb provides the data, and Shoes provides the interface.
Taking Merb to Production - Ben Reubenstein looks at how to use Capistrano and Nginx to deploy Merb applications.
Merbful Authentication - A look at a new (as of January 2008) plugin for Merb that provides an easy to use authentication system.
Merb Routing in 0.5 - A great look at how the URL routing system works in Merb 0.5 by Toolman Tim!
File Uploads Via Merb Inside A Rails Application - A three part tutorial showing how to use Merb alongside a Rails application to handle file uploads in an efficient manner. This is what Merb was originally created for.
Merb on AIR - Drag and Drop Multiple File Upload - A slightly old (June 2007) tutorial demonstrating how to use Merb alongside an Adobe AIR powered client to handle file uploads.
The Future and More!
The Road to Merb 1.0 - Robert Bazinet of InfoQ interviews Merb creator Ezra Zygmuntowicz about the future for Merb.
Merb.next - Yehuda Katz, a developer on the Merb team, looks at how things are progressing with Merb up to version 1.0.
A Mega List of Even More Merb Tutorials - For those readers who aren’t satisfied enough by the above list of Merb links, Merbcast.com has put together even more for you!
Ruby
reference
tutorials
compilation
posts
Miscellaneous
Elsewhere
Rubular - Online Ruby Regular Expression Editor

Rubular is a Web-based regular expression editor and tester for Ruby developers, and particularly well suited for those who don’t find regular expressions particularly easy. Very slick.
FXRuby Book Available

Harmon Vinson reports that a new book is available in beta form from the Pragmatic Programmers, namely “FXRuby: Create Lean and Mean GUIs with Ruby.” As you can expect, the book covers how to create GUI applications using Ruby and the cross-platform FOX widgets library using FXRuby. The only downside is that FOX, so far, has no native support for OS X’s default Aqua window manager, but will work through X11.
Ruport Book Available

The Ruport Book, “Your Guide to mastering Ruby Reports”, is now available to buy in both PDF and print form. The book covers the use of the popular Ruport Ruby Reports library and is by Gregory Brown and Michael Milner. If you’re already using the Ruport library, this is a must buy.
Encrypted Cookies for Rails 2
Aaron Bedra takes a look at how you can get Rails to encrypt the cookies that go between your application and its users.
Faster Rails Routing (6.4x Faster!) On The Way
Michael Klishin writes in with news that Oleg Andreev has come up with a smart way to radically increase the performance of Rails’ routing code.
Free Git Hosting
Johan Sørensen wanted everyone to know about his new open-source Gitorious project, which provides free Git repository hosting. As many Rails coders have switched from Subversion to Git recently, this deserves a mention on Ruby Inside. It is also worth giving Github, a similar site by Tom Preston-Werner and Chris Wanstrath, a mention although it is not accepting signups just yet.