Skip to content

Instantly share code, notes, and snippets.

@rjrodger
rjrodger / fastify-repl-poc.js
Created August 8, 2023 20:33
Proof of concept REPL for fastify
const Net = require('node:net')
const Repl = require('node:repl')
const Vm = require('node:vm')
const Fastify = require('fastify')({ logger: true })
const Jsonic = require('@jsonic/jsonic-next')
@rjrodger
rjrodger / gist:c3717b2b21a8339a47de
Last active August 29, 2015 14:03
outline of loadbalance transport
module.exports = function( options ) {
var seneca = this
var plugin = 'loadbalance-transport'
var so = seneca.options()
options = seneca.util.deepextend(
{
loadbalance: {
workers: [ ... ]
seneca.act({role:'web',use:{
name:name,
prefix:'/well/:event/',
pin:{role:name,cmd:'*'},
map:{
whoami:{GET:setcontext},
leader:{GET:setcontext},
members: { alias:'player/members/:team', GET: setcontext },
@rjrodger
rjrodger / comedy.txt
Created October 1, 2012 09:57
some cool comedians and shows to checkout
http://en.wikipedia.org/wiki/Dara_Ó_Briain
http://desbishop.net/
http://en.wikipedia.org/wiki/Russell_Howard
http://en.wikipedia.org/wiki/Michael_McIntyre
http://en.wikipedia.org/wiki/Have_I_Got_News_For_You
http://en.wikipedia.org/wiki/Mock_the_Week
http://www.bbc.co.uk/programmes/b008cnxn
http://www.thecatlaughs.com/
@rjrodger
rjrodger / proporder.js
Created August 7, 2012 12:45
Workaround for property order inconsistency in Chrome V8.
/*
Workaround for property order inconsistency in Chrome V8.
Although unspecified by ECMA, most JavaScript engines return
properties in insertion order when you use for..in to iterate through
them.
For example:
@rjrodger
rjrodger / nodejs-event-stacktrace.js
Created June 7, 2012 18:39
better node.js stacktraces from event triggered code
// the stack trace you really want that tells you how you originally got to the fs.readFile call
var stacktrace = new Error()
Error.captureStackTrace(stacktrace)
fs.readFile( path, encoding, function(err,data) {
if( err ) {
var stackerr = new Error('Unable to read file: '+path+' (error code: '+err.code+')')
stackerr.errno = err.errno
stackerr.code = err.code
@rjrodger
rjrodger / draw.html
Created June 6, 2011 20:32
Little HTML5 mobile web app for drawing on a canvas
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="user-scalable=no,initial-scale=1.0,maximum-scale=1.0" />
<style>
body { padding:10px; margin:0px; background-color: #ccc; }
#main { margin: 10px auto 0px auto; }
</style>
@rjrodger
rjrodger / augment.css
Created May 26, 2011 13:51
Phonegap 3D compass
#main {
margin: 0px;
width: 480px;
height: 300px;
}
@rjrodger
rjrodger / streambuffer.js
Created March 28, 2011 11:16
A utility object that caches inbound HTTP data, allow you to attach your event handlers after you make other asynchronous requests.
function StreamBuffer(req) {
var self = this
var buffer = []
var ended = false
var ondata = null
var onend = null
self.ondata = function(f) {
for(var i = 0; i < buffer.length; i++ ) {
@rjrodger
rjrodger / line1030-http.js
Created February 8, 2011 21:30
possible fix for issue with new Agent code in http.js where Agent in an error state stop working
socket.on('error', function(err) {
debug('AGENT SOCKET ERROR: ' + err.message);
var req;
if (socket._httpMessage) {
req = socket._httpMessage;
} else if (self.queue.length) {
req = self.queue.shift();
assert(req._queue === self.queue);
req._queue = null;
} else {