Skip to content

Instantly share code, notes, and snippets.

View qnm's full-sized avatar

Rob qnm

  • Sydney, Australia
View GitHub Profile
@qnm
qnm / gist:5566280
Created May 13, 2013 05:08
Engine Routing Hack
Spork.each_run do
# This code will be run each time you run your specs.
RSpec.configure do |config|
config.before(:each, type: :controller) { @routes = RedBook::Engine.routes }
config.before(:each, type: :routing) { @routes = RedBook::Engine.routes }
end
end
@qnm
qnm / gist:6422064
Last active December 22, 2015 05:09
{
"disclaimer": "See our important disclosures",
"disclaimer_url": "http://www.ratecity.com.au/disclaimer",
"title": "Low Interest Credit Cards",
"fields": {
"best_rate_percentage": "Rate %"
},
"results": [
{
@qnm
qnm / keepassx.spec
Created October 13, 2013 04:11
keepassx-2.0-alpha
%define alpha alpha4
Name: keepassx
Version: 2.0
Release: 0.%{alpha}%{?dist}
Summary: Cross-platform password manager
Group: User Interface/Desktops
License: GPLv2+
URL: http://keepassx.sourceforge.net
Source0: https://github.com/keepassx/keepassx/archive/%{version}-%{alpha}.tar.gz
A few year ago, a team that sells products to large media companies invited me to help them as a consultant because they were concerned that their engineers were not working hard enough. However, the fault was not in the engineers; it was in the process the whole company was using to make decisions. They had customers but did not know them very well. They were deluged with feature requests from customers, the internal sales team, and the business leadership. Every new insight became an emergency that had to be addressed immediately. As a result, long-term projects were hampered by constant interruptions. Even worse, the team had no clear sense of whether any of the changes they were making mattered to customers. Despite the constant tuning and tweaking, the business results were consistently mediocre.
-- Eric Ries, Lean Straup
Notes from POODR, compiled by @qnm
* Part of the difficulty of design is that every problem has two components. You must not only write code for the feature you plan to deliver today, you must also create code that is amenable to being changed later. For any period of time that extends past initial delivery of the beta, the cost of change will eventually eclipse the original cost of the application.
* Your job is one of synthesis; you must combine an overall understanding of your application’s requirements with knowledge of the costs and benefits of design alternatives and then devise an arrangement of code that is cost effective in the present and will continue to be so in the future.
* Designs that anticipate specific future requirements almost always end badly. Practical design does not anticipate what will happen to your application, it merely accepts that something will and that, in the present, you cannot know what.
* The break-even point for design depends on the programmer. Inexperienced programme
gem install travis --no-ri --no-rdoc
echo "env:\n global:\n" >> .travis.yml
# encrypt SSH key - based on [squeezing private SSH key into .travis.yml file][4]
base64 --break=0 ~/.ssh/id_rsa_deploy > ~/.ssh/id_rsa_deploy_base64
# be sure to update the repository name to match the GitHub naming convention
ENCRYPTION_FILTER="echo \$(echo \" - secure: \")\$(travis encrypt -r <repo name> \"\$FILE='\`cat $FILE\`'\")"
split --bytes=100 --numeric-suffixes --suffix-length=2 --filter="$ENCRYPTION_FILTER" ~/.ssh/id_rsa_base64 id_rsa_ >> .travis.yml

Keybase proof

I hereby claim:

  • I am qnm on github.
  • I am qnm (https://keybase.io/qnm) on keybase.
  • I have a public key whose fingerprint is 0BEB A995 D088 13E8 426F 181F F5DA 5200 00DC 3E37

To claim this, I am signing this object:

@qnm
qnm / gist:d66d3d634417978a9e6c
Created November 4, 2014 22:35
Restoring Heroku DB to AWS
Restoring an Heroku dump to RDS, using an intermediate EC2 box:
Using the guide at https://devcenter.heroku.com/articles/heroku-postgres-import-export
# curl -o latest.dump `heroku pgbackups:url`
# scp -i ~/.ssh/id_rsa latest.dump ec2-user@ec2-xx-xx-xx-xx.ap-southeast-2.compute.amazonaws.com:/tmp/
# ssh -i ~/.ssh/id_rsa latest.dump ec2-user@ec2-xx-xx-xx-xx.ap-southeast-2.compute.amazonaws.com
# cd /tmp
# pg_restore --verbose --clean --no-acl --no-owner -h $RDS_HOSTNAME -U $RDS_USERNAME -d $RDS_DB_NAME latest.dump
default: &default
hostname: 54.79.33.54
username: blackout
password: <%= ENV['BUNNY_PASSWORD'] %>
queue: test-firehose-dummy
development:
<<: *default
queue: prod-firehose
@qnm
qnm / index.html
Last active August 29, 2015 14:14 — forked from benjchristensen/index.html
<html>
<head>
<title>Mock</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.min.js"></script>
<script src="http://labratrevenge.com/d3-tip/javascripts/d3.tip.v0.6.3.js"></script>
<style>
/* tell the SVG path to be a thin blue line without any area fill */
path {
stroke-width: 1;
fill: none;