Skip to content

Instantly share code, notes, and snippets.

View micahbf's full-sized avatar

Micah Buckley-Farlee micahbf

View GitHub Profile
@micahbf
micahbf / prune_local_branches.rb
Last active August 29, 2015 13:56
Prune local branches which have merged PRs on a GitHub repo
#!/usr/bin/env ruby
require 'octokit'
require 'git'
require 'optparse'
require 'io/console'
default_options = {
:owner => 'coupa',
:github_repo => 'coupa_development',
@micahbf
micahbf / github_status_hipchat_notify.rb
Last active August 29, 2015 13:57
Get HipChat notifications when GitHub has service issues. Now dependency-free!
#!/usr/bin/env ruby
require 'net/https'
require 'json'
LAST_MESSAGE_FILE = "#{File.dirname(__FILE__)}/last_github_status.json"
HIPCHAT_API_KEY = 'secret'
HIPCHAT_ROOM = 'Notifications'
class GithubStatus
@micahbf
micahbf / db_cached.rake
Last active August 29, 2015 13:57
Cache your clean test DB for blazingly fast test environment setup
# this rakefile is designed to be run alone. rails needs to be explicitly loaded if needed
require 'digest/sha1'
require 'fileutils'
require 'yaml'
namespace :db do
namespace :cached do
desc 'load the cached dump or regenerate if necessary'
task :setup_all do
@micahbf
micahbf / caltrain_departures.rb
Created April 3, 2014 22:43
Realtime Caltrain departures
#!/usr/bin/env ruby
require 'open-uri'
require 'nokogiri'
TRANSIT_TOKEN = 'b2b9c476-6788-4a14-857b-fa3e828f99d0'
STOP_CODE = '70091'
# San Mateo NB: 70091
# San Mateo SB: 70092
# Hayward Park NB: 70101
# Hayward Park SB: 70102
@micahbf
micahbf / bookmarklet.js
Created September 3, 2014 21:09
A little bookmarklet to remove the annoying attribute lists from RubyProf call stacks
javascript: (function () { var links = document.getElementsByTagName("a"); for(var i = 0; i < links.length; i++) { var link = links[i]; link.innerText = link.innerText.replace(/\([^)]*\)>?#/, "#") }; }());
@micahbf
micahbf / core_ext.rb
Created April 17, 2015 02:55
Hash#deep_assoc
class Hash
def deep_assoc(*keys)
current = fetch(keys.shift, nil)
return current if keys.empty?
return nil unless current.is_a?(Hash)
current.deep_assoc(*keys)
end
end
@micahbf
micahbf / .spacemacs.el
Last active December 15, 2015 04:50
.spacemacs
;; -*- mode: emacs-lisp -*-
;; This file is loaded by Spacemacs at startup.
;; It must be stored in your home directory.
(defun dotspacemacs/layers ()
"Configuration Layers declaration."
(setq-default
;; List of additional paths where to look for configuration layers.
;; Paths must have a trailing slash (ie. `~/.mycontribs/')
dotspacemacs-configuration-layer-path '()
#!/usr/bin/env ruby
require 'time'
require 'logger'
require 'aws-sdk'
AWS_REGION = "us-east-1"
AWS_KEY_ID = ""
AWS_SECRET_KEY = ""
@micahbf
micahbf / transducers.js
Created April 21, 2016 00:34
transducers prezzo source
inc_map = function (ary) {
return ary.reduce(
function(result, input) {
return result.concat(input + 1);
}, []);
};
inc_map([1, 2, 3]);
map = function(transform, ary) {
@micahbf
micahbf / changes_to.rb
Created May 26, 2016 18:01
Find versions where a specific thing was changed
class ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_PaperTrail_Version
def changes_to
raise ArgumentError, "block required" unless block_given?
result = []
changes = scope.to_a.map do |version|
version_state = yield version.reify
[version_state, version]
end.each_cons(2).select do |old, new|
old.first != new.first