Skip to content

Instantly share code, notes, and snippets.

View cjpartridgeb's full-sized avatar

Chris Partridge cjpartridgeb

View GitHub Profile
var sslConfig = {
key: fs.readFileSync('certs/your-cert.key'),
cert: fs.readFileSync('certs/your-cert.crt'),
ca: [fs.readFileSync('certs/your-cert.ca.crt')]
}
var db = require('db');
var instance = null;
exports.get = function() {
if(!instance) instance = new db();
return instance;
}
@cjpartridgeb
cjpartridgeb / gist:3688880
Created September 10, 2012 04:28
Simple curry example
// assuming http.get fires back err, result
function curryGet = function(url) {
return function(callback) {
http.get(url, callback);
}
}
async.parallel([
@cjpartridgeb
cjpartridgeb / gist:3779439
Created September 25, 2012 01:27
Simplest possible wkhtmltopdf example
var spawn = require('child_process').spawn;
var output = require('fs').createWriteStream(__dirname + '/test.pdf');
var wk = spawn('wkhtmltopdf', ['-', '-']);
wk.stdout.pipe(output);
wk.stdin.end('<b>Test</b>');
@cjpartridgeb
cjpartridgeb / gist:3779554
Created September 25, 2012 02:05
Simple wkhtml stream example
var spawn = require('child_process').spawn;
var output = require('fs').createWriteStream(__dirname + '/test.pdf');
var wk = spawn('wkhtmltopdf', ['-', '-']);
wk.stdout.pipe(output);
wk.stdin.end('<b>Test</b>');
@cjpartridgeb
cjpartridgeb / binding.gyp
Created October 28, 2012 02:54
First foray into c++ land - getting node: malloc(): memory corruptio
{
"targets": [
{
"target_name": "wkhtmltox",
"sources": [ "wkhtmltox-google.cpp" ],
"include_dirs": ["/include"],
"libraries": ["-lwkhtmltox"]
}
]
}
var express = require('express');
var http = require('http');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
@cjpartridgeb
cjpartridgeb / gist:5089125
Last active December 14, 2015 12:49
tds5016
io.sockets.on('connection', function (socket) {
var timeout = false;
fs.watch('public/images/slides/', {}, function(eventType, filename){
if (eventType == 'change'){
if(timeout) clearTimeout(timeout);
timeout = setTimeout(function() {
var base64_data = new Buffer(fs.readFileSync('public/images/slides/'+filename)).toString('base64');
socket.emit('newSlide', base64_data);
}, 100);
}
SELECT subscriptions.id, subscriptions.agency_id, subscriptions.expiry,
CASE
WHEN subscriptions.expiry > date_part('epoch'::text, now())::bigint THEN 'current'::text
ELSE 'expired'::text
END AS status
FROM subscriptions
ORDER BY subscriptions.expiry DESC;
-- This returns:
-- 25;1;1394321699;"current"
@cjpartridgeb
cjpartridgeb / gist:5235434
Created March 25, 2013 07:22
middleware example
// mw.getUserAndAgency
var middleware = function(req, res, next) {
req.statsdName = 'user_middleware';
var get = cabinet
.read('users', req.token.user_id)
.with('agencies');
get.execute(function(err, empty, result) {