Conference Talks

I love speaking! I’ve given talks at ~33 conferences in 17 countries including OSCON and RailsConf. I love theatrics and storytelling. My two favorite talks are currently:

The Life-Changing Magic of Tidying Active Record Allocations (2019)

I turned this into a blog post with full technical examples

Saving Sprockets (2016)

Right now I’m really interested in exploring Open Source and the process of taking people from observers to collaborators. What do I know about Open Source? I built and maintain a platform with 65,000+ developers who want to grow their Open Source skills.

For 2020-2021 I’m not planning on applying to any conferences due to a high work and course-load. But if you want to invite me to a conference I might say yes! Timezones are a factor so North America and South America confs are preferred.

You can reach me: richard [at] heroku.com, with subect line “Come speak at our conference!”.

Why would you ever want me to speak at your conference? Take a look at some of the talks I’ve delivered in the past.

Beware the Dreaded Dead End!! (2021)

Nothing stops a program from executing quite as fast as a syntax error. After years of “unexpected end” in my dev life I decided to “do” something about it. I built an over-the-top AI driven solution that finds syntax errors in Ruby code.

Discover why this 100% ridiculous solution was 100% worth-it. Bring your sense of adventure and you’ll walk away with an intro to AI, a short primer on Ruby syntax, and all the friends we made along the way.

Beyond the talks, this idea was popular enough to be considered for inclusion in Ruby 3.2! Discussion

Locations

  • BangBangCon (Online)
  • RubyKaigi (Online)
  • RubyConf (Online)

The Life-Changing Magic of Tidying Active Record Allocations (2019)

Your app is slow. It does not spark joy. In this talk, we will use memory profiling tools to discover performance hotspots. We will use this technique with a real-world application to identify a piece of optimizable code in Active Record that leads to a patch with substantial page speed impact.

Locations

  • Keynote RubyConf Thailand (Bangkok, Thailand)
  • RailsConf (Minneapolis, Minesota - USA)
  • EuRuKo (Rotterdam, Netherlands)
  • SouthEast Ruby (Nashville, Tennessee - USA)

Threads Aren’t Evil (2017)

Okay, so threads are pretty evil. But they are also useful, and given the right development patterns, not impossible to work with. In this talk we’ll look at some real world Ruby libraries where threads were applied to accomplish otherwise impossible tasks. We’ll look at re-writing a real world library to support parallel execution by threads for performance gains. If you’re not comfortable with the “T” word (threads), this talk is the perfect introduction to practical thread programming in Ruby

Locations

  • Keynote Rails Club (Moscow, Russia)

Bayes is BAE (2017)

Before programming, before formal probability there was Bayes. He introduced the notion that multiple uncertain estimates which are related could be combined to form a more certain estimate. It turns out that this extremely simple idea has a profound impact on how we write programs and how we can think about life. The applications range from machine learning and robotics to determining cancer treatments. In this talk we’ll take an in depth look at Bayes rule and how it can be applied to solve problems in programming and beyond.

Locations

  • RailsConf (Phoenix, Arizona - USA)

SLOMO (2016)

No one wants to be stuck in the slow lane, especially Rubyists. In this talk we’ll look at the slow process of writing fast code. We’ll look at several real world performance optimizations that may surprise you. We’ll then rewind to see how these slow spots were found and fixed. Come to this talk and we will “C” how fast your Ruby can “Go”.

Locations

  • Keynote RubyConf India (Hyderabad, India)
  • OSCON (Austin, Texas - USA)
  • RubyConf (Cincinnati, Ohio -USA)

Saving Sprockets (2016)

What do you do when a maintainer leaves a project with over 44 million downloads? That is what we had to consider this year when Sprockets lost the developer responsible for more than 70% of the commits. In this talk we will look at recent efforts to revive Sprockets, and make it more maintainable. We will look into how your projects can be structured to avoid burnout and survive a change of maintainers. Let’s save Sprockets.

Locations

  • Keynote Windy City Rails (Chicago, Illinois - USA)
  • RailsConf (Kansas City, Missouri - USA)

Speed Science - Debugging Ruby Memory (2015)

Run your app faster, with less RAM and a quicker boot time today. How? With science! In this talk we’ll focus on the process of turning performance problems into reproducible bugs we can understand and squash. We’ll look at real world use cases where small changes resulted in huge real world performance gains. You’ll walk away with concrete and actionable advice to improve the speed of your app, and with the tools to equip your app for a lifetime of speed. Live life in the fast lane, with science!

Locations

  • RailsConf (Atlanta, Georgia - USA)

Going the Distance (2014)

