Skip to content

Instantly share code, notes, and snippets.

View mikehale's full-sized avatar

Michael Hale mikehale

  • RoleModel Software
  • Holly Springs, NC
View GitHub Profile
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.github.jasf.beamoff</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/beamoff.app/Contents/MacOS/beamoff</string>
</array>
$ ruby
loop {
begin
begin
exit 1
ensure
p $!
raise "foo"
end
#!/usr/bin/env ruby
require "excon"
require "active_support"
require "active_support/subscriber"
# Translates excon instrumentation events into rails style with
# namespace last. Yuck!
class ExconToRailsInstrumentor
def self.instrument(name, datum, &block)
@mikehale
mikehale / sync-gists.rb
Last active December 9, 2017 00:39
Sync all your gists to local disk
#!/usr/bin/env ruby
require 'excon'
require 'json'
module EnumerableEnumerator
def self.included(base)
base.extend ClassMethods
@mikehale
mikehale / backoff_when_throtted.rb
Created September 17, 2014 04:16
Excon middleware to exponentially backoff when throttled by AWS APIs
require 'fog'
class BackoffWhenThrottled < Excon::Middleware::Base
def error_call(datum)
datum[:throttle] ||= {}
datum[:throttle][:max_retries] ||= 0
datum[:throttle][:max_delay] ||= 30
datum[:throttle][:retry_count] = 0
if throttled?(datum)
@mikehale
mikehale / cloud.cfg
Created August 7, 2014 14:15
Commented cloud.cfg
$ cat cloud-init_0.7.5/etc/cloud/cloud.cfg
# The top level settings are used as module
# and system configuration.
# A set of users which may be applied and/or used by various modules
# when a 'default' entry is found it will reference the 'default_user'
# from the distro configuration specified below
users:
- default
@mikehale
mikehale / app.rb
Created April 22, 2014 20:43
Workaround for sinatra-assetpack with SSL
require 'sinatra'
require 'rack-test-ext'
configure :production do
use Rack::SSL
Rack::Test::Session.custom_env['HTTPS'] = 'on'
end
assets do
css :application, [ '/css/app.css' ]
#!/usr/bin/env ruby
require 'optparse'
require 'excon'
require 'json'
require 'uri'
require 'netrc'
class LibratoLogsUriFetcher
attr_reader :name, :user, :secret
$ time be ruby -e 'puts "Hello World"'
Hello World
bundle exec ruby -e 'puts "Hello World"' 0.51s user 0.06s system 93% cpu 0.613 total
$ ruby --version
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.5.0]
$ time be ruby -e 'puts "Hello World"'
Hello World
bundle exec ruby -e 'puts "Hello World"' 12.71s user 0.40s system 183% cpu 7.132 total
$ ruby --version
#!/usr/bin/env ruby
require 'socket'
require 'net/https'
require "uri"
# Pings all addresses of an ELB every INTERVAL
interval = (ARGV[0] || 1).to_f
elb_name = ARGV[1]