Skip to content

Instantly share code, notes, and snippets.

View mboersma's full-sized avatar

Matt Boersma mboersma

  • Boulder, CO
  • 09:29 (UTC -06:00)
View GitHub Profile
@mboersma
mboersma / yaml2json
Last active July 31, 2023 12:34
YAML to JSON one-liner
python3 -c 'import sys, yaml, json; y=yaml.safe_load(sys.stdin.read()); print(json.dumps(y))'
@mboersma
mboersma / json2yaml
Last active March 8, 2023 10:31
JSON to YAML one-liner
python3 -c 'import sys, yaml, json; j=json.loads(sys.stdin.read()); print(yaml.safe_dump(j))'
@mboersma
mboersma / demo.py
Created March 6, 2012 16:44
Selenium webdriver demo script
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
driver = webdriver.Chrome()
# Log in to OpDemand
driver.get('http://c2-local.opdemand.com:8000/login')
assert driver.title == u'OpDemand / Login'
@mboersma
mboersma / proxy.js
Created June 5, 2012 22:03
node-http-proxy example
var url = require('url'),
http = require('http'),
nodeStatic = require('node-static'),
httpProxy = require('http-proxy');
// create node-http-proxy instance
var proxy = new httpProxy.HttpProxy({
target: {
host: 'localhost',
@mboersma
mboersma / text_progress.py
Last active December 20, 2015 18:29
A simple, threaded ASCII progress animation class.
"""
Show (indeterminate) progress by animating ASCII chars on stdout.
"""
from itertools import cycle
from sys import stdout
from threading import Event
from threading import Thread
from time import sleep
@mboersma
mboersma / sync_deis.sh
Last active December 27, 2015 04:39
Sync local Deis code to a remote controller and restart services
#!/bin/bash -ex
CONTROLLER=deis.mydomain.com
rsync -Pav --exclude=docs/ --exclude=htmlcov/ --exclude=logs/ --exclude=venv/ --exclude=.git/ \
--exclude='contrib/vagrant/nodes' --exclude='deis/local_settings*' --exclude='*.pyc'\
$HOME/Projects/deis/* deis@$CONTROLLER:/opt/deis/controller
ssh deis@$CONTROLLER 'sudo restart deis-server ; sudo restart deis-worker'
@mboersma
mboersma / wipe_controller.sh
Created November 5, 2013 16:21
Removes all objects but your user-validator from Chef. USE WITH CAUTION &c &c.
#!/bin/bash
knife data bag delete -y deis-apps
knife data bag delete -y deis-formations
knife data bag delete -y deis-users
knife node bulk delete -y '.*'
#knife cookbook bulk delete -y '.*'
knife client bulk delete -y '^(?!.*?validator).*'
@mboersma
mboersma / DockerMacClient.md
Last active May 26, 2017 06:43
Build Docker on Mac OS X and run it as a client connected to a Linux VM running the docker daemon.

Run Docker client on Mac OS X connected to a Linux VM

Official Mac Docker Binary!

None of this is really necessary now that the Docker team is releasing official Mac OS X binary builds. Please see moby/moby#3337 for details.

@mboersma
mboersma / Go pre-commit
Last active December 6, 2017 02:00
Go project pre-commit hook
#!/bin/sh
# Save this file as ".git/hooks/pre-commit" in your
# git repository and set it to executable.
#
# To use the "go vet" command:
# $ go get -v code.google.com/p/go.tools/cmd/vet
# To use the "golint" command:
# $ go get -v github.com/golang/lint/golint
@mboersma
mboersma / nse.sh
Created May 28, 2014 20:16
nsenter script
#!/bin/sh
PID=$(docker inspect --format="{{ .State.Pid }}" $1)
nsenter --pid --uts --mount --ipc --net --target $PID