Skip to content

Instantly share code, notes, and snippets.

Matthew Simpson msimpson

Block or report user

Report or block msimpson

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View jquery.mousewheel.js
/*!
* jQuery Mousewheel 3.1.12
*
* Copyright 2014 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
(function (factory) {
if ( typeof define === 'function' && define.amd ) {
@msimpson
msimpson / matrix
Created Jul 21, 2011
Send the Matrix message to someone's terminal (great for scaring ssh users).
View matrix
#!/bin/bash
[ ! "$1" ] && {
echo "Usage: matrix <pts-number>"
echo "Grabs control of a terminal and sends the Matrix message."
echo
echo "Choose a pts number:"
echo -e "Number\tUser\tName"
ps aux | awk '/pts\// && /bash/ {print $7":\t("$1")\t"$11}'
exit
}
@msimpson
msimpson / define
Created Jul 21, 2011
Google definition (this method is frowned upon by Google, use for educational purposes only).
View define
#!/usr/bin/env ruby
# Define: a Google Dictionary API tool
require "rubygems"
require "net/http"
require "json"
if not ARGV[0]; exit; end
query = ARGV.join("+").gsub(" ","+")
@msimpson
msimpson / raid5
Created Jul 23, 2011
A simple script to demonstrate how Raid 5 uses parity to recover data.
View raid5
#!/usr/bin/env ruby
$drives = {
:a => 'Example 1.',
:b => 'abcdefghijklmnopqrstuvwxyz',
:c => '0123456789',
:d => '3.14159265',
:parity => ''
}
@msimpson
msimpson / numconv
Created Jul 23, 2011
Convert an integer into a spoken number.
View numconv
#!/usr/bin/env python
# Number to name convertion.
import sys
n = (sys.argv[1] if sys.argv[1].isdigit() else 0) if len(sys.argv)>1 else 0
if len(n)>30:
print("Error: Number too large.")
sys.exit(1)
@msimpson
msimpson / miller_rabin
Created Jul 23, 2011
An implementation of the Miller Rabin Primality Test
View miller_rabin
#!/usr/bin/env python
import random
def MillerRabinPT(n,k=100):
n = int(n)
if n<2: return False
if n==2 or n==3: return True
if not n%2: return False
@msimpson
msimpson / poker
Created Jul 24, 2011
A library to rank and compare poker hands.
View poker
#!/usr/bin/env ruby
# encoding: UTF-8
# - Poker -
# A library to rank and compare poker hands.
module Poker
ACE = 14
KING = 13
QUEEN = 12
@msimpson
msimpson / tip.rb
Created Aug 20, 2011
Tip Calculator
View tip.rb
#!/usr/bin/env ruby
# Tip Calculator
# Usage: ./tip <cost> <minutes_waited> [percent]
exit if ARGV.length < 2
cost = ARGV[0].to_f.round(2)
minutes = ARGV[1].to_i
percent = !ARGV[2].nil? ? ARGV[2].to_f / 100.0 : 0.2
@msimpson
msimpson / pip_example.js
Created Jan 9, 2012
Point Inside Polygon
View pip_example.js
var data = {
polygon: [[0,0], [0,2], [1,3], [2,1], [3,2], [4,0], [3,1], [2,0], [1,1]],
a: [2, 2],
b: [1, 2]
};
function pointInPolygon(polygon, point) {
var len = polygon.length,
x = point[0], y = point[1],
j = len - 1, i = 0, c = 0;
View .bashrc
#
# .bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
#
# Completion
#
You can’t perform that action at this time.