Per-Object Behavior in Ruby
Presenter: David A. Black, Author of Ruby for Rails and Rails Routing, Trainer
Abstract: Although Ruby objects are instances of classes, each object also has the potential to break away from its class and acquire methods and behaviors of its own. We'll look at how this per-object behavior works, and why you might want to leverage it. Along the way we'll touch on: the difference between class and type; singleton methods and classes; class methods and classes as objects; changing per-object behavior safely with #extend; the pros and cons of pseudo-typing objects via class ancestry; and Ruby as a quasi-prototyped language.
How to Kick Ass with IRB
Presenter: Giles Bowkett, Ruby on Rails Developer
Abstract: Many Ruby developers never even discover one of Ruby's most powerful features - IRB, the interactive shell. If you use this feature properly, it gives you a dramatically accelerated development experience. It's so valuable that systems like Capistrano, Rails, and 37 Signals' library for Amazon S3 all provide their own custom interactive shells based on the Ruby interactive shell. This talk will turn you into an IRB power-user. You'll work faster and smarter. Learn how you can increase your productivity and have more fun when you add powerful, valuable features like command history to your shell, or use irb to automate arbitrarily complex operations involving the Unix filesystem, system features like the copy/paste clipboard on OS X machines, or even downloading files and interacting with Web applications.
Ruby Reports, Beyond 1.0
Presenters: Gregory Brown, Ruby Developer and Technical Writer
Michael Milner, Ruby on Rails Developer
Abstract: Reports come in all flavours, but the code to generate them usually only comes in one: monotony. Ruby Reports is designed to help you avoid the tedious nature of developing reporting applications.
This talk will take you from the basics of using Ruport as a foundation for your reporting applications all the way to the bleeding edge. We'll cover the coolest new features in ruport-util, the most interesting third party extensions, and other community happenings that lie on the horizon. Along the way, you'll learn how to use Ruport and its extras to their fullest potential, whether you're integrating reports into a Rails application or building a standalone reporting system.
Rails and ActiveRecord
Presenter: Obie Fernandez
Abstract: Tap into the real, underlying power of ActiveRecord with techniques used by Rails professionals. Obie will help you understand how to make the most of the following advanced ActiveRecord concepts:
- Callbacks and Observers
- Single Table Inheritance (STI)
- Abstract Base Model Classes
- has_many :through
- Polymorphic has_many relationships
- Modules for reusing common behavior
- Modifying ActiveRecord classes at runtime
The Future of Ruby
Presenter: Hal Fulton, Author of The Ruby Way
Abstract: It has been 14 years since the earliest beginnings of Ruby, and at least seven years since it was introduced to the US. The past history is interesting, but the future is more so. What changes can we expect to see in the language, in its environment, and in its community? No one has a crystal ball, but these are the opinions of one Ruby expert.
How Rails Works Inside & Out
Presenter: Amy Hoy, Ruby/Rails Interaction† Design Guru, Author, Co-founder Hyphenated People
Abstract: Dispatcher, ActiveRecord, Mongrels, oh my!
Railsóand Rails appsóworks differently than most other web scripting languages (like PHP, ASP, ColdFusion and PERL). If you're coming to Rails with a background in any of these languages, you might just be in for a surprise. This talk will identify and shed light on the ways that Rails works differently (and better), and how those differences can make your web development life easier (and sometimes a bit tricky). Vive la difference!
Using Testing and Mocking to Improve your Code
Presenter: Mike Mangino, Founder, Elevated Rails
Abstract: RSpec and other mock-heavy unit testing frameworks do more than test your code -- they can also guide your design. We will look at how mocking frameworks help you write better code. We'll also look at typical code smells you will run into, and show how mocking can guide refactoring.
A Tour of Rails Testing
Presenter: Desi McAdam, Ruby on Rails Developer
Abstract: The importance of testing your Rails code cannot be understated. Without a compiler, there is no way of knowing that code you've written is even free of syntax errors! You must assume that your code is broken until you put it through its paces. Do you want that to happen on your development machine, under your control, where you can diagnose problems? Or would you rather find out about errors when your deployed application bombs the server and angers your bosses, colleagues and end-users? Testing is a serious issue.
David and everyone on the Rails core team are all true believers in high-quality automated testing and they lead the community by example: Rails itself has an extraordinary amount of test coverage. Patches, even for small fixes, are not accepted unless they are accompanied by working test cases. From the beginning, testing has been an integral and essential part of the Rails way, which sets Rails apart from the majority of other frameworks out there.
This should be considered beginner content and will cover the following topics:
- Rails testing terminology
- A review of Test::Unit, Ruby's unit testing framework and how it relates to Rails
- Fixtures, for managing testing data and analysis of why everyone hates them
- Unit, Functional and Integration testing with Test::Unit
- Proper mocking and stubbing with Mocha
- Rake tasks related to testing
- Acceptance testing with Selenium
The Humble Little Ruby Talk
Presenter: Jeremy McAnally, Ruby on Rails Developer
Abstract: What Is Ruby Anyhow? This talk will cover the Ruby language from the very basics of using puts to put naughty phrases on the screen all the way to serving up your favorite web page from WEBrick or connecting to your favorite web service.
High Art on Top of Low-Level APIs: Building Games with Ruby
Presenter: Andrea O.K. Wright, Ruby on Rails Developer
Abstract: There's been a lot of discussion lately about putting Ruby to work in a corporate setting. This talk is about Ruby at play; I will evaluate Ruby's potential as a platform for game programming. In addition to looking at a variety of frameworks for integrating graphics (2D and 3D), we'll analyze the architecture of Ruby-based game servers.
If you're not into gaming, there will still be plenty of take-aways in the areas of creating Ruby bindings for C and† C++ libraries, defining elegant APIs, and metaprogramming. This is primarily a code-based presentation. We'll look at some slick special effects,† but we'll also take a good look at the slick code used to generate them.
Ruby Performance: Tips, Tricks and Hacks
Presenter: Ezra Zygmuntowicz, Merb framework creator, Co-founder of Engine Yard, Author of Deploying Rails Applications
Abstract: In this talk we will explore the performance quirks in the current ruby interpreter. Sometimes, there is a delicate balance to be struck between the most elegant looking ruby code and the most high performance ruby code. We will cover some common performance traps and show some constructs to avoid. We will also learn how to benchmark and profile code in order to be truly sure any optimizations have the affect you think they have.
You will come away with a better "feel" for MRI's (Matz's Ruby Interpreter) performance sweet spots and pitfalls and learn some new tools in the process.