Skip to content

Instantly share code, notes, and snippets.


Christopher Blanchard cblanc

View GitHub Profile
henrik / hash_deep_diff.rb
Created Jul 14, 2009
Recursively diff two Ruby hashes.
View hash_deep_diff.rb
# Recursively diff two hashes, showing only the differing values.
# By Henrik Nyh <> 2009-07-14 under the MIT license.
# Example:
# a = {
# "same" => "same",
# "diff" => "a",
# "only a" => "a",
# "nest" => {
# MongoDB Backup Script
# VER. 0.1
# Note, this is a lobotomized port of AutoMySQLBackup
# ( for use with
# MongoDB.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
View capybara cheat sheet
=Clicking links and buttons=
click_link('Link Text')
click('Link Text') # Click either a link or a button
click('Button Value')
powdahound / hipchat_bot.js
Created Apr 25, 2011
Basic XMPP bot example for HipChat using node.js
View hipchat_bot.js
// Basic XMPP bot example for HipChat using node.js
// To use:
// 1. Set config variables
// 2. Run `node hipchat_bot.js`
// 3. Send a message like "!weather 94085" in the room with the bot
var request = require('request'); //
var sys = require('sys');
var util = require('util');
karmi / nginx-elasticsearch-proxy.conf
Created May 23, 2011
Route requests to ElasticSearch to authenticated user's own index with an Nginx reverse-proxy
View nginx-elasticsearch-proxy.conf
# Run me with:
# $ nginx -p /path/to/this/file/ -c nginx.conf
# All requests are then routed to authenticated user's index, so
# GET http://user:password@localhost:8080/_search?q=*
# is rewritten to:
ianmurrays / deploy.rb
Created Jul 21, 2011
Runs test locally before deploying on capistrano.
View deploy.rb
set :test_log, "logs/capistrano.test.log"
namespace :deploy do
before 'deploy:update_code' do
puts "--> Running tests, please wait ..."
unless system "bundle exec rake > #{test_log} 2>&1" #' > /dev/null'
puts "--> Tests failed. Run `cat #{test_log}` to see what went wrong."
puts "--> Tests passed"

Stevey's Google Platforms Rant

I was at Amazon for about six and a half years, and now I've been at Google for that long. One thing that struck me immediately about the two companies -- an impression that has been reinforced almost daily -- is that Amazon does everything wrong, and Google does everything right. Sure, it's a sweeping generalization, but a surprisingly accurate one. It's pretty crazy. There are probably a hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, if I recall correctly. I actually did a spreadsheet at one point but Legal wouldn't let me show it to anyone, even though recruiting loved it.

I mean, just to give you a very brief taste: Amazon's recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams, despite various efforts they've made to level it out. And their operations are a mess; they don't real

jimbojsb / gist:1630790
Created Jan 18, 2012
Code highlighting for Keynote presentations
View gist:1630790

Step 0:

Get Homebrew installed on your mac if you don't already have it

Step 1:

Install highlight. "brew install highlight". (This brings down Lua and Boost as well)

Step 2:

View tmux_cheatsheet.markdown

tmux cheatsheet

As configured in my dotfiles.

start new:


start new with session name:

jrochkind / gist:2161449
Created Mar 22, 2012
A Capistrano Rails Guide
View gist:2161449

A Capistrano Rails Guide

by Jonathan Rochkind,

why cap?

Capistrano automates pushing out a new version of your application to a deployment location.

I've been writing and deploying Rails apps for a while, but I avoided using Capistrano until recently. I've got a pretty simple one-host deployment, and even though everyone said Capistrano was great, every time I tried to get started I just got snowed under not being able to figure out exactly what I wanted to do, and figured I wasn't having that much trouble doing it "manually".