Talks & Presentations

DevRelCon 2021

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...

Seattle DevOps July 2019

How I Learned to Love 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...

RubyHACK 2018

4 Programming Paradigms in 45 Minutes

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...

Rails Conf 2018

Testing in Production

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...

Ada Developers Academy Info Session

What Is DevRel

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.

ConFoo Vancouver 2017

Syntax Isn't Everything: NLP For Rubyists

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...

Ruby Conf 2017

4 Programming Paradigms in 45 Minutes

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...

Rails Conf 2017

Syntax Isn't Everything: NLP For Rubyists

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...

Google Cloud Next 2017

Stackdriver: monitor, diagnose, fix

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....

Ruby Conf Australia 2017

Datacenter Fires and Other 'Minor' Disasters

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...

Ruby Kaigi 2016

Big Data with Rubygems.org Download Data

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...

Rails Conf 2016

Postcards From Gorby Puff

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...

Ruby Conf 2015

Keynote: Stupid Ideas For Many Computers

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...

Kube Con 2015

Stupid Ideas For Many Computers

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...

LA Ruby Conf 2015

Stupid Ideas For Many Computers

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...

Collision Conf 2015

Forensic Log Analysis with Big Query

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...

Rails Conf 2015

DevOps for the Lazy

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...

Mountain West Ruby Conf 2015

Forensic Log Analysis with BigQuery

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...

Ruby on Ales 2015

Storytime with Auntie Aja

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...

Ruby Conf 2014

A World Without Assignment

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...

Golden Gate Ruby Conf 2014

What Do I Do With This Giant Pile of Data?

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...

Seattle.rb May 2014

May Coding Challenge

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...

Mountain West Ruby Conf 2014

A World Without Assignment

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...

Cascadia Ruby Conf 2013

We're sorry, but something went wrong

"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...

Mountain West Ruby Conf 2013

A Testing Anti-Pattern Safari

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...

Cascadia Ruby Conf 2012

A Taste of Prolog

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,...