Skip to content

Instantly share code, notes, and snippets.

@ben-bradley
ben-bradley / walkHighlight.js
Created March 17, 2016 21:45
dynamically navigate and modify an object
const highlight = (obj, path) => {
let steps = path.split('.'),
prop = steps.shift();
if (obj[prop] && steps.length)
return highlight(obj[prop], steps.join('.'));
else if (obj[prop])
obj[prop] = '<span style=\'background-color:yellow;\'>' + obj[prop] + '</span>';
else
return undefined;
@ben-bradley
ben-bradley / sample.proxy.class.js
Created September 30, 2015 22:07
hapiProxyClass
'use strict';
let Hapi = require('hapi'),
h2o2 = require('h2o2');
let server = new Hapi.Server();
let proxies = {};
server.connection({
@ben-bradley
ben-bradley / server.js
Created September 1, 2015 20:01
http streaming with hapi
'use strict';
import Stream from 'stream';
import config from 'config';
import Hapi from 'hapi';
let server = new Hapi.Server(config.server);
server.connection(config.connection);
@ben-bradley
ben-bradley / handler.js
Created August 11, 2015 18:44
Stream reply with Hapi
let valve = new Throtl.Valve({
limit: 20,
objectMode: true
});
reply(null, usersController
.readStream()
.pipe(valve)
.pipe(through.obj(function (user, enc, next) {
@ben-bradley
ben-bradley / convert.js
Last active August 29, 2015 14:26
Convert an object into a csv
'use strict';
var data = {
foo: 'bar',
baz: {
qux: 'zaq',
oof: 'rab'
}
},
_ = require('lodash');
@ben-bradley
ben-bradley / decodeRequest.js
Last active August 29, 2015 14:24
Decode snmpget requests
// This accepts a raw UDP buffer & decodes it into an object
let ber = require('asn1').Ber;
var PduType = {
160: "GetRequest",
161: "GetNextRequest",
162: "GetResponse",
163: "SetRequest",
164: "Trap",
165: "GetBulkRequest",
var Cylon = require('cylon');
Cylon.robot({
connections: {
sphero: { adaptor: 'sphero', port: '/dev/tty.Sphero-RPG-AMP-SPP' }
},
devices: {
sphero: { driver: 'sphero' }
},
@ben-bradley
ben-bradley / calculator.js
Created May 20, 2015 15:47
Calculate the distance between two points in 3d space
// http://math.stackexchange.com/questions/42640/calculate-distance-in-3d-space
/**
* Calculate the square root of a number
* @param {Number} n The number for which to find a square root
* @returns {Number} Returns the square root of n
*/
function sqrt(n) {
return Math.sqrt(n);
}
@ben-bradley
ben-bradley / download_2015.js
Created April 20, 2015 15:26
A small script to grab all the PCT maps from pctmap.net
var request = require('request'),
fs = require('fs'),
fnlimit = require('fnlimit');
//http://www.pctmap.net/pctdownloads/ca_section_a_map.zip
var files = [
'ca_section_a',
'ca_section_b',
'ca_section_c',
'ca_section_d',
@ben-bradley
ben-bradley / findRandom.js
Created March 17, 2015 21:35
Select a random document with Mongoose
function findRandom(limit) {
return Promise(function(resolve, reject) {
Model.count({}, function(err, count) {
var skip = _.random(0, count - limit);
Model.find().skip(skip).limit(limit).exec(function(err, docs) {
if (err)
return reject(err);
resolve(docs);
});
});