Skip to content

Instantly share code, notes, and snippets.

var output = document.getElementById('output');
var points;
var drawing = false;
function handleMouseDown() {
points = [];
output.innerHTML = '';
document.addEventListener('mousemove', handleMouseMove);
document.addEventListener('mouseup', handleMouseUp);
}
@mzabriskie
mzabriskie / getElementLegacy.js
Last active August 29, 2015 13:56
Legacy get element code circa 2001
function getElement(id) {
var el = null;
if (document.getElementById) {
el = document.getElementById(id);
}
else if (document.all) {
el = document.all[id];
}
else if (document.layers) {
el = document.layers[id];

Keybase proof

I hereby claim:

  • I am mzabriskie on github.
  • I am mzabriskie (https://keybase.io/mzabriskie) on keybase.
  • I have a public key whose fingerprint is 2B8A A1C7 D943 8BB3 7D38 C760 ECF6 90AD 2240 A96B

To claim this, I am signing this object:

[].slice.call(document.querySelectorAll('tr.paper')).sort(function (a, b) {
a = parseInt(a.querySelector('td:first-of-type span.score').innerHTML);
b = parseInt(b.querySelector('td:first-of-type span.score').innerHTML);
return a > b ? -1 : b > a ? 1 : 0;
}).forEach(function (node) {
node.parentNode.appendChild(node);
});
@mzabriskie
mzabriskie / Gamepad.md
Last active August 29, 2015 14:02
Discussion for how to best implement Gamepad support

gamepad.js

I haven't been able to find any libraries for interacting with the HTML5 Gamepad API that I really like. This is an attempt to sort out some of my ideas for what I would want out of such a library and ultimately implement it.

Goals

  • Abstract away complexity
    • Manage gamepad support (detection, vender impl, polling, etc.)
    • Make it dead simple for developers to implement
@mzabriskie
mzabriskie / README.md
Last active August 29, 2015 14:02
angular-translate - Issue with `useStaticFilesLoader` along with `registerAvailableLanguageKeys`

Setup

  1. Copy index.html and locale-en.json to the same directory
  2. From this directory run the bash commands below
  3. Open http://127.0.0.1:8080
bower install angular
bower install angular-translate
bower install angular-translate-loader-static-files
@mzabriskie
mzabriskie / server.js
Last active August 29, 2015 14:03
Attaching request handling to existing server
/**
* I have seen this a lot lately.
* I assume it's to give priority to the request handler for this module.
* Otherwise why not just add a new listener and leave existing alone?
*/
module.exports.listen = function (server) {
var listeners = server.listeners('request').slice(0);
server.removeAllListeners('request');
server.on('request', function (req, res) {
if (req.url.indexOf('/foo/bar.js') === 0) {
@mzabriskie
mzabriskie / notify.js
Created October 21, 2014 16:16
Notification Wrapper
function notify(title, options) {
// Let's check if the browser supports notifications
if (!('Notification' in window)) {
return;
}
function n() {
new Notification(title, options);
}
@mzabriskie
mzabriskie / createXHR.js
Last active August 29, 2015 14:16
Creating cross browser XHR object
function createXHR() {
if (!createXHR.__memoize) {
var factory = [
function () {return new XMLHttpRequest()},
function () {return new ActiveXObject("Microsoft.XMLHTTP")},
function () {return new ActiveXObject("Msxml3.XMLHTTP")},
function () {return new ActiveXObject("Msxml2.XMLHTTP")},
];
var xhr;
@mzabriskie
mzabriskie / ReactPropDefinitions.js
Last active August 29, 2015 14:18
React Prop Types/Defaults Single Statement
var App = React.createClass({
propDefinition: {
requiredStringProp: React.PropTypes.string.isRequired.default('Hello World'),
optionalNumberProp: React.PropTypes.number.default(12345),
enforcedObjectNoDefaultProp: React.PropTypes.object,
defaultValueNoTypeProp: true
}
});