Skip to content

Instantly share code, notes, and snippets.

View sndrs's full-sized avatar
🐛

Alex Sanders sndrs

🐛
View GitHub Profile
@sndrs
sndrs / QueueableModule-PoC.js
Last active August 29, 2015 14:24
PoC of a JS module loading + monitoring queue – trying to avoid the '9am' rush
// Modules extend a generic queueable module, and add themselves to a global
// queue, which manages running them synchronously, as soon as it can (on the next tick).
// Running order is based on 'high', 'medium' and 'low' priorities, which modules
// can assign themselves.
// The queue also measures how long modules take to run, and if a module exceeds 10ms
// the queue sends a warning (probably to sentry IRL).
// The log() calls work best with chrome devtools, rather than the repl one
// QUEUE TO HANDLE REGISTRATION AND RUNNING OF MODULES
// ----
// Sass (v3.4.6)
// Compass (v1.0.1)
// ----
// list
// $colours: (red green blue purple);
'use strict';
//npm install gulp gulp-minify-css gulp-uglify gulp-clean gulp-cleanhtml gulp-jshint gulp-strip-debug gulp-zip --save-dev
var gulp = require('gulp'),
clean = require('gulp-clean'),
cleanhtml = require('gulp-cleanhtml'),
minifycss = require('gulp-minify-css'),
jshint = require('gulp-jshint'),
stripdebug = require('gulp-strip-debug'),
@sndrs
sndrs / throttled-native-events.html
Last active August 27, 2015 13:01
Throttle native browser events to the next animationFrame, mainly to calm 3rd party scripts down
<!DOCTYPE html>
<html>
<head>
<script>
(function (window, Window) {
var eventTypes = ['scroll', 'mousemove', 'touchmove'],
eventTypesRegex = new RegExp(eventTypes.join("|"));
eventTypes.forEach(function (type) {