Skip to content

Instantly share code, notes, and snippets.

View joonty's full-sized avatar

Jonathan Cairns joonty

View GitHub Profile
@joonty
joonty / cla.txt
Last active September 9, 2025 08:09
SHWF Cla
Contributor License Agreement (CLA)
Song & Hymn Writers Foundation
1. Purpose
This Contributor License Agreement (“Agreement”) documents the rights granted by you (“Contributor”) to the Song & Hymn Writers Foundation (“Foundation”) in your contributions to software projects owned by the Foundation. This Agreement is intended to protect the Foundation’s ownership of the codebase while clarifying your rights as a contributor.
2. Definitions
Contribution means any source code, object code, documentation, ideas, or other material that you submit to the Foundation for inclusion in their software.
describe "an example spec" do
context "greeting" do
def greeting
"hello"
end
it "should be 'hello'" do
expect(greeting).to eq "hello"
end
end
@joonty
joonty / log.txt
Created November 15, 2015 11:48
OpenSong Tablet compile errors
Information:Gradle tasks [:app:assembleDebug]
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72211Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42211Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
@joonty
joonty / Error.txt
Created November 13, 2015 12:30
Reading from stdin in rust
src/main.rs:8:36: 8:42 error: cannot borrow immutable local variable `buffer` as mutable
src/main.rs:8 try!(stdin.read_to_string(&mut buffer));
^~~~~~
<std macros>:1:1: 6:48 note: in expansion of try!
src/main.rs:8:5: 8:45 note: expansion site
error: aborting due to previous error
@joonty
joonty / app-constraints-api_constraint.rb
Created August 26, 2015 15:41
API rails constraint
class ApiConstraint
attr_reader :version
def initialize(options)
@version = options.fetch(:version)
end
def matches?(request)
request
.headers
@joonty
joonty / instruction.rb
Last active August 29, 2015 14:13
Refactor hell
class Instruction < ActiveRecord::Base
#...
def self.new_over_period(from, to, range, user)
where = ""
if user.is_solicitor
where = " AND instructions.solicitor_id IN ('"+user.solicitor.id.to_s+"')"
end
@joonty
joonty / unicorn
Created May 30, 2014 12:58
Unicorn service script
#!/bin/sh
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage unicorn server
# Description: Start, stop, restart unicorn server for a specific application.
### END INIT INFO
@joonty
joonty / .tmux.conf
Created May 15, 2014 09:57
My tmux config
set -g history-limit 5000
set-window-option -g utf8 on # utf8 support
# Open man page in new window
bind / command-prompt "split-window 'exec man %%'"
bind y run-shell "tmux show-buffer | xclip -sel clip -i" \; display-message "Copied tmux buffer to system clipboard"
set -g update-environment -r
# quick view of processes
bind '~' split-window "exec htop"
@joonty
joonty / feed.xml
Created April 7, 2014 10:29
My Jekyll feed XML for joncairns.com
---
layout: none
---
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
<channel>
<title>{{ site.name | xml_escape }}</title>
<description>{% if site.description %}{{ site.description | xml_escape }}{% endif %}</description>
<link>{{ site.url }}</link>
<language>en</language>
@joonty
joonty / capistrano.rb
Created February 5, 2014 11:20
Capistrano local asset compilation
namespace :assets do
desc 'Run the precompile task locally and rsync with shared'
task :precompile, :roles => :web, :except => { :no_release => true } do
unless ENV['SKIP_ASSETS']
if ENV['FORCE_ASSETS'] || releases.length <= 1 || capture("cd #{latest_release} && #{source.local.log(source.next_revision(current_revision))} vendor/assets/ app/assets/ | wc -l").to_i > 0
system('bundle exec rake assets:precompile')
puts "syncing assets with shared directory..."
%x{rsync --recursive --times --rsh=ssh --compress --human-readable --progress public/assets #{user}@#{host}:#{shared_path}}
system('bundle exec rake assets:clean')
else