Skip to content

Instantly share code, notes, and snippets.

View hammeiam's full-sized avatar

David Hamme hammeiam

  • San Francisco, CA
View GitHub Profile
@hammeiam
hammeiam / flatten.js
Last active August 29, 2015 14:15
A simple implementation of flatten in javascript
function flatten(arr){
var output = [];
for (var i = 0; i < arr.length; i++) {
if(arr[i] instanceof Array){
output = output.concat(flatten(arr[i]))
} else {
output.push(arr[i]);
}
};
return output;
@hammeiam
hammeiam / inPlaceFlatten.js
Last active August 29, 2015 14:15
A simple implementation of an in-place flatten function in javascript
function inPlaceFlatten(arr){
for (var i = 0; i < arr.length; i++) {
if(arr[i] instanceof Array){
var temp = inPlaceFlatten(arr[i]);
arr = arr.slice(0, i).concat(temp, arr.slice(i + 1));
i += temp.length - 1;
}
};
return arr;
}
### Quick Diff
### A bash function that lets you see a diff without tabbing through all of your project folders
###
### Imagine you changed some number of files in your project and wanted to view the git diff of one of them
### but your project is deepy nested, so you have to type in the first letters and tab through each folder
### eg: folder_a/folder_b/folder_c/folder_d/my_file.js
###
### Instead of doing all that, just use `$ qdif my_file` to search your modified folders and show a diff of the first result
function qdif() {
# Love running tests but hate having to check and see if they're finished?
# Add rspek to your .bash_profile to get a desktop notification (plus optional sound) when your tests are done!
# Before using, make sure to grab the dependency with `brew install terminal-notifier` or `gem install terminal-notifier`
#
# USE:
# rspek -f // run all tests in /spec. `--fail-fast` is set by default, `-f` disables it
# rspek /spec/features -q // run all features, no audio notification
# rspek some_file_spec.rb:50 // run one test
function rspek() {
# A command for a mapping project I'm working on.
# Converts one big shapefile of countries into individual files.
# Data file from www.naturalearthdata.com
errors=()
for country in "${countries[@]}"
do
echo "$country"
# skip if we've already processed this country
test -d "$country" && continue
# Git Push Upstream
# A quick command for people that create a lot of feature branches
#
# Whereas `git push` will return an error if you haven't set the upstream branch
# `gpu` will automatically push to the correct upstream branch
# so you don't have to type `git push --set-upstream origin my_branch` for each new branch
function gpu() {
local RESPONSE=$( git push 2>&1 )
local UPSTREAM=$( echo "$RESPONSE" | grep -o "git push --set-upstream origin.*" )
import tensorflow as tf
from tensorflow.contrib.layers import flatten
# TODO: pull outs weights from individual functions, make them globally accessible
CLASSES_LEN = 43
DEBUG = False
def get_depth(input_tensor):
if(input_tensor.get_shape):
# All Imports
import pickle
import csv
import numpy as np
import matplotlib.pyplot as plt
import cv2
from math import floor, ceil
from sklearn.model_selection import ShuffleSplit
from sklearn.utils import shuffle
class SudokuValidator {
constructor(board) {
if (board.length !== board[0].length) {
throw new Error('Board must be square');
}
if (Math.sqrt(board.length) !== Math.floor(Math.sqrt(board.length))) {
throw new Error('Board size must be a square number')
}
@hammeiam
hammeiam / gist:8596a75029a5887eedc830cbe2b1803e
Created July 16, 2017 01:15
recursively find movie files and sort by size
find . -iname '*.mkv' -o -iname '*.avi' -o -iname '*.mp4' -o -iname '*.mov' | xargs -d '\n' du -sh | sort -hr