Skip to content

Instantly share code, notes, and snippets.

Avatar

Jehiah Czebotar jehiah

View GitHub Profile
@jehiah
jehiah / hash_file.go
Created May 23, 2014
Utility for hashing the records of a file
View hash_file.go
package main
import (
"crypto/hmac"
"crypto/sha256"
"encoding/csv"
"flag"
"fmt"
"log"
"os"
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
jehiah / bulk_shorten_links.go
Created Jun 13, 2014
Encode a bulk csv of links against the Bitly API
View bulk_shorten_links.go
View keybase.md

Keybase proof

I hereby claim:

  • I am jehiah on github.
  • I am jehiah (https://keybase.io/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
jehiah / reader.py
Created Aug 23, 2014
Example NSQ Reader
View reader.py
"""
Usage:
./reader.py --nsqd-tcp-address=address:port --topic=topic --channel=channel
"""
import nsq
import tornado.options
def handler(message):
@jehiah
jehiah / run_test.sh
Created Jan 27, 2015
A set of scripts to compare hashing between Go (gomemcache with ketama) and libmemcached (with ketama consistent) from @davemarchevsky
View run_test.sh
#!/bin/bash
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
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.
PACKAGE=libevent
- VERSION=1.4.14b-stable
+ VERSION=1.4.14b-bitly2
@jehiah
jehiah / gist:237577c9a5843861a668
Created Feb 25, 2015
clear_nsqd_topics_and_channels.py
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
jehiah / check_recent_ts.sh
Created Mar 31, 2015
Monitor files for recent timestamps
View check_recent_ts.sh
#!/bin/bash
WARN="180"
CRITICAL="300"
USE_MODIFY_TIME=false # default to use the contents of the file
while [ "$1" != "" ]; do
param=${1%%=*}
value=${1#*=}
case $param in
@jehiah
jehiah / disabled_nsq_reader.py
Created Jun 12, 2015
A pynsq Reader that polls for a file to transparently enable/disable
View disabled_nsq_reader.py
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']
You can’t perform that action at this time.