Skip to content

Instantly share code, notes, and snippets.

Reid Williams ReidWilliams

Block or report user

Report or block ReidWilliams

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@ReidWilliams
ReidWilliams / inspect.js
Created Jul 13, 2015
Inspect functions that are part of a promise chain
View inspect.js
// Uses underscore.js to wrap a function and upon calling
// prints the function source and the argument.
// Useful for debugging chains of promises.
// USAGE
// var myfunction = function(argument) {...};
// myfunction = inspect(myfunction); // myfunction is now instrumented
var _ = require('underscore');
var util = require('util');
var inspect = function(fnToInspect) {
@ReidWilliams
ReidWilliams / killnode.sh
Last active Jan 27, 2017
One line command to kill node debug processes on Mac OS
View killnode.sh
kill -9 $(ps -ef | grep '[n]ode --debug-brk=5858' | awk '{print $2}')
View rsync.sh
while true; do rsync -e "ssh -i /PATH/TO/PRIVATE/KEY.pem" -azvh --delete ./LOCAL-REPO/ ec2-user@IP:/REMOTE/PATH; sleep 2; done
@ReidWilliams
ReidWilliams / ffmpeg.sh
Last active Jun 4, 2019
ffmpeg cheatsheet
View ffmpeg.sh
# images to video at 10 images per second, 64x64 resolution, named like 000000.jpg
# -start_number 12 starts at image 12
# -vframes 100 creates a video with 100 frames
# the -pix_fmt option makes it quicktime compatible
ffmpeg -y -r 10 -f image2 -s 64x64 -start_number 12 -i %06d.jpg -vframes 100 -pix_fmt yuv420p -vcodec libx264 ./video.mp4
# match image names by file glob
ffmpeg -y -r 10 -f image2 -s 1920x1080 -pattern_type glob -i "*.jpg" -pix_fmt yuv420p -vcodec libx264 ../video.mp4
# video to images, image size of 160x128, 10 frames per second, named like 000000.png,
@ReidWilliams
ReidWilliams / imagemagick.sh
Last active Nov 28, 2017
resize crop with imagemagick
View imagemagick.sh
# resize all files in directory <in> so that the shorter dimension (or both dims) is 64 pixels, then
# crop the longer dimension to 64 pixels.
magick convert in/* -resize 64x64^ -gravity center -extent 64x64 'out/%06d.jpg'
# crop images using find / exec. Find / exec is useful when there are many images and file globs don't work.
# Crop to 1150 by 512 at the top, left edge of the image
find ./*.jpg -exec magick convert {} -crop 1150x512+0+0 {} \;
@ReidWilliams
ReidWilliams / ssh.sh
Created Dec 5, 2017
SSH with port forwarding
View ssh.sh
# Easy way to remotely access a Jupyter notebook, by forwarding a port
# Forward local port 8888 to the remote's localhost port 8888
ssh -L 8888:localhost:8888 user@10.2.2.99
@ReidWilliams
ReidWilliams / anaconda.txt
Created Dec 15, 2017
Anaconda cheatsheet
View anaconda.txt
# create environment with jupyter
conda create -n ENVNAME python=3 jupyter
@ReidWilliams
ReidWilliams / freeze-install.txt
Created Jan 30, 2018
Python: freeze and install packages
View freeze-install.txt
$ pip freeze > requirements.txt
$ pip install -r requirements.txt
@ReidWilliams
ReidWilliams / pandas.txt
Last active Feb 22, 2018
Pandas cheatsheet
View pandas.txt
# rename a dataframe column
dataframe = dataframe.rename(index=str, columns={'old_col_name': 'new_col_name'})
# get all possible values for a string / categorical column
dataframe[column].value_counts(dropna=False)
# group data and count number of rows in a group
grouped = dataframe.groupby(color)
nreds = len(grouped.get_group('red'))
View gist:20cfdeb1dd4d90201b24d40a3e5a181d
def estimate(self, X):
""" Use saved model to predict/estimate retention probability.
Arguments:
X (dict): dictionary of features, values.
Automatically uses model trained on same set of features as
X argument.
Returns:
List of one element, retention probability.
You can’t perform that action at this time.