Columbus, Ohio
October 1–3, 2010
We will be offering day-long tutorials to help people get acclimated and ready for the conference. Offered at $75 for the full day, the tutorials will range from beginning Ruby, to Ruby and Rails on JRuby, and will even include content for those intimately familiar with the platform.
EdgeCase and EngineYard present a conference aimed at communicating all aspects of the Ruby world to developers and managers alike. See how to bring Ruby to the Java platform and be a part of the conference that values culture as much as technology. Topics that we will be covering include: JRuby • Large scale testing with Ruby • How to scale Ruby on Rails • Effect of migrating teams to a new platform • Maintaining effective large teams using Ruby • and much more…
User group discounts are available. For details contact us at jrubyconf [at] edgecase [dot] com.
This day-long tutorial session will get you started using Ruby on the JVM through the awesome power of JRuby! Beginning with a walkthrough of setting up your JRuby environment and introducing the fundamentals of the Ruby language, including its elegant syntax and cohesive object model, we'll quickly move on to writing a web application in Rails, covering additional Ruby language concepts as they become relevant along the way.
We'll go over installing Rails and the related concept of Ruby gems. We'll cover the various components of a Rails application, including ActionController, which handles the request-response lifecycle; ActiveModel and ActiveRecord, which represent the Object Relational Mapper fundamentals of Rails; and ActionView, its template languages and associated helpers. We'll cover using migrations to modify database schema, using validations with your ActiveModel instances to verify the data passed into your application, and all the niceties that come with Rails in ActiveSupport and Railties. And we'll do all of this in the rich context of JRuby: we'll build a self-contained .war file of your application that can be deployed like any Java web application, and monitor and profile the application using the rich tools the JVM has to offer.
Nick Sieger is an engineer at Engine Yard, working on JRuby and leading the effort to make the Java Virtual Machine a robust yet easy-to-use deployment platform for Rails and Ruby web applications. He created and co-maintains the JDBC adapter for ActiveRecord that JRuby on Rails uses for database connectivity, as well as the Warbler tool and JRuby-Rack library for dealing with Java application server deployment.
Matt Yoho is a developer and agile enthusiast with a love for Ruby and the web, working for EdgeCase, LLC in Columbus, OH. He likes comic books, karaoke, OSS, and sweet potato fries. He is one fairly hep cat.
Marc comes from a deeply rooted background in Java but began his fascination with other JVM languages after discovering the power and elegance of Ruby not possible in his beloved Java language. He has been exploring new language paradigms ever since. Marc now sets out to bring the power of the Ruby language to Java enterprises everywhere with the help of his trusty sidekick: JRuby, the Ruby implementation on the Java platform. Together, he and JRuby shall achieve unparalleled prosperity and business value for all who are willing to taste the glory of its sweet IT nectar.
This session will explore all the new goodness that comes to us in rails 3. For rails developers with experience building Rails 2 apps that are trying to get their mind around all the new hotness, we are for you. We'll explore in detail:
How it will allow your finder and named scope code to simpler and more flexible
The routes file can really become a source of great uglification in a Rails 2 app. Let's see how the new routing syntax allow routes to be expressiver and easy to understander.
The refactoring of the internals of rails now means that it's easy to plugin a variety persistence frameworks to integrate seamlessly with Rails. What's more, it's super easy to roll your own!
You've probably heard about this new dependency management framework that's now baked into Rails. It's had its share of controversy, so let's talk about how to use it and why it's awesome.
Chris Nelson has 15+ years experience developing software for organizations ranging in size from startups to Fortune 500 companies. He now has the good fortune of working with some of the best developers in the Cincinnati area at Gaslight Software. Chris was a java developer who came the long way around to Ruby, first spending years tediously convincing himself that it was actually a much more enjoyable way to write software. Fortunately, Chris is now working full time in Ruby and having a great time doing it. You'll also find him occasionally presenting at various software development user groups and conferences around the country.
Doug has been a professional software developer for more than 15 years, with five of those years doing web development with Rails. He has both participated in and led teams using SCRUM, XP, and several variations in between. Doug believes in and practices a well developed discipline of test first development, and has extensive experience working with startup ventures and Fortune 500 companies.
New to Ruby? No problem.
Come with us on a journey. One that involves learning a new language in a way that demonstrates features and culture in one tutorial. The Ruby language has gotten a lot of buzz in the IT industry lately. It is a highly expressive language that comes with great increases in productivity, or so some say. Test Driven Development is a "Best Practice" that has become quite popular for developing rock solid application with reduced debugging time. Ruby and TDD, two great tastes that taste great together.
This tutorial will combine TDD and Ruby training in a way to introduce you to the "Ruby Way" through tests. In this tutorial we will introduce you to the Ruby language. We will show you the basics of creating objects, control structures, using meta programming and an extended discussion on blocks and the things that might look a bit odd. You will walk away with a solid understanding of basic areas of ruby, a persistent knowledge base, in the form of a test suite, to take home and build upon, and a hunger to learn more and join the growing community of ruby developers. Bring your laptop, a sense of humor, and an open mind.
Jim Weirich has been active in the software development world for over twenty-five years, with experience that ranges from real-time data acquisition for jet engine testing to image processing and web services for the financial industry. Although Jim has experience in C++ and Java/J2EE technologies, his real passion is about delivering business value in a timely and efficient manner, and one of the best ways of doing just that is leveraging the power of Ruby and Rails. Jim is very active in the Ruby community and has contributed to several Ruby projects, including the Rake build system and the RubyGems package software.
Joe is a father, speaker, author and developer. Before helping found EdgeCase, LLC, Joe was a developer with ThoughtWorks and spent much of his time working with large J2EE and .NET systems for Fortune 500 companies. He has spent his career as a developer, project manager, and everything in between. Joe is a passionate member of the open source community. He co-founded the Columbus Ruby Brigade and helped organize the Chicago Area Ruby Users Group. His passions are Agile Development in the Enterprise, Ruby, and demonstrating to the Fortune 500 the elegance and power of this incredible language.
Software engineering as it's taught in universities simply doesn't work. It doesn't produce software systems of high quality, and it doesn't produce them for low cost. Sometimes, even when practiced rigorously, it doesn't produce systems at all.
That's odd, because in every other field, the term "engineering" is reserved for methods that work.
What then, does real software engineering look like? How can we consistently deliver high-quality systems to our customers and employers in a timely fashion and for a reasonable cost? In this talk, we'll discuss where software engineering went wrong, and build the case that disciplined Agile methods, far from being "anti-engineering" (as they are often described), actually represent the best of engineering principles applied to the task of software development.
Glenn Vanderburg is Chief Scientist at InfoEther, where he helps engineer great systems for customers.
Testing is a fundamental part of the Agile process. We live and breathe TDD/BDD. Red/Green/Refactor is our daily mantra. We love cucumber and writing executable, customer readable specifications. We even write tests for our JavaScripts.
And yet, testing remains hard. The tests we love to write are brittle and tend to break when we refactor. Although we talk about the tests being the specification of our code, too often they specify "how its implemented" rather than "what should be done".
This talk is about how to improve the way we do testing, how to move away from merely specifying how our software is implemented to capturing the true essence of how it should function.
Jim Weirich has been active in the software development world for over twenty-five years, with experience that ranges from real-time data acquisition for jet engine testing to image processing and web services for the financial industry. Although Jim has experience in C++ and Java/J2EE technologies, his real passion is about delivering business value in a timely and efficient manner, and one of the best ways of doing just that is leveraging the power of Ruby and Rails. Jim is very active in the Ruby community and has contributed to several Ruby projects, including the Rake build system and the RubyGems package software.
Your application is slowing down and you can't seem to speed it up. The code is a mess, and changes are taking longer and longer. You're afraid to release new features for fear of introducing bugs throughout the system. The marketing and sales teams are frustrated by how long new features are taking to release. All signs seem to point to the dreaded Big Rewrite.
Big Rewrites are dangerous projects. The decision to rewrite shouldn't be taken lightly. In this session, we will walk through the pros and cons of Rewrites and give real world examples of Rewrite strategies that work and that fail. From the first hint of a need for a rewrite, through the migration and deployment of the reincarnated system, we'll share our victories, sorrows, joy, and pain.
By the end of the session we hope you'll have a better idea of how to approach The Big Rewrite the next time it rears its never-welcomed head and have a framework which increases your likelihood of success
Chad Fowler is an internationally known software developer, trainer, manager, speaker, and musician. Over the past decade he has worked with some of the world's largest companies and most admired software developers. He loves to program computers and, as part of his role as CTO of InfoEther, Inc., spends much of his time solving hard problems for customers in the Ruby language. He is co-organizer of RubyConf, RailsConf, and RailsConf Europe and author or co-author of a number of popular software books, including the recently released "The Passionate Programmer: Creating a Remarkable Career in Software Development".
Rich is a co-founder of InfoEther, a for-profit company focusing on applying Ruby in business. He also co-founded Ruby Central, Inc., a non-profit promoting Ruby, where he is an active board member today and a leading contributor in the Ruby open-source community. Prior to InfoEther, Rich founded and served as CTO of Roku Technologies, one of the first peer-to-peer solutions companies and an early adopter of Java. In his 20 years as a software technologist, he has been a sales engineer, designer, consultant and a systems security manager in the U.S. Air Force at the Pentagon. He is an internationally known speaker at software technology conferences.
Are you pushing yourself with the right force, in the right direction, to achieve what you want, what makes you happy, what you're capable of?
Based on her experience of training for Ironman distance triathlons, Keavy will discuss the preparation involved in pushing herself towards her own mental and physical limits, and the effects this has had on other areas of her work and life.
The talk will explore some attitudes and processes in the practice and performance of sport that are critical in reaching your full potential. It will look at how these approaches can also benefit the journey not just of personal development, but career development. It won't be about achieving some grand vision of mastery, but rather on pursuing outcomes that are true to the individual; on making informed, conscious decisions about what to focus your energy on; and maintaining the drive to get there.
This talk aims to inspire people to try harder.
Keavy originally trained as a fine artist at The Glasgow School of Art, specialising in sculpture. In 2001, she started her own web consultancy, Minimetre, and currently enjoys pairing up with development shops in Europe and the U.S. She is an advocate for Test Driven Development and works to solve people problems with clean code.
In the same manner that Matz Ruby has C extensions, JRuby has Java extensions. Even though JRuby lets you use existing Java classes directly from Ruby you may still want to write a pure Java extension. This could be to have a higher performing ruby class or to make an existing Java class library more 'ruby-esque'.
My use case was to provide a seamless API for the Hitimes gem across all ruby engines.
This talk will cover the facets of building Java extensions for JRuby and the burgeoning support for existing C extensions.
Jeremy Hinegardner lives in Boulder, CO and has been programming Ruby since 2001. He wrangles data for a living, moving it from machine to machine by the bit-bucket full, filtering out the dross and pouring it into data storage forms for everyone to hopefully, maybe, possibly someday, turn into useful information.
Mock Objects caught the developer imagination when they were introduced to the world in 2000 and there are mock object frameworks for almost as many languages as there are testing frameworks. Many teams however discover too late the pain caused by using mock objects in their tests; brittle tests, an increasing lack of confidence in the tests and an inability to safely refactor.
This talk will explore the sources of pain caused by using mock objects and present an alternative that is increasingly gaining in popularity.
Brian has been developing software professionally for many years and since 1999 has been applying agile practices, primarily Extreme Programming, to the projects he has been involved with. He has a particular interest in automated testing and developed Exactor (http://exactor.sourceforge.net) an open source tool for automated acceptance testing, which he continues to support.
Brian has worked in a variety of languages from COBOL and Visual Basic to Java and Ruby, with a smattering of C# and Objective-C. He has successfully led a variety of teams transitioning to Agile, and trained both developers and managers in Agile thinking and practice.
Brian has presented at conferences including the European Conference on Extreme Programming and the Agile Business Conference.
The discussion about JRuby has for a long time been focused on "Bringing Ruby to the Java World" – but no longer! With the release of "jruby-jars" – a gem containing a runnable version of JRuby available to any platform – the conversation has shifted. We'll look at how akephalos (github.com/bernerdschaefer/akephalos) uses jruby-jars to bridge MRI and HtmlUnit (a pure Java library), and how you can start using JRuby today as a part of your MRI stack.
Bernerd has a degree in Classical Latin and Greek, but thankfully Hashrocket saved him from a life in Academia. He discovered Ruby with the first public release of Rails, and shortly thereafter dove into alternative Ruby technologies (such as DataMapper, his own web framework, Harbor, or his headless browser Akephalos). Now he's excited to be back on the Rails again with a new perspective. If he's not working on one of his open-source projects, you can probably find him in the kitchen cooking up something tasty.
In 1996, after the fall of the Soviet Union, the U.S. State department funded the development of an import/export control system for the newly formed nations. We were involved in that effort; a major multilingual Java/J2EE application deployed in 7 countries, spanning over 10 years of development. That project has had some great successes in its lifetime, including being a factor in Poland's acceptance into NATO.
Last year we were involved in a modernization effort for that project, including new functionality and an online web presence. Using JRuby, we were able to rapidly develop new features on top of an aging J2EE codebase. This is the story of our success with JRuby in a complex technical and political environment.
David is a Principal Consultant at CodeSherpas, a consultancy specializing in Java and Ruby software development. He is the past President of the Northern Virginia Java Users Group, a founder of the Northern Virginia Ruby User Group, an Editor for O'Reilly, and a technical reviewer for over 20 software engineering books. David is a frequent speaker on Java, Ruby, Software Engineering, and Project Management.