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
msimpson / pipes
Created Jul 21, 2011
2D Bash version of the Pipes screensaver.
View pipes
declare -i f=75 s=13 r=2000 t=0 c=1 n=0 l=0
declare -ir w=$(tput cols) h=$(tput lines)
declare -i x=$((w/2)) y=$((h/2))
declare -ar v=( [00]="\x83" [01]="\x8f" [03]="\x93"
[10]="\x9b" [11]="\x81" [12]="\x93"
[21]="\x97" [22]="\x83" [23]="\x9b"
[30]="\x97" [32]="\x8f" [33]="\x81" )
msimpson / cfire
Created Jul 21, 2011
Curses based ASCII art fire animation.
View cfire
import curses, random
screen = curses.initscr()
width = screen.getmaxyx()[1]
height = screen.getmaxyx()[0]
size = width*height
char = [" ", ".", ":", "^", "*", "x", "s", "S", "#", "$"]
b = []
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 / matrix
Created Jul 21, 2011
Send the Matrix message to someone's terminal (great for scaring ssh users).
View matrix
[ ! "$1" ] && {
echo "Usage: matrix <pts-number>"
echo "Grabs control of a terminal and sends the Matrix message."
echo "Choose a pts number:"
echo -e "Number\tUser\tName"
ps aux | awk '/pts\// && /bash/ {print $7":\t("$1")\t"$11}'
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 / 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.")
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 / 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 / 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
View .Xdefaults
urxvt.termName: rxvt
urxvt.loginShell: true
urxvt*urlLauncher: /usr/bin/chromium
urxvt*perl-lib: /usr/lib/urxvt/perl/
urxvt*perl-ext-common: default,matcher,searchable-scrollback
urxvt*font: xft:DejaVu Sans Mono:pixelsize=10
urxvt*boldFont: xft:DejaVu Sans Mono:pixelsize=10
urxvt.scrollBar: false
urxvt.saveLines: 65535
urxvt.secondaryScroll: true
You can’t perform that action at this time.