Skip to content

Instantly share code, notes, and snippets.

View scoates's full-sized avatar

Sean Coates scoates

View GitHub Profile
@scoates
scoates / check_elb_healthy_hosts.py
Created June 27, 2013 17:22
Nagios plugin to monitor AWS/EC2 Elastic Load Balancers for healthy hosts
#!/usr/bin/env python
"""
A nagios plugin for ensuring that load balancers have at least a certain
number of healthy nodes.
Usage:
Nagios Command:
define command {
command_name check_elb_healthy_hosts
@scoates
scoates / console_log.txt
Last active September 21, 2017 06:09
Sample Zappa Async Run
$ time curl -L 'https://REDACTED.execute-api.us-east-1.amazonaws.com/dev/bake?num=10'
Baked 10 items in 10.4251441956 seconds. Baking took 67 seconds.
Baked a potato in 6 seconds.
Baked a cake in 3 seconds.
Baked a casserole in 9 seconds.
Baked a casserole in 4 seconds.
Baked a cake in 9 seconds.
Baked a casserole in 5 seconds.
Baked a casserole in 7 seconds.
@scoates
scoates / zappa_settings.json
Created September 21, 2017 06:05
Zappa asunc settings
{
"stagename": {
"async_resources": true,
"async_response_table": "dynamodb_table_name",
"async_response_table_read_capacity": 2,
"async_response_table_write_capacity": 1,
}
}
@scoates
scoates / async-app.py
Last active September 21, 2017 05:59
Asynchronous results in Zappa
from zappa.async import task, get_async_response
from flask import Flask
from time import sleep, time
app = Flask(__name__)
@app.route('/bake')
def bake():
start = time()
@scoates
scoates / Vagrantfile
Last active October 21, 2016 15:00
Ensure one VM ("gateway") is running before allowing the others
# Check to see that we have a gateway running before we allow the `up` of another VM
# This is a filthy hack
if ARGV[0] != 'up'
GATEWAY_STATUS = 'running' # this is irrelevant for everything but `vagrant up`
# if we don't do this, we could fork forever in the else block, here
else
GATEWAY_STATUS = `vagrant status --machine-readable | grep 'gateway,state,' | awk -F, {'print $4'}`.strip!
if GATEWAY_STATUS != 'running'
puts "*** The gateway is not running. You can not 'up' any other VMs."
end
@scoates
scoates / vermont_hitlist.md
Last active October 5, 2016 01:24
Sean's Vermont Hitlist

This is stuff on my hit list when I'm in Vermont:

  • Hill Farmstead Brewery
  • Parker Pie (near HF) for pizza / bottles; they have a great tap list
  • Willys Store in Greensboro for HF bottles and Jasper Hill cheeses (Moses Sleeper, Cabot Clothbound, Alpha Tolman, Harbison, … )
  • There's a roadside pie shop right outside of Elmore State Park
  • Lost Nation brewery in Morristown (lunch, taps)
  • Alchemist in Stowe (the new place)
  • Doc Ponds in Stowe for eats + good taps + good bottles
  • The Bench in Stowe (same)
@scoates
scoates / loudopen.c
Created August 14, 2016 23:33
Hook into libc's open
#define _GNU_SOURCE
#include <stdio.h>
#include <dlfcn.h>
#include <sys/types.h>
#include <stdarg.h>
int open(const char* pathname, int flags, ...)
{
int (*libc_open)(const char*, int, ...);
@scoates
scoates / twitter_user_to_image
Last active December 19, 2015 09:49
Get a twitter profile image from a username. We route around bad APIs. Twitter wears the scumbag hat, these days.
#!/bin/bash
# Usage: $0 username
# e.g.:
# $ ./twitter_user_to_image coates
# https://si0.twimg.com/profile_images/1597362183/me.jpg
curl -sL http://twitter.com/$1 | grep profile_images | head -n1 | perl -p -e's/.*?http/http/;s/".*//;s/_bigger//'
alert('ownerened?')
alert('ownenated?')