Skip to content

Instantly share code, notes, and snippets.

View seanh's full-sized avatar

Sean Hammond seanh

View GitHub Profile
@seanh
seanh / mergelog.py
Created April 25, 2010 18:50
A custom merge driver for git, for automatically merging my 'log.txt' file in a simplistic way.
#!/bin/env python
"""mergelog
This is a custom merge driver for git. It should be called from git
with a stanza in .git.config like this:
[merge "mergelog"]
name = A custom merge driver for my log.txt file.
driver = ~/scripts/mergelog %O %A %B %L
recursive = binary
@seanh
seanh / gist:543749
Created August 22, 2010 13:12
Read-only attributes in Python.
In [1]: class Foo:
...: def __init__(self,x):
...: self._x = x
...: def getx(self):
...: return self._x
...: x = property(getx)
...:
...:
In [2]: f = Foo(5)
text = open('unknownEndings.txt','rU').read()
open('localEndings.txt','w').write(content)
lines = open('unknownEndings.txt','rU').readlines()
open('localEndings.txt','w').writelines(lines)
@seanh
seanh / gist:555602
Created August 28, 2010 21:30
Keyboard shortcuts in PyGTK
self._window.connect("key-press-event",self._key_press_event)
def _key_press_event(self,widget,event):
keyval = event.keyval
keyval_name = gtk.gdk.keyval_name(keyval)
state = event.state
ctrl = (state & gtk.gdk.CONTROL_MASK)
if ctrl and keyval_name == 's':
self._notewindow.save()
elif ctrl and keyval_name == 'l':
@seanh
seanh / markdown-plugin.py
Created September 28, 2010 01:51
The PyBlosxom Python Markdown plugin as a preformatter.
import markdown
md = markdown.Markdown(output_format='html4',extensions=['extra',])
def cb_preformat(args):
if args['parser'] == 'markdown':
html = md.convert(''.join(args['story']))
md.reset()
return html
@seanh
seanh / markdown-plugin.py
Created September 28, 2010 02:05
PyBlosxom Python Markdown plugin as postformatter.
import markdown
md = markdown.Markdown(output_format='html4',extensions=['extra',])
def cb_postformat(args):
entry_data = args['entry_data']
entry_data['body'] = md.convert(''.join(entry_data['body']))
md.reset()
+(CCScene *) scene
{
CCScene *scene = [CCScene node]; // scene is autorelease
LookAtMeSetting *setting = [[[LookAtMeSetting alloc] initWithBackground:@"sky.png" terrain:@"grass.png"] autorelease];
[scene addChild: setting];
return scene;
}
CGRect convertRectToWorldSpace(CCNode *node, CGRect rect)
{
CGPoint globalOrigin = [node.parent convertToWorldSpace:rect.origin];
CGRect globalRect = CGRectMake(globalOrigin.x, globalOrigin.y, rect.size.width, rect.size.height);
return globalRect;
}
@interface MyClass : NSObject {
@private
BOOL myarray[32][24];
}
@end
<!-- Import jQuery. -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function fetchAndPrintPosts(id,num,tag)
{
// Read data from Tumblr, this creates the variable tumblr_api_read.
jQuery.ajax({
type: "GET",
url : "http://staff.tumblr.com/api/read/json?num=" + num + "&filter=text&tagged=" + tag,