Skip to content

Instantly share code, notes, and snippets.

davemo / api.proxy.server.js
Created Nov 6, 2012
A simple express.js server with a proxy that intercepts all requests with /api/ and proxies them to localhost:3000
View api.proxy.server.js
var express = require('express'),
httpProxy = require('http-proxy'),
app = express();
var proxy = new httpProxy.RoutingProxy();
function apiProxy(host, port) {
return function(req, res, next) {
if(req.url.match(new RegExp('^\/api\/'))) {
proxy.proxyRequest(req, res, {host: host, port: port});

So, You Want to be a Systems Engineer

Systems Engineering (also known as Infrastructure Engineering, Operations Engineering, or DevOps) is a challenging but rewarding career path. Because Systems Engineering draws from a wide variety of smaller topics, it can be hard to know where to start and in what order to begin. This resource is intended to give you a sketch of some of the learning-paths that that can lead you to a career in Systems Engineering.

What do I need to know?

To start, let's examine a high-level list of topics that established systems engineers should have knowledge of. In each of these topics, the level of depth required to get started as a systems engineer may vary, but it's good to have a general breadth of knowledge on all of these topics.

These lists are not exhaustive, rather a good starting point to gain general knowledge.

davemo /
Created Apr 12, 2017
bumps versions, tags and pushes with git
# works with a file called VERSION in the current directory,
# the contents of which should be a semantic version number
# such as "1.2.3"
NOW="$(date +'%B %d, %Y')"
davemo /
Last active Mar 25, 2020
Got a .coffee file with JSX? Here's how you can transpile to .js with Reacts JSX parsed.
`/** @jsx React.DOM */`
converter = new Showdown.converter
Comment = React.createClass
render: ->
rawMarkup = converter.makeHtml @props.children.toString()
`<div className="comment">
<h2 className="comment">{}</h2>
<span dangerouslySetInnerHTML={{__html: rawMarkup}} />
davemo /
Last active Aug 28, 2019

Ottawa JS, February 11, 2015

Your best advice for people getting started in JavaScript:


The Other Simon:

davemo / CaptureScreen.cs
Created Apr 25, 2012
Gets input from a Vuforia AR Camera and assigns it to a UnityEngine.Texture2D
View CaptureScreen.cs
using UnityEngine;
using System.Collections;
using System.IO;
using MultiFormatReader =;
public class TakeScreenshot : MonoBehaviour {
public GUITexture mainProduct;
private MultiFormatReader reader;
davemo /
Created Jan 30, 2019
Convert HAML to ERB across a folder on Mac OS


  1. install herbalizer somewhere on your PATH, i put mine in ~/bin

cd ~/bin && wget && chmod +x herbalizer

  1. do a dry run to see if your renames look ok

find . -name '*haml' | xargs ruby -e 'ARGV.each { |i| puts "herbalizer < #{i} > #{i}.erb" }'

davemo / this.problem.txt
Created Mar 31, 2012
Crockford on the "This" problem in JavaScript
View this.problem.txt
When a function is called with the function invocation pattern, its this is not bound to the outer
function’s this as we would hope, but is instead bound to the global object, which is horrible.
The workarounds for this include the use of bind functions and riddles like:
var that = this;
~ Douglas Crockford (
My Dev Workflow from OS X on Windows 7
1. Install Console 2 and configure as per
You can skip the steps on Tabs and Powershell, but I do like his fancy icons :)
2. Install Git for windows
Now comes the fun part, after you have configured Console2 and installed the Windows git binary you'll want to link the Console2 tab that opens such that it is in the context of the git-bash cmd, how do we do this? Easy:
davemo / Cross Table Drag Drop.html
Created Nov 19, 2010
This works for dragging, dropping table rows between two separate tables across most browsers :)
View Cross Table Drag Drop.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
<html lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="TextMate">
<meta name="author" content="David Mosher">
<!-- Date: 2010-11-18 -->