Skip to content

Instantly share code, notes, and snippets.

Jeff Terrace jterrace

Block or report user

Report or block jterrace

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@jterrace
jterrace / distribute_chips.py
Created Sep 20, 2018
Programmatically determine how to distribute your chips for Take Your Chances game
View distribute_chips.py
import sys
DICE_SIDES = 6
distribution = [0] * DICE_SIDES
for d1 in range(1, DICE_SIDES + 1):
for d2 in range(1, DICE_SIDES + 1):
delta = abs(d1 - d2)
distribution[delta] += 1
distribution = [
@jterrace
jterrace / git-annex-gcs.sh
Last active Sep 17, 2019
An example of how to use Google Cloud Storage with git-annex
View git-annex-gcs.sh
# Initialize git and git-annex
$ mkdir annex-gcs-test
$ cd annex-gcs-test/
$ git init
Initialized empty Git repository in /Users/jterrace/annex-gcs-test/.git/
$ git annex init "my machine"
init my machine ok
(Recording state in git...)
# Set up AWS credentials
@jterrace
jterrace / disk-vs-internet.py
Created Aug 30, 2012
Creates a graph comparing disk read throughput to Internet speeds over time
View disk-vs-internet.py
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import rc
rc('text', usetex=True)
rc('font', family='sans-serif')
rc('font', size='16')
# source: http://download.broadband.gov/plan/fcc-omnibus-broadband-initiative-(obi)-technical-paper-broadband-performance.pdf
@jterrace
jterrace / debug.py
Created Jul 19, 2012
Drops python to a debugger on unhandled exceptions
View debug.py
"""Import this module to make python drop to the debugger
when an undhandled exception is raised.
Original script from:
http://code.activestate.com/recipes/65287/
"""
import sys
__old_excepthook__ = sys.excepthook
@jterrace
jterrace / xvfb
Created Jun 11, 2012
xvfb init script for Ubuntu
View xvfb
XVFB=/usr/bin/Xvfb
XVFBARGS=":1 -screen 0 1024x768x24 -ac +extension GLX +render -noreset"
PIDFILE=/var/run/xvfb.pid
case "$1" in
start)
echo -n "Starting virtual X frame buffer: Xvfb"
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
echo "."
;;
stop)
@jterrace
jterrace / lang-llvm.js
Created Jun 1, 2012
LLVM plugin for google-code-prettify
View lang-llvm.js
/**
* @fileoverview
* Registers a language handler for LLVM.
*
*
* To use, include prettify.js and this file in your HTML page.
* Then put your code in an HTML tag like
* <pre class="prettyprint lang-llvm">(my LLVM code)</pre>
*
*
@jterrace
jterrace / shaper.sh
Created Feb 23, 2012
A utility script for traffic shaping with tc
View shaper.sh
#!/bin/bash
#
# shaper.sh
# ---------
# A utility script for traffic shaping using tc
#
# Usage
# -----
# shape.sh start - starts the shaper
# shape.sh stop - stops the shaper
@jterrace
jterrace / fuzzymath.py
Created Feb 14, 2012
A collection of fuzzy floating point utility functions for Python
View fuzzymath.py
import math
def almostEqual(a, b, rtol=1.0000000000000001e-05, atol=1e-08):
"""Checks if the given floats are almost equal. Uses the algorithm
from numpy.allclose."""
return math.fabs(a - b) <= (atol + rtol * math.fabs(b))
def floor(v):
"""Returns the floor of the given number, unless it is equal to its
ceiling (within floating point error)."""
@jterrace
jterrace / gist:1823320
Created Feb 14, 2012
Automatically log in user after django-registration activation
View gist:1823320
from registration.signals import user_activated
from django.contrib.auth import login, authenticate
def login_on_activation(sender, user, request, **kwargs):
"""Logs in the user after activation"""
user.backend = 'django.contrib.auth.backends.ModelBackend'
login(request, user)
# Registers the function with the django-registration user_activated signal
user_activated.connect(login_on_activation)
@jterrace
jterrace / remove_dup_tris.py
Created Nov 3, 2011
Removing duplicate triangles with numpy
View remove_dup_tris.py
import numpy as np
def remove_duplicates(array_data, return_index=False, return_inverse=False):
"""Removes duplicate rows of a multi-dimensional array. Returns the
array with the duplicates removed. If return_index is True, also
returns the indices of array_data that result in the unique array.
If return_inverse is True, also returns the indices of the unique
array that can be used to reconstruct array_data."""
unique_array_data, index_map, inverse_map = np.unique(
array_data.view([('', array_data.dtype)] * \
You can’t perform that action at this time.