> Last updated: 2026-10-19

# Talks & Presentations

DevRelCon 2021November 07, 2021

## [Hiring Is Not Hazing](/talks/hiring_is_not_hazing)

Hiring is not hazing Tech hiring has a bad reputation for a reason – it’s usually awful. But it doesn’t have to be that way. In this talk, we’ll dive into what is wrong with many current tech hiring practices and what you can do instead. You’ll learn ways to...

[present\_to\_all Slides](/files/HiringIsNotHazingForDevRelCon.pdf)

Seattle DevOps July 2019July 25, 2019

## [How I Learned to Love Serverless](/talks/seattle_dev_ops_serverless)

Serverless is kind of a silly buzzword. After all, you can’t have websites without servers. Also, a lot of the messaging around serverless tries to make it sounds like you won’t need DevOps anymore and we all know that isn’t true. I’ll talk about the ways folks in DevOps roles...

[present\_to\_all Slides](/files/Serverless.pdf)

RubyHACK 2018May 03, 2018

## [4 Programming Paradigms in 45 Minutes](/talks/rubyhack_18)

One of the most important lessons I’ve learned is that programming languages are tools and not all tools are good for all jobs. Some tasks are easier to solve functionally. Some are clearly suited for OO. Others get simpler when you use constraint solving or pattern matching. Let’s go on...

[present\_to\_all Slides](/files/RubyHack2018.pdf)

Rails Conf 2018April 19, 2018

## [Testing in Production](/talks/rails_conf_18)

Test All the F\*\*\*ing Time is one of the values of the Ruby community. But how many of us test in production in addition to running our test suites as part of CI? This talk will discuss a variety of approaches to testing in prod including canaries, blue-green deployment, beta...

[present\_to\_all Slides](/files/TestingInProd.pdf)

Ada Developers Academy Info SessionMarch 26, 2018

## [What Is DevRel](/talks/what_is_devrel_ada)

What is Developer Relations? This talk covers on Googler’s thoughts on DevRel as an emerging field in technology including the job titles that are part of DevRel and also the skills that make someone successful in DevRel.

[present\_to\_all Slides](/files/WhatIsDevRel.pdf)

ConFoo Vancouver 2017December 03, 2017

## [Syntax Isn't Everything: NLP For Rubyists](/talks/confoo_nlp)

Natural Language Processing is an interesting field of computing. The way humans use language is nuanced and deeply context sensitive. For example, the word work can be both a noun and a verb. This talk will give an introduction to the field of NLP using Ruby. There will be demonstrations...

[present\_to\_all Slides](/files/NLP_ConFOo.pdf)

Ruby Conf 2017November 14, 2017

## [4 Programming Paradigms in 45 Minutes](/talks/rubyconf_17)

One of the most important lessons I’ve learned is that programming languages are tools and not all tools are good for all jobs. Some tasks are easier to solve functionally. Some are clearly suited for OO. Others get simpler when you use constraint solving or pattern matching. Let’s go on...

