Skip to content

Instantly share code, notes, and snippets.

View milesrichardson's full-sized avatar
Miles Richardson

Miles Richardson milesrichardson

Miles Richardson
View GitHub Profile
milesrichardson /
Created July 1, 2011 14:06
PHP FTP Class (+Simple logging)
class Ftp {
private $conn, $current_dir;
public $log;
public function __construct($host, $username, $password, $passive = false) {
$this->log = new Log;
$this->connect($host, $username, $password, $passive);
milesrichardson /
Last active August 29, 2015 14:05
Generate logs according to the format specified by Stan Eisenstat at Yale, for CS 223 and CS 323.
import math
class Log:
def __init__(self, hours_estimate=0, file_path=None):
self.hours_estimate = hours_estimate
self.items = []
self.discussion = "Don't forget a 100+ word discussion!"
if file_path is not None:
milesrichardson /
Created September 12, 2014 20:08
CPSC 323 Command Line Test Framework
#! /usr/bin/env python
# Requires envoy:
import envoy
class BashColors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
milesrichardson / tmux.conf
Created February 8, 2017 17:09
tmux conf file for new servers
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind r source-file ~/.tmux.conf \;
#set -g default-terminal "screen-256color"
set -g history-limit 10000
#set-window-option -g utf8 on
set -g utf8
set -sg escape-time 1
milesrichardson /
Last active December 1, 2018 22:36
Using `wget --continue` to resume broken downloads from Google Chrome

The Problem

You're downloading a big 1GB SQL file with Chrome. It stalls at 120mb. Ok, you try again. Looks like it's working this time. Thirty minutes later... stalls at 800mb. You are pulling your hair out.

What do?

wget --continue to the rescue!


milesrichardson /
Created May 16, 2017 19:11
Example bash file with inline python for deploying schemas from JSON files to parse-server
#!/usr/bin/env bash
DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)

Keybase proof

I hereby claim:

  • I am milesrichardson on github.
  • I am chatmasta ( on keybase.
  • I have a public key ASA1pwuWhn5aoMl1db7oYz9wXcLnR6z0rH90Yx4iGey-cAo

To claim this, I am signing this object:

milesrichardson / s3download_promise.js
Created August 11, 2017 16:27
S3 download promise: nodeJS promise to download file from amazon S3 to local destination
const AWS = require('aws-sdk');
const fs = require('fs')
const s3download = (bucketName, keyName, localDest) => {
if (typeof localDest == 'undefined') {
localDest = keyName;
let params = {
milesrichardson /
Last active June 26, 2018 11:42
pairwise.js: Given a list, return a list of all pairs in that list via Array.reduce(). Optionally filter and transform (map) the pairs based on items and indices.


pairwise(list, options)

Given a list, return a list of all pairs in that list via Array.reduce()

Optionally filter and transform (map) the pairs based on items and indices.

milesrichardson /
Last active December 6, 2018 18:31
Create new mongo database and user with nodejs MongoClient

How to create a previously non-existing mongo database and new user from the nodejs mongodb driver using the admin account.

  1. Connect as admin user to new database, using authSource: admin (assuming adminDbName === admin)
  2. Create new user