Skip to content

Instantly share code, notes, and snippets.

@kerryb
kerryb / blockchain.txt
Created January 12, 2016 14:18
Blockchain verification
Verifying that +kerryb is my blockchain ID. No, me neither. https://onename.com/kerryb
@kerryb
kerryb / Console output
Created April 29, 2012 19:28
Failing Erlang monitor
Erlang R15B (erts-5.9) [source] [64-bit] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.9 (abort with ^G)
1> c(doubler).
{ok,doubler}
2> c(monitor).
{ok,monitor}
3>
3> monitor:start().
new
@kerryb
kerryb / gist:2028383
Created March 13, 2012 11:56
Rubygems error
$ gem -v
<internal:lib/rubygems/custom_require>:32:in `rescue in require': undefined method `try_activate' for Gem:Module (NoMethodError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:32:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /usr/local/bin/gem:8:in `<main>'
$ ruby -d -rubygems -e 'puts 42'
@kerryb
kerryb / chunked_average.rb
Created March 9, 2012 15:42
Reduce list to average of chunks of n items
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
chunk_size = 3
chunked_averages = (0...data.length).zip(data).group_by{|a| a.first / chunk_size}.values.map{|a| a.map(&:last).reduce(&:+) / a.size}
@kerryb
kerryb / dynamic_modules.rb
Created November 9, 2011 11:48
dynamically including a module depending on an instance property
module DynamicSetup
def dynamic_setup_complete?
@dynamic_setup_complete
end
def method_missing name, *args, &block
if dynamic_setup_complete?
super
else
perform_dynamic_setup
@kerryb
kerryb / guess.sh
Created July 15, 2011 21:07
My solution to Neil's bash masterclass exercise
#/bin/bash
#
# Number guessing game.
# A simple demo of bash capabilities
#
# neil.winton@bt.com
readonly MaxGuesses=6
readonly Timeout=10
@kerryb
kerryb / gist:905396
Created April 6, 2011 09:36
RSpec output
$ rake spec
(in /Users/kerry/tmp/foo)
/Users/kerry/ruby/bin/ruby -S bundle exec rspec ./spec/models/foo_spec.rb
F
Failures:
1) Foo shows the line that failed
Failure/Error: false.should be_true
expected false to be true
@kerryb
kerryb / breadcrumbs.rb
Created November 11, 2010 10:43
Which is best, iteration or recursion?
# I originally refactored this method to a recursive solution, but I wonder whether
# that's really necessary. Is the alternative approach using inject easier to
# understand?
# Original method, with external iterator:
# Build breadcrumb list from an array of nested model instances, starting with the parent
# and ending with the lowest level child. Each breadcrumb needs to be created using a
# sub-array containing itself and its parents.
namespace :code do
task :trailing_spaces do
grep "app", "spec"
end
def grep *file_patterns
files_found = ""
file_patterns.each do |file_pattern|
files_found << `grep -r -E '^.*[[:space:]]+$' --include '*.rb' #{file_pattern}`
end
@kerryb
kerryb / gist:274297
Created January 11, 2010 15:05
Ctags script
#!/usr/bin/ruby
#-*-ruby-*-
# A script to run ctags on all .rb files in a project. Can be run on
# the current dir, called from a git callback, or install itself as a
# git post-merge and post-commit callback.
CTAGS = '/usr/local/bin/ctags'
HOOKS = %w{ post-merge post-commit post-checkout }
HOOKS_DIR = '.git/hooks'