Skip to content

Instantly share code, notes, and snippets.

View rossta's full-sized avatar
💭
Being curious

Ross Kaffenberger rossta

💭
Being curious
View GitHub Profile
@rossta
rossta / ruby-resources.md
Last active January 26, 2024 19:58
Resources I recommend for learning Ruby and Rails

Resources I recommend to learn Ruby and Rails

New? Start here

I like jumping into tutorials first.

"How to write Ruby" Books

@rossta
rossta / urlToPDF.js
Created June 2, 2023 19:33
Generate PDF from webpage with puppeteer
import puppeteer from 'puppeteer';
const [, , url, folder = '.'] = process.argv;
if (!url) throw 'Must supply URL';
(async () => {
const browser = await puppeteer.launch({ headless: 'new' });
const page = await browser.newPage();
@rossta
rossta / stripe_customer.rb
Created April 8, 2021 10:48
FactoryBot factory for a Hash class (i.e., not an ActiveRecord model)
FactoryBot.define :stripe_customer, class: Hash do
skip_create
initialize_with { new(attributes) }
id { "cus_#{SecureRandom.hex(7)}" }
object { "customer" }
address { nil }
balance { 0 }
created { 1.day.ago.to_i }
currency { "usd" }
@rossta
rossta / webpacker.config.development.js
Created April 18, 2020 13:36
Webpacker's development webpack config output via console.dir()
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
rossta / benchmark_open.rb
Created January 2, 2020 16:33
Comparing open from disk to open-uri
require "benchmark"
require "open-uri"
require "pathname"
n = 1_000
Benchmark.bm do |benchmark|
benchmark.report("open(url).read") do
n.times do
open("http://localhost:3035/packs/manifest.json").read
@rossta
rossta / rossta.zsh-theme
Last active October 31, 2018 00:55
My ZSH theme
PROMPT_PREFIX="%{$fg[blue]%}[%{$reset_color%}"
PROMPT_SUFFIX="$fg[blue]%}]%{$reset_color%}"
HOST_PROMPT="%{$fg_bold[green]%}%n@%m"
DATE_PROMPT="$PROMPT_PREFIX%{$fg[red]%}%D{%I:%M:%S}$PROMPT_SUFFIX"
PWD_PROMPT="$PROMPT_PREFIX%{$fg[white]%}%~$PROMPT_SUFFIX"
LEADER_PROMPT="%{$fg_bold[blue]%}\$%{$reset_color%}"
PROMPT=$'$HOST_PROMPT $DATE_PROMPT$PWD_PROMPT$RUBY_PROMPT$(git_prompt_info)\
$LEADER_PROMPT '
@rossta
rossta / test-headless-chrome.log
Last active August 16, 2018 15:34
Selenium output for Rails system tests with SSL
Capybara starting Puma...
* Version 3.12.0 , codename: Llamas in Pajamas
* Min threads: 0, max threads: 4
* Listening on ssl://127.0.0.1:61719?key=/Users/ross/dev/learnzillion/system-test-demo/config/ssl/ssl-lvh.me.key&cert=/Users/ross/dev/learnzillion/system-test-demo/config/ssl/ssl-lvh.me.crt
2018-08-16 10:52:20 -0400: SSL error, peer: 127.0.0.1, 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: 127.0.0.1, 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 ["127.0.0.1", 9515]
2018-08-16 10:52:22 DEBUG Selenium polling for socket on ["127.0.0.1", 9515]
Starting ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e) on por
@rossta
rossta / pdf.js
Created May 1, 2018 18:10
Example using PDF.js
import range from 'lodash/range'
import('pdfjs/dist').then(pdfjs => {
pdfjs
.getDocument('wibble.pdf')
.then(pdf => {
const pagePromises = range(1, pdf.numPages).map(number => pdf.getPage(number))
return Promise.all(pagePromises)
})
.then(
@rossta
rossta / checklist.md
Last active May 17, 2018 20:07
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
rossta / talks.md
Last active April 12, 2018 13:53
RailsConf recommended talks

RailsConf - Recommended Talks

Tues, April 17

Morning

  • 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