Personal schedule for Gavin Stark
subscribe to Gavin Stark's
Cucumber is all the rage these days, but many developers struggle to
understand how and when to use it. It is designed to be an Acceptance
Testing tool in the context of BDD, but that explanation tends to
bring up even more questions.
This workshop will tour through a number of advanced, in-depth topics on Rails 3. We'll look take a tour of many of the new additions to Rails 3, talk about how to exploit Rails' new focus on Rack to your advantage, dig around in the source to really understand how many of the pieces work, and take a look at how to bring some common, advanced patterns used in Rails 2.x into the world of Rails 3.
Keynote by David Heinemeier Hansson, 37signals.
Keynote by Michael Feathers, Object Mentor.
Ever wanted to build an API with Rails? Feel daunted? Google doesn't help much? Come talk to the developers of some of the biggest APIs built in Rails. Developers from Twitter, Github, ThoughtBot, NY Times, and 37signals will talk about the decisions and challenges they have faced in building their APIs. Topics will include; Authentication, Formats, Scaling, Security, Versioning, & Communication.
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.
There are a lot of great code quality and analysis tools out there just begging to sink their claws into your app. Learn how to plug them all in and harness their power to not only tell you how your doing, but also to fail your builds in new and exciting ways.
If you lead or work on a development team, you know that applications need to be tuned and tweaked continuously or their performance degrades. Changing load, new features, growing databases, all contribute to application slowing. Learn how to prioritize the work for your team so you're making improvements that make a difference.
Back by popular demand, Evan and Charlie are going to talk about all
those nooks and crannies of Ruby you never knew existed. Focused
mainly on traps to avoid, they'll discuss a number of features in Ruby
1.8 and 1.9 and how they actually work, including all the gory
details. As a special bonus offer, the duo will briefly discuss
performance related pitfalls and how they can be avoided.
Keynote by Yehuda Katz, Engine Yard Inc.
Location: Ballroom I - II
We'll be handing out several trophies to people we believe to be Ruby Heroes, and giving them the round of applause they deserve and might not get otherwise.
Most people think that freedom engenders creativity, but the opposite is true. But too much constraint makes it hard to get stuff done. It turns out that you need just enough constraint, and figuring out what gives you that perfect level is harder than you think. This keynote investigates the relationship between creativity and constraint as it applies to software development in the modern world.
Engine Yard was founded to help deploy, manage and scale Ruby and Rails applications. We built our company with a focus on supporting and cultivating the Ruby and Rails community and ecosystem. Join us as we walk through some open source work we've dedicated our time to, including Rails, Ruby, Rubinius and JRuby. We'll also discuss community efforts we're excited to be involved with.
Hashrocket recently built and deployed a massive patient record system for a pharmaceutical company in less than six months. We discuss how we dramatically accelerated our normal Rails application development using MongoDB and applying the philosphies of "less SQL".
Redis is fast. Rails is good. Resque is cheap. It's a match made in heaven.
Learn how to use Resque with Rails, how GitHub processes background jobs, and why Redis makes it blissful.
We'll compare Resque to other solutions, discuss design patterns, and review the plugins that add infrastructure.
JRuby has been running Rails for years, but the new Rails 3 release
presents enticing possibilities for Ruby development on the Java
platform. Even if you don't need to integrate with a Java codebase, JRuby
can offer you performance and deployment alternatives.
Views are still the wild west of the web application area. A sea of DIV after DIV with tables tossed in for non-tabular data creates a sea of messy code that hurts the product both in performance and bandwidth. We'll look at the common pitfalls of view code, how to refactor that code into lean, semantic HTML, CSS and presnters that is not only pretty, but also correct and proper.
Tools like Cucumber encourage driving new pieces of functionality through tests which cut through the entire Rails web stack, including the database. As a consequence these Acceptance tests can be quite slow. This leaves us in a dichotomy, you want to keep adding new features to your product and you want to maintain rapid test feedback. Somethings got to give. So how do we scale Acceptance tests?
You're a developer. You write code. But your users don't see your
code. They only see the user interface. We're going to have a
conversation about how to think through your product's user interface.
We'll focus on a few analytical techniques you can use to analyze your
user interface and to communicate with a designer.
SQL databases are awesome at certain problems. But most Rails apps encounter data challenges that make traditional databases look seriously puny. So...is SQL over? In this talk, we'll dig into the guts of the relational model, look at the problems SQL doesn't solve well, and - crucially - understand why. Then we'll answer the million-dollar question: is NoSQL the only alternative?
In order to ensure continuous application availability without dealing with antiquated monitoring tools a Rails developer should be able to assert the correct behavior of a production application from the outside in using familiar tools to protect revenue.
Keynote by Derek Sivers, founder of CD Baby.
Up till now, computer hardware technology has been advancing by orders of magnitude every year; has software technology been keeping up? Now that headlong advance of hardware shows signs of slowing. Moore's law may be dead. Does that mean that software technology will have to pick up the slack? Can it? Is Ruby/Rails a hint of the future solution? If not, what is?
Web site metrics are a must have as they provide valuable business insight. This discussion describes how to best leverage 3rd party tools such as google, and when, how, and what to track within your own rails application.
2 large rails implementations are presented as case studies:
* Tracking over 2.5 mil hits/hr via nginx logs
* Leveraging Mongodb in the clouds to store iphone request info
User behavior tracking can be difficult. If done properly, it can be invaluable in helping to shape the evolution of your product. Done poorly, and it can lead to expensive mistakes. Learn the tools and techniques that will help you make the right choices.
ActiveRelation and ActiveModel bring a lot of interesting features to
Rails 3. These new libraries make it easier to write complex queries
and to extend Rails to work with non-ActiveRecord objects. Learn to
use ActiveRelation and ActiveModel to clean up your code. See how you
can use ARel and AMo to build your own data layer or to connect to new
This talk shares the experience, process and best practices of splitting a single monolithic rails application into many smaller independently-developable but integrated system of applications. The result is lower development time, greater stability and scalability and higher developer productivity.