Skip to content

Instantly share code, notes, and snippets.

View scoates's full-sized avatar

Sean Coates scoates

View GitHub Profile
@scoates
scoates / _modules:boto_fk.py
Last active October 9, 2015 03:33
Salt: Auto-assign public IPs in VPC subnets
# -*- coding: utf-8 -*-
'''
TODO
'''
# keep lint from choking on _get_conn and _cache_id
#pylint: disable=E0602
# Import Python libs
from __future__ import absolute_import
@scoates
scoates / _modules:boto_fk.py
Last active September 30, 2015 02:58
VPC peering
# …
def _get_not_deleted_peering_connections(name, vpc_conn):
unfiltered_peers = vpc_conn.get_all_vpc_peering_connections(filters={'tag:Name': name})
peers = []
for this_peer in unfiltered_peers:
if this_peer.status_code != u'deleted':
peers.append(this_peer)
return peers
@scoates
scoates / hangout.scpt
Created October 2, 2015 19:31
Start a Google Hangout in Textual with `/hangout`
on textualcmd(inputString, destinationChannel)
tell application id "com.google.Chrome"
activate
delay 0.5
if (count of (every window where visible is true)) is greater than 0 then
if URL of active tab of front window is not "chrome://newtab/" then
tell front window
make new tab
end tell
@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 / 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 / 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 / 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 / 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 / predictions.md
Last active March 18, 2020 15:14
Financial package (and new restrict) predictions

My hope/mild-expectation for Trudeau's financial package press conference tomorrow:

  • unenforceable requirement that everyone must stay home except to get food, medicine, necessary supplies
  • all offices/churches/gyms/etc. with more than 5 people must close. Everyone (except essential services including grocery and pharmacy) encouraged to close, if more than 1.
  • no gatherings of more than 10 people (current recommendation: 50)
  • all restaurants, bars, coffee shops, etc., must do delivery/pickup only; can’t have more than 10 people working
  • fed tax deadline pushed back to June 1 (filing) + July 31 (payment) (Quebec already did this)
  • shortened EI timeline, waiver of waiting period, special circumstances to allow easier qualification, added resources to administer this
  • mortgage holiday until May 1
  • immediate stimulus cheques going out; maybe up to $1000 (everyone); treated as a tax credit
  • federal corporate tax cut for small business, more coming from provinces