Skip to content

Instantly share code, notes, and snippets.

@soveran
soveran / benchmarks.rb
Created April 23, 2015 14:39
Initial benchmarks of Rack, Syro and Cuba.
require "benchmark"
require "cuba"
require "syro"
class HelloWorld
def call(env)
if env['REQUEST_METHOD'] == 'GET' && env['PATH_INFO'] == '/foo/bar'
[200, {"Content-Type" => "text/html"}, ["hello world"]]
elsif env['REQUEST_METHOD'] == 'GET' && env['PATH_INFO'] == '/admin'
@soveran
soveran / textorama
Created July 24, 2013 00:59
Plain shell version of textorama, contributed by @djanowski
#!/bin/sh
hi=$(expr $(tput lines) - 1)
cp $1 $1.ts
ed -s $1.ts <<-EOS
1i
.pl ${hi}v
.
@soveran
soveran / sc
Created June 7, 2013 22:56
Command line reference of HTTP status codes for rc shell.
#!/usr/bin/env rc
if (! ~ $#* 1) {
echo 'Usage: sc <pattern>'
} else {
grep $1: $0
}
# 100: Continue
# 101: Switching Protocols
@soveran
soveran / config.ru
Last active December 18, 2015 00:49
Basic structure for a Cuba application.
require "cuba"
# Here you can add helpers, models, filters, services, etc.
Dir["./routes/**/*.rb"].each { |rb| require rb }
Cuba.use Rack::MethodOverride
Cuba.use Rack::Session::Cookie,
key: "_app_name_",
secret: "_app_secret_"
@soveran
soveran / paginate.rb
Last active February 26, 2018 07:32
Pagination helper for Ohm models.
def paginate(collection, options = {})
start = options[:start] || 0
limit = options[:limit] || 0
order = options[:order]
rest = collection.size > (start + limit)
page = collection.sort(order: order, start: start, limit: limit)
[rest, page]
end
@soveran
soveran / gist:4198977
Created December 3, 2012 23:13
Hello proxy.openredis.com

As some of you may know, traffic within AWS is free, and traffic going outside of AWS has a small cost. We had never restricted outgoing traffic because it makes sense for our customers to access their database from their local environments. Everyone needs to run administrative commands every now and then, and that's totally fair.

Recently, we noticed an increase in traffic going outside of AWS, to the point that we were operating at a loss. We tried to contact all our customers to let them know that we would restrict that kind of usage, and effectively did so today. After all, we thought,

@soveran
soveran / config.ru
Created April 7, 2012 17:29
Small Cuba App.
require "cuba"
run Cuba.new { on(root) { res.write "hello, world" } }
@soveran
soveran / elements.md
Created November 18, 2011 17:38
Excerpts from The Elements of Programming Style. The source of this compilation is unknown.

The Elements of Programming Style

The following rules of programming style are excerpted from the book "The Elements of Programming Style" by Kernighan and Plauger, published by McGraw Hill. Here is quote from the book: "To paraphrase an observation in The Elements of Style by Strunk and White, the rules of programming style, like those of English, are sometimes broken, even by the best writers. When a rule is broken, however, you will usually find in the program some compensating merit, attained at the cost of the violation. Unless you are certain of doing as well, you will probably do best to follow the rules."

require "ohm"
require "pp"
class Foo < Ohm::Model
def my_strings
key[:my_strings]
end
end
f = Foo.create
@soveran
soveran / userContent.css
Created June 10, 2011 14:31
Firefox tweak to hide plugin placeholders.
/*
* Hide the "Click here to download plugin" flash placeholders.
*/
embed[type="application/x-shockwave-flash"] {
display: none !important;
}