Skip to content

Instantly share code, notes, and snippets.

require 'rubygems'
require 'archive/tar/minitar'
src = {
"foo.txt" => "This is file foo",
"bar.txt" => "This is file bar",
}
File.open("test.tar","w") do |tarfile|
Archive::Tar::Minitar::Writer.open(tarfile) do |tar|
@akdubya
akdubya / escape.rb
Created March 27, 2009 21:18
URI escaping benchmark
require 'json'
require 'uri'
require 'rack'
require 'cgi'
require 'addressable/uri'
require 'benchmark'
val = { 'arr' => ['foo', 'bar', 'baz', 'bat'], 'bing' => 'blat' }.to_json
n = 100000
require 'pastiche'
require 'pastiche/serializer'
require 'restclient'
module Pastiche
class RESTStore
def initialize(uri, opts={})
@uri = uri
end
module Pastiche
class SpecStore
def initialize(store)
@store = store
end
class StoreError < RuntimeError; end
module Assertion
def assert(message, &block)
unless block.call
require 'eventmachine'
require 'fiber'
def run_fiber(f)
EM.next_tick do
f.resume
if f.alive?
run_fiber(f)
end
end
require 'eventmachine'
require 'fiber'
Q = Array.new
worker = Fiber.new do
loop do
Fiber.yield
blk = Q.shift
blk.call if blk
#!/usr/bin/env ruby
require 'mongo'
require 'mongo/gridfs'
require 'rufus/edo'
require 'benchmark'
host = ENV['MONGO_RUBY_DRIVER_HOST']
port = ENV['MONGO_RUBY_DRIVER_PORT']
MyStruct = Struct.new :name, :rating
a = MyStruct.new 'Michael', 10
b = MyStruct.new 'Jim', 9
c = MyStruct.new 'Dwight', 10
arr = [a, b, c]
arr.sort_by {|obj| [-obj.rating, obj.name]}
(function(uustats){
uustats.sdev = function(series) {
return Math.sqrt(uustats.variance(series));
};
uustats.variance = function(series) {
var t = 0, squares = 0, len = series.length;
for (var i=0; i<len; i++) {
{
ifequal: function(chunk, context, bodies, params) {
if (params.left === params.right) {
return chunk.render(bodies.block, context);
} else {
return chunk.render(bodies['else'], context);
}
},
foo: "value",
bar: "value"