Skip to content

Instantly share code, notes, and snippets.

View keif's full-sized avatar

Keith Baker keif

View GitHub Profile
@keif
keif / gist:d62ccd60ebbdd79eb8ee7f800443a58e
Created December 26, 2018 17:35
https://projecteuler.net/problem=3The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143?
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143?
function isPrime(number) {
var index;
var limit = Math.ceil(Math.sqrt(number));
// since the main loop generates odd numbers only
// we can start testing primality dividing by 3
for (index = 3; index <= limit; index += 2) {
if (number % index === 0) {
return false;
}
}
@keif
keif / gist:296114e786f795a24ad70a3c3c5a3880
Created April 23, 2018 16:00
Better property detection using underscore
// _.propertyOf along with any other underscore (i.e. _.isObject) to check if something was available instead of
// doing an undefined and null check.
_.isObject(_.propertyOf(data.prop)("prop"));
// _.propertyOf returns a function so you can also assign that to a variable and then use it later as well
var dataPropOf = _.propertyOf(data.prop);
_.isObject(dataPropOf("prop"));
// The exact same technique can be used if the property was an array:
@keif
keif / prepare-commit-msg
Last active February 5, 2018 15:25
This will automatically prepend your branch name to your commit.
#!/bin/bash
# Include any branches for which you wish to disable this script
if [ -z "$BRANCHES_TO_SKIP" ]; then
BRANCHES_TO_SKIP=(master develop test)
fi
# Get the current branch name and check if it is excluded
BRANCH_NAME=$(git symbolic-ref --short HEAD)
BRANCH_NAME="${BRANCH_NAME##*/}"
@keif
keif / prepare-commit-msg
Created January 30, 2018 21:05
This will automatically prepend your branch name to your commit.
#!/bin/bash
# Include any branches for which you wish to disable this script
if [ -z "$BRANCHES_TO_SKIP" ]; then
BRANCHES_TO_SKIP=(master develop test)
fi
# Get the current branch name and check if it is excluded
BRANCH_NAME=$(git symbolic-ref --short HEAD)
BRANCH_NAME="${BRANCH_NAME##*/}"
@keif
keif / breadth-first-search.js
Created April 29, 2016 04:46
JavaScript based Breadth-First Search
/* A Queue object for queue-like functionality over JavaScript arrays. */
var Queue = function() {
this.items = [];
};
Queue.prototype.enqueue = function(obj) {
console.log("enqueue: ", obj);
this.items.push(obj);
};
Queue.prototype.dequeue = function() {
return this.items.shift();
#!/bin/sh
# Apps
apps=(
# System Plugins
# flash
java
# silverlight
# alfred
#!/bin/sh
binaries=(
ack
# Install Bash 4
bash
bash-completion
# Install GNU core utilities (those that come with OS X are outdated)
coreutils
ffmpeg
#!/bin/bash
# Check for Homebrew,
# Install if we don't have it
if test ! $(which brew); then
echo "Installing homebrew..."
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
# Update homebrew recipes
#!/bin/sh
# fonts
fonts=(
font-m-plus
font-clear-sans
font-roboto
)
# install fonts