Skip to content

Instantly share code, notes, and snippets.


Will Vaughn nackjicholson

View GitHub Profile
View toss.el
(defun toss ()
(/ (* (/ (/ (* complexity operating-cost)
(+ security-risk accountability-risk))
(* (/ active-users total-possible-users)
(* total-possible-users future-growth))))
;; CLUES 1.0
(let ((complexity 3.0)
nackjicholson / .zshrc
Last active Oct 13, 2020
My old vi keybindings ZSH Prompt config
View .zshrc
bindkey -v
bindkey "^R" history-incremental-search-backward
# zle vi mode indication
vim_ins_mode="-- INSERT --"

Restarting a dead service on a node

hbase regionserver logs were saying they were timing out talking to hdfs ports. This led us to a problem with the “datanode” service, and that above blog about restarting services is how we restarted that service.

Just looking through these will help to find what’s broken. var/logs tmp

A Tkinter widget that features autocompletion.
Created by Mitja Martini on 2008-11-29.
Updated by Russell Adams, 2011/01/24 to support Python 3 and Combobox.
Updated by Dominic Kexel to use Tkinter and ttk instead of tkinter and tkinter.ttk
Licensed same as original (not specified?), or public domain, whichever is less restrictive.
nackjicholson /
Created Jun 9, 2019
json encoder for dataclass instances and enum and times.
class EnhancedJSONEncoder(json.JSONEncoder):
def default(self, o):
if is_dataclass(o):
return asdict(o)
if isinstance(o, Enum):
if isinstance(o, time):
return o.strftime("%H:%M")
return super().default(o)
nackjicholson /
Last active May 13, 2019
snippet of python to verify SNS signatures in flask app.
import json
import logging
from base64 import b64decode
from datetime import datetime, timezone
from urllib.request import urlopen
from M2Crypto import X509
from flask import Blueprint, request, jsonify
from werkzeug.exceptions import BadRequest, Unauthorized
brew install pgloader
brew install mysql@5.7
brew services start mysql@5.7
brew link mysql@5.7 --force

curl -LO
gunzip -k f1db.sql.gz
View gist:acdd07215690dd093b45f838853a080c
>>> import csv
>>> s = '"Yes, this line",can be, parsed as csv'
>>> list(csv.reader([s]))[0]
['Yes, this line', 'can be', ' parsed as csv']
nackjicholson /
Last active Mar 24, 2022
s3 list paginator tricks.
import boto3
s3_client = boto3.client('s3')
def list_dirs(bucket, prefix):
""" Yield direct child folders of the given prefix.
nackjicholson /
Last active Oct 1, 2018
Retriable class decorator, which would allow declaration time AND runtime resetting of decorator properties.
import time
from functools import wraps, update_wrapper
def scaled_retries(attempts, sleeptime, sleepscale):
scaled_sleeptime = sleeptime
for attempt_no in range(attempts):
yield attempt_no + 1, scaled_sleeptime
scaled_sleeptime *= sleepscale