Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View dylanahsmith's full-sized avatar

Dylan Thacker-Smith dylanahsmith

  • Quebec
  • 05:28 (UTC -04:00)
View GitHub Profile
@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 / bundle-ctags
Last active December 22, 2021 21:05 — forked from burke/ctags.sh
bundle-ctags
#!/usr/bin/env ruby
bundle_list_paths = `bundle list --paths`
unless $?.success?
print bundle_list_paths
exit 1
end
gem_paths = bundle_list_paths.split.map do |path|
File.join(path, 'lib')
end.select do |path|
@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 / 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 / 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 / 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"