Skip to content

Instantly share code, notes, and snippets.

View syzer's full-sized avatar
🐕
Woof! Woof!

syzer syzer

🐕
Woof! Woof!
View GitHub Profile
@syzer
syzer / server.js
Created August 20, 2014 11:29
Middleware expres disable query param
/**
* Created by syzer on 8/20/2014.
*/
var port = 1337;
var express = require('express');
var app = express();
function disablePopulate(req, res, next) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
console.log('disabling malicious populate on request from ip', ip);
{
"result": "SUCCESS",
"interfaceVersion": "1.0.3",
"requested": "10/17/2013 15:31:20",
"lastUpdated": "10/16/2013 10:52:39",
"tasks": [
{
"id": 104,
"complete": false,
"priority": "high",
@syzer
syzer / gist:e7a69e8a31205766a7c0
Created November 3, 2014 16:52
FP workshop gist
// task #function composiotion
var articles = [
{
title: 'Why OO Sucks by Joe Armstrong',
url: 'http://www.bluetail.com/~joe/vol1/v1_oo.html',
author: {
name: 'Joe Armstrong',
email: 'empty@email.com'
}
},
function makeSandwich() {
var preparedFood = 'Here is a sandwich with: ';
return {
addLattice: function () {
// Lattice logic here
preparedFood += 'Lattice';
return this;
},
addBacon: function () {
@syzer
syzer / gist:a5ebde3031d76744397e
Last active August 29, 2015 14:11
Decorators are awesome
/**
* Created by syzer on 12/19/2014.
* ex shows how to decouple constant error checking from function/class body
* AKA TypeScript AKA WarnScript :)
*/
var _ = require('lodash');
function doStuffNumberPlusOneTimes(number, fun) {
"use strict";
/**
* Created by syzer on 4/8/2015.
*/
module.exports = function (_) {
'use strict';
return {
objectMerger: objectMerger,
mergeObjectsInArr: mergeObjectsInArr,
objToSortedArr: objToSortedArr,
@syzer
syzer / gist:207e6e9e1bbb1412e2e1
Created April 8, 2015 16:02
dracula loading text
var jsSpark = require('js-spark')({workers: 4});
var task = jsSpark.jsSpark;
var q = jsSpark.q;
var _ = require('lodash');
var lib = require('./lib')(_);
_.mixin(lib);
var fs = require('fs');
var DRACULA = './data/text/dracula/';
function bigramText(arr) {
return arr.reduce(bigramArray);
}
function bigramArray(acc, word, i, arr) {
if (1 === i) {
acc = {last: acc, out: {}};
}
var out = acc.out;
var last = acc.last;
@syzer
syzer / gist:ebaf3ddec5c1b91f9e16
Created April 8, 2015 18:26
mergeSmallSample
function mergeSmall() {
var task1 = task(ch01)
.reduce(bigramArray)
.run();
var task2 = task(ch02)
.reduce(bigramArray)
.run();
return q.all([task1, task2]).then(function (data) {
var dataBase; // cache
function mergeBig(texts) {
texts = texts || text;
return q.all(texts.map(function (el) {
return task(el)
.reduce(bigramArray)
.run()
})).then(function reducer(data) {