Skip to content

Instantly share code, notes, and snippets.

View madssj's full-sized avatar

Mads Sülau Valstorp Jørgensen madssj

  • San Jose, United States
View GitHub Profile
# Because the package manager really should *not* be the
# judge over if you should install a package or not - I actually
# need to use sshpass because of things outside of my control.
#
# Of course I'll use a long and secure encrypted ssh key when
# possible.
#
# Sometimes this is not possible. Deal with it.
#
# Note: If you in any way can, use public/private key authentication.
@madssj
madssj / echoserver.py
Created June 4, 2013 08:38
A simple python echo server.
import asyncore
import asynchat
import socket
class Lobby(object):
def __init__(self):
self.clients = set()
def leave(self, client):
self.clients.remove(client)
@madssj
madssj / s3_restore.py
Last active December 26, 2015 08:08
Restores keys from Amazon Glaicer based on a given bucket and prefix. Uses multiprocessing to speed up marking keys as restored.
import sys
import boto
import multiprocessing
NUM_PROCS = 16
bucket_name = sys.argv[1]
prefix = sys.argv[2]
try:
@madssj
madssj / debian_upgrade_postgresql.sh
Last active December 25, 2015 04:49
A shell script to upgrade between versions of PostgreSQL on Debian. Use at your own risk.
#!/bin/sh
if [ $# -ne 2 ]
then
echo "Usage: $0 <from> <to>"
exit 1
fi
from=$1
to=$2
@madssj
madssj / gist:6103494
Created July 29, 2013 10:39
Fetches the ip address of a vagrant box's eth1.
vagrant ssh -c 'ip a s eth1 | grep "inet " | cut -d " " -f 6 | cut -d/ -f 1'
@madssj
madssj / dltr.py
Created July 1, 2013 12:48
Fast deletion of S3 bucket contents.
import sys
import boto
buckets = sys.argv[1:]
if "," in buckets:
buckets = buckets.split(",")
buckets = [bucket.strip() for bucket in buckets]
if not buckets:
sys.stderr.write("Usage: {0} <bucket> [[bucket] ...]\n".format(sys.argv[0]))
@madssj
madssj / gist:5849359
Created June 24, 2013 11:21
getsentry.com sending includeSubdomains header.
$ curl -si https://getsentry.com/welcome/ |grep includeSubdomains
Strict-Transport-Security: max-age=2592000; includeSubdomains
property FLUSH_TEXT : "Quit and flush"
property SET_TEXT : "Set speed"
-- be damn carefull what you input here, it will run as root
on ipfwLimit(bandwidth)
my ipfwFlush()
do shell script "ipfw pipe 1 config bw " & bandwidth & "KB" with administrator privileges
do shell script "ipfw add 10 pipe 1 tcp from any 80 to me" with administrator privileges
do shell script "ipfw add 11 pipe 1 tcp from me to any 80" with administrator privileges
import os
import subprocess
import threading
from Queue import Queue
ITUNES_DIR = os.path.expanduser("~/Music/iTunes/iTunes Music/")
KNOWN_EXTENSIONS = ('.mp3', '.aac')
AACGAIN_PARAMS = ['-a', '-k', '-d', '3']
AACGAIN_LOCATION = 'aacgain'
def send_plain_mail(subject, body, from_mail, to):
import smtplib
from email.MIMEText import MIMEText
from email.Encoders import encode_quopri
msg = MIMEText(body, 'plain', 'iso-8859-1')
msg['Subject'] = subject
msg['From'] = from_mail
msg['To'] = to