Advanced Ruby Training
with Dave Thomas and Chad Fowler
Dates & Pricing
- October 19—21 in Denver, CO

-
July 15—17 in Reston, VA
Sold Out 
| $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!”
Who Teaches the Studio?
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
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.”
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?
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!
