Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env ruby
require 'securerandom'
require 'json'
require 'benchmark'
require 'bunny'
conn = Bunny.new
conn.start
ch = conn.create_channel
x = ch.default_exchange
require 'cgi'
require 'base64'
require 'openssl'
def oauth_url(url)
parameters = ["oauth_consumer_key=#{ENV.fetch 'OAUTH_KEY'}",
"oauth_nonce=#{Random.rand(100000000).to_s}",
"oauth_signature_method=#{'HMAC-SHA1'}",
"oauth_timestamp=#{Time.now.to_i.to_s}",
"oauth_version=1.0"].join('&')
@carlhoerberg
carlhoerberg / set_nofile_limit.c
Created October 10, 2013 07:11
Set nofile limit for a running process
#define _GNU_SOURCE
#define _FILE_OFFSET_BITS 64
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/resource.h>
#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \
} while (0)
@carlhoerberg
carlhoerberg / Gemfile
Created May 30, 2013 07:58
Simple redirect app with Ruby Rack
source 'https://rubygems.org'
gem 'rack'
gem 'puma'
@carlhoerberg
carlhoerberg / multi-em-http.rb
Created April 17, 2012 15:00
Concurrent HTTP requests with EventMachine
require 'eventmachine'
require 'em-http-request'
# Reference:
# https://github.com/igrigorik/em-http-request/wiki/Parallel-Requests
# http://rdoc.info/github/eventmachine/eventmachine/master/EventMachine/Iterator
urls = ['http://www.google.com', 'http://www.cloudamqp.com']
@carlhoerberg
carlhoerberg / Rails.txt
Created March 31, 2012 11:53
Heroku JRuby Server benchmark
# https://github.com/carlhoerberg/heroku-jruby-example/tree/puma
$ siege -b -c 100 -t 60S http://jruby-puma.herokuapp.com/
Transactions: 42918 hits
Availability: 100.00 %
Elapsed time: 60.18 secs
Data transferred: 3.40 MB
Response time: 0.14 secs
Transaction rate: 713.16 trans/sec
Throughput: 0.06 MB/sec
Concurrency: 98.90
@carlhoerberg
carlhoerberg / dm_bug.rb
Created February 1, 2012 21:27
Adding a hash to a DM collection makes two items
require 'dm-core'
DataMapper.setup(:default, 'in_memory::')
class A
include DataMapper::Resource
property :id, Serial
property :jada, String
has n, :bs
end
@carlhoerberg
carlhoerberg / gist:1689407
Created January 27, 2012 15:52
github push error
cloudpostgres (monitor)$ git push
Counting objects: 33, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 2.26 KiB, done.
Total 18 (delta 13), reused 0 (delta 0)
remote: /data/github/current/lib/github/config/resque.rb:27: undefined method `constantize' for "GitHub::Jobs::TransformUserIntoOrg":String (NoMethodError)
remote: from /data/github/current/lib/github/config/resque.rb:26:in `each'
remote: from /data/github/current/lib/github/config/resque.rb:26
remote: from /data/github/current/lib/rock_queue.rb:9:in `require'
@carlhoerberg
carlhoerberg / app.rb
Created January 26, 2012 20:55
Webrick ssl example
require 'sinatra/base'
require 'openssl'
require 'webrick'
require 'webrick/https'
class App1 < Sinatra::Base
get '/' do
'app1'
end
end
@carlhoerberg
carlhoerberg / nginx.conf
Created January 19, 2012 21:49
Nginx config template
user www-data;
pid /var/run/nginx.pid;
worker_processes 1;
events {
worker_connections 1024; # increase if you have lots of clients
accept_mutex off; # "on" if nginx worker_processes > 1
use epoll; # enable for Linux 2.6+
}