Skip to content

Instantly share code, notes, and snippets.

View minghan's full-sized avatar

Ming Han Teh minghan

View GitHub Profile
@minghan
minghan / memoize.py
Created July 7, 2011 18:28
Python Memoize Example
# Memoize Example
class Pak(object):
# Do not use @staticmethod here
def memoize(key):
def decfunc(f):
def newfunc(self):
if not hasattr(self, key):
setattr(self, key, f(self))
@minghan
minghan / .indent.pro
Created July 7, 2011 18:34
Indent profile for --linux for older versions of indent
-nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0 -d0 -di1 -nfc1 -i4 -ip0 -l80 -lp -npcs -nprs -npsl -sai -saf -saw -ncs -nsc -sob -nfca -cp33 -ss -ts8000
@minghan
minghan / sphinx-autopackage
Created July 8, 2011 04:08
Sphinx autopackage guide
https://bitbucket.org/etienned/sphinx-autopackage-script/src/7199e9725789/generate_modules.py
Example usage:
./generate_modules.py ~/path/to/some/package -d ~/dest/path/
@minghan
minghan / compile_exec.py
Created July 8, 2011 18:37
Python Compile and Exec test
# Compile and Exec test
# Just making sure that exec deals with scoping correctly
#
# Note that the compile statement compiles code into bytecode, but does not execute it
# Reference: http://lucumr.pocoo.org/2011/2/1/exec-in-python/
def pakrox2():
print "pakrox2 external"
code = ""
# Using @property
class Pakrox(object):
def __init__(self):
self._pak = 10
@property
def pak(self):
return self._pak
@minghan
minghan / underscore.py
Created July 13, 2011 20:18
Camecase to Underscore lowercase
import re
def underscore(text):
def repl(m):
return "_" + m.group(0).lower()
return re.sub(r"([A-Z])", repl, text)
print underscore("helloWorld")
@minghan
minghan / microbookmarklet.js
Created July 23, 2011 03:49
Microbookmarklet
javascript: var script = document.createElement("script"); script.src="http://www.example.com/random.js"; document.body.appendChild(script); void(0);
@minghan
minghan / multiproc.py
Created July 27, 2011 09:40
Multiprocessing example
from multiprocessing import Pool, JoinableQueue, Manager
# Note that jqueue.task_done() must be called to decrement the count if jqueue.join() is to be used correctly.
import time, os, signal
def handler(signum, frame):
print "signal caught in %d" % os.getpid()
signal.signal(signal.SIGTERM, handler)
# Tips from http://t2.unl.edu/documentation/graphtool/new-install
mkdir ~/eggs
export PYTHONPATH=$PYTHONPATH:~/eggs
export PATH=$PATH:~/eggs
# echo "export PYTHONPATH=$PYTHONPATH:~/eggs" >> ~/.bashrc
# echo "export PATH=$PATH:~/eggs" >> ~/.bashrc
curl -O http://peak.telecommunity.com/dist/ez_setup.py
#!/bin/sh
rmiregistry &
java EventManager &
echo "Started EM"
clean_up()
{
pkill rmiregistry