Skip to content

Instantly share code, notes, and snippets.

View olivergeorge's full-sized avatar

Oliver George olivergeorge

  • Tasmania, Australia
View GitHub Profile
@olivergeorge
olivergeorge / typical_schema_migration.sh
Created July 25, 2011 05:43
Typical database schema migration using South
# schemamigration
./manage.py schemamigration appname --auto --stdout # sanity check
./manage.py schemamigration appname --auto # generate migration script
# migrate
./manage.py migrate # database migration
pip freeze | cut -d = -f 1 | xargs -n 1 pip search | grep -B2 'LATEST:'
@olivergeorge
olivergeorge / gist:1129207
Created August 6, 2011 09:12
Dummy SMTP server for testing #python #bash
sudo python -m smtpd -n -c DebuggingServer localhost:1025
@olivergeorge
olivergeorge / urls.py
Created August 26, 2011 08:34
URL pattern for Django Slugs
"""
Example of URL Patterns based on slug fields.
"""
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('',
url(r'^(?P<slug>[-\w]+)$', 'myapp.views.some_view', name="some_view"),
)
@olivergeorge
olivergeorge / home.html
Created August 26, 2011 08:53
Using models.permalink in Django
<a href="{% url some_model object.slug %}">{{ object.name }}</a>
or
<a href="{{ object.get_absolute_url }}">{{ object.name }}</a>
@olivergeorge
olivergeorge / logrank.py
Created September 17, 2011 04:54
Read search rank information for keywords in google referrer urls
from urlparse import urlparse
from cgi import parse_qs
import sys, re
RE_URL = re.compile('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')
for line in sys.stdin.readlines():
try:
match = re.search(RE_URL, line)
@olivergeorge
olivergeorge / model.py
Created March 13, 2012 03:16
Decision Tree implementation for Django (pesudo code)
# Based on: http://springfans.com/ieeeSoftware/accChange.pdf
class DecisionTable(models.Model):
"""Decision Table"""
code = models.CharField(unique=True, max_length=8, verbose_name="Unique code for finding a decision table in code")
name = models.CharField(blank=True, max_length=100, verbose_name="User friendly name for decision table")
def __unicode__(self):
@olivergeorge
olivergeorge / excel.clj
Created June 26, 2012 04:37
Some Excel date functions translated to clojure
; Date algorithms from...
; http://rjbaker.org.uk/software/datetime.html
; notleap(y)=[mod(y,4)+2)/3]
(defn NOTLEAP [y]
(TRUNC (/ (+ (mod y 4) 2) 3)))
; doy(y,m,d) = [275m/9] - [(m+9)/12] * (1+notleap(y) ) + d - 30
; = \__p1__/ + (-1 * \___p2___/ * \_____p3____/ ) + d + -30
(defn DAY_OF_YEAR [[y m d]]
@olivergeorge
olivergeorge / browser-error.log
Created July 2, 2012 00:16
Sample code to demonstrate error when using cljs-binding with compiler optimisations
Uncaught Error: No protocol method ISeqable.-seq defined for type function: function () {cljsbinding.boot()}
@olivergeorge
olivergeorge / index.html
Created July 3, 2012 07:04
Demonstrate bug in IE8 focus - change handler blocking focus change?
<html>
<body>
<form>
<input name="input1" bindatom="bindings.input1">
<br/>
<input name="input2" bindatom="bindings.input2">
<br/>
<input type="submit">