Skip to content

Instantly share code, notes, and snippets.

View brendanstennett's full-sized avatar

Brendan Stennett brendanstennett

  • ThinkData Works
  • Toronto, ON
View GitHub Profile
# convert PuTTY's public ssh key file into OpenSSH public key
ssh-keygen -i -f id_rsa_putty.pub > id_rsa.pub
@brendanstennett
brendanstennett / gce-vpn-install.sh
Last active February 25, 2016 20:39 — forked from greenido/gce-vpn-install.sh
Installing vpn on GCE
#!/bin/sh
#
# Automatic configuration of a VPN on GCE debian-7-wheezy server.
# Tested only on debian-7-wheezy.
#
# This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
# Unported License: http://creativecommons.org/licenses/by-sa/3.0/
#
# Thx to: https://github.com/sarfata/voodooprivacy/blob/master/voodoo-vpn.sh for the code/idea
#
@brendanstennett
brendanstennett / gist:6894c1f9603e062d5e29
Created May 15, 2015 18:44
Dockerfile for node.js ...a bit hacky but it works
FROM quay.io/thinkdataworks/node
MAINTAINER Brendan Stennett <brendan@thinkdataworks.com>
ENV PACKAGE_NAME <package> # this should match the package name in package.json
ENV NODE_PATH /usr/local/lib/node_modules/$PACKAGE_NAME/node_modules
ENV PATH /usr/local/lib/node_modules/$PACKAGE_NAME/node_modules/.bin:$PATH
WORKDIR /app
COPY package.json /app/
@brendanstennett
brendanstennett / Guardfile
Created April 30, 2015 18:49
Docker+Fig+Guard
guard :rspec, cmd: 'rspec' do
watch(%r{spec/(.+)_spec.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{lib/(.+).rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec" }
watch(%r{app/(.+).rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{app/(.*)(.erb|.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
watch(%r{app/controllers/(.+)_(controller).rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
watch(%r{spec/support/(.+).rb$}) { "spec" }
# works
allow(MyObject).to receive(:each).and_yield(:one).and_yield(:two).and_yield(:three)
# want something like
allow(MyObject).to receive(:each).and_yield_successive_args(:one, :two, :three)
@brendanstennett
brendanstennett / Gemfile
Created November 27, 2013 20:36 — forked from pcreux/Gemfile
Heroku + Unicorn
group :production do
gem 'unicorn'
# Enable gzip compression on heroku, but don't compress images.
gem 'heroku-deflater'
# Heroku injects it if it's not in there already
gem 'rails_12factor'
end
@brendanstennett
brendanstennett / steps
Last active December 19, 2019 12:08 — forked from trcarden/gist:3295935
Setting up SSL with Nginx and Unicorn
# SSL self signed localhost for rails start to finish, no red warnings.
# 1) Create your private key (any password will do, we remove it below)
$ openssl genrsa -des3 -out server.orig.key 2048
# 2) Remove the password
$ openssl rsa -in server.orig.key -out server.key
working_directory "<%= current_path %>"
pid "<%= unicorn_pid %>"
stderr_path "<%= unicorn_log %>"
stdout_path "<%= unicorn_log %>"
listen "/tmp/unicorn.<%= application %>.sock"
worker_processes <%= unicorn_workers %>
timeout 30
preload_app true
@brendanstennett
brendanstennett / Guardfile
Last active December 19, 2015 06:38
Example Guardfile for using Zeus with RSpec
guard :rspec, cmd: 'zeus rspec --color' do
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec" }
# Rails example
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
#!/usr/bin/env bash
apt-get update
apt-get -y upgrade outdated
apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev
cd /tmp
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz
tar -xvzf ruby-1.9.3-p125.tar.gz
cd ruby-1.9.3-p125/
./configure --prefix=/usr/local
make