Skip to content

Instantly share code, notes, and snippets.

View timruffles's full-sized avatar

Tim Ruffles timruffles

View GitHub Profile
@timruffles
timruffles / porc.ex
Created May 30, 2014 13:43
porc.ex updated
defmodule Porc do
defstruct status: nil, in: nil, out: nil, err: nil
def send_data(pid, data) do
send pid, {:data, data}
end
@doc """
Takes a shell invocation and produces a tuple `{ cmd, args }` suitable for
use in `call()` and `spawn()` functions.
@timruffles
timruffles / build.sh
Last active August 29, 2015 14:02
jekyll build
set -e
git checkout gh-pages
git reset --hard master
bundle exec jekyll build
echo "dockeconf.com" > CNAME
git add . -A
git commit -m 'latest'
git push --force gh-pages
git checkout master
@timruffles
timruffles / pipe.js
Last active August 29, 2015 14:02
pipe - it's more readable than compose
// compose functions left to right,
// more readable than 'compose'
// => pipe(parseInt,Math.sqrt)("64.928")
// 8
function pipe() {
var fns = arguments;
return function() {
var value = arguments;
for(var i = 0; i < fns.length; i++) {
value = [fns[i].apply(null,value)];
@timruffles
timruffles / disease-names
Created June 2, 2014 15:49
disease names
#!/usr/bin/env ruby
names = ["Hekatonkheires","Agrius","Alcyoneus","Aloadae","Antaeus","Cyclopes","Cyclopes","Polyphemus","Enceladus","Gegenees","Geryon","Laestrygonians","Orion","Porphyrion","Talos","Tityos","Typhon","Achlys","Adephagia","Adikia","Aergia","Agon","Aidos","Alala","Alastor","Aletheia","Algea","Alke","Amechania","Amphilogiai","Anaideia","Androktasiai","Angelia","Apate","Apheleia","Aporia","Arae","Arete","Atë","Bia","Caerus","Corus","Deimos","Dikaiosyne","Dike","Dolos","Dysnomia","Dyssebeia","Eirene","Ekecheiria","Eleos","Elpis","Epiphron","Eris","Erotes","Anteros","Eros","Himeros","Pothos","Eucleia","Eulabeia","Eunomia","Eupheme","Eupraxia","Eusebeia","Euthenia","Gelos","Geras","Harmonia","Hebe","Hedone","Heimarmene","Homados","Homonoia","Horkos","Horme","Hybris","Hypnos","Hysminai","Ioke","Kakia","Kalokagathia","Keres","Koalemos","Kratos","Kydoimos","Lethe","Limos","Litae","Lyssa","Machai","Mania","Moirai","Clotho","Lachesis","Atropos","Momus","Moros","Neikea","Nemesis","Nike","Nomos","Oizys",
@timruffles
timruffles / async_object.js
Created June 9, 2014 19:27
promise wrapper for node's less friendly APIs - net.connect etc
// e.g
// asyncObject(net.connect,{port: 8125})
function asyncObject(constructor) {
var args = [].slice.call(arguments,1);
var obj = constructor.apply(null,args);
return new Promise(function(resolve,reject) {
obj.once("error",reject);
obj.once("connect",function() {
resolve(obj);
@timruffles
timruffles / do_parallel.js
Created June 24, 2014 09:57
parallel doing - for tests
function doParallelNTimes(n,concurrent,fn,cb) {
var outstanding = 0;
var complete = 0;
var nth = 0;
times(Math.min(concurrent,n),loop);
function loop() {
if(outstanding >= concurrent) {
return;
@timruffles
timruffles / toggle
Created July 10, 2014 12:16
toggled input for angular
(function() {
var app = angular.module("toggleInput",[])
app.directive("toggleInput",function() {
return {
scope: true,
controller: function($scope) {
$scope.input = {visible: false}
},
@timruffles
timruffles / tooltippy.coffee
Created July 10, 2014 12:17
small tooltip
Tooltip = ({@overEl,content,event,tooltipClass,clickable}) ->
@cleanup = []
@el = $("<div class=tooltip></div>")
@el.addClass tooltipClass if tooltipClass
@el.append content
@el.css "visibility": "hidden"
@timruffles
timruffles / osx-pg-gem.sh
Created July 18, 2014 14:45
pg gem + bundler + osx , solving extconf issues
# grab install from http://www.enterprisedb.com/products-services-training/pgdownload#osx
# might need to replace version numbers
bundle config build.pg --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
@timruffles
timruffles / single-gem.rb
Created July 18, 2014 14:46
install a single gem in bundler - via __END__
gem "https://rubygems.org"
gem "pg" # here's the target gem
__END__ # use the ever-useful __END__ to ignore the rest of our gems with no commenting required!
gem "rails"