Sessions at Ruby Midwest 2011 on Saturday 5th November

Your current filters are…

  • Mastering the Ruby Debugger

    by Jim Weirich

    You are happily writing new code for your system when all of a sudden the code is not behaving the way you thought it should. Perhaps you just created a failing test, and the code you wrote was expected to make the test pass ... but it doesn't. What's the first thing you do?
    Some Rubyists will drop some "puts" statements into the code. Some will add a raise statement. And still others will depend on logging to trace the internals of the code. But a surprisingly few Rubyists will reach for the Ruby debugger.
    Despite a general disdain for the debugger in the Ruby community, the Ruby debugger is a powerful tool that can quickly get to the heart of a coding problem. This talk will concentrate on getting Rubyists up to speed on the debugger, how to use it effectively and learning other general debugging tips.

    At 9:15am to 9:45am, Saturday 5th November

  • Running Red Hat OpenShift with a little help from Ruby

    by Matt Hicks

    This talk will dive into the details of OpenShift Express and it's support for Ruby and Rack. It will also cover how we are using Ruby internally on our development of OpenShift. This session will not only walk you through how to use OpenShift to deploy a Rails 3 application, but will also dive into why we standardized on Ruby as our development language. I'll cover the following topics at a hands-on level:
    - Deploying a Rails 3 application with the OpenShift Express
    - Cover how we are using Selenium WebDriver and the Ruby bindings for automated testing on headless machines
    - Cover how we are using Apache Qpid (AMQP), the Ruby bindings and MCollective as the basis of our scale-out architecture

    At 9:45am to 10:15am, Saturday 5th November

  • Make Awesome Command-Line Apps with Ruby

    by ❺➠ David Copeland

    Tired of maintaining your one-off script that has now become someone's job to execute? Wishing you could create polished applications on the command line similar to git or cucumber? In my talk, I'll talk about what makes a command line application "awesome", and why you should care. I'll talk about what makes Ruby particularly suited to this task over mainstays like bash and Perl. We'll compare and contrast several Ruby libraries that can make even your lowliest automation script a polished, maintainable, and predictable application.
    David Copeland is a veteran software developer with over 15 years of professional development experience, starting on UNIX and C, moving into Java, and now using Java, Ruby, and Scala on a daily basis for energy-efficiency startup OPOWER in Washington, DC. He's so enamoured of the command-line, that he's working on the definitive book on Ruby command-line applications for the Pragmmatic Programmers as we speak. He firmly believes in getting things done quickly, not making a mess, and leaving things better than how he found them.

    At 10:30am to 11:00am, Saturday 5th November

  • Confident Code

    by Avdi Grimm

    Are your methods timid? Do they constantly second-guess themselves, checking for nil values, errors, and unexpected input?

    Even the cleanest Ruby codebases can become littered over time with nil checks, error handling, and other interruptions which steal attention away from the essential purpose of the code. This talk will discuss strategies for writing your Ruby classes and methods in a confident, straightforward style; without sacrificing functionality or robustness. In the process, we'll cover concepts and techniques points including:

    • The narrative style of method construction
    • The four parts of a method
    • Three strategies for dealing with uncertain input
    • Massaging input with coercion and the Decorator pattern
    • Lightweight preconditions
    • Exterminating nils from your code
    • The chaining and iterative styles of method construction
    • Eliminating conditionals with the Special Case and Null Object patterns
    • Isolating errors with the Bouncer and Checked Method patterns

    At 11:00am to 11:30am, Saturday 5th November

    Coverage slide deck

  • Modern Databases

    by Eric Redmond

    Choosing a data storage engine is an important decision, but it doesn’t have to be painful if you know the landscape. We’ll look at several DBMSs (and a few you’ve never heard of), compare and contrast them based on use-cases, and how to plug each into Ruby.

    Authoring the book "Seven Databases in Seven Weeks" has opened up a whole world of database alternatives that I never before seriously considered. It’s an important decision to be made by research, not buzzwords – and we’ve sifted through them so you don’t have to. At the very least we can settle the Mongo v. Couch debate (hint: they’re both awesome).

    This is not the same RailsConf talk. This is split into two parts:

    1. The components of modern databases:
    - A 30,000 foot view of the current database ecosystem
    - Understanding why the CAP theorem is true
    - Understanding map/reduce from the Ruby perspective

    2. 12 databases in 12 minutes:
    - The similarities/differences of the most popular open source DBs today
    - When to use them, when to avoid them
    - Which Ruby drivers to use

    At 11:45am to 12:15pm, Saturday 5th November

    Coverage slide deck

  • Recommendation Engines using Machine Learning, and JRuby

    by Matthew Kirk

    Ever wonder how netflix can predict what rating you would give to a movie? How do recommendation engines get built?

    Well, it's possible with JRuby and it's fairly straight forward. Many engines are built purely on support vector machine regressions which map arrays of data onto a classifier, like a star.
    In this talk I'll explain how support vector machines are built, and how do make a simple movie prediction model all in JRuby.

    At 1:15pm to 1:45pm, Saturday 5th November

    Coverage slide deck

  • People Patterns

    by Joe O'Brien

    We spend a large portion of our time thinking about code and technical project issues. What about the people side of things? The majority of project failures occur because of people, not technology. What we need are guides that help us navigate the waters between the people around us.

    People Patterns introduces my latest effort to capture the subtleties and nuances of interpersonal relations. I'm distilling a lot of experience, a bit of psychology and a substantial amount of research and have come up with a series of patterns that can help everyone be more successful in teams and at work. How do you have those critical conversations? How do you get your point across when you think the other person is incompetent? Come and help me reveal these and join a lively discussion.

    At 1:45pm to 2:15pm, Saturday 5th November

    Coverage video

  • Life on the Edge

    by James Edward Gray II

    We are probably all familiar with the dreaded edge cases that creep up on our production code and sucker punch it with inputs we never expected. I bet most of us have scrambled to fix those at one time or another.

    The good news is that you don't have to live in fear of edge cases. In fact, you can turn the tables and force them to work for you. That's a technique I have used quite successfully in my own programming for many years now. It can help you to have better conversations with your clients, design smarter code, choose better processing strategies, and even luck into the right algorithms.
    In this talk, I'll explain how I use edge case thinking, explain what it can do for you, and show several examples of how it leads to better choices. You will learn how to stop "slurping" data (even with SQL), how to shed your fear of nil returns and how to avoid spreading that fear to others, how to think synchronously but still get an asynchronous advantage, and more.

    At 2:30pm to 3:00pm, Saturday 5th November

  • High Performance Ruby: Threading versus Evented

    by Dr Nic

    I wanted to know, "Do I need to learn about EventMachine or node.js? Can I use threads? What is so good or bad about threading in Ruby 1.8, Ruby 1.9, JRuby and Rubinius 2.0?"

    What was important to me was the the choice was abstracted away. I wanted to write normal, step-by-step Ruby code. Yet I wanted it to be performant.

    I've asked a lot of people. I even hosted EM RubyConf (http://emrubyconf.com) during RailsConf 2011 in order to gather the brightest minds in the Ruby community.

    "What choices do I need to make, how different does my code look, and how do I do testing?" These are the questions I searched for answers.

    I'd like to now share the answers.

    At 2:45pm to 3:15pm, Saturday 5th November

    Coverage slide deck

  • Final Boss: Ruby/Rails in the Video Game Industry

    by David Czarnecki

    Did you know there are video games, both console and handheld, that talk directly to a Rails stack to provide functionality, both in-game and on the web? Did you know that there are Ruby/Rails services running 24/7/365 to process game data for over 40 million players around the world? You will learn about the code, methodologies and tools used to make all of this happen (and gain 5000 Rails XP)!

    At 3:45pm to 4:15pm, Saturday 5th November

    Coverage slide deck

  • Keynote - Saturday

    by Andy Hunt

    At 4:15pm to 5:15pm, Saturday 5th November