Skip to content

Instantly share code, notes, and snippets.

View werkshy's full-sized avatar

Andy O'Neill werkshy

View GitHub Profile
@werkshy
werkshy / git-wtf
Created November 4, 2013 19:43
Don't remember where I found this on github: shows the current state of things (what's been pushed, whether you need to pull)...
#!/usr/bin/env ruby
HELP = <<EOS
git-wtf displays the state of your repository in a readable, easy-to-scan
format. It's useful for getting a summary of how a branch relates to a remote
server, and for wrangling many topic branches.
git-wtf can show you:
- How a branch relates to the remote repo, if it's a tracking branch.
- How a branch relates to integration branches, if it's a feature branch.
# Start the autoscaler engine loop in a begin/rescue block
def start_autoscaler
@stopped = false
@heroku_manager = nil
while true do
begin
if @stopped
break
end
self.run_loop
#!/bin/sh -e
#
# /etc/init.d/pickup: Start the pickup server
#
### BEGIN INIT INFO
# Provides: pickup
# Required-Start: $local_fs $syslog $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6

Keybase proof

I hereby claim:

  • I am werkshy on github.
  • I am werkshy (https://keybase.io/werkshy) on keybase.
  • I have a public key whose fingerprint is 6A5D 2103 A497 E1FD 7584 A901 C04E 8DF7 B887 797C

To claim this, I am signing this object:

@werkshy
werkshy / config__initializers__active_merchant.rb
Created April 2, 2014 21:12
Mock Authorize.net CIM Gateway (ActiveMerchant). Released under the MIT License
# Initializer where we inject the mock gateway into global variable AUTHNET_GATEWAY or setup the real client
if !Rails.env.production?
ActiveMerchant::Billing::Base.mode = :test
end
$using_mock_auth_net_gateway = false
# Use FORCE_AUTH_NET to use the real Auth.net API in tests
# Use MOCK_AUTH_NET to use the mock Auth.net API even in development (good on a plane!)
@werkshy
werkshy / init.rb
Last active January 11, 2017 16:18
Heroku plugin that installs busybox onto a dynos before dropping you into a bash shell.
#!/usr/bin/env ruby
# Put this file at ~/.heroku/plugins/busybox/init.rb
# Call it with 'heroku busybox'
require 'heroku/helpers'
require 'heroku/command'
require 'heroku/command/run'
class Heroku::Command::Busybox < Heroku::Command::Run
@werkshy
werkshy / Makefile
Last active August 29, 2015 14:02
Makefile for ruby-protoc (generate .pb.rb files from .proto files).
# Brief makefile to create ruby objects from protocol buffer definitions
GENDIR=./lib/rails-pipeline/protobuf
RUBY_PROTOC=bundle exec ruby-protoc
PROTOS=$(wildcard $(GENDIR)/*.proto)
PBS=$(PROTOS:%.proto=%.pb.rb)
all: $(PBS)
%.pb.rb: %.proto
@werkshy
werkshy / statsd_admin_client.py
Last active August 3, 2021 21:06
Python class for interacting with the statsd admin interface. List stats, counters, timers, and gauges. Delete counters, timers, and gauges.
import socket
import simplejson as json
# Copyright (c) EnergyHub, Inc 2013
# Released under MIT license.
class StatsdAdminClient(object):
"""
A client for statsd admin interface.
Example commands: stats, counters, timers, gauges, delcounters, deltimers, delgauges, quit
#!/usr/bin/env ruby
## git-publish-branch: a simple script to ease the unnecessarily complex
## task of "publishing" a branch, i.e., taking a local branch, creating a
## reference to it on a remote repo, and setting up the local branch to
## track the remote one, all in one go. you can even delete that remote
## reference.
##
## Usage: git publish-branch [-d] <branch> [repository]
##
@werkshy
werkshy / .gitconfig
Created September 15, 2016 20:00
Git aliases for ~/.gitconfig
[alias]
s = status
st = status # svn muscle memory
stat = status # svn muscle memory
co = checkout # svn muscle memory
cp = cherry-pick # svn muscle memory
fp = push --force-with-lease # prevents force push if there's new commits on master
lol = log --pretty=oneline --abbrev-commit --graph --decorate # compact log format
recent-branches = !"git for-each-ref --sort=-committerdate refs/heads/ | head" # show recent branches
list-merged = !"git branch --merged | grep -v '\\*' | grep -v master | xargs -n 1" # list branches that are merged into master