Dates & Pricing

$1395 Alumni and Groups of 3+
$1695 Early Bird
(Save $300 thru Aug 19)
$1995 Regular

Would you like us to notify you about the next course in 2010?

Master the Ruby programming language—to write more powerful libraries or improve your Rails applications—by learning advanced techniques from two experienced Ruby developers and authors in this 3-day, hands-on training course.

  • Write Ruby programs and Rails applications with the confidence and efficiency that comes from deep knowledge of how things really work
  • Learn what's new in Ruby 1.9, and how to make the most of it
  • Use your new-found skills to contribute to open source and commercial projects in an impactful way
  • Take your Ruby skills to the next level by focusing exclusively on advanced Ruby techniques for three days with Dave Thomas and Chad Fowler

You'll come away from this Studio feeling like a Ruby Master. You'll not just know Ruby in depth, you'll also understand why things are the way they are. You'll have moved beyond the basic toolbox of the average Ruby developer—you'll be able to exploit the libraries and constructs the true pros use to make their code powerful, compact, and fun to work with.

“I learned something new virtually every hour!”

Jeremy Hinegardner

Who Teaches the Studio?

Dave and Chad

Dave Thomas and Chad Fowler. This Studio is taught by programmers for programmers. Learn directly from two authors of the premier reference for Ruby:

Dave Thomas is the co-author of The Pragmatic Programmer, Programming Ruby, and Agile Web Development with Rails. Along with Andy Hunt, they run The Pragmatic Programmers.

Chad Fowler is a well-known author and Ruby and Rails trainer and consultant. As a co-founder of Ruby Central, he is a leading contributor and frequent speaker in the Ruby community. Chad is the author of Rails Recipes, a contributor to Programming Ruby, and CTO of InfoEther.

What Will I Learn?

Advanced Ruby Techniques, Tips, and Tricks. Through a series of lecture, hands-on exercises, and discussion, you'll learn how and when to use advanced Ruby features. Topics include:

Thinking in Ruby: Ruby is different than the languages you're used to. If you're still using the techniques that work with those languages, you're not exploiting the power of Ruby, and you're writing more code than you need.

  • Object Oriented design in a dynamic language: Reuse mechanisms unique to Ruby and dynamic languages, mixins, composition and delegation, runtime class extension
  • How to organize your code: libraries and APIs, require and load tricks, supporting multiple Ruby versions, static builds of Ruby, using and creating Gems, best practices for file and directory organization
Chad Fowler

Ruby 1.9 Features: Ruby is a-changin'. As a Ruby programmer, you'll want to stay on top of all the new syntax and language features.

  • A look at the new classes and libraries
  • Major changes to String
  • New hash goodness
  • Enumerators
  • More powerful regular expressions
  • Multi-nationalization of code and data
  • Fibers and threads
  • Changes to the Ruby parser and execution engine

Spreading The Code: It's a networked world. Let's move beyond HTTP and find ways of getting programs to talk to programs.

  • Different methods of networking: DRb, custom network protocol implementation
  • Threading, managing processes, creating server daemons
  • Java integration with JRuby

Advanced Programming Techniques

  • Blocks, Procs, and closures in depth
  • Meta-classes and the meta-object protocol
  • Taking advantage of interpreter and system hooks
  • Duck-typing protocols and coercions
  • Using reflection to discover and inspect classes, inheritance hierarchies, defined methods, and instantiated objects at runtime

Advanced Meta-programming: Everyone talks about Ruby, meta-programming, and Domain Specific Languages. But let's see how to do it for real.

  • Techniques for runtime class and object extension
  • The many faces of eval
  • Internal Domain Specific Languages

Real-World Ruby: We may know all the secrets of coding Ruby, but we still need to make it work in the real world.

  • Performance: taking out the garbage, C extensions, integrating with shared libraries using DL
  • How (and why) to read Ruby source code
  • Understanding the Ruby compile process
  • irb tricks
  • RDoc/Ri
  • ERb
  • Debugging and Profiling

In addition to the prepared topics, you'll have time to ask questions and spark discussions with other experienced Ruby programmers.

“The course material was great and comprehensive. I walked away with so much new knowledge and even better, a huge list of things to look into and learn.”

David Naffis

Who’s It For?

Experienced Ruby Programmers. This Studio will be a good fit for you if...

  • You have a good working knowledge of the Ruby language, but you want to take it to the next level.
  • You've tried what you consider to be advanced features in Ruby, but you want to understand when and how experts use those features.
  • Not sure if you're ready? Assess your skills.

What's a Studio Like?

Interactive Learning. You'll learn in a significantly different way in a Studio than by reading through the books. Attending a Studio complements what you may have read, but in a hands-on, collaborative environment where you'll:

  • get your questions answered by the experts and your peers
  • learn through hands-on programming exercises
  • discuss up-to-date topics, tips, and tricks
  • discover new techniques in live coding sessions
  • reinforce the concepts you've learned in the books

We think Studio offers the best developer training around. But don't take our word for it. Just ask our alumni. Check out their reviews and applications they've built! The Studio experience continues after the Studio with our private alumni mailing list.

“Certainly one of the best training experiences I've ever had...The materials are good, the guys are experts and the entire thing was fun—which is hard to say about any training program.”

—Hunter Hillegas

What Should I Bring?

Laptop

You and Your Laptop. It wouldn't be a hands-on course if you didn't walk away having written some code. You'll be most productive on the laptop you use regularly. (On average, 60% of attendees bring Mac OS X, 30% bring Windows, and 10% bring Linux.)

A few weeks before the Studio, we'll send out detailed instructions for installing everything you'll need. During the Studio, you'll get hands-on experience working through prepared exercises, and experimenting on your own, too.

Your Registration Includes

  • A continental breakfast, continuous beverages and snacks, and a hot lunch buffet each day
  • A binder with all the printed material
  • All the example source code to refer back to later
  • Internet connectivity and power during the Studio
  • An invitation to our alumni-only mailing list for help after the Studio
  • Discounts on books, screencasts, and future training
  • A stylish Pragmatic Studio t-shirt and more!

Register