Skip to content

Instantly share code, notes, and snippets.

View jmoiron's full-sized avatar

Jason Moiron jmoiron

View GitHub Profile
>>> humanize.naturalsize(1<<30)
'1.1 GB'
>>> humanize.naturalsize(1<<30, binary=True)
'1.0 GiB'
humanize.naturalsize(1<<30, gnu=True)
'1.0G'
~$ chef-shell -wat
/opt/chefdk/embedded/lib/ruby/gems/2.3.0/gems/mixlib-cli-1.7.0/lib/mixlib/cli.rb:230:in `parse_options': invalid option: -wat (OptionParser::InvalidOption)
from /opt/chefdk/embedded/lib/ruby/gems/2.3.0/gems/chef-12.19.36/lib/chef/shell.rb:288:in `parse_opts'
from /opt/chefdk/embedded/lib/ruby/gems/2.3.0/gems/chef-12.19.36/lib/chef/shell.rb:178:in `parse_opts'
from /opt/chefdk/embedded/lib/ruby/gems/2.3.0/gems/chef-12.19.36/lib/chef/shell.rb:56:in `start'
from /opt/chefdk/embedded/lib/ruby/gems/2.3.0/gems/chef-12.19.36/bin/chef-shell:34:in `<top (required)>'
from /usr/bin/chef-shell:57:in `load'
from /usr/bin/chef-shell:57:in `<main>'
@jmoiron
jmoiron / mp3.py
Created May 25, 2017 05:12
old weechat plugin using python interface for mp3 announcing from a bunch of diff linux mp3 players
#!/usr/bin/env python
#
# this module uses code from Michael Hudson's xmms-py modules
# this code is available in its original form here:
# http://www.python.net/crew/mwh/hacks/xmms-py.html
# the original code had this notice on it:
#
# Released by Michael Hudson on 2000-07-01, and again on 2001-04-26
# public domain; no warranty, no restrictions
#
@jmoiron
jmoiron / hall_of_shame.txt
Last active March 26, 2017 20:29
corpus statustics
stats:
directories: 20185
projects: 1127
go files (*.go): 62783
vendored go files: 33314
duplicated paths: 23452
duplicated files: 14784
unique files: 47999
fmt stats:
@jmoiron
jmoiron / synpad.py
Last active August 29, 2015 14:22
synpad
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Simple synaptics client save/restore."""
import argparse
import sys
import os.path
from collections import OrderedDict
from subprocess import *
@jmoiron
jmoiron / shm_test.c
Created April 2, 2015 20:07
if you mmap an shm_open created fd, then ftruncate+mmap again, do you lose the memory you've been writing to?
#include <stdbool.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/mman.h>
void print_region(char *ptr, size_t len);
// mark a few locations in a pointer
void mark(char *ptr, size_t len) {
@jmoiron
jmoiron / install.sh
Last active June 20, 2016 21:52
jinkies is a very simple jenkins cli
#!/bin/sh
python -c 'import docopt'
if [ $? != 0 ]; then
echo "Missing docopt module."
echo " pip install docopt"
echo ""
echo "or for ubuntu/debian users:"
echo " apt-get install python-docopt"
@jmoiron
jmoiron / Makefile
Last active December 23, 2015 19:09
monte carlo pi estimation in different languages
all: monte-c monte-go monte-rs monte-gccgo
monte-go:
go build montepi.go && mv montepi monte-go
monte-rs:
rustc -O -o monte-rs montepi.rs
monte-c:
gcc -std=c99 -O2 -o monte-c montepi.c -lm
# github search for "json.loads(" => 210,000 matches
feed = urllib2.urlopen("http://example.com/api.json").read()
data = json.loads(feed)
# github search for "json.load(" => 58,000 matches
data = json.load(urllib2.urlopen("http://example.com/api.json"))
# this is how we program for some reason
ls > files.txt
grep "foo" files.txt > grepped.txt
wc -l grepped.txt
rm files.txt grepped.txt