Skip to content

Instantly share code, notes, and snippets.

@shawnchin
shawnchin / mydatetime.py
Created January 27, 2011 17:39
custom time delta that attempts returns deltas in terms of years, months, days
#!/usr/bin/env python
from datetime import timedelta
def time_delta(d1,d2):
"""
Returns time delta as the following tuple:
("before|after|same", "years", "months", "days")
"""
if d1 == d2:
return ("same",0,0,0)
@shawnchin
shawnchin / ls-svn.py
Created January 12, 2011 12:24
(P.O.C) script to colorise ls output based on svn status
#!/usr/bin/env python
"""
Author: Shawn Chin (http://shawnchin.github.com)
Description: colorise output of `ls` based on svn status
Note:
This is a proof-of-concept implementation and only performs
a basic `ls` call in the current working directory.
"""
@shawnchin
shawnchin / prefixmatch.py
Created December 10, 2010 16:23
a trie-based prefix matching utility
#!/usr/bin/env python
# Description: a trie-based prefix matching utility
# Author: Shawn Chin (http://shawnchin.github.com)
#
# Usage:
# keys = ["BANANA", "APPLE", "DURIAN", "MANGO"]
# m = PrefixMatch(keys)
# m.add_key("ORANGE") # extend list of keys
# m.match("BANANA") # returns True (matches key)
# m.match("ORANGEBOY") # returns True (starts with key)
// return data-* attributes of a node as a dict
function getDataAttributes(node) {
var vstr = $().jquery.split(".");
var v0 = parseInt(vstr[0]) || 0,
v1 = parseInt(vstr[1]) || 0,
v2 = parseInt(vstr[2]) || 0;
// jQuery >= 1.4.4 has built in op to do this.
if ( v0 > 1 || (v0 == 1 && v1 > 4) || (v0 == 1 && v1 == 4 && v2 >= 4)) {
import sys, math
p,t,w=map(int,sys.argv[1:]) # read input
grid = [[' ']*(w+1) for i in range(0,w+1)] # prepare grid
def plot(x,y):
"""plots point on grid"""
grid[int(round(x))][int(round(y))]='x'
def line (x0, y0, x1, y1):
"""draw line using bresenham's line algorithm"""
import os
import inspect
import logging
import unittest
from glob import glob
def locate_suites(test_dirname="tests", test_file_prefix="test_"):
"""
Recursively search the test_dirname directory for *.py files that starts
with test_file_prefix and returns all test suites found within them.
@shawnchin
shawnchin / shBrushFortran.js
Created August 10, 2010 14:31
Fortran brush for SyntaxHighlighter
/*
* Fortran brush for SyntaxHighlighter
*
* SyntaxHighlighter by Alex Gorbatchev
* http://alexgorbatchev.com/
*
* Fortran brush by Shawn Chin
* Last update : 16 April 2011
* Homepage : http://shawnchin.github.com
* Brush page : http://gist.github.com/gists/517349