Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@robmckinnon
robmckinnon / pre-commit
Last active August 29, 2015 14:06
pre-commit
#!/bin/sh
#
# In your git repo:
# 1. save this file as: .git/hooks/pre-commit
# 2. chmod 755 .git/hooks/pre-commit
#
# An hook script to normalize what is about to be committed.
# Called by "git commit" with no arguments.
# Removes trailing whitespace if it exists from files.
# Replaces multiple blank lines with single blank line in files.
@robmckinnon
robmckinnon / uk_fund.rb
Created November 15, 2008 14:19
grabs uk fund prices
require 'rubygems'
require 'hpricot'
require 'open-uri'
require 'activesupport'
require 'morph'
Hpricot.buffer_size = 2621444
@@step_off = 1
def open_doc url
@robmckinnon
robmckinnon / soul.rb
Created January 1, 2009 04:47
grabs soulmate profiles
require 'rubygems'; require 'pottery'; require 'mechanize'; require 'hpricot'; require 'open-uri'; require 'active_support'
class SoulMate
include Pottery
class << self
def find age='29', postcode='N1'
ids = find_ids age.to_s, postcode
ids.collect do |id|
soul_mate = restore(id.to_s)
unless soul_mate
begin
@robmckinnon
robmckinnon / rails_project_setup
Created January 30, 2009 12:34
setups up a Rails git project and plugins using git submodules
if ARGV.empty?
puts 'usage: ruby setup_project.rb [project_name] [git_user]'
return
end
require 'fileutils'
project = ARGV[0]
git_user = ARGV.size > 1 ? ARGV[1] : 'default_user_name'
@robmckinnon
robmckinnon / rails_project_setup.rb
Created January 6, 2010 15:48
rails project setup script
if ARGV.empty?
puts 'usage: ruby setup_project.rb [project_name] [git_user]'
return
end
def cmd text
puts text
result = `#{text}`
puts result
result
@robmckinnon
robmckinnon / rails_template.rb
Created January 6, 2010 16:38
rails application template
file 'Gemfile', %{
# directory "vendor/rails", :glob => "{*/,}*.gemspec"
# git "git://github.com/rails/arel.git"
# git "git://github.com/rails/rack.git"
clear_sources
bundle_path "vendor/bundler_gems"
source 'http://gemcutter.org'
source 'http://gems.github.com'
disable_system_gems
module Wikipedia
class Client
# see http://en.wikipedia.org/w/api.php
BASE_URL = "http://:domain/:path?action=:action&format=json"
attr_accessor :follow_redirects
def initialize
self.follow_redirects = true
end
{"orientation":"horizontal","item":[{"label":"7% logged in at least once","sublabel":"users created from 2015-10-01","axis":{"point":[0,20,40,60,80,100]},"range":{"red":{"start":0,"end":20},"amber":{"start":21,"end":80},"green":{"start":81,"end":100}},"measure":{"current":{"start":0,"end":7},"projected":{"start":0,"end":0}},"comparative":{"point":0}},{"label":"0% of acquired users completed \u003e 80%","sublabel":"users created from 2015-10-01","axis":{"point":[0,20,40,60,80,100]},"range":{"red":{"start":0,"end":20},"amber":{"start":21,"end":80},"green":{"start":81,"end":100}},"measure":{"current":{"start":0,"end":0},"projected":{"start":0,"end":0}},"comparative":{"point":0}}]}
<?xml version='1.0' encoding='UTF-8'?> <kml xmlns='http://www.opengis.net/kml/2.2'> <Document><Placemark><name>Albstadt</name> <Point> <coordinates>9.02131,48.2131</coordinates> </Point> </Placemark><Placemark><name>Ansbach</name> <Point> <coordinates>10.55753,49.31221</coordinates> </Point> </Placemark><Placemark><name>Aschaffenburg</name> <Point> <coordinates>9.11325,49.97952</coordinates> </Point> </Placemark><Placemark><name>Augsburg</name> <Point> <coordinates>10.88681,48.35421</coordinates> </Point> </Placemark><Placemark><name>Aken</name> <Point> <coordinates>12.03793,51.85043</coordinates> </Point> </Placemark><Placemark><name>Bayreuth</name> <Point> <coordinates>11.569,49.95091</coordinates> </Point> </Placemark><Placemark><name>Berlin-Biesdorf</name> <Point> <coordinates>13.54106,52.51607</coordinates> </Point> </Placemark><Placemark><name>Bielefeld</name> <Point> <coordinates>8.55198,52.0509</coordinates> </Point> </Placemark><Placemark><name>Bochum</name> <Point> <coordinates>7.28218,51.49559</coo
@robmckinnon
robmckinnon / elixir_sandbox.ex
Last active April 10, 2016 00:32
Elixir sandbox
quote do: String.downcase("THIS")
# {{:., [], [{:__aliases__, [alias: false], [:String]}, :downcase]}, [], ["THIS"]}
quote do: String.downcase("THIS") |> inspect
# {:|>, [context: Elixir, import: Kernel],
# [{{:., [], [{:__aliases__, [alias: false], [:String]}, :downcase]}, [],
# ["THIS"]}, {:inspect, [], Elixir}]}
(quote do: String.downcase("THIS")) |> inspect
# "{{:., [], [{:__aliases__, [alias: false], [:String]}, :downcase]}, [], [\"THIS\"]}"