Skip to content

Instantly share code, notes, and snippets.

View mwhooker's full-sized avatar

Matthew Hooker mwhooker

  • tbd
  • San Francisco
View GitHub Profile
@mwhooker
mwhooker / zebra.md
Created March 3, 2017 21:01 — forked from joyrexus/zebra.md
Norvig's treatment of the zebra puzzle.
@mwhooker
mwhooker / wtf.py
Created August 22, 2013 06:17 — forked from anonymous/wtf.py
class A(object):
def hook(self, f):
atime = 0
def intime(*args):
print atime
atime += 1
return f(*args)
return intime
>>> f = A().hook(lambda b: b + 1)
@mwhooker
mwhooker / namedstruct.py
Created July 15, 2012 00:38 — forked from tkaemming/namedstruct.py
named structs
#!/usr/bin/env python
from collections import namedtuple
from struct import Struct
class NamedStruct(Struct):
def __init__(self, name, fields, byteorder=None):
fmt = (byteorder or '') + ''.join(field[0] for field in fields)
super(NamedStruct, self).__init__(fmt)
self.namedtuple = namedtuple(name, (field[1] for field in fields))
@mwhooker
mwhooker / jam.js
Created March 29, 2011 07:00 — forked from marlun/jam.js
var fs = require('fs'),
path = require('path'),
glob = require('glob').glob;
exports = module.exports = function jam(options) {
options = options || {};
var patterns = options.patterns || [];
var root = options.root || path.join(__dirname, 'public');
var namespace = options.namespace || 'JST';
var output = options.output || path.join(root, 'jst.js');
@mwhooker
mwhooker / save.py
Created November 17, 2009 02:00 — forked from ieure/save.py
from contextlib import contextmanager
@contextmanager
def save(obj, attrs=None):
"""Save attributes of an object, then restore them.
Example:
import breakfast
with save(breakfast, ('eggs', 'bacon')):
breakfast.Eggs = lambda: "Eggs"
<html><body>
<h1>Find a Unique Username</h1>
<p>With a limit of 15 characters</p>
<form method="get">
<label>First Name <input name="first_name" /></label>
<label>Last Name <input name="last_name" /></label>
<label>Quit after <input name="end" value="111" /></label>