Skip to content

Instantly share code, notes, and snippets.

View usergenic's full-sized avatar
💭
Manifesting dreams! 🦄

Brendan Baldwin usergenic

💭
Manifesting dreams! 🦄
View GitHub Profile
<~/Desktop> ruby lru_benchmark.rb
2.250000 0.010000 2.260000 ( 2.252988)
<~/Desktop> ruby lru_cache_benchmark.rb # <- mine
2.370000 0.000000 2.370000 ( 2.376547)
<~/Desktop> ruby lrucache_benchmark.rb
3.420000 0.010000 3.430000 ( 3.435718)
<~/Desktop> ruby ramaze_lruhash_benchmark.rb
53.310000 0.040000 53.350000 ( 53.360825)
@usergenic
usergenic / lru_benchmark.rb
Created November 10, 2012 22:31
running my lru_cache gem vs lrucache vs ramaze snippets lruhash vs lru
require "rubygems"
require "lru"
require "benchmark"
cache = Cache::LRU.new(max_elements: 1_000)
bm = Benchmark.measure do
1_000_000.times do
cache[rand(2_000)] ||= :value
end
@usergenic
usergenic / zmq_hwm.rb
Created May 14, 2012 20:41
ZMQ::Socket#hwm/hwm= -- need to set hwm BEFORE connect/bind
require 'zmq'
include ZMQ
ctx = Context.new
msg = "*" * 1_024 # 1KB
msg = msg * 1_024 # 1MB
Thread.new do
puller = ctx.socket :PULL
move in to new house:
- build house
construct house:
- add roof
- weatherproof roof
- add electrical wiring
- add plumbing
$ irb
[1] pry(main)> require 'rubygems'
=> false
[2] pry(main)> require 'koala'
=> true
[3] pry(main)> api = Koala::Facebook::API.new('INSERT YOUR ACCESS TOKEN HERE')
=> #<Koala::Facebook::API:0x10dbf34a8
@access_token=
"INSERT YOUR ACCESS TOKEN HERE">
[4] pry(main)> api.get_object('bbaldwin', :fields => 'id,languages')
@usergenic
usergenic / emmy_cassy.rb
Created February 29, 2012 01:10
Simulated old-school blocking connection pool utilization with EM
require "eventmachine"
ROFLSCALE=10
ROFLQUERIES=1000
class CassandraConnection
def initialize(id)
@id = id
end
def get(query)
@usergenic
usergenic / zmq_spec.rb
Created February 10, 2012 01:23
Just demoing rbczmq...
require 'zmq'
describe 'ZMQ' do
let(:ctx) { ZMQ::Context.new }
after { ctx.destroy }
describe 'PUSH and PULL' do
@usergenic
usergenic / circular_reference_detector_spec.rb
Created January 12, 2012 22:04
Circular Reference Detector Spec
describe CircularReferenceDetector do
it "should require a block upon initialization" do
lambda { detector = CircularReferenceDetector.new }.should raise_exception
end
describe CircularReferenceDetector, "#next_nodes" do
before :each do
@thing = Object.new
@usergenic
usergenic / circular_reference_detector.rb
Created January 10, 2012 23:01
CircularReferenceDetector
describe "CircularReferenceDetector" do
it "should identify circular references in linked list" do
class Node
attr_accessor :next_node
end
detector = CircularReferenceDetector.new do |node|
node.next_node
n --> n --> n
^ v
n <---+