This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Array.prototype.shuffle = function() { | |
var i = this.length, k, e; | |
while (--i) { | |
k = Math.floor(Math.random() * i); | |
if (k != i) { | |
e = this[i]; | |
this[i] = this[k]; | |
this[k] = e; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!doctype html> | |
<html> | |
<head> | |
<title>xhr status code test</title> | |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.1.0/prototype.js"></script> | |
<script type="text/javascript"> | |
//<![CDATA[ | |
document.observe('dom:loaded', function() { | |
var body = $$('body')[0], | |
template = new Template("<span class=\"script_example\"><pre class=\"body\">#{body}</pre><button class=\"trigger_script\">Execute</button></span>"), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Memcached::CompressedRailsCache | |
def initialize(rails_cache) | |
@rails_cache = rails_cache | |
end | |
def get(key, raw = true) # raw is discarded | |
v = @rails_cache.get(key) | |
Marshal.load(Zlib::Inflate.inflate(v)) if v | |
end | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Memcached::MultiPartRailsCache | |
MAX_KEY_LENGTH = 255 # Actually overshooting what the client will let you send through | |
# but this means our chunk sizes will just a few bytes of headroom | |
# as we split | |
PART_SIZE = 1.megabyte - MAX_KEY_LENGTH | |
def initialize(rails_cache) | |
@rails_cache = rails_cache | |
end | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//= require <prototype> | |
// (2001000).withDelimiters(); // "2,001,000" | |
// (9821).withDelimiters("_"); // "9_821" | |
// (1221).withDelimiters(",", 100); // "12,21" | |
Number.prototype.withDelimiters = function(s, k) { | |
if (!s) s = ","; | |
if (!k) k = 1000; | |
var o = [], | |
i = Math.floor(this); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace :db do | |
task :uptodate do | |
if pending_migrations.blank? | |
puts "Migrations are up-to-date" | |
else | |
puts "The following migrations are pending:" | |
puts pending_migrations.map { |mp| "%s\t\t%s" % [ mp.version, mp.name ] }.join("\n") | |
end | |
end | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Read Secure Volume credentials for deploy | |
export VAULT_DMG="~/Sensitive.dmg" | |
alias mount_sp="hdid $VAULT_DMG > /dev/null" | |
alias sp="SECURE_MOUNT_INFO=\`hdid $VAULT_DMG\`; SECURE_MOUNT_DEVICE=\`echo -e \$SECURE_MOUNT_INFO | cut -d ' ' -f1\`; SECURE_MOUNT_PATH=\`echo -e \$SECURE_MOUNT_INFO | cut -d ' ' -f2\`; . \$SECURE_MOUNT_PATH/deploy_credentials.sh; hdiutil eject \$SECURE_MOUNT_DEVICE > /dev/null; unset SECURE_MOUNT_INFO SECURE_MOUNT_PATH SECURE_MOUNT_DEVICE" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Hash | |
def recursively_stringify_keys | |
recursively_xify_keys(:to_s, :recursively_stringify_keys) | |
end | |
def recursively_symbolize_keys | |
recursively_xify_keys(:to_sym, :recursively_symbolize_keys) | |
end | |
private |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Compare = function(fn1, fn2, i) { | |
var time = function(fn) { | |
var now = new Date(); | |
fn(); | |
return new Date() - now; | |
}, | |
spinOn = function(fn, i) { | |
return function() { for (var ii = i;ii;ii--) fn(); } | |
}, | |
fn1_time = time(spinOn(fn1, i)), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function hex2rgb(hex) { | |
var c, o = [], k = 0, m = hex.match( | |
/^#(([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})|([0-9a-f])([0-9a-f])([0-9a-f]))$/i); | |
if (!m) return {r:0,g:0,b:0}; | |
for (var i = 2, s = m.length; i < s; i++) { | |
if (undefined === m[i]) continue; | |
c = parseInt(m[i], 16); | |
o[k++] = c + (i > 4 ? c * 16 : 0); | |
} |