Skip to content

Instantly share code, notes, and snippets.

View bobpoekert's full-sized avatar
🗿
.

Bob Poekert bobpoekert

🗿
.
View GitHub Profile
@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 / 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 / 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;
@after(getFromDatabase)
@after(getFromWeb)
def got_data(from_database, from_web):
...
@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']
@after(dataDependency)
def doThing(data, important, information):
...
@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):
...
@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
var tail = function(fname, onData, ender) {
fs.open(fname, 'a+', function(err, fd) {
if (err) {
puts('tail error: '+err);
if (ender(fd, 0) !== false) {
setTimeout(function(){
tail(fname, onData);
}, 10);
}
} else {
var tail = function(fname, onData, ender) {
fs.open(fname, 'a+', function(err, fd) {
if (err) {
puts('error!: '+err);
if (ender(fd, 0) !== false) {
setTimeout(function(){
tail(fname, onData);
}, 10);
}
} else {