RailsConf 2009 schedule

Monday 4th May 2009

  • Art of the Ruby Proxy for Scale, Performance, and Monitoring

    by Ilya Grigorik

    In this session we will first walk through the basics of event-driven architectures and high-performance network programming in Ruby using the EventMachine framework. Then we will examine three hands-on examples of how a simple proxy server, written in less than a hundred lines of code can become an indispensable tool for:

    • Performance A/B Testing: duplicating live traffic against multiple servers to compare speed, reliability and format of the response
    • Extending protocols: intercept packets and inject your own functionality into applications such as Memcache, Beanstalkd, and others
    • Traffic analysis: aggregate real-time visitor and performance analytics instead of repeatedly parsing the log files

    On Monday 4th May

    Coverage slide deck

  • Building a Mini-Google: High-Performance Computing in Ruby

    by Ilya Grigorik

    High-performance computing may not be Ruby’s strength on the surface, but there is a great number of gems and third party packages which are often overlooked when it comes to this topic. We will assume no prior knowledge of PageRank (Google’s ranking algorithm) and will walk through the basic theory and computational challenges behind it. Along the way, we will look at a hands on example of computing PageRank for a 1-million page web, and the tools behind it:

    • Ruby GSL – Working with GNU Scientific Library
    • Linalg – Ruby Linear Algebra
    • NArray – Numerical Ruby
    • And others…

    As a bonus, you’ll find that the ideas behind PageRank are surprisingly simple and powerful (no math-wiz certification required) and can be easily applied to many existing social and content networks – better recommendations, search, and discovery.

    On Monday 4th May

    Coverage slide deck

Tuesday 5th May 2009

  • JavaScript Testing in Rails: Fast, Headless, In-browser. Pick any three.

    by Larry Karnowski and Jason Rudolph

    You wouldn't consider developing a Rails application without having a solid test suite for your Ruby code, but you've somehow convinced yourself to cross your fingers and look the other way when it comes to JavaScript. It doesn't have to be that way. In this session, you'll learn how to apply test-driven and behavior-driven development to your unobtrusive JavaScript code in a Rails-friendly manner.

    Historically, when selecting a JavaScript testing solution, you were forced to choose whether you wanted a framework that could run your tests in the browser or one that could only run your tests in a headless fashion. With the right combination of tools [1], you can enjoy the best of both worlds: fast, automation-friendly, and headless testing plus the ability to run your tests in whichever browser is acting up on any given day.

    In this session, you'll learn how to give your JavaScript code the testing love it deserves. We'll tackle:

    • Choosing and configuring a JavaScript testing framework
    • Writing RSpec-style specifications for test-first JavaScript development
    • Adding jQuery, Prototype, or other libraries to the mix
    • Coding in true red-green-refactor fashion with TextMate
    • Running tests in the browser
    • Running JavaScript tests headlessly with Rake
    • Automating your tests with Continuous Integration

    [1] http://github.com/relevance/java...

    At 1:50am to 1:50am, Tuesday 5th May

  • The Even Darker Art of Rails Engines

    by James Adam

    When I started talking about the idea of ‘Rails Engines’ a few years ago, everyone thought I was crazy. Some people said it was stupid, or just plain evil. Despite that, the ability to write simple yet powerful plugins is baked into the core of Rails 2.3.

    But heed the words of Uncle Ben: “With great power, comes great responsibility!”

    In this session, we’ll discuss how to best take advantage of ‘engines’, in which situations engine plugins are appropriate and those where they aren’t, and how to avoid some of the common issues that can arrive when developing with engine-style plugins.

    When we’re done, you’ll be in the best position to take advantage of this newly-sanctified functionality in your own projects.

    At 10:45am to 11:35am, Tuesday 5th May

    Coverage slide deck

  • The Future of Deployment: A Killer Panel

    by Blake Mizerany, James Lindenbaum, Marc-André Cournoyer, Ryan Tomayko, Adam Wiggins and Christian Neukirchen

    The way we deploy ruby apps is changing. It’s getting better, faster, and smoother. This is happening because all the different pieces of the stack, including the underlying hosting platform, have started to fit together well.

    At 1:50pm to 1:50pm, Tuesday 5th May

    Coverage write-up

Wednesday 6th May 2009

  • Rails Metal, Rack and Sinatra

    by Adam Wiggins

    Rails 2.3 introduces a hot new feature: Rails Metal. Metal allows you to build Rack endpoints for selected URLs in your app. Optimize your high-frequency, low-complexity actions with Rails Metal and get a 2x – 3x performance boost.

    Even better: you can use Sinatra, the microframework that everyone’s talking about, from Rails Metal. Capture the speed and elegance of Sinatra from within your existing Rails app!

    This talk will provide a brief overview of the basics of Rack and Sinatra, so no prior knowledge of either project is required.

    At 10:45am to 11:35am, Wednesday 6th May

    Coverage slide deck

  • Twitter on Rails

    by Michael Bleigh

    Twitter’s content and APIs make it one of the best targets around for creating mashups. It’s now easier than ever to do so using TwitterAuth, a Rails gem/plugin that utilizes Twitter as a Single Sign-on provider (SSO).

    Material will include:

    Generating a TwitterAuth application using Rails templates
    Navigating the Twitter API
    Harnessing the power of Twitter Search
    Watching an entire application get built…live!

    At 10:45am to 11:35am, Wednesday 6th May

  • Rails and Legacy Databases

    by Brian P. Hogan

    This session will show how we built a Rails application around a database that didn’t even come close to following the conventions that Rails wants you to use. We’ll show how we used views and some Ruby techniques to make the database appear to conform, and we’ll show that it’s really not as hard as people make it sound.

    We’ll also talk about other strategies we’ve used to migrate data from legacy schemas to new Rails schemas. Attendants should feel free to submit some examples to us beforehand.

    At 1:50pm to 2:40pm, Wednesday 6th May

  • Heroku: Guided tour and Q&A

    by James Lindenbaum, Adam Wiggins, Morten Bagai and Ryan Tomayko

    Back by popular request, several Heroku team members will be on hand to walk you through the latest and greatest features of the Heroku platform and answer your questions.

    At 2:50pm to 3:40pm, Wednesday 6th May

Thursday 7th May 2009