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});
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 -->
davemo /
Last active Sep 14, 2018
A pre-commit hook for git running on OS X to abort if it detects keywords in specified files (this version is setup for .coffee and .js files).

Git pre-commit Hooks

The pre-commit file listed here is setup to scan files for invalid keywords prior to commit to avoid debug or logging information making its way into production files. Right now it is setup to scan only .js and .coffee files for the following keywords:


Installing the Hook

You can’t perform that action at this time.