I am a frequent speaker at technology conferences in the United States, Europe and Japan. My specialty is presenting difficult concepts in a way that is easy to understand.
I’m available for speaking opportunities, get in touch if you think I might fit the bill.
Caching Without Marshal @ RailsConf 2022
Marshal is Ruby’s ultimate sharp knife, able to transform any object into a binary blob and back. This makes it a natural match for the diverse needs of a cache, but with risks. In this talk I pry open Marshal to show it works and how our team at Shopify replaced it with MessagePack, a safer, more compact binary serialization format.
The Elusive Attribute @ RailsConf 2019
Ruby on Rails is famous for its “magic”, but there is very little out there explaining how that magic actually works under the hood. In this talk I gave at RailsConf 2019, I pick apart the magic underlying one of the most basic elements of Rails: its attributes.
Building Generic Software @ RubyConf 2018
In this presentation given at RubyConf 2018, I introduce the concept of Inversion of Control (IoC) through an example where we walk through the steps of building a framework. The framework ends up being a simplified version of Mobility.
Metaprogramming For Generalists @ EuRuKo 2018
Metaprogramming is the machinery that enables Ruby’s diverse gem ecosystem, its intuitive DSLs, and its flexible frameworks. But it is also demonized and misunderstood. In this talk, which I gave at EuRuKo 2018 in Vienna, Austria, I explain why metaprogramming is so important for building the generic components we depend on every day.
(See also the transcript of this talk.)
The Ruby Module Builder Pattern @ RubyKaigi 2017
Did you know that Ruby has configurable modules? One of the most interesting features of Ruby, the Module Builder Pattern is also probably its least well-known. In this talk given at RubyKaigi 2017, I explain this powerful feature through simple, concrete examples.