Skip to content

Instantly share code, notes, and snippets.

@wayspurrchen
wayspurrchen / callbackWrapper.js
Last active Aug 29, 2015
Code snippet that can wrap any function and give it the ability to run a callback
View callbackWrapper.js
var callbackCurrier = function(obj, funcName) {
var originalFunction = obj[funcName];
var callbackFunc = function() {
var args = Array.prototype.slice.call(arguments, 0);
var callback = args.pop();
var returnValue = originalFunction.apply(obj, args);
if (callback) {
callback(returnValue);
}
};
@wayspurrchen
wayspurrchen / index.html
Created Aug 28, 2014
Quizzy sample code
View index.html
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="quiz-app"></div>
<script type="text/template" id="template-question">
@wayspurrchen
wayspurrchen / gist:b6fd4eb085edf54406b7
Last active Aug 14, 2021
Web Performance Optimization Techniques
View gist:b6fd4eb085edf54406b7
View gist:ae7dbb4819c925a40f63
<!DOCTYPE html>
<html>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
</html>
<body>
<button id="scissors">scissors</button>
<button id="rock">rock</button>
<button id="paper">paper</button>
<h1 id="decision">OUTCOME GOES HERE</h1>
View index.html
<!DOCTYPE html>
<html>
<head>
<style>
.container-one {
min-height: 200px;
background-color: white;
}
.container-two {
min-height: 200px;
@wayspurrchen
wayspurrchen / controller.js
Created Oct 15, 2014
Johnny-Five Arduino UNO Pixel Iterator RGB LED Code
View controller.js
var five = require('johnny-five');
var keypress = require('keypress');
var gm = require('gm');
var board = new five.Board();
var fs = require('fs');
var PNG = require('pngjs').PNG;
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
@wayspurrchen
wayspurrchen / server.js
Created Oct 22, 2014
Thin Node.js proxy server for front-end-only SPAs that need to make CORS requests
View server.js
// Node.js proxy server for CORS requests with single page, no-backend apps.
//
// Instructions:
// 1) Place file into your app directory
// 2a) If you don't have a package.json file in this directory, run "npm init" first
// 2b) Run "npm install --save express request query-string"
// 3) Run server with "node server.js"
// 4) Configure Express to use whatever folder you want to serve your site out of.
// By default, this will run out of whatever folder you have your server.js in,
// but you shouldn't do this since it'll make everything in this folder accessible,
View gist:240a2ca7eb95737a8ebc
http://mkopas.net/files/conversations/conversations.html
http://tarasue.makiyamazaki.com/
http://www.newgrounds.com/portal/view/591565
@wayspurrchen
wayspurrchen / gist:c688b2d9685418901791
Last active Aug 29, 2015
Grab and list all (unique) classes on page
View gist:c688b2d9685418901791
var cls = [];
Array.prototype.slice.call( document.querySelectorAll('*'), 0 ).forEach( function ( el ) {
cls = cls.concat( Array.prototype.slice.call( el.classList, 0 ) );
} );
cls = cls.reduce( function ( p, c ) {
if ( p.indexOf( c ) < 0 ) p.push( c );
return p;
}, [] );
console.log( cls );