Skip to content

Instantly share code, notes, and snippets.

@acspike
acspike / GaTechKalturaPlaylistDuration.js
Created January 17, 2022 23:42
Calculate total duration of a Kaltura playlist
// ==UserScript==
// @name Display total play time in playlist.
// @namespace gatech.edu
// @version 0.1.0
// @match *://canvasgatechtest.kaf.kaltura.com/*
// @match *://cdnapisec.kaltura.com/*
// @grant none
// @author Aaron Spike
// @description 1/25/2021
// ==/UserScript==
@acspike
acspike / GaTechOscarCourseFilter.js
Last active November 14, 2021 22:11
Hide courses that are not on your shortlist in the Oscar Look-up Classes Advanced Search
// ==UserScript==
// @name GaTech Oscar Course Filter
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Hide courses that are not on your shortlist in the Oscar Look-up Classes Advanced Search
// @author aspike3
// @match https://oscar.gatech.edu/bprod/*
// @icon https://www.google.com/s2/favicons?domain=gatech.edu
// @grant none
// ==/UserScript==
@acspike
acspike / skog.html
Created November 24, 2016 19:14
Make Skill-O-Grams
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
Array.prototype.shuffle = function() {
var i = this.length, j, temp;
if ( i == 0 ) return this;
import select
import serial
serial_dev = '/dev/ttyS1'
select_timeout = 30
port = serial.Serial(serial_dev, timeout=None)
port.flushInput()
@acspike
acspike / gist:7999179
Last active December 31, 2015 14:19
Save in two sizes
#target photoshop
main();
function main() {
if(!documents.length) return;
var doc = app.activeDocument;
try{
var Path = activeDocument.path;
from __future__ import print_function
import random, itertools, sets
## The following represents thought process and has not been subjected to rigorus proof
# Possible pairings can be represented as two varieties of cycles in the permutations of the residents due to the restriction on reflexive pairings.
# For each permutation there is a single cycle through all 7 name and a two disjoint cycles through 3 names and 4 names respectively.
# Total unique pairings are therefore less than 7!*2 = 10080 (less because cycles of a particular permutation generate equivalent pairings)
# There are 7! permutations. Cycles through all 7 that produce equivalent pairings can be elminiated by considering only permutations that begin with a particular digit (eg. 6).
# Therefore unique pairings for cycles through all 7 generates 6! = 720 (ie 7!/7) pairings.
# Considering 3,4 cycles inside of each permutation there should be (7!/(4!*3))(4!/4) = 420
from __future__ import print_function
import random, itertools, sets
## The following represents thought process and has not been subjected to rigorus proof
# Possible pairings can be represented as two varieties of cycles in the permutations of the residents due to the restriction on reflexive pairings.
# For each permutation there is a single cycle through all 7 name and a two disjoint cycles through 3 names and 4 names respectively.
# Total unique pairings are therefore less than 7!*2 = 10080 (less because cycles of a particular permutation generate equivalent pairings)
# There are 7! permutations. Cycles through all 7 that produce equivalent pairings can be elminiated by considering only permutations that begin with a particular digit (eg. 6).
# Therefore unique pairings for cycles through all 7 generates 6! = 720 (ie 7!/7) pairings.
# Considering 3,4 cycles inside of each permutation there should be (7!/(4!*3))(4!/4) = 420
from __future__ import print_function
import random, itertools, sets
## The following represents thought process and has not been subjected to rigorus proof
# Possible pairings can be represented as two varieties of cycles in the permutations of the residents due to the restriction on reflexive pairings.
# For each permutation there is a single cycle through all 7 name and a two disjoint cycles through 3 names and 4 names respectively.
# Total unique pairings are therefore less than 7!*2 = 10080 (less because cycles of a particular permutation generate equivalent pairings)
# There are 7! permutations. Cycles through all 7 that produce equivalent pairings can be elminiated by considering only permutations that begin with a particular digit (eg. 6).
# Therefore unique pairings for cycles through all 7 generates 6! = 720 (ie 7!/7) pairings.
# Considering 3,4 cycles inside of each permutation there should be (7!/(4!*3))(4!/4) = 420
from __future__ import print_function
import random, itertools, sets
## The following represents thought process and has not been subjected to rigorus proof
# Possible pairings can be represented as two varieties of cycles in the permutations of the residents due to the restriction on reflexive pairings.
# For each permutation there is a single cycle through all 7 name and a two disjoint cycles through 3 names and 4 names respectively.
# Total unique pairings are therefore less than 7!*2 = 10080 (less because cycles of a particular permutation generate equivalent pairings)
# There are 7! permutations. Cycles through all 7 that produce equivalent pairings can be elminiated by considering only permutations that begin with a particular digit (eg. 6).
# Therefore unique pairings for cycles through all 7 generates 6! = 720 (ie 7!/7) pairings.
# Considering 3,4 cycles inside of each permutation there should be (7!/(4!*3))(4!/4) = 420
@acspike
acspike / SpaceBar.pde
Created December 18, 2012 23:40
An arduino sketch for a foot actuated usb spacebar
// Much code borrowed from the following
// https://github.com/practicalarduino/VirtualUsbKeyboard
// http://playground.arduino.cc/Learning/SoftwareDebounce
#include "UsbKeyboard.h"
#define BUTTON_PIN 12
#define LED_PIN 13
#define KEY_SPACE 0x2C