Session Descriptions
Matthew Bass - Software Developer & Entrepreneur
Homesteading: The New Entrepreneurial Model
Many years ago a community would come together to help a neighbor get started. They'd all pitch in, knowing that when they needed help, those same friends would come to their aid as well. This model of community self-sufficiency has been recycled in the software world.
David Bock - Principal Consultant, CodeSherpas Inc.
Deployment with Capistrano
Capistrano is the de-facto tool used to deploy Rails applications, but it is useful for so much more. In this talk we will publish a real website from scratch, with consideration for real world stuff like safeguarding passwords, turning on and off application monitoring, multiple machine deployments, and general system administration tasks.
Rails Application Tuning and Performance monitoring
Most developers who adopt Rails deploy their first application and see it get rushed under heavy load... thus the rumor that 'Rails doesn't scale'. Well, Rails does, you just have to know a few things
Tools for your Ruby Toolbox - Web Publishing Edition
Rails may be the framework that turned many of us on to Ruby, but if you are using it for all of your server-related Ruby projects, you probably have a hammer and are seeing every problem as a nail. There are a number of smaller, tighter solutions to problem in this space, including GServer (built into the Ruby libraries), StaticMatic and Webby (tools for generating a static site, but with all the templating goodness), Sinatra, a small server with an awesome DSL for restful web services, and Rack, an easy way to get content published as a web service.
Rick DeNatale - Object Oriented Practitioner
The Fall and Rise of Dynamic Programming Languages
A war is being waged between the Empire and the Rebel Alliance. The imperial forces are laboring tirelessly to stamp out such dangerous ideas as late-binding, and automatic memory management.
Based on long experience, such ideas are known to cause severe performance problems at best, and to bring down the Empire with errors at worst.
The year, 2008 Ruby vs. Java*, or ca 1990 Smalltalk vs. C++, or ...
The languages change, but the arguments remain. After a period in the shadows, dynamic languages have been on the rise again. Ruby has been at the forefront of this resurgence, with older dynamic languages tagging along. At the same time, hard-learned lessons from the implementation of these earlier languages are starting to have an influence on implementation of the newer ones. Witness the buzz in the Ruby community about "repurposeing" projects such as MagLev.
Neal Ford - Application Architect at ThoughtWorks, Inc.
"Design Patterns" in Ruby
The Gang of Four book was actually 2 books: a nomenclature describing common software problems and a recipe book for solutions. The vocabulary they defined is still useful. The recipes are a disaster! Ruby has powerful meta-programming facilities far beyond the languages encompassed by the GoF. It turns out that many of the structural design patterns in the Gang of Four book and beyond are much easier to solve with meta-programming.
Advanced DSLs in Ruby
Building Domain Specific Languages in Ruby shows the power and flexibility of the language.
Meta-programming Ruby for Fun & Profit
Ruby is the revenge of the Smalltalkers. Not since Smalltalk has a language had such powerful meta-programming facilities. While this may seem like a minor feature, it turns out that surgical meta-programming allows solutions to problems that are clearer, more concise, more maintainable, and take orders of magnitudes fewer lines of code.
Chad Fowler - CTO of InfoEther, Inc.
ActiveRecord Deep Dive
ActiveRecord is one of the leakiest abstractions you'll ever use as a software developer. Becoming a true master of ActiveRecord requires you to embrace that fact and dig into its guts. Knowing how ActiveRecord really works makes you a much better ActiveRecord programmer.
What's new in Ruby 1.9
Ruby 1.9 the first major upgrade to the Ruby language in many years. On top of a slew of new language features, it offers an exponentially faster, byte-code compiled runtime environment.
Stuart Halloway - CEO of Relevance
Clojure
In recent years, the Java community has embraced a variety of new languages that target the JVM, but also offer productivity advantages over traditional Java coding.
Concurrent Programming with Clojure
Clojure is dynamic language for the Java Virtual Machine with several powerful features for building concurrent applications.
Yehuda Katz - Yehuda works at Engine Yard, and is full time on the Rails and Merb core teams
Merb and Rails3: What's Next?
With the announcement that Merb will be merging into Rails3, you might have some questions about what that means for the future of Rails. Yehuda, the lead developer of the Merb project (now a Rails core team member), will talk about the work he's doing to bring modularity, performance, and a public API to Rails. The first Rails3 beta is scheduled for May of this year, so you can be one of the first to get a peek into the work the new Rails team is doing.
Carl Lerche - Software Engineer, Engine Yard
Writing Fast Ruby: Learn from Merb and Rails 3
It has been said that Ruby is a slow language, but that is not true. Numerous Ruby projects have shown that it is possible to write fast, scalable software using Ruby. Merb, for instance, is faster than any major PHP web framework.
Kevin Smith - Author of Erlang In Practice
Erlang For The Practicing Programmer
Learn how to use Erlang in a practical setting. This talk will cover building and deploying a simple, but complete, web application using Erlang. The talk will illustrate how to use the OTP framework to write robust servers and how to leverage third party libraries, like Mochiweb, to make developing for the web easier.
Introduction to Erlang
Spend an hour learn about Erlang -- a functional programming language designed for demanding multi-threaded environments. You'll get an introduction to the language including syntax and major concepts. You'll also learn which companies and projects are using Erlang today and the kinds of problems they're solving with Erlang.
Nathaniel Talbott - Founder of Terralien and co-founder of Spreedly
Fear of Programming
We developers spend a lot of time talking about how to improve technically at our craft, how to write better code, how to be more productive when we're writing code. But what about when we don't feel like coding? What about the emotions that often keep us from putting our fingers on the keyboard and working on that cool library we want to write or finishing up that cool side project we were so fired up about a few weeks ago?
Or to put it another way, why is it that some developers turn out so much more code than the rest of us? How do they maintain five open source projects (or more!) while we might be doing good to make progress on one? It certainly might be that they're smarter, or that they spend more time at it. But maybe not...
Maybe the reason we don't create more is that we're afraid. Afraid of not finishing, afraid of what others will say, afraid we won't know how to solve a problem, afraid that we're not working on the right thing. If creating code is even partly an act of artistry, then it's worth examining our emotional connection with what we're making. It might be time to start realizing that coding productivity is affected as much by our emotional outlook as it is by our technique.
Five Skills Every Freelancer Must Have
Lots of developers decide to try going it on their own - perhaps they're tired of being a cube rat, having technical decisions made by uninformed management, or having to service the bureaucracy before the client. Rubyists seem to have an especially high likelihood of going independent, since it gives them much more flexibility to use the language that makes them happy.
But as alluring as it might be to "be your own boss", everyone who makes the jump from the cube to the room over the garage finds out real quick that there's a whole new set of skills necessary to be successful. Even worse, freelancing doesn't come with a training manual that outlines all these important skills, and most folks just have to learn them the hard way: by trial and error.
Glenn Vanderburg - Chief Scientist, Relevance Inc.
Fuzz-Testing Rails Apps with Tarantula
Tarantula is a Rails plugin for doing easy, repeatable fuzz testing of Rails applications. Tarantula crawls your application, supplying random inputs at every turn and looking for signs of trouble. It can be used to regularly check for many kinds of error handling issues, cross-site scripting and SQL injection vulnerabilities, and more mundane things like invalid HTML. This talk will discuss how Tarantula works, how to use it, and how to make it a regular part of your testing strategy.
Sinatra: Essential Simplicity
Sinatra is a Ruby-based framework that makes it trivial to write simple web apps very quickly. It's much lighter weight than Rails and fills a different need, but a lot of very smart people are using this exciting new tool.
Software Developer & Entrepreneur
Matthew Bass is an independent software developer, entrepreneur, speaker, and writer. He has over ten years of experience across a diverse set of technologies and has worked at places like SAS Institute, the world's largest privately held software company. An agilist from the very beginning, he continues evangelizing and experimenting with pair programming, test-first and behavior-driven development, and continuous integration. Matthew has spoken at several regional and national software conferences and regularly writes for publications like InfoQ.
Principal Consultant, CodeSherpas Inc.
David Bock is a Principal Consultant at CodeSherpas, a company he founded in 2007. Mr. Bock is also the President of the Northern Virginia Java Users Group, the Editor of O'Reilly's OnJava.com website, and a frequent speaker on technology in venues such as the No Fluff Just Stuff Software Symposiums.
In January 2006, Mr. Bock was honored by being awarded the title of Java Champion by a panel of esteemed leaders in the Java Community in a program sponsored by Sun. There are approximately 100 active Java Champions worldwide.
David has also served on several JCP panels, including the Specification of the Java 6 Platform and the upcoming Java Module System.
In addition to his public speaking and training activities, Mr. Bock actively consults as a software engineer, project manager, and team mentor for commercial and government clients.
Object Oriented Practitioner
I am a long-time object oriented technologies, practitioner, evangelist, and provocateur. I've been a Ruby programmer and consultant since 2006.
Some highlights from my 32 year career at IBM include: the development of the initial proof of concept for IBM VisualAge/Smalltalk, a distributed implementation of the Smalltalk
language, work on VisualAge Micro Edition for Java (the precursor to Eclipse), serving as a founding member and secretary of
the X3J20 Smalltalk committee, and appearances in the
early decades of OOPSLA.
I've had the opportunity to know, work, and interact with many of those who laid the groundwork for what we do with Ruby and how we do it.
My sporadic thoughts, mostly about the Ruby language and related topics can be found at my blog. http://talklikeaduck.denhaven2.com
Application Architect at ThoughtWorks, Inc.
Neal is Software Architect and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery.
Before joining ThoughtWorks, Neal was the Chief Technology Officer at The DSW Group, Ltd., a nationally recognized training and development firm. Neal has a degree in Computer Science from Georgia State University specializing in languages and compilers and a minor in mathematics specializing in statistical analysis.
He is also the designer and developer of applications, instructional materials, magazine articles, video presentations, and author of 6 books, including the most recent The Productive Programmer. His language proficiencies include Java, C#/.NET, Ruby, Groovy, functional languages, Scheme, Object Pascal, C++, and C. His primary consulting focus is the design and construction of large-scale enterprise applications. Neal has taught on-site classes nationally and internationally to all phases of the military and to many Fortune 500 companies. He is also an internationally acclaimed speaker, having spoken at over 100 developer conferences worldwide, delivering more than 600 talks. If you have an insatiable curiosity about Neal, visit his web site at http://www.nealford.com. He welcomes feedback and can be reached at nford@thoughtworks.com.
CEO of Relevance
Stuart Halloway is the CEO of Relevance, Inc. (www.thinkrelevance.com). With co-founder Justin Gehtland, Stuart helps companies adopt agile, as well as innovative technologies such as Clojure and Ruby on Rails. Stuart is the author of Programming Clojure, Rails for Java Developers, and Component Development for the Java Platform. Prior to founding Relevance, Stuart was the Chief Architect at Near-Time, and the Chief Technical Officer at DevelopMentor.
Yehuda works at Engine Yard, and is full time on the Rails and Merb core teams
Yehuda is currently employed by Engine Yard, and works full time as a Core Team Member on the Rails and Merb projects. He is the co-author of jQuery in Action and the upcoming Merb in Action, and is a contributor to Ruby in Practice. He spends most of his time hacking on Rails and Merb, but also on other Ruby community projects, like Rubinius and Datamapper. And when the solution doesn't yet exist, he'll try his hand at creating one – as such, he's also created projects like Thor and DO.rb
Software Engineer, Engine Yard
Carl started building web applications at 13 with PHP. He started learning so that he could one up his friends who were only building static HTML. Since then, he's dabbled with quite a few technologies before settling with ruby four years ago. Carl is a software engineer at Engine Yard, a member of the merb team (currently working on Rails 3), and a contributor to many OSS projects. He plans to build a web server in haskell, ocaml, or ____ in his spare time for no tangible reason.
Carl likes chocolate, coffee, scuba diving, and long walks on the beach.
Agile coach and co-author of Ship It
Jared Richardson, co-author of Ship It! A Practical Guide to Successful
Software Projects, is a speaker, consultant, and mentor with NFJS One. Jared has been in the industry for more than fifteen years as a consultant, developer, tester, and manager.
Jared can be found online at Agile Artisans.
Author of Erlang In Practice
Kevin Smith has, at various times, been a network administrator, DBA, developer, team lead and trainer over his 14 year career. He first learned about Erlang in 2006 via Joe Armstrong's excellent "Programming Erlang" and has never looked back. Kevin is the founder of Hypothetical Labs, a consultancy focused on Erlang training and development.
Founder of Terralien and co-founder of Spreedly
Nathaniel's really just another coder. He was in the right place at the right time back in 2000 when he initially fell in love with Ruby, and the love affair continues to this day. An attendee and a speaker at every RubyConf to date, he's seen the rise of Ruby and has a deep understanding of the source and nature of its popularity. For the past three years he's been getting better at the business side of things by running Terralien, a Rails-focused custom development consultancy, and also more recently Spreedly, a robust subscription management platform. At the same time he continues to write code on a regular basis to keep his creative side fed, and you can check out his Github profile to see what he's been up to.
Chief Scientist, Relevance Inc.
Glenn Vanderburg is a principal at Relevance, where he is focused on cutting-edge software development technologies and techniques. He brings more than 20 years of experience developing software across a wide range of domains, and using a variety of tools and technologies. Glenn is always searching for ways to improve the state of software development, and was an early adopter and proponent of Ruby, Rails, and agile practices.

