Skip to content

Instantly share code, notes, and snippets.

View brainopia's full-sized avatar

Ravil Bayramgalin brainopia

View GitHub Profile
@brainopia
brainopia / sidekiq_bench.rb
Created June 15, 2013 09:26
Benchmark limit_fetch overhead in different scenarios
require 'benchmark'
require 'sidekiq/limit_fetch'
require 'sidekiq/cli'
total = ARGV.shift || 50
concurrency = ARGV.shift || 1
limit = ARGV.shift
total = total.to_i
limit &&= limit.to_i
$:.unshift '.'
require 'rake'
load 'Rakefile'
load 'rakelib/kernel.rake'
require 'lib/mri_bridge.rb'
require 'lib/melbourne.rb'
require 'lib/compiler'
File.to_ast 'kernel/bootstrap/basicobject.rb'
Gem::Specification.new do |s|
s.name = 'cassandra-schema_dsl'
s.version = '0.1'
s.author = 'brainopia'
s.summary = 'Cassandra schema dsl'
s.files = ['cassandra-schema_dsl.rb']
s.require_path = '.'
s.add_dependency 'cassandra'
@brainopia
brainopia / octokit_mirror.rb
Created February 3, 2013 08:41
Octokit pool
class Octokit::Mirror
attr_reader :remaining, :reserved
def initialize(options={})
@client = Octokit::Client.new options
@remaining = Atomic.new Float::INFINITY
@reserved = Atomic.new 0
@monitor = Atomic.new 0
end
@brainopia
brainopia / task.rb
Created October 21, 2012 15:13
github crawler
require 'delegate'
class Task
extend Forwardable
def_delegators 'self.class', :collection, :indication
class << self
def queues
[OrgRepos, Members, Orgs, Projects, Users, Stars, Contributions]
end
@brainopia
brainopia / gist:3910381
Created October 18, 2012 08:06
Github mirror
require 'eventmachine'
class Request < EM::P::HeaderAndContentProtocol
CRLF = "\r\n"
def receive_request(headers, body)
receive_full_request headers.join(CRLF) << CRLF*2 << body
end
end
@brainopia
brainopia / gist:3910380
Created October 18, 2012 08:06
Github proxy
require 'em-proxy'
Proxy.start host: '0.0.0.0', port: ENV['PORT'] do |connection|
connection.server :github, host: 'api.github.com', port: 443
ok_response = "HTTP/1.1 200 Ok\r\n\r\n"
connect_verb = /\Aconnect/i
connection.on_data do |data|
if data =~ connect_verb
@brainopia
brainopia / openssl.sh
Created October 2, 2012 06:55
Fix readline/openssl extension
cd $rvm_path/src/${MY_RUBY_HOME##*/}/ext/openssl
rvm pkg install openssl
ruby extconf.rb -- --with-openssl-dir="$rvm_path/usr"
make install
cd $rvm_path/usr/ssl
curl http://curl.haxx.se/ca/cacert.pem > cert.pem
module A
# prefer when there are less than three class methods
# and there are instance methods
def self.boo
end
def self.soo
end
def fuuu
# eval with method definition is used to prevent warnings in some situations
DEFINEE = <<-CODE
eval 'def __; end'
it = method(:__).owner rescue instance_method(:__).owner
eval 'undef __'
it
CODE
self # => main