Skip to content

Instantly share code, notes, and snippets.

View kirbysayshi's full-sized avatar

Drew Petersen kirbysayshi

View GitHub Profile
var through = require('through');
var path = require('path');
var ss = require('stream-stream');
var avro = require('node-avro-io');
var hdfs = require('webhdfs').createClient({
host: '' // stuff goes here
});
avrostream2('/log/ap/2014-04-01/01/ClientEvent', hdfs)
@kirbysayshi
kirbysayshi / index.js
Created April 19, 2014 22:21
requirebin sketch
// simple serial task queue. Calling .next multiple times just prompts a check
// if something is still inflight. Does not periodically check for added
// tasks in a period of inactivity
function SerialTaskQueue() {
var t = {
tasks: []
, current: null
, next: function(){
return t.current
|| (t.current = t.tasks.shift()) && t.current(function(){
@kirbysayshi
kirbysayshi / index.js
Created April 26, 2014 21:32
requirebin sketch
var vash = require('vash');
var str = ''
+ 'p {\n'
+ ' @if(model.can==\'123\') {'
+ ' float-offset: 3px;'
+ ' } else {'
+ ' float-offset: 6px;'
+ ' }'
+ '}';
@kirbysayshi
kirbysayshi / index.js
Created May 5, 2014 05:08
requirebin sketch
var nlp = require('nlp_compromise')
var sentences = nlp.pos('Cats always follow the player');
console.log(sentences);
sentences[0].tokens.forEach(function(part) {
console.log(part.pos.tag, part.pos.description, part.normalised, part.pos_reason)
});
@kirbysayshi
kirbysayshi / index.js
Created May 14, 2014 02:52
requirebin sketch
var test = require('tape');
require('tap-browser-color')();
test('test', function(t) {
setTimeout(function() {
t.ok(true);
t.end();
}, 2000)
});
@kirbysayshi
kirbysayshi / index.js
Created May 14, 2014 06:25
requirebin sketch
var tester = require('stream-tester');
var t2 = require('through2');
function dot() {
return t2.obj()
}
function key(k) {
return t2.obj(function(obj, _, cb) {
console.log('key ' + k + ' ' + (typeof obj) + JSON.stringify(obj))
@kirbysayshi
kirbysayshi / gol.js
Created June 5, 2014 15:13
game of life in < 200 bytes
var m =
[0, 1, 0, 0,
1, 0, 1, 1,
1, 0, 0, 1,
1, 0, 0, 1,
1, 0, 0, 1]
function next(m, cols) {
// up, right, down, left, up/left, up/right, down/right, down/left
@kirbysayshi
kirbysayshi / naming.js
Last active August 29, 2015 14:02
naming is hard.
// Having trouble recitfying descriptive yet short names, since
// there is a Component (data structure initializer), the instance
// of a component (component data) for an entity id, and an entity,
// which is simply an object with an `id` property (for now).
// Other constrains include trying to keep return types consistent
// (always receive an array, or always an object), and providing
// query interfaces so the underlying system can be optimized (as
// opposed to raw Objects where you just insert a string key).
@kirbysayshi
kirbysayshi / balls.png
Last active August 29, 2015 14:04
image swap using luminance
balls.png
@kirbysayshi
kirbysayshi / typejumper.js
Created August 20, 2014 08:42
image "type" juggling
function imageToCanvas(image, opt_cvs, cb) {
if (!cb) { cb = opt_cvs; }
var cvs = opt_cvs || document.createElement('canvas');
var ctx = cvs.getContext('2d');
cvs.width = image.width;
cvs.height = image.height;
ctx.drawImage(image, 0, 0);
cb(null, cvs);
}