Instantly share code, notes, and snippets.

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://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
View 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(
View checklist.md

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
View talks.md

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
View ABOUT.md

Montrose

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
View bangbangcon-proposal.md

Title

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

Abstract

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.

View initializers:hello.js
console.log('initializer hello.js');
View serviceworker.js
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.open('mysite-dynamic').then(function(cache) {
return cache.match(event.request).then(function (response) {
return response || fetch(event.request).then(function(response) {
cache.put(event.request, response.clone());
return response;
});
});
})
View keybase.md

Keybase proof

I hereby claim:

  • I am rossta on github.
  • I am rossta (https://keybase.io/rossta) on keybase.
  • I have a public key ASBcO-l0V-5tVb1-FdQHOO7JBLthnAggypJpXmtFWYs3Mgo

To claim this, I am signing this object:

View FLATTEN-REFINEMENT.md

FlattenRefinement

A Ruby refinement to demonstrate flattening of a nested array without using Array#flatten. Flattening logic is identical to my original implementation done as a Ruby module.

Exposes Array#custom_flatten when used as a refinement; one advantage to using a refinement is not having to check for non-array argument types. I'd be less inclined to use refinements in a production app given they haven't gained a lot of traction in the Ruby community, but I believe they're good for experimentation.

Usage

using FlattenRefinement