Skip to content

Instantly share code, notes, and snippets.


Christoph Champ christophchamp

View GitHub Profile
christophchamp /
Created Apr 22, 2012
Vet a given E-mail address
def vet_email(email_address):
"""Vet email addresses. The local part (the part before the '@') must not
exceed 64 characters and the domain part (after the '@') must not
exceed 255 characters. The entire email address length must not exceed
320 characters.
local_part = re.sub(r'^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$', '\\1', email_address)
domain_part = re.sub(r'^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$', '\\2', email_address)
if len(local_part) > 64:
return False
christophchamp /
Created Jul 29, 2012
Calculates amino acid codon frequency
# Calculate amino acid codon frequency
from collections import defaultdict
#the first 600 nucleotides from GenBank: AAHX01097212.1
rna = ("tcccccgcagcttcgggaacgtgcgggctcgggagggaggggcctggcgccgggcgcgcg"
View gist:6419896
import hmac
from hashlib import sha1
from sys import argv
from time import time
if len(argv) != 5:
print 'Syntax: <method> <url> <seconds> <key>'
print 'Example: GET' \
christophchamp /
Created Oct 2, 2013
This simple script will change/update the Content-Type for all objects in our Rackspace Cloud Files container.
import os
import pyrax
YOUR_REGION="" # E.g., "ORD", "DFW", etc.
#pyrax.set_setting('identity_type', 'rackspace')
christophchamp / rackspace_token
Created Nov 8, 2013
Rackspace authenticated token
View rackspace_token
$ MYRAXTOKEN=`curl -s -XPOST -d'{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"$MYRAXUSERNAME","apiKey":"'$MYRAXAPIKEY'"}}}' -H"Content-type:application/json" | python -c 'import sys,json;data=json.loads(;print data["access"]["token"]["id"]'`
christophchamp / multi-upload_cloud_files
Last active Apr 27, 2019
Upload multiple files to Rackspace Cloud Files using Linux CLI
View multi-upload_cloud_files
$ REGION=dfw; CONTAINER_NAME=sandbox; for i in *.png; do curl -XPUT -T $i -v -H "X-Auth-Token:$MYRAXTOKEN" -H"Content-Type: text/plain" "https://storage101.${REGION}${CONTAINER_NAME}/$i"; done
christophchamp /
Created Nov 25, 2013
Upload a tarball to a Rackspace Cloud Files container and extract its contents.
# SEE:
# NOTE: That "Content-Type: " _must_ be blank if you want the API to guess the types!
token=`./ |grep ^X-Auth-Token |cut -d: -f2`
curl -i -XPUT \
-H "X-Auth-Token: $token" \
-H "Content-Type: " \
christophchamp /
Created Jan 16, 2014
This script creates a Cloud Server in your Rackspace account. It then creates an image of that server, and, finally, creates a new server from that saved image.
# NAME: pyrax_create_cloud_server
# AUTHOR: Christoph Champ
# DESCRIPTION: This script creates a Cloud Server in your Rackspace account.
# It then creates an image of that server, and, finally, creates a new server
# from that saved image.
# NOTES: Within each of the created VMs, the generated credentials are in
# master_server.adminPass and clone_server.adminPass. To access the box, use
# master_server.accessIPv4 and clone_server.accessIPv4.
# However, it is _much_ better/safer/wiser to use SSH keypairs.
christophchamp /
Created Mar 26, 2014
Remove a Rackspace Cloud Network from a Cloud Server
# SEE:
USERNAME=<REDACTED> # This is your Rackspace account's username
API_KEY=<REDACTED> # This is your Rackspace account's API Key
ACCOUNT=<REDACTED> # This is your Rackspace account number
REGION=dfw # Or, "iad", "ord", "lon", "syd", "hkg"
# Authenticate to obtain your 24-hour valid token:
TOKEN=`curl -s -XPOST -d'{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"'$USERNAME'","apiKey":"'$API_KEY'"}}}' -H"Content-type:application/json" | python -c 'import sys,json;data=json.loads(;print data["access"]["token"]["id"]'`

Keybase proof

I hereby claim:

  • I am christophchamp on github.
  • I am xtof ( on keybase.
  • I have a public key whose fingerprint is 8D0A 5408 3B16 7656 6B65 EBAC 26D5 622E 8B70 5E64

To claim this, I am signing this object: