Skip to content

Instantly share code, notes, and snippets.

@ahoward
ahoward / dsl.rb
Created November 8, 2012 18:45
this is how to build dsls that don't fuck the global namespace
# the entire concept of building a dsl means defining domain terms on an
# object, it's so much simpler to start with the dsl itself being a blank
# slate that simply relays certain methods to a scope
#
class DSL
instance_methods.each do |m|
undef_method m unless m[%r/\A__|\Aobject_id\Z/]
end
@rgreenjr
rgreenjr / postgres_queries_and_commands.sql
Last active September 19, 2024 05:47
Useful PostgreSQL Queries and Commands
-- show running queries (pre 9.2)
SELECT procpid, age(clock_timestamp(), query_start), usename, current_query
FROM pg_stat_activity
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
-- show running queries (9.2)
SELECT pid, age(clock_timestamp(), query_start), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
@andkerosine
andkerosine / raskell.rb
Created August 15, 2012 05:56
Haskell-like list comprehensions in Ruby
$stack, $draws = [], {}
def method_missing *args
return if args[0][/^to_/]
$stack << args.map { |a| a or $stack.pop }
$draws[$stack.pop(2)[0][0]] = args[1] if args[0] == :<
end
class Array
def +@
@dherman
dherman / functions.js
Created July 29, 2012 01:44
Function utilities
(function(Fp, Ap) {
var applyMethod = Fp.apply,
bindMethod = Fp.bind,
callMethod = Fp.call;
var sliceMethod = Ap.slice,
concatMethod = Ap.concat;
var apply = callMethod.bind(applyMethod),
bind = callMethod.bind(bindMethod),
@dherman
dherman / beget.js
Created July 28, 2012 18:13
What everyone kinda wishes Object.create had been
Object.beget = (function() {
var create = Object.create,
defineProperty = Object.defineProperty;
// see https://gist.github.com/3194222
var hasOwn = Object.prototype.hasOwnProperty.unselfish();
return function beget(proto, own) {
var result = create(proto);
@dherman
dherman / unselfish.js
Created July 28, 2012 18:08
Convert methods to unselfish functions
Function.prototype.unselfish = (function(Fp, Ap) {
var applyMethod = Fp.apply,
callMethod = Fp.call;
var apply = callMethod.bind(applyMethod),
call = callMethod.bind(callMethod);
var sliceMethod = Ap.slice;
return function unselfish() {
@dherman
dherman / closure.js
Created July 27, 2012 21:39
Analog to Function constructor for building closures
(function() {
var hasOwnProperty = Object.prototype.hasOwnProperty;
var Function = hasOwnProperty.constructor;
function isIdentifier(s) {
return /[a-zA-Z_$][a-zA-Z_$0-9]*/.test(s);
}
@jredville
jredville / rm-deleted.sh
Created April 29, 2012 19:28
Remove deleted files from git index
#from http://tmblr.co/ZfQknxFg4-sp
git ls-files -d | xargs git rm
@jredville
jredville / url_helper.rb
Created April 27, 2012 06:00
Use Rails url helpers from within console
#hat tip: http://stuartsierra.com/2008/01/08/testing-named-routes-in-the-rails-console
include ActionController::UrlWriter
default_url_options[:host] = 'whatever'
@kblake
kblake / bling.css
Created February 8, 2012 18:01
bling - your wildest imaginations come true
.bling { color: golden; border: 1px solid sparkle; }