Skip to content

Instantly share code, notes, and snippets.

View lykkin's full-sized avatar
🐄
Moo

Bryan Clement lykkin

🐄
Moo
View GitHub Profile
@lykkin
lykkin / gist:a5cbff5873234cc13104
Last active August 29, 2015 14:08
pre and post condition wrappers
42 def pre(f, preds):
43
44 @wraps(f)
45 def inner(*args, **kwargs):
46 for pred in preds:
47 assert pred(*args, **kwargs)
48 return f(*args, **kwargs)
49
50 return inner
51
@lykkin
lykkin / gist:cf115bb24a5f93e8f7c9
Last active August 29, 2015 14:10
dumb profiler stuff
from functools import wraps
from datetime import datetime
def memo(f):
cache = {}
@wraps(f)
def inner(*args, **kwargs):
key = str(args) + str(kwargs)
@lykkin
lykkin / gist:32537cca0ed8dcb6058b
Last active August 29, 2015 14:13
more language stuff
data BExp = TRUE
| FALSE
| AND BExp BExp
| OR BExp BExp
| NOT BExp
| QUANT QExp
beval :: BExp -> Bool
beval TRUE = True
asyncMap = function(fn, list, callback){
var counter = 0;
var result = list.slice();
list.forEach(function(elem, index){
setTimeout(function(){
if(++counter === result.length){
callback(result);
}
result[index] = fn(elem);
},
#include <stdio.h>
int main(int argc, char *argv[]){
int x = 1;
x += x++ + ++x;
printf("%i", x);
}
// +build darwin
package plugins
import (
"os/exec"
"log"
"strconv"
)
type Cpu struct {
from random import random
envs = [1, 2]
swapping = 0
staying = 0
for x in xrange(100000000):
if random() <= .5:
envs.reverse()
@lykkin
lykkin / gist:4c78353359af480c176c
Created February 13, 2015 00:40
measuring accuracy as a function on number of samples for the monte carlo approx of pi
from random import random
from math import pi, fabs
accuracies = {
'10': 0,
'100': 0,
'1000': 0,
'10000': 0,
'100000': 0,
from random import random
value = 0
acc = 0
payout = 2
for n in xrange(1, 1000001):
for x in xrange(10000000):
if random() <= .5:
from functools import wraps
from datetime import datetime
def time(f):
@wraps(f)
def inner(*args, **kwargs):
start = datetime.now()
res = f(*args, **kwargs)
delta = datetime.now() - start