Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
Awake or Sleeping

Michael Bunsen mihow

💭
Awake or Sleeping
View GitHub Profile
@mihow
mihow / gist:fe5fcf403a1da12052a4e62d49e05f53
Created Feb 21, 2019
Troubleshooting remote env vars
View gist:fe5fcf403a1da12052a4e62d49e05f53
# Send system env vars
python2 -c "import os, urllib; urllib.urlopen('https://NGROK_URL', data=urllib.urlencode(os.environ))"
# Send all running processes with arguments & env vars for process
# @TODO
@mihow
mihow / import_key.py
Last active Jan 30, 2019
Import existing PEM file as EC2 Key Pair with boto3 & paramiko
View import_key.py
import os
import base64
import struct
import boto3
import paramiko
from paramiko.util import deflate_long
PEM_FILEPATH = '~/.ssh/test-key.pem'
@mihow
mihow / remove_named_docker_volume.sh
Last active Jan 28, 2019
Remove named docker volume in docker-compose project
View remove_named_docker_volume.sh
#! /bin/sh
set -e
DOCKER_COMPOSE_SERVICE_NAME=db
CONTAINER_ID=`docker-compose ps -q $DOCKER_COMPOSE_SERVICE_NAME`
FULL_VOLUME_NAME=`docker inspect --format='{{range .Mounts}}{{.Name}} {{end}}' $CONTAINER_ID`
docker volume rm $FULL_VOLUME_NAME
@mihow
mihow / test_url_with_exit_code.sh
Last active Jan 15, 2019
Test a URL in bash script and exit on failure or return failure exit code.
View test_url_with_exit_code.sh
#! /bin/bash
set -o errexit
curl --fail --show-error --location http://httpbin.org/status/200 > /dev/null
echo "It worked!"
curl --fail --show-error --location http://httpbin.org/status/500 > /dev/null
echo "It failed, but you will never see this message."
@mihow
mihow / auto_watch_releases_only.js
Created Jan 7, 2019
Change watch settings in Github to release-only in bulk
View auto_watch_releases_only.js
// By jonashaag https://github.com/isaacs/github/issues/410#issuecomment-442248565
const child_process = require('child_process')
const puppeteer = require('puppeteer')
const devices = require('puppeteer/DeviceDescriptors')
const iPhone = devices['iPhone 6']
const USER = 'youruser'
const PW = 'xxxxxx'
@mihow
mihow / export_env_file_vars.sh
Created Dec 19, 2018
Set environment vars from a file
View export_env_file_vars.sh
# Ignores commented out lines and handles spaces
# https://stackoverflow.com/questions/19331497/set-environment-variables-from-file-of-key-pair-values
export $(grep -v '^#' .env | xargs -d '\n')
@mihow
mihow / fix_database_to_utf8.py
Created Dec 7, 2018 — forked from miratcan/fix_database_to_utf8.py
Small python script that converts character sets to utf8 in all databases and tables. My solution for "Illegal mix of collations" errors. (http://stackoverflow.com/questions/3029321/how-to-solve-illegal-mix-of-collations-in-mysql)
View fix_database_to_utf8.py
from MySQLdb import connect
conn = connect(user="[USER]", passwd= "[PASSWORD]")
cur = conn.cursor()
cur.execute("show databases;")
dbs_to_update = filter(
lambda db: db not in ('information_schema', 'mysql', 'performance_schema'),
[dbname[0] for dbname in cur.fetchall()])
@mihow
mihow / config.yml
Created Nov 8, 2018
Create temporary migrations when deploying dev from CircleCi
View config.yml
# Dev only:
# Create migrations for any model changes that don't have migrations committed yet.
# Makes the migrations locally and push them up since we can't write files outside /tmp in Lambda
if [[ "${CIRCLE_BRANCH}" == "dev" ]]
then
python manage.py makemigrations --name ${CIRCLE_BRANCH}_`date "+%Y%m%d-%H%M%S"` --settings=app.settings.production
fi
zappa update -s config/zappa_settings.json ${CIRCLE_BRANCH}
@mihow
mihow / reduce_faces.py
Created Sep 8, 2017 — forked from awesomebytes/reduce_faces.py
Executing meshlab from commandline reduce faces of a mesh iteratively
View reduce_faces.py
#!/usr/bin/env python
import sys
import os
import subprocess
# Script taken from doing the needed operation
# (Filters > Remeshing, Simplification and Reconstruction >
# Quadric Edge Collapse Decimation, with parameters:
# 0.9 percentage reduction (10%), 0.3 Quality threshold (70%)
@mihow
mihow / python_file.vim
Last active Feb 11, 2017
Refactor from functions to class functions by adding `self` to all function arguments (VIM search and replace command)
View python_file.vim
# For functions with existing arguments
:%s/def \(.\+\)(\(.\+\)):/def \1(self, \2):/
# For functions with no arguments
:%s/def \(.\+\)():/def \1(self):/