On the 30th of September I presented at Rubyconf XI in New Orleans, LA. My topic was “Practical Metaprogramming.”

This presentation was very special for me. Having spent some of my childhood in New Orleans, speaking there was very special. Further, one year ago, inspried by Chad Fowler’s book The Passionate Programmer, I resolved that “One year from now, I will speak at Rubyconf.” I am filled with joy to say that I attained my dream.

I spoke on one of the more complicated aspects of the Ruby programming language: Metaprogramming. Ruby’s constructs allow you to fundamentally and flexibly re-direct calls at runtime and change the object model. While it is generally believed that this is complicated or a weird bolt-on to Ruby, I contend that all programming in Ruby is metaprogramming – from the get-go! I also present a path for learners so that they can level-up. Lastly I show some examples of heavily, and justifiably heavily used, metaprogramming code courtesy of my library LatinVerb.

Here are resources for those in attendance or for those who could not make it.

Or, here are the slides in-line:

Please, if you were inspired by this talk, please leave a comment. If you would like to provide criticism of the talk, please visit the speaker8 page.