Skip to content

Instantly share code, notes, and snippets.

View bobpoekert's full-sized avatar
🗿
.

Bob Poekert bobpoekert

🗿
.
View GitHub Profile
#!/usr/bin/env python
# Number to guess: How large of a prime can we find,
# using a naive algorithm, in a second?
import sys
import itertools
import math
from libc.stdlib cimport malloc, free
cimport libc.stdio as stdio
@bobpoekert
bobpoekert / streamcount.py
Created May 13, 2011 06:55
stream count
from twisted.web.client import getPage
import json
@after(getPage, key=lambda channel: "http://api.justin.tv/api/stream/list.json?channel=%s" % channel)
def viewer_count(response, channel):
data = json.loads(response)
return data[0]['stream_count']
@bobpoekert
bobpoekert / after.py
Created May 13, 2011 06:24
The @after decorator
from twisted.internet.defer import Deferred
def noop(*args):
return args
class proxy(object):
def __init__(self, fn):
self.defer = Deferred()
self.fn = fn
@bobpoekert
bobpoekert / twisted.py
Created May 13, 2011 06:27
twisted Twisted
def doThing(important, information):
return dataDependency(important, information).addCallback(_doThing, important, information)
def _doThing(data, important, information):
...
@after(dataDependency)
def doThing(data, important, information):
...
@after(getFromDatabase)
@after(getFromWeb)
def got_data(from_database, from_web):
...
@bobpoekert
bobpoekert / saw-chant.ck
Created June 25, 2011 16:18
My first Chuck instrument
MidiIn min;
MidiMsg msg;
if (!min.open(0)) me.exit();
SinOsc s => Gain g => DelayL d => dac;
s => Gain g2 => dac;
d => Gain g3 => d;
15::ms => d.delay;
0.1 => g.gain;
@bobpoekert
bobpoekert / js_catcher.js
Created July 22, 2011 20:55
Catch array of exceptions
var catcher = function() {
var fns = Array.prototype.slice.call(arguments);
var onerror = fns[0];
fns.splice(0, 1);
return function() {
var res = [];
var errors = [];
for (var i=0; i < fns.length; i++) {
try {
res.push(fns[i].apply(this, arguments));
@bobpoekert
bobpoekert / test_gist
Created September 15, 2011 17:16
Testing twitter
This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long. This tweet is too long.
@bobpoekert
bobpoekert / monte_carlo_filter.py
Created April 7, 2012 04:20
Monte Carlo noise effect
import Image
import random
target = Image.open('target.png').convert('RGB')
target_distance = 10
def make_image():
return Image.new('RGB', target.size)