Shopping Cart – let the bundling begin!

at March 13th, 2014

Groupon recently spent a year building a shopping cart feature for the website. This feature was first a/b tested on Groupon’s web platform to determine whether users would benefit from its functionality. After starting at 1% and scaling the a/b test to 100%, it was clear in the first month of full functionality that the… Read More

Black Hole Proxy for Selenium Testing

at July 29th, 2013

Even if you are new to automated testing of websites, you have probably already discovered Selenium. It’s a great tool for mimicking real user interactions with web applications. Selenium will help you cut down on the tedium of testing every single form. There is a price to pay because all of Selenium’s testing is done… Read More

MongoDB Data Locality

at June 18th, 2013

This article is part one of two detailing my talk at MongoDB San Francisco 2013. The video and slides for the entire talk can be found here. Before selling a Groupon for two hours of trampoline jump time we must find and contact a high-quality purveyor of jumping. To do this, we acquire as much… Read More

The Point of No Return

at May 14th, 2012

What a Ruby function looks like to a mind full of Java method If you’re used to Java, your methods let everyone know if you’re going to return something, and what kind of thing you are going to return. I also like to think you mark out when and where you will return it with… Read More

No Tags

Bugwatch: Visualization for Release Engineers

at May 8th, 2012

Visualizing the changes in health across your codebase and collecting metrics can be a meaningful strategy to catching issues early before they can cause destruction in your production environment. With this goal in mind, I developed a metrics dashboard for Ruby projects called Bugwatch. Bugwatch provides a convenient dashboard that enables you to track and… Read More

The Urbanairship Gem: Sending Push Notifications with Ruby

at February 6th, 2012

If you’re building an app that sends push notifications, Urban Airship is a service that can save you a lot of headache. They provide a common API for sending notifications to iOS, Android and Blackberry devices, as well as some useful features like notification batching, scheduling, and the ability to tag devices to make sending… Read More

Lessons Learned From Teaching Rails

at February 6th, 2012

For the past six months, I’ve been teaching a four-day course for new Groupon Engineering hires that covers Ruby, Rails, RSpec, Cucumber, Git, and some Groupon-specific workflow, modeling, and scale issues. In general, new technical hires go through the course even if they aren’t immediately starting work on the web application, which means that the… Read More