Skip to content

Instantly share code, notes, and snippets.

@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) {
@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 / 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 / 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 / anaconda.txt
Created December 15, 2017 01:10
Anaconda cheatsheet
# create environment with jupyter
conda create -n ENVNAME python=3 jupyter
@ReidWilliams
ReidWilliams / freeze-install.txt
Created January 30, 2018 21:39
Python: freeze and install packages
$ pip freeze > requirements.txt
$ pip install -r requirements.txt
@ReidWilliams
ReidWilliams / pandas.txt
Last active February 22, 2018 14:47
Pandas cheatsheet
# 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'))
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.
@ReidWilliams
ReidWilliams / component.story.js
Created November 20, 2018 00:33
Storybook story template
// Dependencies
import React from 'react'
import { storiesOf } from '@storybook/react'
import centered from '@storybook/addon-centered'
import { action } from '@storybook/addon-actions'
// Local Dependencies
import { ComponentDecorator } from 'stories/decorators'
import MyComponent from './index'
@ReidWilliams
ReidWilliams / component.js
Last active November 21, 2018 00:32
React + styled-components template
import React from 'react'
import PropTypes from 'prop-types'
import styled from 'styled-components'
// locals
// import { theme } from 'styles'
const Root = styled.div``
class MyComponent extends React.Component {