Optimizing for the Important Things

Optimizing for the important things is one of my serious lightning talks. Originally given at Ignite Pittsburgh, this 5-minute motivational talk has been given in many cities including San Francisco and Portland.

Authorizers, Extractors, and Policy objects

Recently I was working on a Rails 4 project, and much to my surprise, my favorite authorization framework is not supported! CanCan had long been my "go-to" framework for its simplicty and readability. I started searching the Internet for alternative gems, but m...

Unit Testing Chef Cookbooks

Okay, now that I'm done ranting about how to Unit test, let's move onto Chef. I spoke at Chef Summit a few months ago and received a lot of questions about ChefSpec. It's very difficult to demonstrate the value in a Unit test when everyone is thinking at a high...

Unit Testing Correctly

Let's talk about testing. Testing is fun, it's awesome, and if you want to be agile, it's a necessity. But chances are, you're doing it wrong. Before we dive into Chef, let's look at a small Ruby example. Consider a class writes a downloads an HTML page from a ...

Two Factor SSH Authentication

With many popular websites providing two factor authentication, why shouldn't you add two-factor authentication to SSH? Public-key, Private-key encryption is generally considered to be very secure, but why not take an extra step? This tutorial will use the open...