Skip to content

Instantly share code, notes, and snippets.

View mde's full-sized avatar

Matthew Eernisse mde

View GitHub Profile
task('foo', {async: true}, function () {
console.log('entered foo');
setTimeout(complete, 10);
console.log('after foo timeout');
});
task('default', {async: true}, function () {
var t = jake.Task.foo;
t.on('complete', function () {
console.log('foo completed');
@mde
mde / gist:8965696
Created February 12, 2014 22:18
Thrown error in Mongo callback not caught by domain
var http = require('http')
, domain = require('domain')
, mongo = require('mongodb')
, config = {
username: null
, dbname: null
, prefix: null
, password: null
, host: 'localhost'
, port: 27017
@mde
mde / gist:9216297
Last active August 29, 2015 13:56
Simple Node HTTP proxy
var http = require('http')
, server = http.createServer();
server.on('request', function (serverReq,
serverResp) {
var host = 'www.example.com'
, opts
, clientRequest
, handle;
@mde
mde / gist:c07995770e5b8e960802
Created May 9, 2014 03:10
Sample Nginx config
upstream foo_site {
server 127.0.0.1:4000;
}
server {
listen 80;
server_name www.foo.com foo.com;
access_log /var/log/nginx/foo_site.access.log;
location / {
proxy_pass http://foo_site;
}
@mde
mde / gist:2c4fe6906db45d652b88
Created June 9, 2014 01:52
Escape any escape sequences in a string
var escapeEscapeSequences = function (str) {
return str
.replace(/[\\]/g, '\\\\') // Slash has to go first
.replace(/[\b]/g, '\\b')
.replace(/[\f]/g, '\\f')
.replace(/[\n]/g, '\\n')
.replace(/[\r]/g, '\\r')
.replace(/[\t]/g, '\\t');
};
bash-3.2$ npm install
npm http GET https://registry.npmjs.org/filelist
npm http GET https://registry.npmjs.org/minimatch/0.2.3
npm http 200 https://registry.npmjs.org/filelist
npm http GET https://registry.npmjs.org/filelist/-/filelist-0.0.2.tgz
npm http 200 https://registry.npmjs.org/minimatch/0.2.3
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.2.3.tgz
npm http 200 https://registry.npmjs.org/filelist/-/filelist-0.0.2.tgz
npm WARN package.json filelist@0.0.2 No README.md file found!
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.2.3.tgz
var http = require('http')
, domain = require('domain')
, riakpbc = require('./index')
, riak = riakpbc.createClient({host: 'localhost', port: 8087});
http.createServer(function (req, res) {
var dmn = domain.create();
dmn.on('error', function (err) {
console.dir(arguments);
@mde
mde / gist:82a934b6a3fa1da604be
Created October 1, 2014 05:55
JavaScript noodling
> var foo = function (a) { return function (b) { return a * b; }; };
undefined
> var bar = foo(2);
undefined
> bar(5);
10
> var foo = function () { console.log(arguments.length); };
undefined
> foo();
0
@mde
mde / gist:81b131ff6810ed7c4e0e
Last active August 29, 2015 14:18
Simple left-to-right mixin
var mixin = function () {
var args = Array.prototype.slice.call(arguments);
var target = args.shift();
var source = args.shift();
// We don't need no hasOwnProperty checks!
for (var prop in source) {
target[prop] = source[prop];
}
if (args.length) {
args.unshift(target);
@mde
mde / gist:8c5c8a3cd48d6c2dd545
Created May 19, 2015 23:33
JavaScript closures
var foo = function (seed) {
var currVal = seed;
var incrementor = function () {
currVal++;
console.log(currVal);
};
return incrementor;
};