Skip to content

Instantly share code, notes, and snippets.

View joonty's full-sized avatar

Jonathan Cairns joonty

View GitHub Profile
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
@joonty
joonty / sort.php
Created October 17, 2013 10:50
PHP sorting algorithm
<?php
$input = file("php://stdin");
sort($input);
file_put_contents(end($argv), join($input));