Revivify

August 02, 2024

It’s a spell in Dungeons & Dragons, a thing that you cast after a character has been killed in combat. It’s used to restore someone who’s only mostly dead … but, like the man in black, it’ll take some time to actually recover.

Rom-rails Authenticating With Omniauth

May 10, 2018

This is the second step of a walkthrough of setting up a rom/rails project. The goal here is to add and configure an omniauth integration, pulling and storing user authentication data. I’ll also show how to restrict authentication to a particular domain.

Building a New Rails App With Rom-rails

April 13, 2018

This is step one of a walkthrough for building a new app with rom-rails. I’ll talk about my justifications and philosophy in another post; my intention here is to walk through the initial creation of a rom-rails application.

War Stories: Kafka Partition Lag

November 03, 2016

Recently, I and a number of colleagues spent the better part of a week chasing down some baffling behavior in a kafka consumer. After a routine1 cluster upgrade, we observed that one of the partitions in a deal publication topic was lagging further and further behind, negatively affecting our production processes.

Replace While Loop With Enumerator

January 28, 2016

Sometimes, it looks like it is not possible to avoid using an accumulating array, a pattern that feels unnatural in Ruby. Recently, I’ve need to chase down and unroll pagination links over a JSON / REST api. I don’t know how many pages there will be, and it’s probable (but not guaranteed) that I need to retrieve and use all of the content. Since each page is dependant on results from the previous page, there is no obvious Enumerable parallel. Here, I’ll demonstrate a quick refactoring that will provide in a clean, lazy enumerable object.