Sessions at RailsConf 2012 about Ruby on Rails

Your current filters are…

Monday 23rd April 2012

  • Not a Vendor Pitch: Real World Rails Apps at Massive Scale

    by Pitr Vernigorov, Joshua Warchol, Lew Cirne, Jon Pliske and Tim Sturge

    New Relic CEO Lewis Cirne will lead a panel discussion with representatives from some of today's most popular, highly-trafficked web sites. With millions of uniques a month, find out how these organizations are optimizing their Rails-based sites for mobile, for unexpected traffic bursts, and for seasonality.

    At 10:30am to 11:15am, Monday 23rd April

    In Room 615, Hilton Austin Downtown

  • Rails for Zombies (AKA Intro to Rails - Part 1)

    by Gregg Pollack

    Do you need to start learning Ruby on Rails? In this morning tutorial the Envy Labs team will lead you through all five labs of their Rails for Zombies course. Unlike other tutorials, all you need to start coding Rails is a laptop with Wi-Fi and a browser which isn’t Internet Explorer. All coding will be done through our web application, and there will be plenty of lab assistants to help you if you get stuck along the way. Before you come to the course we recommend you play through http://www.tryruby.org/. It’s an in-browser Ruby tutorial.

    Topics Covered:

    • Basic ActiveRecord CRUD
    • Models, Validations, has_many, belongs_to
    • Views, ERB, Loops
    • Controllers, before filter
    • Basic Routing

    At 10:30am to 2:30pm, Monday 23rd April

    In Room 616, Hilton Austin Downtown

  • Using Backbone.js with Rails: Patterns from the Wild

    by Sarah Mei

    Backbone.js is a flexible, lightweight tool for structuring the JavaScript in a modern web application. It goes great with Rails! But beware - "flexible and lightweight" are code words for "you build your own plumbing." Backbone is new enough that we haven't established strong patterns for that plumbing yet, so different Backbone codebases look very different, and when you're new to the idea of structuring your JavaScript, it can be tough to tell where the win is.

    So in this talk I'll demystify Backbone. I'll show several very different ways I've used it on real Rails apps. You'll get a feel for the circumstances when Backbone makes sense, and moreover, when each of the different approaches to Backbone make sense.

    At 10:30am to 11:15am, Monday 23rd April

    In Salon J, Hilton Austin Downtown

  • Getting Down To Earth: Geospatial Analysis With Rails

    by Daniel Azuma

    It is no secret that location has become ubiquitous. Mobile GPS, available data sets, and easy-to-use mapping services have brought geospatial information within reach of web developers. Location already plays a significant role in many of the major services such as Twitter, Facebook, and Google, not to mention legions of startups.

    However, for those of us implementing more than the most trivial features, it is also true that location is challenging. A significant learning curve awaits us, involving spatial databases, coordinate systems, interchange formats, and plenty of math. Our Ruby-based tools lag a bit behind those available to our Java- and Python-oriented colleagues, and effective documentation is scarce.

    This presentation aims to jump-start Rails developers hoping to go beyond putting a few pushpins on a Google Map. Rather than spending a lot of time explaining the many concepts involved, we'll bypass the learning curve and jump straight into walking through code for a few nontrivial applications. The hope is that the conceptual knowledge will come naturally as a result of seeing it in action, but pointers to online resources will also be provided to fill in any gaps.

    A thorough understanding of Ruby, Rails, ActiveRecord, and SQL will be assumed. No prior knowledge of GIS or computational geometry will be required, though it may be helpful.

    At 11:30am to 12:15pm, Monday 23rd April

    In Salon H, Hilton Austin Downtown

  • Practical Machine Learning and Rails

    by Andrew Cantino and Ryan Stout

    Many people know that machine learning techniques can facilitate learning from, and adapting to, noisy, real-world data, but aren't sure how to begin using them. Starting with two real-world examples, we will introduce you to some libraries that bring machine learning techniques to your Rails applications. We will then dive into the art of feature design, one of the first practical roadblocks that many people encounter when applying machine learning. Feature design is the challenging, subtle, and often trail-and-error process of selecting and transforming the data you provide for your learning algorithm, and it is often the hardest part of using these techniques. Our goal is for you to come out of this talk with the tools necessary to think about machine learning and how to apply it to your problems.

    At 11:30am to 12:15pm, Monday 23rd April

    In Salon K, Hilton Austin Downtown

  • Rails Engines Patterns

    by Andy Maleh

    This talk covers a successful utilization of Rails Engines to share features that cut across the layers of MVC in different Rails 3 projects. Rails Engines thus provide the best of both worlds: improved productivity by reusing MVC code (including assets like Javascript, CSS, and Images) and better flexibility by allowing different applications to customize behavior as needed without reliance on application-dependent conditionals. Rails Engine patterns will be provided to guide developers on how to leverage Rails Engines' reusability and flexibility without sacrificing maintainability.

    Outline:

    • Basics of Rails Engines
    • Rails Engine Patterns
    • Improved Productivity Tips
    • Summary of Benefits and Trade-Offs

    Attendees should walk away with an overview of Rails Engines and guidelines on how to utilize them effectively.

    At 1:30pm to 2:15pm, Monday 23rd April

    In Salon J, Hilton Austin Downtown

  • RoRoRoomba - Ruby on Rails on Roomba

    by Charles Abbot

    RoR makes an excellent framework for off-the-beaten-path type of projects, like hacking Roombas and other robots. In this presentation, I'll demonstrate how our soon to be robot overlords will be happy when we gift them with RoR and a connection to the internet. The presentation will include working examples and demonstrations of:

    • communicating with an Arduino chip via Ruby
    • tethered serial and wireless bluetooth control of a Roomba via Ruby and Arduino
    • two-way communication with our robot friends over the web using Ruby on Rails and popular web services
    • useful applications of robots controlled over the web
    • 3 RoRoR pitfalls to watch-out for
    • live performance of "Chiron Beta Prime" by Jonathan Coulton*

    The presentation will close with an argument for why hacking on fun, often eccentric, projects in your spare time is essential for staying motivated, habitual improvement, and tangential learning -- i.e., being a real pragmatic programmer.

    *not included, perhaps

    At 1:30pm to 2:15pm, Monday 23rd April

    In Salon K, Hilton Austin Downtown

  • Up and to the right – how Spiceworks is scaling 200 million requests per month

    by Francis Sullivan and David Babbitt

    Curious how Spiceworks, a social business app built on Rails, keeps 2 million active users happy? With Ruby on Rails, baby! In the last year our usage has increased 8x and now exceeds 200 million requests per month. Join Francis Sullivan, CTO and Co-founder, and David Babbitt, Technical Program Manager, to hear about the architecture and best practices we adopted to make this happen.

    Get the ins-and-outs on:

    • Hosting a high volume Rails application
    • Choosing what to optimize
    • Lessons learned while moving to JRuby
    • Updating a large codebase through Rails beta to Rails 3
    • Scaling the dev organization

    At 1:30pm to 2:15pm, Monday 23rd April

    In Room 615, Hilton Austin Downtown

  • ActiveSupport and ActiveModel

    by Bryan Liles

    Have you ever wondered what makes Rails tick? Bryan Liles will cover two of the pillars of the Rails foundation: ActiveSupport and ActiveModel. Together we will discover where some of Rails’ ease and power originates and how make use of it in your projects.

    At 2:30pm to 3:00pm, Monday 23rd April

    In Room 616, Hilton Austin Downtown

    Coverage note video

  • From Rails Rumble to 50,000,000 results

    by Mikel Lindsaar

    StillAlive.com was born from the 48 hour intense 2010 Rails Rumble and has grown! Having recently passed our 50,000,000th site result, this talk discusses the real world challenges and optimisations required to take a code base born from the fires of YAGNI to a production system.

    This talk isn't about how you can scale from 0 requests to 500 billion requests per microsecond, but give a practical view to some of the performance problems we faced as the application steadily grew from a hack job into a functioning system.

    The journey will go through the mistakes we made, challenges faced and real world optimisations discovered, including some tricks we learnt along the way from concurrent index creation to using the ZeroMQ messaging framework with Rails

    At 2:30pm to 3:15pm, Monday 23rd April

    In Salon J, Hilton Austin Downtown

    Coverage note video

  • How Rails helps make cooking more fun in Japan

    by Masahiro Ihara

    With more than a million user submitted recipes and an active user base of 15 million monthly unique users, cookpad.com is the world's largest recipe website, and an essential tool for the 50% of all Japanese women in their 20's and 30's who use the site regularly.

    The Cookpad.com service is built on Rails and is running entirely on AWS in Tokyo, where more than 30 engineers are working in small agile teams to bring more value to users every day.

    As you know, Japan had a huge earthquake and tsunami last year, and some of those affected didn't have cooking facilities, water or basic foods for long time. Many Cookpad users immediately uploaded simple recipes that could be made without the basics in adverse conditions, and helped those in hardship immensely allowing them to enjoy food with their families at that difficult time.

    In this session, I'll talk about the COOKPAD way of creating services and the technologies behind them, and how we improve peoples lives through cooking every day.

    At 2:30pm to 3:15pm, Monday 23rd April

    In Room 615, Hilton Austin Downtown

    Coverage slide deck

  • Rails-flavored Ruby

    by Michael Hartl

    Based on Chapter 4 of the Ruby on Rails Tutorial by Michael Hartl, “Rails-flavored Ruby” covers the aspects of the Ruby programming language most important for developing Rails applications. Topics include hashes, arrays, and other objects; blocks; functions; and classes.

    At 3:00pm to 3:30pm, Monday 23rd April

    In Room 616, Hilton Austin Downtown

    Coverage note video

  • Realtime web applications with streaming REST

    by Brad Gessler

    As more people collaborate on the web with your applications, its not enough to just persist data to the database; it needs to be pushed out to your users web browsers so that they're always working with the freshest data.

    In this session, Brad will show how to build a real-time layer on top of an existing Rails application's authorization and resource logic so that you can build on top of the hard work already invested in your Rails application.

    Topics that will be discussed include:

    • Why I didn't choose Socket.IO
    • Stream application resources into Backbone.js models to keep data fresh
    • Hook into ActiveRecord to push representations of data into a message queue
    • Message queue naming conventions public/private resource streams
    • Exposing message queues to HTTP
    • Securing streams with existing application authorization logic
    • Considerations for streaming in a production environment

    At 4:00pm to 4:45pm, Monday 23rd April

    In Salon K, Hilton Austin Downtown

  • RVM & Essential Rails Development Tools

    by Olivier Lacan

    Working with Rails often means switching between several Ruby versions back and forth which is made almost seamless by RVM. It also involves several simple command line tools like Pry, Guard, and Pow and that will make your development life so much easier.

    At 4:00pm to 4:30pm, Monday 23rd April

    In Room 616, Hilton Austin Downtown

  • Securing your site

    by Thomas Pomfret

    Rails makes it very easy to rapidly develop web applications, but doesn’t always make it so simple to deploy or secure them.

    This talk is going to focus on best practices to secure your rails application, learnt through multiple high profile projects and penetration tests. The talk will be practical and show that this isn’t necessarily hard if thought about from the start.

    We’ll also touch on getting the right balance of security without it getting in the way of the users.

    At 4:00pm to 4:45pm, Monday 23rd April

    In Salon J, Hilton Austin Downtown

