Sessions at CodeMash 2012 about Ruby

Your current filters are…

Thursday 12th January 2012

  • Writing Solid Ruby Code

    by Jim Weirich

    Do you always seem to be fixing bugs in your software project? Are you spending more time fixing defects that actually implementing new behavior? If so, this talk is for you. In the mid-90s, Steve Maquire wrote a book that strongly effected the way I developed software. Primarily writing in C and C++ in those years, the struggle to deliver bug free software was especially a challenge. In the book "Writing Solid Code", Steve gives sage advice on the problems of developing large software projects and the challenges that go with making sure your softare actual does what you think it should. Although as Ruby developers we are no longer using C to deliver our large projects, the challenge of writing solid, reliable code is still before us. Based on Maquire's advice and my own years of Ruby experience, this talk will show developers tools, techniques and practices that they can use to improve their software and begin writing solid code.

    At 9:45am to 10:45am, Thursday 12th January

  • Becoming a Ruby Gemcutter

    by Nick Quaranto

    Welcome to the world of Ruby: where the gems are deep, rough, and rarely documented! No need to fear though, in this presentation you'll learn what a RubyGem is, how they're used in Rails and Ruby applications, and of course, how to make your own. You'll see just how easy it is to share your code with others in the Ruby universe, and why creating packages is a joy instead of a burden thanks to the tools and ecosystem of RubyGems.

    At 11:00am to 12:00pm, Thursday 12th January

    In Cypress, Kalahari Waterpark Resort Convention Center

    Coverage slide deck

  • Metrics-Powered Ruby/Rails Performance

    by Jeff Casimir

    Ruby can't scale. Tell that to LivingSocial, GroupOn, Gowalla, Sony, and the rest of our community pushing millions of requests per day. Scaling an application isn't about piling up hardware and dropping in the newest database fad, it's the combination of design and refinement.

    In this session, we'll look at refining Ruby code using tools to:

    • Measure memory and object allocation
    • Find CPU-intensive hotspots
    • Isolate data-store bottlenecks
    • Evaluate code complexity

    This is not about info-porn. It's about finding the 1% of your code that, through optimization, can dramatically improve performance.

    At 3:35pm to 4:35pm, Thursday 12th January

    In Cypress, Kalahari Waterpark Resort Convention Center

    Coverage slide deck

Friday 13th January 2012

  • Get the Tech Out of Your Cukes

    by Jeff Morgan

    Cucumber is a great tool for writing executable specifications. When written well they provide the basis for a team's understanding of the specification. When they run successfully they provide a confirmation that a feature is done and working properly.

    The problem is that most Cucumber features are written poorly. They often include technical terms or a lot of unnecessary details that hide the behavior we are trying to describe. This problem is so profound and pervasive in the industry that some are beginning to believe that is is not possible to describe behavior well with Cucumber.

    This talk and hands on demonstration will bring attention to typical smells found in cucumber scenarios. Once we discuss a smell, we'll look at an example that exhibits that problem and then refactor the code and feature to clean it up. Along the way we'll also introduce some common design patterns that can be applied to keep your code nice and d.r.y.

    At 10:45am to 11:45am, Friday 13th January

    In Indigo Bay, Kalahari Waterpark Resort Convention Center

  • Have Fun the Rong Way

    by Matt Yoho

    Rong is a client-server Pong implementation written in Ruby that hopes to take a whack at your office productivity. Though Pong itself is a relatively uncomplex game, it allows a variety of interesting game programming problems to be explored when constructing the game in a robust manner as a client-server application. We'll talk through the structure of the implementation, the involved libraries, including libraries supporting 2-D game development in Ruby, and the techniques involved in creating a responsive network-based game.

    At 10:45am to 11:45am, Friday 13th January

    In Cypress, Kalahari Waterpark Resort Convention Center