If you’ve ever misspelled a word while searching on Google, you’ve benefitted from decades of distance algorithm development. In this talk we’ll break down some popular distance measurements and see how they can be implemented in Ruby. We’ll look at real world applications with some live demos. It won’t matter if you get your kicks “Hamming” it up, if you drink your coffee in a “Levenshtein”, or if you’re new to Ruby: this talk is Rated R, for “all Rubyists”. You’ll be guaranteed to walk away with O(n^n) expectations met.

Locations

  • RubyConf (San Diego, California - USA)
  • Rails Pacific (Taipei, Taiwan)
  • RubyKaigi (Tokyo, Japan)

The Good Rubyist Challenge (2014)

Level up your programming game, and change the world. In this talk we will look at specific and actionable goals for all skill levels to hone your programmings skills and master your craft. We will cover what it takes to go from no-grammer to a senior level programmer and everything in between. Don’t come to this talk if you don’t want to be motivated, you don’t want to succeed, and certainly if you don’t want a good swift kick in your Ruby programming pants.

  • Slides
  • No video, you had to be there (MagmaConf)

Locations

  • MagmaConf (Manzanillo, Mexico)

Testing the Untestable (2014)

Good tests are isolated, they’re repeatable, they’re deterministic. Good tests don’t touch the network and are flexible when it comes to change. Bad tests are all of the above and more. Bad tests are no tests at all: which is where I found myself with a 5 year legacy codebase running in production and touching millions of customers with minimal use-case documentation. We’ll cover this experience and several like it while digging into how to go from zero to total test coverage as painlessly as possible. You will learn how to stay sane in the face of insane testing conditions, and how to use these tests to deconstruct a monolith app. When life gives you a big ball of mud, write a big ball of tests

Locations

  • Big Ruby (Dallas, Texas - USA)
  • Ancient City Ruby (St. Augustine, Florida - USA)

Way of the Herokai (2013)

At Heroku we’re obsessed with doing things the right way. The “Heroku Way” is a set of principles, workflows, and guiding canons we all subscribe to live and work by. Learn how a small company grew from a startup to power over two million apps, while keeping its culture and its soul. See how we craft code, ship products, and stay productive with remote teams. Meditate on what it means to build a culture, and practice the way of the Herokai.

Locations

  • Devs Love Bacon (London, England)

Dissecting Ruby with Ruby (2013)

Underneath the beautiful veneer of our Ruby libraries lies a twisted tangle of writhing guts. Maybe you’re curious how the pieces fit together or maybe you’re tracking down a bug, either way it’s easy to get lost in the blood and bile that ties our code together. In this talk you’ll learn how to use simple and sharp Ruby tools to slice into large libraries with surgical precision. Turn your impossible bugs into pull requests, and level up your programming skills by Dissecting Ruby with Ruby.

Locations

  • RubyConf India (Pune, India)
  • Wicked Good RubyConf (Boston, Massachusetts - USA)
  • RailsConf (Portland, Oregon - USA)
  • RubyConf Uruguay (Montevideo, Uruguay)
  • Lone Star RubyConf (Austin, Texas - USA)

Millions of Apps - What we learned (2013)

Heroku has deployed millions of web apps. When you’ve run that many applications, it’s hard not to notice when frameworks and developers do things wrong, and when they do them right. We’ve taken a look at the most common patterns and boiled down the best of our advice in to 12 simple factors that can help you build your next app to be stable, successful, and scaleable. After this talk you’ll walk away with in depth knowledge of web framework design patterns and practical examples of how to improve your application code.

Locations

  • Barcelona Ruby Conference (BaRuCo) (Barcelona, Spain)
  • Burlington RubyConf (Burlington, Vermont - USA)
  • Australia RubyConf (Melbourne, Australia)
  • Rails Israel (Tel Aviv, Israel)
  • RubyKaigi (Tokyo, Japan)

Countries

  • Australia (Melbourne)
  • England (London)
  • Japan (Tokyo)
  • India (Pune & Hyderabad)
  • Israel (Tel Aviv)
  • Russia (Moscow)
  • Spain (Barcelona)
  • Philippines (Boracay)
  • Poland (Wroclaw)
  • France (Paris)
  • Netherlands (Rotterdam)
  • Mexico (Manzanillo)
  • Taiwan (Taipei)
  • Thailand (Bangkok)
  • Singapore (Singapore)
  • United States (SF, Honolulu, Portland, Austin, Burlington, Dallas, St. Augustine, Chicago, San Diego, Cincinnati, Phoenix, Boston, Nashville)
  • Uruguay (Montevideo)

I’ve not spoken in Africa or Antartica. If you’re organizing a conf on either continent and want me to come speak, let me know ;)