Skip to content

Instantly share code, notes, and snippets.

View sandipb's full-sized avatar

Sandip Bhattacharya sandipb

View GitHub Profile
sandipb /
Last active January 20, 2024 22:40
Avro schema for weather data
sandipb / main.go
Last active March 22, 2018 00:54
Golang web handlers and sigpipe
package main
import (
### 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
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
- 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

Fix problem when cups-pdf (actually Ghostscript) refuses to print PDF files with restrictions

Specifically, even if the file has no printing restrictions, like many government forms do (my specific itch), Ghostscript refuses to print the file and generates a blank pdf.

Steps to fix

  1. Put contents of in an executable file named /usr/lib/cups/filter/unblockprint. Make sure that the permissions of this file matches others in the same directory.
  2. Put local.convs in /etc/cups