Skip to content

Instantly share code, notes, and snippets.

module.exports = function (graph, root) {
var traversal = graph.traverse();
var edges = [];
var stack = [root];
var current = null;
while (stack.length) {
traversal.hop(stack.pop());
@devinivy
devinivy / supertouch.sh
Created January 15, 2016 21:13
Create all necessary dirs while touching a file
# from http://unix.stackexchange.com/a/168582
supertouch() {
for p in "$@"; do
_dir="$(dirname -- "$p")"
[ -d "$_dir" ] || mkdir -p -- "$_dir"
touch -- "$p"
done
}
@devinivy
devinivy / polymer-w-reflux.md
Last active January 27, 2016 19:59
Polymer with Reflux

Polymer with Reflux

Implementation

Ties together Polymer and Reflux

Is a demo of using Polymer with Reflux via funk

The Pieces

These are thoughts pre-funk!

@devinivy
devinivy / server.js
Created January 20, 2016 03:34
Testing an initialized hapi server
var Hapi = require('hapi');
// Keep track of the server's init state
var internals = {
initialized: false
};
var server = new Hapi.Server();
server.connection();
@devinivy
devinivy / index.js
Last active May 5, 2016 12:40
Knex locked connections
'use strict';
const Knex = require('./knex');
const knex = Knex({
dialect: 'postgres',
connection: {
adapter: 'postgresql',
database: 'test',
user: 'postgres'
@devinivy
devinivy / test-npmignore.sh
Created June 13, 2016 13:28
List the files that .npmignore will pack-up
# from https://github.com/hapijs/contrib/issues/90#issuecomment-224889568
tar -tf $(npm pack) && rm *.tgz
@devinivy
devinivy / sam-redux.md
Last active June 29, 2016 11:41
SAM meets Redux
  • model is a redux store.
  • actions are thunks.
  • nap() via model.subscribe().
  • present() is model.dispatch().
  • acceptor logic is redux middleware.
  • state/learner is implemented with ReactRedux.connect() and selectors (i.e. reselect).
@devinivy
devinivy / push-me.js
Last active August 27, 2016 19:12
hapi with HTTP/2 server push
document.write('i was pushed!');
{"web-app": {
"servlet": [
{
"servlet-name": "cofaxCDS",
"servlet-class": "org.cofax.cds.CDSServlet",
"init-param": {
"configGlossary:installationAt": "Philadelphia, PA",
"configGlossary:adminEmail": "ksm@pobox.com",
"configGlossary:poweredBy": "Cofax",
"configGlossary:poweredByIcon": "/images/cofax.gif",
@devinivy
devinivy / index.js
Created November 22, 2016 20:59
Underdog with vision
'use strict';
const Hapi = require('hapi');
const Underdog = require('underdog');
const Vision = require('vision');
const Handlebars = require('handlebars');
const Spdy = require('spdy');
const Http2 = require('http2');
const agent = new Http2.Agent({ rejectUnauthorized: false });