Skip to content

Instantly share code, notes, and snippets.

@jehiah
jehiah / xls_to_csv.py
Last active November 15, 2019 14:54
Convert xls to CSV
#!/usr/local/bin/python
import openpyxl
from openpyxl.utils.exceptions import InvalidFileException
import tornado.options
import os.path
import csv
import sys
import xlrd
import datetime
@jehiah
jehiah / pizza.py
Last active January 13, 2019 02:11
Calculate the ratio of ingredients needed for the perfect quantity of pizza dough
#!/usr/bin/env python
# Calculate the ratio of ingredients needed for the perfect quantity of pizza dough
#
# $ pizza.py --target-oz=49
# target: 49.00oz 1389gram
# flour: 800 grams (400 x 2)
# water: 520 grams
# salt: 16 grams
# sugar: 12 grams
@jehiah
jehiah / semver.py
Created April 10, 2017 14:18
Semver 2.0.0 compatible version comparison w/o regexes
def compare(a, b):
"""
Compare two version strings.
:return -1, 0, 1
:rtype: int
"""
a = map(_cast_int, a.split('+', 2)[0].split('.'))
b = map(_cast_int, b.split('+', 2)[0].split('.'))
@jehiah
jehiah / bitly_datastream.py
Created February 3, 2017 21:58
pynsq example for connecting to Bitly Datastream
import json
import logging
import nsq
import sys
import tornado
import tornado.options
def handle_message(message):
print json.loads(message.body)['u']
message.finish()
@jehiah
jehiah / cyclists_with_cameras_stats_20161123.txt
Created November 23, 2016 14:08
Cyclists With Cameras stats for my first 339 TLC reports from 2015/10/27 through 2016/11/23
A follow up to stats for the first 200 at https://on.jehiah.cz/29J6lIX
Violations Cited
# each ∎ represents a count of 4. total 365
no passing zone - NY VTL 1126 [ 1] (0.27%)
(fhv) use/threat physical force - 54-12(g) [ 1] (0.27%)
no tint below 70% - VTL 375(12-a)(b)(2) [ 1] (0.27%)
(fhv) yield sign violation - 54-13(a)(3)(ix) [ 1] (0.27%)
(taxi) improper passing - 55-13(a)(3)(xi) [ 1] (0.27%)
(fhv) threats - 54-12(f) [ 1] (0.27%)
#!/usr/bin/env python
"""
Pivot a CSV file
$ cat <<EOF | python pivot_csv.py --numeric --headers
> row,column,value
> r1,c1,1
> r1,c2,1
> r1,c1,5
@jehiah
jehiah / cyclists_with_cameras_stats_20160715.txt
Created July 16, 2016 01:37
Cyclists With Cameras stats for my first 200 TLC reports from 2015/10/27 through 2016/7/15
A follow up to stats for the first 100 at https://bit.ly/1Se07j7
Violations Cited
# each ∎ represents a count of 3. total 221
no tint below 70 % - VTL 375(12-a)(b) [ 1] (0.45%)
use/threat of physical force - 54-12(g) [ 1] (0.45%)
no passing zone - NY VTL 1126 [ 1] (0.45%)
(fhv) unsafe lane change - 55-13(a)(3)(xii) [ 1] (0.45%)
obstructed license plate - NY VTL 402(b) [ 1] (0.45%)
(taxi) yield sign violation - 54-13(a)(3)(ix) [ 1] (0.45%)
@jehiah
jehiah / check_https_everywhere_duplicate_rulesets.go
Created July 6, 2016 14:37
check ruleset files in HTTPS-Everywhere for duplicate target definitions
package main
// This script is designed to check ruleset files in HTTPS-Everywhere for duplicate target definitions
import (
"encoding/xml"
"flag"
"path/filepath"
"io/ioutil"
"log"
@jehiah
jehiah / nsq_testing.go
Created June 13, 2016 19:21
Interface for testing nsq producers.
package nsqutils
import (
"sync"
"time"
"github.com/nsqio/go-nsq"
)
// Producer is an interface that nsq.Producer fulfills
@jehiah
jehiah / fetchtest.go
Last active May 5, 2016 20:45 — forked from jsha/fetchtest.go
package main
import (
"bufio"
"errors"
"flag"
"fmt"
"net/http"
"os"
"sync"