Skip to content

Instantly share code, notes, and snippets.

@ReidWilliams
ReidWilliams / anaconda.txt
Created December 15, 2017 01:10
Anaconda cheatsheet
# create environment with jupyter
conda create -n ENVNAME python=3 jupyter
@ReidWilliams
ReidWilliams / ssh.sh
Created December 5, 2017 00:05
SSH with port forwarding
# 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 / imagemagick.sh
Last active February 22, 2021 05:33
resize crop with imagemagick
# 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 / ffmpeg.sh
Last active June 4, 2019 02:33
ffmpeg cheatsheet
# 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 / rsync.sh
Last active November 2, 2017 02:48
rsync a repo
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 / killnode.sh
Last active January 27, 2017 00:08
One line command to kill node debug processes on Mac OS
kill -9 $(ps -ef | grep '[n]ode --debug-brk=5858' | awk '{print $2}')
@ReidWilliams
ReidWilliams / inspect.js
Created July 13, 2015 00:48
Inspect functions that are part of a promise chain
// 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) {