Ruby on Rails has brought many people into the Ruby community over the last few years. Rails has been Ruby's 'gateway drug'. With such a quick adoption and larger enterprises taking up the Ruby torch, the strengths and shortcomings of both Ruby and Rails have come to light. The strength is in the inherent beauty of the Ruby language and the ease of development provided by Rails abstractions. The weakness is in the current implementations of Rails and Ruby, both have a reputation for being somewhat slow.
Rubinius and Merb aim to solve these issues. Rubinius is a new virtual machine implementation of the Ruby language. It is based on the Smalltalk model of a small core VM written in C and the rest of the language written in Ruby itself. Merb is a web application framework that takes some of the best ideas from Rails and re-implements them in a more efficient and less magic way, creating a small, fast core framework with opt in features rather than a full kitchen sink approach.
In this talk Evan and Ezra will discuss the future of these promising projects and what they will mean for the future of Ruby as a platform.
Jim Weirich - Shaving with Ockham
As developers, we deal with complexity every day. Our programs are millions of lines long, consisting of thousands of subroutines and hundreds of modules. And the smallest mistake in any one of these items can potentially bring a system to its knees.
Some problems are inherently complex. But that doesn't mean that our solutions must also be complex. Finding the simple in the midst of complexity is the key to building systems that can solve today's problems.
Giles Bowkett - Code Generation: The Safety Scissors Of Metaprogramming
In this talk, I'll demonstrate both how to unit-test metaprogramming with Ruby2Ruby, and how to automate EJB application development with Herrington's code generation techniques. Bring a nice Tupperware bowl to catch your brain in after it leaks out your ears.
Devlin Daley - Enough Statistics so that Zed won't yell at you
Patrick Farley - Ruby Internals
This session will begin with interesting metaprogramming examples from production Rails applications as well as some borrowed form popular open source projects. The talk will include extracts from MRI source code, discussion, and visualizations of- Method dispatch, Singleton classes, Metaclasses as a special case of the Singleton class, Mixins, Include classes, and Inheritance chain manipulation, Object, Module, and Class and their place in the Ruby object model.
Philippe Hanrigou - What To Do when Mongrel Stops Responding to Your Requests and Ruby Doesn't Want to Tell You About It
This talk introduces and demonstrates some key system diagnostic tools and techniques in the context of Ruby on Rails development. Some are already well-documented in the Addison-Wesley shortcut, Troubleshooting Ruby Processes, while others are new and lack sufficient documentation for many Rails developers.
Yehuda Katz - Faster, Better, ORM with DataMapper
The talk will discuss integrating DataMapper into Ruby web frameworks, and using DataMapper models in controllers or as resources in Rails or Merb. It will also discuss using ActiveRecord and DataMapper side-by-side, either in an integrated project or in the process of migrating an existing Rails app over to DataMapper.
Jan Lehnardt - Next Generation Data Storage with CouchDB
CouchDB is designed for highly concurrent, distributed and fault tolerant systems. The core principles for scaling database applications are the foundation of CouchDB's feature set. It supports on- and offline replication, data partitioning, a REST interface that uses JSON for data transport (Web 2.0 anyone?), a fault tolerant runtime environment built on Erlang/OTP and a sophisticated view engine for fast data access and reporting.
Jeremy McAnally - Deep Ruby
Most "introductory" tutorials are great at introducing people to Ruby's syntax and basics, but many times they fail to really expose developers to Ruby's unique features. They miss out on the "Deep Ruby" that's out there. Rather than an introductory tour, this talk is a walkthrough of "deeper" Rubytopics.
Joe O'Brien - Domain Specific Languages: Molding Ruby
Ever wondered what all the fuss is about when it comes to DSL's and Ruby? It seems to be all we hear about. This talk will peel away the onion and look at what it is about Ruby that makes it the perfect candidate for creating your own languages. I will show you, through examples, how you can create your own languages without the need for compilers and parsers. We will also cover some real world examples in areas of Banking and Medicine where DSL's have been applied.
Tammer Saleh - BDD with Shoulda
Learn how to use Shoulda to increase your test coverage and readability as we walk through developing an application using BDD methodologies. In addition, you'll learn good general testing techniques, including judicious use of mocking and stubbing. At the end of the presentation, you'll be given a thorough crash course on the advanced meta-programming techniques that went into the development of Shoulda and the various model and controller macros.
Jonathan Younger - Using Amazon's Web Services from Ruby
Amazon's suite of web services make it really simple to dynamically scale applications. Using these services allow developers to focus on the core of their applications rather than on how to scale them. My talk will show how simple it is to build a Ruby application that uses Amazon's EC2, SQS and S3 services to dynamically scale up and down based upon processing load.
About the conference
MountainWest RubyConf is brought to you by MountainWest Ruby, LLC. We are committed to promoting and supporting the Ruby community.
The conference is two full days this year, and costs just $100 which includes lunch both days, t-shirts, and a terrific opportunity to rub elbows with some of the smartest Rubyists around. We have a great list of presenters with compelling presentations.