Tuesday 24th April 2012

  • Preparing for Rapid Growth - Tips for Enabling Your Rails App and Team to Grow Quickly

    by Patrick Leonard

    Every young company expects to grow quickly, but is your engineering team really ready for it? In 3 years, iTriage went from a kitchen table to one of the leading mobile consumer healthcare apps with over 5 million downloads. Staying ahead of this growth didn't just mean hiring more Rails engineers.

    Patrick will discuss what iTriage did (and continues to do) to stay ahead of our growth, including:

    • Technical architecture, including use of Rails Engines to enable a modular, RESTful service-based design
    • Enabling high quality iPhone, Android and Web apps
    • Development and release management processes
    • Recruiting and hiring approaches

    At 10:30am to 11:15am, Tuesday 24th April

    In Room 615, Hilton Austin Downtown

    Coverage slide deck

  • Presenters and Decorators: A Code Tour

    by Mike Moore

    Presenter and Decorators are design approaches that can be used in Rails applications outside of the standard Models, Views and Controllers. These approaches are becoming more and more popular as teams search for new ways to identify and manage the complexity within their applications.

    In this session Mike Moore will defined the Presenter and Decorator approaches using simple and clear terminology. Common design problems in Rails applications will be shown using real-life code examples and refactored toward Presenters and Decorators. Code will be improved and strengthened by identifying and respecting the dependencies within large applications.

    At 10:30am to 11:15am, Tuesday 24th April

    In Salon K, Hilton Austin Downtown

  • Rails for Zombies 2 (AKA Intro to Rails - Part 2)

    by Gregg Pollack

    Done with Rails for Zombies but can't stop the craving for a second corpse? We’ll pickup where Rails for Zombies 1 leaves off and jump into the topics listed below. All you need to bring is a laptop with Wi-Fi and a browser which isn’t Internet Explorer. All coding will be done through our web application, and there will be plenty of lab assistants to help you if you get stuck along the way.

    Topics covered:

    • How to create a Rails app, the command line, database migrations, the Ruby 1.9 Hash Syntax, Bundler, and Database configuration.
    • Named Scope, Callbacks, Include, has_many, and has_many :through relationships.
    • REST principles, view forms, nested resources, and view partials.
    • Sending email from our Rails app and the Rails 3.1: the Asset Pipeline.
    • Controller rendering options and custom RESTful routes. Design an API with Rails and respond to AJAX requests.

    At 10:30am to 2:30pm, Tuesday 24th April

    In Room 616, Hilton Austin Downtown

  • Let's make the web faster - tips from trenches @ Google

    by Ilya Grigorik

    Google loves speed, and we want to make the entire web faster - yes, that includes your Rails app! We'll explore what we've learned from running our own services at scale, as well as cover the research, projects, and open sourced tools we've developed in the process.

    We'll start at the top with website optimization best practices, take a look at what the browser and HTML5 can do for us, take a detour into the optimizations for the mobile web, and finally dive deep into the SPDY and TCP protocol optimizations.

    We'll cover a lot of ground, so bring a coffee. By the end of the session, you should have a good checklist to help you optimize your own site.

    At 11:30am to 12:15pm, Tuesday 24th April

    In Salon H, Hilton Austin Downtown

  • Keeping Rails Applications on Track with Brakeman

    by Justin Collins

    A recent report by Veracode (http://www.veracode.com/reports/...) found cross-site scripting in 68% of surveyed web applications and SQL injection in 32%, even though these are well-known, easily preventable, and easily detectable vulnerabilities. As applications grow larger, it becomes harder and harder to manually verify that every line of code is adhering to security guidelines - even given the built-in protection available with Ruby on Rails.

    Brakeman (http://brakemanscanner.org/) is an open source static analysis tool which provides painless vulnerability scans of Rails code from "rails new" through deployment. Running Brakeman as a part of continuous integration provides feedback during all stages of development and can alert developers immediately when a potential vulnerability is introduced. Bringing security testing as close to the developer as possible (even scanning as files are saved) means security problems are caught faster - and the sooner problems are found the cheaper they are to fix.

    As a static analysis tool, Brakeman can be run without worrying about deploying the whole application stack: no webserver, database, configuration, or application dependencies required - not even Rails itself. This allows fast, easy vulnerability scans on any Rails project.

    We talk a lot about testing in the Ruby and Rails community, but somehow security testing is passed over. This needs to change!

    This talk will cover how to incorporate Brakeman into Rails development and how it can improve application security, as well as a look into how Brakeman works internally.

    At 1:30pm to 2:15pm, Tuesday 24th April

    In Salon J, Hilton Austin Downtown

    Coverage video

  • Ten Things You Didn't Know Rails Could Do

    by James Edward Gray II

    Rails is huge. Even if you have worked with it for a long time, it's unlikely that you have stumbled across everything yet.

    Do you really know what all of the built-in Rake tasks do? Have you seen all of the methods ActiveSupport makes available to you? Are you aware of all the queries ActiveRecord is capable of?

    In this talk, I'll dig into the extras of Rails and see if I can't turn up some features that you don't see all of the time, but that might just be handy to know about anyway. I'll make sure you come out of this able to impress your friends at the hackfest.

    At 1:30pm to 2:15pm, Tuesday 24th April

    In Salon H, Hilton Austin Downtown

  • Digging Deep with ActiveSupport::Notifications

    by Matt Sanders

    Rails 3 and above includes a powerful instrumentation system, ActiveSupport::Notifications, which can be used to track performance and event information for all aspects of your application. Notifications are light-weight, easy to setup, and can be consumed by multiple subscribers (logs, audit trails, consolidated metrics, other parts of your application).

    In this session we’ll start with the basics of ActiveSupport::Notifications and work our way to powerful advanced use cases. Topics we’ll explore include:

    • How to set up and use notifications
    • Logging what you want from any tier of your system
    • How to capture and aggregate performance/business data for the metrics you care about most
    • Conditional monitoring in production: flag on and off data by system or customer to get to the root of problems more quickly
    • Using ActiveSupport::Notifications in non-Rails applications and your own libraries

    At 2:30pm to 3:15pm, Tuesday 24th April

    In Salon H, Hilton Austin Downtown

  • Sustainable Productivity with Rails

    by Xavier Shay

    Ruby on Rails claims to be "optimized for programmer happiness and sustainable productivity." I strongly disagree with the latter assertion. In this talk I will channel my half decade of industry Rails experience into expounding this position and providing constructive feedback as to what needs to change---in both the framework and the community---before we can support this claim. I'll also cover practical techniques you can use to be sustainably productive on your own projects in the meantime.

    At 2:30pm to 3:15pm, Tuesday 24th April

    In Salon J, Hilton Austin Downtown

    Coverage note video

  • Securing the Rails

    by Aaron Bedra

    Building safe web applications isn’t always easy. The good news is that Rails provides a lot of features that will help you along the way. Aaron will walk you through the common mistakes made by web developers, and how to account for them while working with Rails. He will also walk you through some tools you can use to make securing your applications much much easier.

    At 4:00pm to 4:30pm, Tuesday 24th April

    In Room 616, Hilton Austin Downtown

  • Using Rails without Rails

    by Piotr Sarnacki

    Rails got much more modular after 3.0 rewrite. But do you know how to use specific rails elements outside Rails? What if you would like to use ActionView with some other library (like webmachine)? Have you ever needed to render view with layouts outside of the rails stack? Or maybe you wanted to build some kind of system that fetches templates from database rather than from files? Router anyone? You know that you can use it outside rails too?

    In this talk I will dive into Rails internals and will show you what's there and how you can use it outside rails.

    Although I will focus on using those parts standalone, this knowledge will most likely help you also build your apps if you ever need something sophisticated that requires modification of regular rails behavior.

    At 4:00pm to 4:45pm, Tuesday 24th April

    In Salon K, Hilton Austin Downtown

  • Zero downtime deploys for Rails apps

    by Pedro Belo

    What does it take to deploy an application without any downtime?

    More than most Ruby developers would expect, turns out; what is aggravated by the lack of documentation and other resources on this topic.

    In this talk we'll dive into both development practices (hot compatibility, database migrations, caching) and deployment setup (Heroku, Unicorn, HAProxy), covering everything you need to know in order to ship code without affecting a single customer.

    At 4:00pm to 4:45pm, Tuesday 24th April

    In Salon J, Hilton Austin Downtown

  • Powerful Interfaces

    by Caike Souza

    In this talk we will explore the best practices in using interfaces as the foundation for designing object oriented applications in Ruby and Rails. We will talk about some of the techniques that make it possible to write loosely coupled components that can be easily extended to respond to requirement changes.

    At 4:30pm to 5:00pm, Tuesday 24th April

    In Room 616, Hilton Austin Downtown

Wednesday 25th April 2012

  • It’s Not in Production Unless it’s Monitored

    by Joseph Ruscio

    In the 21st century successful teams are data-driven. We’ll present a complete introduction to everything you need to start monitoring your service at every level from business drivers to per-request metrics in Rails/Rack, down to server memory/cpu. Provides a high-level overview of the fundamental components that comprise a holistic monitoring system and then drills into real-world examples with tools like ActiveSupport::Notifications, statsd/rack-statsd, and CollectD. Also covers best practices for active alerting on custom monitoring data.

    At 10:30am to 11:15am, Wednesday 25th April

    In Salon H, Hilton Austin Downtown

  • Rails Testing for Zombies

    by Gregg Pollack

    So you’ve got the basics of Rails down, but you haven’t really done any testing. Never fear, this course will lead you through everything you need to know to start testing your Rails apps. All you need to bring is a laptop with Wi-Fi and a browser which isn’t Internet Explorer. All coding will be done through our web application, and there will be plenty of lab assistants to help you if you get stuck along the way.

    Topics Covered
    * Test Unit basics
    * Testing Rails models, using fixtures, and validation testing.
    * Improving our testing code with macros, shoulda basics, and setup/teardown.
    * Mocking and Stubbing with Mocha
    * Testing the whole Rails stack with Capybara Integration tests
    * Using Factory Girl to replace Fixtures

    At 10:30am to 2:30pm, Wednesday 25th April

    In Room 616, Hilton Austin Downtown

    Coverage note

  • Rails: The Next Five Years

    by Yehuda Katz

    When Ruby on Rails burst onto the scene in 2004, it excited web developers by showing that you could build next generation apps quickly and efficiently. Rails was one of the first frameworks to embrace Ajax, giving everyone the power to do partial page updates and whiz-bang effects in a conventional, effortless way.

    In 2007, the Rails team embraced RESTful conventions, making API development a no-brainer for new applications. Because RESTful JSON is so easy in Rails, Rails applications tend to implement APIs on balance.

    Then it was time to polish. Both the 2.0 and 3.0 releases cleaned up the code-base and found ways to take emerging conventions and make them easier to use.

    But now, like in 2004, another revolution is brewing. Increasingly, developers are moving their view layer from the server into the client, using RESTful JSON and client-side templating to increase responsiveness and bring applicable aspects of desktop applications to the web.

    Like last time, not every application needs to jump head-first into this new world. But just as in 2004, Rails has an opportunity to embrace the future, and bring its ruthless insistence on convention over configuration to bear on this problem.

    Rails already has the plumbing to be a fantastic conventional JSON server. The question is: will we take the challenge, or will we desperately cling to the past, hoping that the future will never come?

    At 10:30am to 11:15am, Wednesday 25th April

    In Salon J, Hilton Austin Downtown