[videocam Video](https://www.youtube.com/watch?v=3TBq__oKUzk)[present\_to\_all Slides](/files/ParadigmsRubyConf2017.pdf)

Rails Conf 2017April 26, 2017

## [Syntax Isn't Everything: NLP For Rubyists](/talks/rails_conf_17)

Natural Language Processing is an interesting field of computing. The way humans use language is nuanced and deeply context sensitive. For example, the word work can be both a noun and a verb. This talk will give an introduction to the field of NLP using Ruby. There will be demonstrations...

[videocam Video](http://confreaks.tv/videos/railsconf2017-syntax-isn-t-everything-nlp-for-rubyists)[present\_to\_all Slides](/files/NLP_RailsConf2017.pdf)

Google Cloud Next 2017March 09, 2017

## [Stackdriver: monitor, diagnose, fix](/talks/gcp_next_17)

As a developer, you know that the possibility of encountering an unexpected problem, big or small, is ever looming. Sometimes these problems are obvious and easy to fix. Other times though they take some work to track down and even more work to verify that you’ve actually fixed the bug....

[videocam Video](https://www.youtube.com/watch?v=U6weNkNmC7s)[present\_to\_all Slides](/true)

Ruby Conf Australia 2017February 09, 2017

## [Datacenter Fires and Other 'Minor' Disasters](/talks/ruby_conf_au_2017)

Most of us have a “that day I broke the internet” story. Some are amusing and some are disastrous but all of these stories change how we operate going forward. I’ll share the amusing stories behind why I always take a database backup, why feature flags are important, the importance...

[present\_to\_all Slides](/files/RubyConfAU2017.pdf)

Ruby Conf 2016November 11, 2016

## [Datacenter Fires and Other 'Minor' Disasters](/talks/rubyconf_16)

Most of us have a “that day I broke the internet” story. Some are amusing and some are disastrous but all of these stories change how we operate going forward. I’ll share the amusing stories behind why I always take a database backup, why feature flags are important, the importance...

[videocam Video](http://confreaks.tv/videos/rubyconf2016-datacenter-fires-and-other-minor-disasters)[present\_to\_all Slides](/files/rubyconf_16.pdf)

Ruby Kaigi 2016September 08, 2016

## [Big Data with Rubygems.org Download Data](/talks/ruby_kaigi_16)

Many people strive to be armchair data scientists. Google BigQuery provides an easy way for anyone with basic SQL knowledge to dig into large data sets and just explore. Using the rubygems.org download data we’ll see how the Ruby and SQL you already know can help you parse, upload, and...

[present\_to\_all Slides](/files/ruby_kaigi_2016.pdf)

Gotham Ruby Conf 2016June 25, 2016

## [Exploring Big Data with rubygems.org Download Data](/talks/goruco_16)

Many people strive to be armchair data scientists. Google BigQuery provides an easy way for anyone with basic SQL knowledge to dig into large data sets and just explore. Using the rubygems.org download data we’ll see how the Ruby and SQL you already know can help you parse, upload, and...

[videocam Video](http://confreaks.tv/videos/goruco2016-exploring-big-data-with-rubygems-org-download-data)[present\_to\_all Slides](/files/GoRuCo2016.pdf)

Rails Conf 2016May 04, 2016

## [Postcards From Gorby Puff](/talks/rails_conf_16)

GorbyPuff is setting off on a grand world tour and leaving us clues so we can follow him. Using Google Cloud tools such as Cloud Vision, BigQuery, Google Translate we’ll track down Gorby at all his stops. While we’re at it we’ll learn some tools you can use to add...

[videocam Video](http://confreaks.tv/videos/railsconf2016-postcards-from-gorbypuff)[present\_to\_all Slides](/files/RailsConf2016.pdf)[code Code](https://github.com/thagomizer/examples/tree/master/RailsConf16)

Ruby on Ales 2016March 21, 2016

## [Sharpening the Axe: Self Teaching for Developers](/talks/rb_on_ales_16)

Many of us get a few years into our career and get stuck in a rut. Maybe we stop reading about the latest and greatest in tech. Maybe we start managing and do less coding than we’d like. Maybe life gets in the way and coding becomes drudgery. One way...

[videocam Video](http://confreaks.tv/videos/roa2016-sharpening-the-axe-self-teaching-for-developers)[present\_to\_all Slides](/files/RbOnAles_16.pdf)

Mountain West Ruby Conf 2016March 21, 2016

## [Sharpening the Axe: Self Teaching for Developers](/talks/mwrc_16)

Many of us get a few years into our career and get stuck in a rut. Maybe we stop reading about the latest and greatest in tech. Maybe we start managing and do less coding than we’d like. Maybe life gets in the way and coding becomes drudgery. One way...

[videocam Video](http://confreaks.tv/videos/mwrc2016-sharpening-the-axe-self-teaching-for-developers)[present\_to\_all Slides](/files/SelfTeachingMWRC2016.pdf)

Ruby Conf 2015November 14, 2015

## [Keynote: Stupid Ideas For Many Computers](/talks/rubyconf_15)

There are plenty of useful things you can do with Ruby and a bunch of servers. This talk isn’t about useful things. This talk will show off asinine, amusing, and useless things you can do with Ruby and access to cloud computing. Sentiment analysis based on emoji? Why not? Hacky...

[videocam Video](http://confreaks.tv/videos/rubyconf2015-keynote-stupid-ideas-for-many-computers)[present\_to\_all Slides](/files/rubyconf_15.pdf)

Kube Con 2015November 09, 2015

## [Stupid Ideas For Many Computers](/talks/kubecon_15)

There are plenty of useful things you can do with Ruby and a bunch of servers. This talk isn’t about useful things. This talk will show off asinine, amusing, and useless things you can do with Ruby and access to cloud computing. Sentiment analysis based on emoji? Why not? Hacky...

[present\_to\_all Slides](/files/Stupid_KubeCon15.pdf)

LA Ruby Conf 2015October 10, 2015

## [Stupid Ideas For Many Computers](/talks/la_ruby_conf_15)

There are plenty of useful things you can do with Ruby and a bunch of servers. This talk isn’t about useful things. This talk will show off asinine, amusing, and useless things you can do with Ruby and access to cloud computing. Sentiment analysis based on emoji? Why not? Hacky...

[videocam Video](http://confreaks.tv/videos/larubyconf2015-stupid-ideas-for-many-computers)[present\_to\_all Slides](/files/Stupid_LaRubyConf15.pdf)

Collision Conf 2015May 05, 2015

## [Forensic Log Analysis with Big Query](/talks/collision_bigquery_15)

It is a fact of life: When you are running a website stuff goes wrong. Someone puts a dictionary on the keyboard and reloads your site a million times. Your mobile app hits an error state and sends messages that cause 500s on your server. An external service takes 5...

[present\_to\_all Slides](/files/collision_2015.pdf)[code Code](https://github.com/thagomizer/examples/tree/master/Collision15)

Rails Conf 2015April 21, 2015

## [DevOps for the Lazy](/talks/rails_conf_15)

Like most programmers I am lazy. I don’t want to do something by hand if I can automate it. I also think DevOps can be dreadfully dull. Luckily there are now tools that support lazy DevOps. I’ll demonstrate how using Docker containers and Kubernetes allows you to be lazy and...

[videocam Video](http://confreaks.tv/videos/railsconf2015-devops-for-the-lazy)[present\_to\_all Slides](/files/RailsConf2015.pdf)[code Code](https://github.com/thagomizer/examples/tree/master/RailsConf15)

Mountain West Ruby Conf 2015March 09, 2015

## [Forensic Log Analysis with BigQuery](/talks/mwrc_15)

It is a fact of life: When you are running a website stuff goes wrong. Someone puts a dictionary on the keyboard and reloads your site a million times. Your mobile app hits an error state and sends messages that cause 500s on your server. An external service takes 5...

[videocam Video](http://confreaks.tv/videos/mwrc2015-forensic-log-analysis-with-bigquery)[present\_to\_all Slides](/true)

Ruby on Ales 2015March 04, 2015

## [Storytime with Auntie Aja](/talks/rb_on_ales_15)

I’ve been fortunate to receive some great advice during my career. Some of it is pithy, some of it is practical, and some is the little things you learn when working at semi-functional organizations. By the flickering light of a projector, I’ll pass along the my favorite pieces of wisdom...

[videocam Video](http://confreaks.tv/videos/roa2015-storytime-with-auntie-aja)[present\_to\_all Slides](/true)

Ruby Conf 2014November 16, 2014

## [A World Without Assignment](/talks/rubyconf_14)

In Ruby, assignment is our primary tool. By contrast, functional programming makes much less use of assignment and mutation. Instead techniques like function composition, recursion, and anonymous functions are used. Despite being OO, Ruby accommodates pure functional approaches. This talk will demonstrate how tasks can be accomplished without assignment. Ruby...

[videocam Video](http://confreaks.tv/videos/rubyconf2014-a-world-without-assignment)[present\_to\_all Slides](/files/rubyconf_14.pdf)

Golden Gate Ruby Conf 2014September 19, 2014

## [What Do I Do With This Giant Pile of Data?](/talks/gogaruco14)

Storage gets cheaper every year and as a result many folks are turning into data hoaders. Maybe your current project has gigabytes or even terrabytes of data sitting in storage. Perhaps some has used the words “big data”, “data mining”, or “personalized experience” as an excuse to keep paying the...

[videocam Video](http://confreaks.tv/videos/gogaruco2014-giant-pile-of-data)[present\_to\_all Slides](/files/GoGaRuCo2014.pdf)

Cascadia Ruby Conf 2014August 11, 2014

## [N Design Patterns You Might Actually Use (Where N is \< 10)](/talks/cascadia_14)

Imagine a chef who doesn’t know what the words braise, julienne, or sauté mean. Even if he is a good chef, and uses these techniques daily, he’s not going to be able to work effectively with others. He won’t be able to use published recipes. He may struggle to improve...

[videocam Video](http://confreaks.tv/videos/cascadiaruby2014-n-design-patterns-you-might-actually-use-where-n-is-10)[present\_to\_all Slides](/files/design_patterns_cascadia_14.pdf)

Seattle.rb May 2014April 01, 2014

## [May Coding Challenge](/talks/project_euler_coding_challenge_seattle_rb)

I’d like more participants and fewer audience members at Seattle.rb’s monthly meeetings. To remedy this I’m putting my money where my mouth is and offering up $100 to be split between two winners of a Coding Challenge during May 2014. Rules Contest runs from May 7th 12:00 PM - June...

[present\_to\_all Slides](/files/EulerChallengeMay2014.pdf)

Mountain West Ruby Conf 2014March 20, 2014

## [A World Without Assignment](/talks/mwrc_14)

In OO, assignment is one of our main tools. Most developers learn how to store values in variables shortly after learning “Hello World”. By contrast, functional programming makes much less use of assignment and mutation. Instead techniques like function composition, recursion, and anonymous functions are used to produce the same...

[videocam Video](http://confreaks.tv/videos/mwrc2014-a-world-without-assignment)[present\_to\_all Slides](/files/no_assignment_mwrc_14.pdf)

Cascadia Ruby Conf 2013October 21, 2013

## [We're sorry, but something went wrong](/talks/cascadia_13)

"but in this world nothing can be said to be certain, except death and taxes" -- Ben Franklin If Ben was a programmer, he probably would have said "death, taxes, AND BUGS". How we handle things when something goes wrong can be the difference between an all-nighter and a good...

[videocam Video](http://confreaks.tv/videos/cascadiaruby2013-we-re-sorry-but-something-went-wrong)[present\_to\_all Slides](/files/something_went_wrong.pdf)

Golden Gate Ruby Conf 2013September 20, 2013

## [Seeing the Big Picture: Quick and Dirty Data Visualization with Ruby](/talks/data_viz_gogaruco_13)

Data is a hot buzz word in the industry. Every day there are more startups with “Big Data” somewhere in their elevator pitch. There are dozens of devices to record how we sleep, what we eat, how much we exercise, even how often we breathe. Every action we take online...

[videocam Video](http://confreaks.tv/videos/gogaruco2013-seeing-the-big-picture-quick-and-dirty-data-visualization-with-ruby)[present\_to\_all Slides](/files/dataviz_gogaruco_13.pdf)[code Code](https://github.com/thagomizer/data_visualization_talk)

Windy City Rails 2013September 12, 2013

## [Seeing the Big Picture: Quick and Dirty Data Visualization with Ruby](/talks/data_viz_windy_13)

Data is a hot buzz word in the industry. Every day there are more startups with “Big Data” somewhere in their elevator pitch. There are dozens of devices to record how we sleep, what we eat, how much we exercise, even how often we breathe. Every action we take online...

[present\_to\_all Slides](/files/dataviz_windy_city_13.pdf)[code Code](https://github.com/thagomizer/data_visualization_talk)

Mountain West Ruby Conf 2013April 03, 2013

## [A Testing Anti-Pattern Safari](/talks/mwrc_13)

Wild test suites often contain inefficient or ineffective tests. Working with a code base full of these beasts is frustrating and time consuming. This safari will help you identify and hunt down common testing anti-patterns. Afterwards you’ll know how to approach a test suite full of beasts without losing your...

[videocam Video](http://confreaks.tv/videos/mwrc2013-going-on-a-testing-anti-pattern-safari)[present\_to\_all Slides](/files/TestingAntiPatternsPDF.pdf)

Cascadia Ruby Conf 2012August 03, 2012

## [A Taste of Prolog](/talks/cascadia_12)

When I talk about Prolog people seem to have one of three reactions: love it, hate it, or huh? Prolog is different enough from Ruby that it can be difficult to grok at first. When you get over that initial hump though you’ll see where it shines. In this talk,...

[videocam Video](http://confreaks.tv/videos/cascadiaruby2012-a-taste-of-prolog)[present\_to\_all Slides](/files/prolog_cascadia_12.pdf)

Ruby Conf 2011September 29, 2011

## [Powerful (but Easy) Data Visualization with the Graph Gem (Extended Edition)](/talks/rubyconf_11)

Many projects involve large datasets. While humans are master pattern matchers, trying to find patterns and issues by looking at reams of text is hard. Sometimes you just need the 30,000 foot view but creating diagrams by hand is time consuming and prone to error. The graph gem makes it...

[videocam Video](http://confreaks.tv/videos/rubyconf2011-powerful-but-easy-data-visualization-with-the-graph-gem)[present\_to\_all Slides](/files/graph_ruby_11.pdf)

Cascadia Ruby Conf 2011July 29, 2011

## [Powerful (but Easy) Data Visualization with the Graph Gem](/talks/cascadia_11)

Many projects involve large datasets. While humans have evolved to be master pattern matchers, trying to find patterns and potential issues by looking at database rows and xml is hard. Creating diagrams is helpful but manually creating them is time consuming and prone to error. The graph gem makes it...

[videocam Video](http://confreaks.tv/videos/cascadiaruby2011-powerful-but-easy-data-visualization-with-the-graph-gem)[present\_to\_all Slides](/files/graph_cascadia_11.pdf)
