Skip to content

Instantly share code, notes, and snippets.

jehiah / hash_file.go
Created May 23, 2014
Utility for hashing the records of a file
View hash_file.go
package main
import (
View gist:a93ceab1dd4d9c431653
$ sudo svstat /service/clickatron_sortdb-1
/service/clickatron_sortdb-1: up (pid 4235) 87771717 seconds
$ uptime
18:08:07 up 1073 days, 23:49, 1 user, load average: 1.02, 1.18, 1.22
jehiah / bulk_shorten_links.go
Created Jun 13, 2014
Encode a bulk csv of links against the Bitly API
View bulk_shorten_links.go

Keybase proof

I hereby claim:

  • I am jehiah on github.
  • I am jehiah ( on keybase.
  • I have a public key whose fingerprint is 5FA8 C7EF F19D F9BB 8B02 18AA 43CA 3BC5 5BBC 543F

To claim this, I am signing this object:

jehiah /
Created Aug 23, 2014
Example NSQ Reader
./ --nsqd-tcp-address=address:port --topic=topic --channel=channel
import nsq
import tornado.options
def handler(message):
jehiah /
Created Jan 27, 2015
A set of scripts to compare hashing between Go (gomemcache with ketama) and libmemcached (with ketama consistent) from @davemarchevsky
set -e
# Run C test
gcc -g -std=c99 -L/bitly/local/lib -I/bitly/local/include -lmemcached -o test_consistent_hashing test_consistent_hashing.c
./test_consistent_hashing < testdata.txt > c_hash_results
rm -f test_consistent_hashing
# Run go test
go run test_consistent_hashing.go > go_hash_results
jehiah / libevent-1.4.14b-bitly2.patch
Created Jan 28, 2015
Bitly patches for libevent-1.4.14b
View libevent-1.4.14b-bitly2.patch
diff -urp libevent-1.4.14b-stable/configure libevent-1.4.14b-stable-fix/configure
--- libevent-1.4.14b-stable/configure 2010-06-20 09:06:18.000000000 -0400
+++ libevent-1.4.14b-stable-fix/configure 2012-05-09 15:14:09.000000000 -0400
@@ -2988,7 +2988,7 @@ fi
# Define the identity of the package.
- VERSION=1.4.14b-stable
+ VERSION=1.4.14b-bitly2
jehiah / gist:237577c9a5843861a668
Created Feb 25, 2015
View gist:237577c9a5843861a668
#!/bin/env python2.7
A script to clear out nsq topics and channels. This is particularly useful in dev for when
topics naturally backup, or when launching a producer with some time before a consumer exists
import tornado.options
import tornado.httpclient
import logging
import json
import urllib
jehiah /
Created Mar 31, 2015
Monitor files for recent timestamps
USE_MODIFY_TIME=false # default to use the contents of the file
while [ "$1" != "" ]; do
case $param in
jehiah /
Created Jun 12, 2015
A pynsq Reader that polls for a file to transparently enable/disable
import os.path
import logging
import tornado.ioloop
from nsq import Reader as BaseReader
from nsq import run
class Reader(BaseReader):
def __init__(self, *args, **kwargs):
max_in_flight = kwargs['max_in_flight']