Skip to content

Instantly share code, notes, and snippets.

Avatar

jeremy avnet brainsik

View GitHub Profile
@brainsik
brainsik / gist:775788
Created Jan 12, 2011
Wolever, put this in your .ssh/config
View gist:775788
Host foo
User blah
HostName foo.bar.baz
Port 42
@brainsik
brainsik / gist:971526
Created May 13, 2011
sudo -H for Fabric
View gist:971526
import fabric.api
from contextlib import contextmanager
@contextmanager
def shell(new_shell):
old_shell, env.shell = env.shell, new_shell
yield
env.shell = old_shell
@brainsik
brainsik / gist:976895
Created May 17, 2011 — forked from mwhooker/gist:969121
ambient steampunk
View gist:976895
good discussion at
http://www.last.fm/group/Steampunk/forum/42787/_/376230
some interesting first starts
http://sites.google.com/site/chinasteamengine/
http://www.lifesdecay.com/Home/Home.html
your life will get very strange for a little while after clicking this link
http://www.youtube.com/watch?v=cycXIYdFGsQ
@brainsik
brainsik / postactivate
Created Jun 5, 2011
Keep per virtualenv postactivate scripts in WORKON_HOME
View postactivate
#!/bin/bash
# This hook is run after every virtualenv is activated.
script="$VIRTUALENVWRAPPER_HOOK_DIR/postactivate-"$(basename $VIRTUAL_ENV)
if [ -r $script ]; then
source $script
fi
@brainsik
brainsik / dotdict.py
Created Jun 11, 2011
Override Python's dict with this for JS style dot notation access :-)
View dotdict.py
# encoding: utf-8
class DotDict(dict):
def __init__(self, *a, **kw):
dict.__init__(self, *a, **kw)
for key in self:
self._validate_key(key)
def _validate_key(self, key):
@brainsik
brainsik / example.sh
Created Jul 31, 2011
hack so mkvirtualenv uses a different interpreter
View example.sh
# create a temporary directory
mkdir tmp_python; cd tmp_python
# symlink "python" to the interpreter you want
ln -s `which python2.6` python
# have mkvirtualenv use the python symlink
PATH="$PWD:$PATH" mkvirtualenv py26party
# clean up
cd ..; rm -rf tmp_python
@brainsik
brainsik / color_log.py
Created Sep 24, 2011
ANSI colored Python logging
View color_log.py
import logging
from termcolor import colored
class ColorLog(object):
colormap = dict(
debug=dict(color='grey', attrs=['bold']),
info=dict(color='white'),
warn=dict(color='yellow', attrs=['bold']),
@brainsik
brainsik / gist:4280136
Created Dec 13, 2012
A simple way for Python cron tasks to exit if another process is currently running. Does not use a pidfile.
View gist:4280136
import os
import subprocess
import shlex
def bail_if_another_is_running():
cmd = shlex.split("pgrep -u {} -f {}".format(os.getuid(), __file__))
pids = subprocess.check_output(cmd).strip().split('\n')
if len(pids) > 1:
pids.remove("{}".format(os.getpid()))
@brainsik
brainsik / curlit.sh
Created Oct 31, 2013
Solves the "coding" challenge at letsrevolutionizetesting.com
View curlit.sh
x='http://letsrevolutionizetesting.com/challenge'; while :; do r=`curl -s -H "Accept: application/json" $x`; x=`echo $r | grep -E -o 'http[^"]+'`; if ! echo "$x" | grep -q http; then echo $r; break; fi; echo $x; done
@brainsik
brainsik / monocle_tx_redis_sub.py
Created Nov 14, 2013
Monocle Twisted Redis subscriber
View monocle_tx_redis_sub.py
# encoding: utf-8
import sys
import monocle
monocle.init("twisted")
from monocle import _o
from monocle.stack import eventloop
import txredis.client
from twisted.internet import reactor, protocol
You can’t perform that action at this time.