Skip to content

Instantly share code, notes, and snippets.


Todd H. Gardner toddhgardner

View GitHub Profile
toddhgardner /
Last active Feb 6, 2018
We Didn’t Stop to Ask If We Should: Understanding Build vs. Buy

Software Conference talk proposal for 2018/2019 season. Thanks for taking the time to review this for me. Comments and criticism welcomed.


We Didn’t Stop to Ask If We Should: Understanding Build vs. Buy


Architecture, Business


We were so preoccupied with whether we could, we didn’t stop to think if we should! Before debating React vs. Angular or .NET vs Node, we must ask ourselves, should we even build this? Whether you’re an entrepreneur launching a new project, an enterprise developer stuck integrating middleware, or a architect moving logic to the cloud, you’re making decisions that will have lasting consequences. Deciding which problems are worth your investment is at the root of success or failure.

toddhgardner / interceptingProxyServer.js
Created Feb 6, 2016
Debugging Proxy Server to host a subset of production resources locally for troubleshooting.
View interceptingProxyServer.js
// NOTE Before Starting, be sure you have an entry in your hosts file like:
'use strict';
var _ = require('lodash');
var express = require('express');
var fs = require('fs');
var httpProxy = require('http-proxy');
var https = require('https');
toddhgardner / index.html
Created Jul 24, 2015
Adding Application State to TrackJS Error Reports
View index.html
<script type="text/javascript">
window._trackJs = {
onError: function (payload) {
var state = SomeFunctionToGetRelevantState();
message: JSON.stringify(state),
severity: "info",
toddhgardner / backbone-trackjs.js
Last active Dec 28, 2015 — forked from brycekahle/backbone-trackjs.js
Integrating {Track:js} TrackAll with Backbone.
View backbone-trackjs.js
// OPTION 1:
// Automatically wrap everything
;(function() {
'use strict';
if (!window.trackJs) return;
[ 'View'
, 'Model'
toddhgardner / gist:7478573
Last active Dec 28, 2015
Gathering actual performance from the browser in real time
View gist:7478573
(function (window) {
var iterations = 100;
var sampling = 1000;
var counters = [];
var i = 0, j, sum = 0, mean;
var lastNow =;
var interval = setInterval(function () {
toddhgardner / gist:6310687
Created Aug 22, 2013
An argument for Backbone over Angular
View gist:6310687
Many teams are comparing AngularJS with Backbone and other libraries. An argument I have
sometimes heard is that Angular is backed by Google, while Backbone is just one Guy.
That is really incorrect and misleading. The project was created by Jeremy Ashkenas (AKA
the One Guy), but that guy also created CoffeeScript and Underscore. He did it as part
of the Documentcloud project and has since been Lead Web Architect at FinancialTimes and
NewYorkTimes, both of which have very large installations.
Backbone is the *only* web framework that has a track record of very large sustainable
web applications.