Skip to content

Instantly share code, notes, and snippets.

View sandipb's full-sized avatar

Sandip Bhattacharya sandipb

View GitHub Profile
sandipb /
Created May 20, 2015 10:09
Avro schema for weather data
#!/usr/bin/env python
import avro.schema
from avro.datafile import DataFileWriter
from import DatumWriter
import csv
import calendar
import time
schema = avro.schema.parse(open("weather.avsc").read())
sandipb / main.go
Last active March 22, 2018 00:54
Golang web handlers and sigpipe
View main.go
package main
import (
View gist:49f91868e83de9db70238dadfd0d80ca
### Keybase proof
I hereby claim:
* I am sandipb on github.
* I am sandipb ( on keybase.
* I have a public key ASC4KMgsBE9a3n9l9GI0InNtbh-SzM49e_m3sNt7jlAY4Qo
To claim this, I am signing this object:
sandipb / .bashrc
Last active October 11, 2018 22:31
Bashrc to keep a consistent tmux ssh-agent environment
View .bashrc
SOCKPTR="$(readlink -f $SOCK 2> /dev/null)"
if [[ -z $SOCKPTR ]] || [[ ! -S $SOCKPTR ]]
echo -e "\e[31m\e[1mNo valid current tmux ssh-agent link\e[0m"
if [[ -n $SSH_AUTH_SOCK ]] && [[ -S $SSH_AUTH_SOCK ]]
rm -f $SOCK
sandipb /
Last active June 11, 2019 23:59
ujson repr trips up json dumps
from __future__ import print_function
import ujson, json
data = '{ "prod-lsg1": { "max_float": 0.0046288111 } }'
print("json dumps, w/o precise float: ", json.dumps(ujson.loads(data)))
print("json dumps, w/ precise float: ",json.dumps(ujson.loads(data, precise_float=True)))
print("ujson dumps, w/o precise float: ", ujson.dumps(ujson.loads(data)))
print("ujson dumps, w/ precise float: ",ujson.dumps(ujson.loads(data, precise_float=True)))
sandipb /
Created June 12, 2019 00:32
Benchmarking json loading across json and ujson (precision floats and normal)
import json
import ujson
from timeit import repeat
def decode_json(data):
def decode_ujson(data, precise=False):
sandipb /
Created June 21, 2020 11:37
Bash script to generate new server certificates and private key, for the OpenSSL Certificate Authority guide by Jamie
# set -x
set -e
cd $(dirname $0)
# The path to the homebrew install on mac. Change to point to your own installation
NAME=${1:?Need a hostname for generating certs}
export SAN="DNS:$NAME"
sandipb /
Last active August 5, 2020 10:35
Example code to use the Golang httprouter library
sandipb / playbook.yml
Created September 27, 2021 22:58
Get non-matching kernels on all hosts using ansible
View playbook.yml
- hosts: ubuntu
gather_facts: yes
kernel_does_not_match: "{{ (ansible_distribution == 'Ubuntu') and ( ansible_kernel != '5.4.0-86-generic') }}"
output_path_local: /tmp/host_kernels
- block:
- name: Add matching host to file
sandipb /
Last active May 5, 2022 02:46
Fix cups-pdf not printing PDFs with restrictions