xcode-select --install
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install postgres
brew install postgis
brew services start postgres
createdb paperstorm
psql
Using the PostGIS extension on a PostgreSQL database with Dokku
docker pull mdillon/postgis:latest
export POSTGRES_IMAGE="mdillon/postgis"
export POSTGRES_IMAGE_VERSION="latest"
dokku postgres:create my-postgis-db
npm i k-d-tree
const kd = require('k-d-tree')
const data = new Array(1000)
.fill()
.map(() => ({
type: "Point",
#!/bin/bash | |
echo "Compositing files and ramping up video framerate" | |
echo "================================================" | |
rm -rf render && mkdir render | |
for file in *.mov; do | |
# Ramp up video framerate, add audio | |
ffmpeg \ |
# Quick and dirty script for streaming a video file to Twitch (as if it were live) | |
# Requirements: ffmpeg (http://www.ffmpeg.org) | |
# Copy-paste the function and call it in your command line | |
# Or add the function to ~/.bash_profile, ~/.zshrc, ..etc. | |
# Usage: | |
# twitch STREAM_KEY FILEPATH | |
# Example: |
import math | |
from bigfloat import * | |
class LazyCartesianProduct: | |
def __init__(self, sets, context): | |
self.sets = sets | |
self.context = context | |
self.divs = [] | |
self.mods = [] | |
self.maxSize = BigFloat.exact(1) |
#!/bin/bash | |
### | |
### my-script — does one thing well | |
### | |
### Usage: | |
### my-script <input> <output> | |
### | |
### Options: | |
### <input> Input file to read. | |
### <output> Output file to write. Use '-' for stdout. |
function gitignore() { | |
TAGS="${@}" | |
TAGS="${TAGS/mac/macos}" | |
GITIGNORE_IO_URL="https://www.toptal.com/developers/gitignore/api/${TAGS// /,}" | |
GITIGNORE_FILE="$(pwd)/.gitignore" | |
echo "--> Fetching: $GITIGNORE_IO_URL" | |
echo "--> Writing: $GITIGNORE_FILE" | |
curl -fsSL "$GITIGNORE_IO_URL" >> "$GITIGNORE_FILE" | |
} |
// Simulates try/catch statements wrapping async functions in (nested) object | |
// Returns copy of original object with basic promise-rejection handling for async functions using .catch | |
// Saves the time of writing try/catch statements in every single async function | |
const trycatch = obj => Object.keys(obj) | |
.reduce((acc, curr) => ({ ...acc, [curr]: obj[curr] instanceof Function | |
? (...args) => obj[curr](...args).catch(::console.error) | |
: trycatch(obj[curr]) }), {}) | |