Skip to content

Instantly share code, notes, and snippets.

View THEtheChad's full-sized avatar

Chad Elliott THEtheChad

View GitHub Profile
@THEtheChad
THEtheChad / mergeSorted.js
Created September 9, 2013 06:42
Highly optimized merge for sorted arrays
function mergeSorted(a,b){
var alen = a.length
, blen = b.length
, i, j, k = j = i = 0
, answer = new Array(alen + blen)
;//var
while(i < alen && j < blen)
answer[k++] = a[i] < b[j] ? a[i++] : b[j++];
while(i < alen) answer[k++] = a[i++];
@THEtheChad
THEtheChad / Homer.rb
Created July 4, 2013 17:38
Rtanque bot
class Homer < RTanque::Bot::Brain
NAME = 'Homer'
include RTanque::Bot::BrainHelper
def tick!
skateboard
slingshot
mmmmmmmmmmmmmmmmmm_donuts
if someones_trying_to_steal_my_donut
@THEtheChad
THEtheChad / clearScreen.ino
Created May 8, 2013 11:51
Series of commands to clear the console screen on the Arduino.
void clearAndHome()
{
Serial.write(27);
Serial.print("[2J"); // clear screen
Serial.write(27); // ESC
Serial.print("[H"); // cursor to home
}
@THEtheChad
THEtheChad / anydo-do.js
Created April 24, 2013 08:59
Gather's "work" tasks from Any.Do list.
function slice(obj){return Array.prototype.slice.call(obj)}
var containers = slice(document.querySelectorAll('.category-container'));
containers.forEach(function(ele){
var work = ele.querySelectorAll('.category')[0].innerHTML.match(/Work/);
var gather = [];
if(work){
slice(ele.querySelectorAll('.summaryShadow')).forEach(function(e){
gather.push(e.innerText);
@THEtheChad
THEtheChad / event.js
Last active December 16, 2015 13:59
Cross browser implementation for manipulating event hooks.
/**
* Creates two functions on the window object:
* - addEvent
* - removeEvent
*
* @author THEtheChad
*/
/**
* attachEvent: Binds an event handler to the given element
@THEtheChad
THEtheChad / prefix.js
Last active December 16, 2015 13:48
Cross browser method for detecting prefix.
(function(window){
var styles = window.getComputedStyle(document.documentElement, '')
, pre = (Array.prototype.slice
.call(styles)
.join('')
.match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o'])
)[1]
, dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1]
, capitalize = function(str){ return str.charAt(0).toUpperCase() + str.substring(1) }
Array.prototype.slice.call(document.querySelectorAll('[type="checkbox"]')).forEach(function(box){box.checked = true})
@THEtheChad
THEtheChad / reset_open_with.sh
Last active December 13, 2015 21:18
Command for rebuilding the "Open with..." menu on Mac OSX 10.5.x+
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
@THEtheChad
THEtheChad / permute.js
Created October 22, 2012 06:56
My shitty attempt at a recursive permutation algorithm.
function permute(set, digits, prefix){
if(!prefix) prefix = '';
if(--digits){
var i = set.length;
while(i--){
permute(set, digits, prefix + set[i])
}
}
else{
@THEtheChad
THEtheChad / api.build_event.js
Created October 19, 2012 15:06
Async event builder for Gatorade Showcase
build_event: function buildEvent(id, callback){
var mungeData
, responses = []
, path = '/events/' + id
, workers = [
'',
'/stats',
'/roster',
'/votes',
'/attendees'