Skip to content

Instantly share code, notes, and snippets.

View dylanahsmith's full-sized avatar

Dylan Thacker-Smith dylanahsmith

  • Quebec
  • 23:00 (UTC -05:00)
View GitHub Profile
@dylanahsmith
dylanahsmith / test2.rb
Last active January 15, 2019 12:46
mysql2 EINTR on connect prolonged timeout reproduction
#!/usr/bin/env ruby
require 'mysql2'
require 'rbconfig'
CONNECT_TIMEOUT = ARGV.empty? ? nil : ARGV.shift.to_i
trap("USR2") {}
HOST = case RbConfig::CONFIG["host_os"]
@dylanahsmith
dylanahsmith / test.rb
Last active January 15, 2019 12:46
mysql2 EINTR on connect error reproduction
#!/usr/bin/env ruby
require 'mysql2'
trap("USR2") {}
pid = fork do
loop do
client = Mysql2::Client.new
client.close
@dylanahsmith
dylanahsmith / 2.1.0-github
Created January 30, 2014 17:57
ruby-build definition for github's patched ruby 2.1
install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
install_git "ruby-2.1.0-github" [email protected]:github/ruby.git 2.1 ldflags_dirs standard verify_openssl
@dylanahsmith
dylanahsmith / rpoplpushn-benchmark.rb
Created January 14, 2014 16:58
Batch redis atomic pop push benchmark
#!/usr/bin/env ruby
require 'benchmark'
require 'redis'
require 'wolverine'
ITERATIONS = 200
BATCH_SIZE = 200
PROCESS_COUNT = 8
redis = Redis.new(:host => 'localhost')
@dylanahsmith
dylanahsmith / tcp-no-delay-benchmark.rb
Created January 9, 2014 23:04
Benchmarking Net::HTTP with and without keep-alive and TCP_NODELAY
#!/usr/bin/env ruby
require 'net/http'
require 'net/http/persistent'
require 'benchmark'
class HttpNoTcpDelay < Net::HTTP
def on_connect
@socket.io.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
nil
@dylanahsmith
dylanahsmith / marshal-print.rb
Last active January 18, 2019 20:55
Print contents of marshal dump for inspection and debugging
#!/usr/bin/env ruby
# frozen_string_literal: true
filename = ARGV.shift
class MarshalPrinter
TYPE_NIL = '0'
TYPE_TRUE = 'T'
TYPE_FALSE = 'F'
TYPE_FIXNUM = 'i'
@dylanahsmith
dylanahsmith / boost_ignored_on_prefix_search.sh
Created August 19, 2012 06:08
elasticsearch ignores boost on prefix search
#!/bin/sh
curl -XDELETE 'http://localhost:9200/foo'
curl -XPUT 'http://localhost:9200/foo/?pretty=true' -d '
{
"mappings" : {
"bar" : {
"properties" : {
"title" : {
@dylanahsmith
dylanahsmith / qs-analyzed-wildcard-and-op-bug.sh
Created August 17, 2012 03:09
elasticsearch query_string with analyze_wildcard default operator bug
#!/bin/sh
curl -XDELETE localhost:9200/test
curl -XPUT 'http://localhost:9200/test/doc/1' -d '{
"message" : "apples oranges"
}'
curl -XPUT 'http://localhost:9200/test/doc/2' -d '{
"message" : "apples"