<<< Previous speaker Next speaker >>>

David Chelimsky, Articulated Man, Inc

 David  Chelimsky

David Chelimsky is the lead developer of RSpec and a leader in the discussion of Behaviour Driven Development in the Ruby space.

Through April of 2007, David worked as a consultant with Object Mentor, Inc, teaching courses and providing one on one mentoring in OO Design, Test Driven Development and Refactoring.

David now develops dynamic (in function and language!) web applications at Articulated Man, Inc, a Chicago-based web design and application consultancy.

Presentation: "Under the Hood"

Time: Friday 13:00 - 14:00

Location: Abbey Room

Abstract:

One of the most exciting aspects of Ruby is the overwhelming number of open source projects that have been contributed by the community for all of us to enjoy. As of January, 2008 Rubyforge sports over 2500 projects with over 19 million gem downloads. And that's just gems. It doesn't account for the millions of checkouts from source control as developers contribute back to other projects and install plugins into their own applications.

In this session we're going to take a look under the hood of a few of these Ruby libraries. We'll crack them open and see what it is that makes them tick. By the end of the session you should have a basic understanding of why gems are so much fun to write; why they are so easy to share; and how they exploit the Ruby language to make the lives of other developers easier and more enjoyable.

Presentation: "Panel: When is Rails an appropriate choice?"

Time: Friday 16:00 - 17:00

Location: Abbey Room

Abstract: Rails has taken the development world by storm, being compared to Java in the skills parade of recent job adverts. But is Rails the right choice? This panel of experts will discuss the reasons for picking the framework over other platform options, exploring topics such as choosing the platform for prototyping, scalability and ease of management. Join us to get involved with the Q & A and decide for yourself if switching to Rails is the path for you.

Tutorial: "Ruby for Java & C# programmers"

Track:   Tutorial

Time: Monday 09:00 - 12:00

Location: Guild Room

Abstract:

Ruby is often referred to as an Object Oriented Scripting language. It made its first in-roads in Java and .NET circles in the form of tools like WATIR, a Ruby library that automates the act of stepping through a web application in a browser with code written in Ruby in a simple text file. The appeal was found in its simplicity and minimal setup, and the fact that it was Object Oriented was a nice plus.

Over time, it has been Ruby's OO nature that has attracted more and more developers to explore it. Not just for scripting tests for web applications, but for development of mission-critical applications for the web and the desktop.

Ruby is as powerful as it is simple and expressive. But between questions about speed and security and the substantial investment that most Java and .NET shops have invested in their platforms over the years, it had a difficult time making it into companies that didn't operate with an "early adopter" mindset.

Step ahead a couple of years and enter JRuby and IronRuby. With these two implementations of Ruby, for Java and .NET respectively, developers working on these platforms can begin to exploit the beauty and simplicity of Ruby to deliver highly readable and maintainable code and run it on the platforms they know.

David Chelimsky and Aslak Hellesøy came to Ruby from Java and .NET. In this session we're going to show you some of the things that attracted us to Ruby in the first place, and some of the things that we've grown to love through deeper understanding. We're going to ask you to solve some problems in the languages you know, and then work with you to solve them in the language we've grown to love.

What you'll leave with is a high level understanding of the differences and similarities between Ruby and Java/C#, an appreciation for the choices made by Ruby's creator, and a sense of how you might be able to fit Ruby into your development process.