Skip to content

Instantly share code, notes, and snippets.

View bradleybuda's full-sized avatar

Bradley Buda bradleybuda

View GitHub Profile
@bradleybuda
bradleybuda / gist:635232
Created October 19, 2010 22:05
More useful irb / ruby-debug
ObjectSpace.each_object(Class) { |o| o.send(:public, *o.instance_methods) }
@bradleybuda
bradleybuda / placekitten_helper.rb
Created March 2, 2011 23:55
Making Rails adorable
module PlacekittenHelper
def placekitten(width, height, color = true)
path = [width.to_s, height.to_s]
path = %w(g) + path unless color
image_tag "//placekitten.com/#{path.join('/')}"
end
end
@bradleybuda
bradleybuda / instrument_ajax.js
Created March 30, 2011 18:21
Instrument all jQuery AJAX events
_.each(['Start', 'Stop', 'Complete', 'Error', 'Success', 'Send'], function(s){
$(window)['ajax' + s](function(event, xhr, options) {
// your instrumentation goes here
console.log('ajax' + s);
});
});
public class ValueComparableIterator<T extends Comparable<T>> extends ForwardingIterator<T> implements PeekingIterator<T>, Comparable<T> {
private final PeekingIterator<T> delegate;
public ValueComparableIterator(PeekingIterator<T> delegate) {
this.delegate = delegate;
}
@Override
public T peek() {
return delegate.peek();
@bradleybuda
bradleybuda / install.sh
Created October 3, 2012 22:08
install meldium enterprise edition
#!/bin/sh
open "https://www.meldium.com"
@bradleybuda
bradleybuda / expensive_job.rb
Last active December 13, 2015 22:49
How not to use resque-status
class ExpensiveJob
include Resque::Plugins::Status
def perform
Service.find(options['id']).create_user
end
end
module Resque::Plugins::Status::Hash
def self.generate_uuid
require 'uuid' unless defined?(UUID)
UUID.generate(:compact)
end
end
@bradleybuda
bradleybuda / gist:4987930
Created February 19, 2013 17:20
A random-looking UUID
irb(main):004:0> require 'uuid'
=> true
irb(main):005:0> UUID.generate(:compact)
=> "855ff3305ce60130d84d12313d05011b"
@bradleybuda
bradleybuda / gist:4987971
Created February 19, 2013 17:25
Not so random any more
irb(main):010:0> pp Array.new(10) { sleep 1; UUID.generate(:compact) }
["331028305ce70130d84d12313d05011b",
"33aa4b005ce70130d84d12313d05011b",
"344475605ce70130d84d12313d05011b",
"34de8ea05ce70130d84d12313d05011b",
"357898605ce70130d84d12313d05011b",
"3612ba505ce70130d84d12313d05011b",
"36acdc305ce70130d84d12313d05011b",
"374713605ce70130d84d12313d05011b",
"37e118605ce70130d84d12313d05011b",
@bradleybuda
bradleybuda / expensive_job.rb
Last active December 13, 2015 22:59
Meldium base class for Resque jobs
class ExpensiveJob < Job
def perform
user = Service.find(options['id']).create_user
write_result(user.account_id)
end
end
# Usage
job_id, cache_key = ExpensiveJob.create
result = Rails.cache.read(cache_key) # Poll until non-nil