Skip to content

Instantly share code, notes, and snippets.

View inkdeep's full-sized avatar

Jeremy Kleindl inkdeep

View GitHub Profile
@inkdeep
inkdeep / _pm_irbrc.rb
Created August 14, 2010 19:49
Useful method to print an objects methods in an irb/console session.
# pm - Print methods of objects in irb/console sessions.
# Goes in ~./irbrc
#
begin # Utility methods
def pm(obj, *options) # Print methods
methods = obj.methods
methods -= Object.methods unless options.include? :more
filter = options.select {|opt| opt.kind_of? Regexp}.first
methods = methods.select {|name| name =~ filter} if filter
# Capistrano recipe to tail log files on remote servers and open them in Textmate
namespace :log do
namespace :mate do
unset :_log
%w(access error production).each do |file|
desc "View #{file}.log from remote server in Textmate."
task file.to_sym, :roles => :app do
set :_log, file
@inkdeep
inkdeep / update_github_tmbundles.rb
Created April 7, 2011 17:44
Update TextMate bundles cloned from GitHub (or wherever) in ~/Library/Application Support/TextMate/Bundles
#!/usr/bin/env ruby
textmate_bundle_path = File.expand_path('~/Library/Application Support/TextMate/Bundles/')
Dir.chdir(textmate_bundle_path)
bundles = Dir.glob('*.tmbundle')
bundles.each do |bundle|
Dir.chdir(File.join(textmate_bundle_path, bundle))
puts %(
@inkdeep
inkdeep / annoying.js
Created June 1, 2011 17:25 — forked from Kilian/annoying.js
How to be an asshole
/**
* Annoying.js - How to be an asshole to your users
*
* DO NOT EVER, EVER USE THIS.
*
* Copyright (c) 2011 Kilian Valkhof (kilianvalkhof.com)
* Visit https://gist.github.com/767982 for more information and changelogs.
* Visit http://kilianvalkhof.com/2011/javascript/annoying-js-how-to-be-an-asshole/ for the introduction and weblog
* Check out https://gist.github.com/942745 if you want to annoy developer instead of visitors
*
namespace :test do
task :populate_testopts do
if ENV['TESTNAME'].present?
ENV['TESTOPTS'] = ENV['TESTOPTS'] ? "#{ENV['TESTOPTS']} " : ''
ENV['TESTOPTS'] += "--name=#{ENV['TESTNAME'].inspect}"
end
end
end
%w(test:units test:functionals test:integration).each do |task_name|
@inkdeep
inkdeep / method_finder.rb
Created July 29, 2011 20:48
original method_finder inspired by _why
# Some credits:
# Code this verions is based on: Andrew Birkett
# http://www.nobugs.org/developer/ruby/method_finder.html
# Improvements from _why's blog entry
# * what? == - _why
# * @@blacklist - llasram
# * $stdout redirect - _why
# http://redhanded.hobix.com/inspect/stickItInYourIrbrcMethodfinder.html
# Improvements from Nikolas Coukouma
# * Varargs and block support
@inkdeep
inkdeep / cap_set_branch.rb
Created August 20, 2012 13:12
Capistrano select branch/tag to deploy
set :branch do
tags = `git tag`.split("\n")
list = tags.collect {|x| %(#{tags.index(x)}: #{x}) }
puts %(------------------------------------------
Available Tags for Deployment
Use m for master
------------------------------------------)
puts list << "------------------------------------------\n"
i = Capistrano::CLI.ui.ask('Tag to deploy:')
i == 'm' ? 'master' : tags[i.to_i]
☼ HOMEBREW_MAKE_JOBS=1 VERBOSE=1 brew upgrade v8
==> Upgrading v8
rm /usr/local/bin/v8
rm /usr/local/include/v8stdint.h
rm /usr/local/include/v8.h
rm /usr/local/include/v8-testing.h
rm /usr/local/include/v8-profiler.h
rm /usr/local/include/v8-preparser.h
rm /usr/local/include/v8-debug.h
rm /usr/local/lib/libv8.dylib
@inkdeep
inkdeep / js-array_uniq.js
Created March 6, 2013 18:52
javascript uniq - Native and Dojo style
// Native JS (fast)
uniq = function( /* Array */ arr) {
var test = {};
var result = [];
for (var i = 0, len = arr.length; i < len; i++) {
if (!test[arr[i]]) { // value not seen yet?
test[arr[i]] = true;
result.push(arr[i]);
}
}
@inkdeep
inkdeep / colors_array.js
Created December 18, 2013 14:20
Array of colors with name and hex value
[
["Alice blue", "#F0F8FF"],
["Antique white", "#FAEBD7"],
["Aqua", "#00FFFF"],
["Aquamarine", "#7FFFD4"],
["Azure", "#F0FFFF"],
["Beige", "#F5F5DC"],
["Bisque", "#FFE4C4"],
["Black", "#000000"],
["Blanche dalmond", "#FFEBCD"],