Skip to content

Instantly share code, notes, and snippets.

Being curious

Ross Kaffenberger rossta

Being curious
View GitHub Profile
rossta / stripe_customer.rb
Created Apr 8, 2021
FactoryBot factory for a Hash class (i.e., not an ActiveRecord model)
View stripe_customer.rb
FactoryBot.define :stripe_customer, class: Hash do
initialize_with { new(attributes) }
id { "cus_#{SecureRandom.hex(7)}" }
object { "customer" }
address { nil }
balance { 0 }
created { }
currency { "usd" }
rossta / webpacker.config.development.js
Created Apr 18, 2020
Webpacker's development webpack config output via console.dir()
View webpacker.config.development.js
ConfigObject {
mode: 'development',
output: {
filename: 'js/[name]-[contenthash].js',
chunkFilename: 'js/[name]-[contenthash].chunk.js',
hotUpdateChunkFilename: 'js/[id]-[hash].hot-update.js',
path: '/path/to/rails/app/public/packs',
publicPath: '/packs/',
pathinfo: true
rossta / benchmark_open.rb
Created Jan 2, 2020
Comparing open from disk to open-uri
View benchmark_open.rb
require "benchmark"
require "open-uri"
require "pathname"
n = 1_000 do |benchmark|"open(url).read") do
n.times do
View rossta.zsh-theme
rossta / test-headless-chrome.log
Last active Aug 16, 2018
Selenium output for Rails system tests with SSL
View test-headless-chrome.log
Capybara starting Puma...
* Version 3.12.0 , codename: Llamas in Pajamas
* Min threads: 0, max threads: 4
* Listening on ssl://
2018-08-16 10:52:20 -0400: SSL error, peer:, peer cert: , #<Puma::MiniSSL::SSLError: OpenSSL error: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request - 336027804>
2018-08-16 10:52:21 -0400: SSL error, peer:, peer cert: , #<Puma::MiniSSL::SSLError: OpenSSL error: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request - 336027804>
2018-08-16 10:52:21 DEBUG Selenium Executing Process ["/Users/ross/.gem/ruby/2.4.1/bin/chromedriver", "--port=9515"]
2018-08-16 10:52:21 DEBUG Selenium polling for socket on ["", 9515]
2018-08-16 10:52:22 DEBUG Selenium polling for socket on ["", 9515]
Starting ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e) on por
rossta / pdf.js
Created May 1, 2018
Example using PDF.js
View pdf.js
import range from 'lodash/range'
import('pdfjs/dist').then(pdfjs => {
.then(pdf => {
const pagePromises = range(1, pdf.numPages).map(number => pdf.getPage(number))
return Promise.all(pagePromises)
rossta /
Last active May 17, 2018
Triathlon Race checklist

Triathlon Race Checklist

Pre-race shopping

  • plastic ziploc bags
  • pickle juice
  • travel-size squirt bottles
  • gatorades
  • 2-3 gallons of water
  • carbo-pro, gatorade drink mix
rossta /
Last active Apr 12, 2018
RailsConf recommended talks

RailsConf - Recommended Talks

Tues, April 17


  • Who Destroyed Three Mile Island?
  • The GraphQL Way: A new path for JSON APIs

  • Access Denied: the missing guide to authorization in Rails
  • The Doctor Is In: Using checkups to find bugs in production
rossta /
Last active Mar 12, 2018
Explaining montrose.rb


Montrose is a Ruby gem I wrote to specify and enumerate recurring events in Ruby. The source is hosted on Github.

The why: Dealing with recurring events is hard. Montrose provides a simple interface for specifying and enumerating recurring events as Time objects for Ruby applications.

More specifically, this project intends to:

  • model recurring events in Ruby
  • embrace Ruby idioms
rossta /
Last active Feb 4, 2018


Iris! Iris! Iris! The story of the 2004 Texas State Botball Championships


It's lunchtime at the all-day Botball competition and, for one group of students, things were not going well. Their robot was malfunctioning. They'd lost every contest in the morning round robin. From other competitors, they received insults and scorn. With the afternoon elimination tournament looming, perhaps it would be easier to quit.

An improbable team from inner-city Houston with enters a state-wide robotics competition. Iris, their captan, is a quiet ninth-grader with a knack for debugging under pressure. Their teacher, a former biology major, learned to program alongside his students in their afterschool robotics club. Together, they embark on impossible quest and emerge transformed.