Skip to content

Instantly share code, notes, and snippets.

### Keybase proof
I hereby claim:
* I am ender672 on github.
* I am timothy_elliott (https://keybase.io/timothy_elliott) on keybase.
* I have a public key ASBqzzBkXMw06Qfxt3mwY9GU4kiLzvhHUsfb0CwX37ukQgo
To claim this, I am signing this object:
# Puma hangs when it receives a SIGTERM in Linux x86_64. Reproduce as follows:
#
# Start Puma
# $ puma
#
# Get the PID for Puma
# $ ps u
#
# Send SIGTERM
# $ kill 4321
@ender672
ender672 / gist:2582334
Created May 3, 2012 01:09
Multithreaded rack handler. Proof-of-concept. Use Puma instead.
require 'socket'
require 'uri'
require 'rack/handler' # gem install rack
require 'rack/rewindable_input'
require 'http/parser' # gem install http_parser.rb
require 'stringio'
module Rack::Handler
module Qute
def self.run(app, options={})
@ender672
ender672 / gist:2378417
Created April 13, 2012 17:10
Single-threaded, single-process, non-evented rack handler using the mongrel http parser
require 'rack/handler'
require 'socket'
require 'puma/puma_http11'
module Rack::Handler
module Qute
READ_SIZE = 500000
module NullIO
def self.gets; end
@ender672
ender672 / gist:2175941
Created March 23, 2012 22:45
A really small image resizing rack application
require 'rack'
require 'oil'
app = lambda do |env|
r = Rack::Request.new(env)
io = File.new(File.join('images', File.basename(r.path)), 'rb')
body = Oil::JPEG.new(io, r[:w].to_i, r[:h].to_i)
[200, { 'Content-Type' => 'image/jpeg' }, body]
end
#include <string.h>
#include <libxml/tree.h>
#include <libxml/xpath.h>
void
main()
{
xmlDocPtr doc;
xmlNodePtr cur;
xmlXPathContextPtr ctx;
diff --git a/ext/nokogiri/xml_document.c b/ext/nokogiri/xml_document.c
index 348344c..9f035ad 100644
--- a/ext/nokogiri/xml_document.c
+++ b/ext/nokogiri/xml_document.c
@@ -38,6 +38,13 @@ static void dealloc(xmlDocPtr doc)
NOKOGIRI_DEBUG_END(doc);
}
+static void
+mark(xmlDocPtr doc)
diff --git a/lib/nokogiri/xml/node_set.rb b/lib/nokogiri/xml/node_set.rb
index 37b3848..149e90e 100644
--- a/lib/nokogiri/xml/node_set.rb
+++ b/lib/nokogiri/xml/node_set.rb
@@ -240,6 +240,14 @@ module Nokogiri
end
end
+ def map
+ a = []
@ender672
ender672 / gist:1831918
Created February 15, 2012 00:10
1.9.3-p0 nokogiri segfault fix
diff --git a/lib/nokogiri/xml/node_set.rb b/lib/nokogiri/xml/node_set.rb
index 37b3848..cb99cdd 100644
--- a/lib/nokogiri/xml/node_set.rb
+++ b/lib/nokogiri/xml/node_set.rb
@@ -234,8 +234,8 @@ module Nokogiri
###
# Iterate over each node, yielding to +block+
- def each(&block)
- 0.upto(length - 1) do |x|
@ender672
ender672 / config.ru
Created January 31, 2012 01:09
Rack middleware for signed request URIs
require './signed_request_uri'
require 'rack/file'
use Rack::SignedRequestUri, 'top secret'
run Rack::File.new('images')