Skip to content

Instantly share code, notes, and snippets.

View flazz's full-sized avatar

Franco Lazzarino flazz

View GitHub Profile
require 'rubygems'
require 'benchmark'
require 'riak'
require 'json'
require 'pp'
class Time
def ms_from_epoc
k = 1000
require 'rubygems'
require 'riak'
require 'json'
require 'benchmark'
require 'pp'
$client = Riak::Client.new :protocol => :pbc
def count_all_keys
mr = Riak::MapReduce.new($client).
require 'rubygems'
require 'riak'
require 'json'
require 'benchmark'
require 'pp'
$client = Riak::Client.new :protocol => :pbc
def count_all_keys
mr = Riak::MapReduce.new($client).
@flazz
flazz / gist:1061898
Created July 3, 2011 02:27
lambda based data structures
(ns lambda-list)
;;; basic linked list using lambdas
; construct a pair containing x and y
(defn pair [x y]
(fn [b]
(if b x y)))
; construct a singleton list containing x
module Huffman where
import Data.Map
import Data.Word
import Data.Ord
import Data.List
import Data.Maybe
data Tree a = Node {small::Tree a, big::Tree a}
| Leaf {occurrences::Int, symbol::a}
@flazz
flazz / gist:987878
Created May 23, 2011 23:45
ruby lambda composition (for v1.9)
# compose lambdas f & g
# (f << g).(x)
class Proc
def <<(g)
-> x { self.(g.(x)) }
end
end
@flazz
flazz / strange-block-eval.rb
Created March 7, 2011 15:00
strange ruby parsing
require 'pp'
raw = File.read 'redis.conf'
pp raw.lines.reject { |line| line =~ %r{^\s*[#]} }
pp raw.lines.reject do |line|
line =~ %r{^\s*[#]}
end
@flazz
flazz / gist:838163
Created February 22, 2011 03:21
case with predicates
threeven = -> n { n % 3 == 0 }
fourven = -> n { n % 4 == 0 }
fiven = -> n { n % 5 == 0 }
rs = (0..10000).to_a.sample(30)
rs.each do |r|
case r
@flazz
flazz / gist:838098
Created February 22, 2011 02:10
many tests of one value
if r == P
#do_something ...
elsif r * 2 < Q
#do_something ...
elsif some_test(r)
#do_something ...
else
raise "unpossible"
end
puts $0
puts $0.size
puts
$0 = 'abc' * 20
puts $0
puts $0.size
puts