Skip to content

Instantly share code, notes, and snippets.

View fearphage's full-sized avatar
⌨️
Cache rules everything around me.

Phred Lane fearphage

⌨️
Cache rules everything around me.
View GitHub Profile

Inspired by Robert O'Callahan's blog

To reduce the need for "visual confirmation" tests:

  • store the base-64 encoded data-uri of a reference png as a string
  • copy the outerHTML of your test fixture into an SVG wrapper, prefixed with "data:image/svg+xml,"
  • set the src of an image to the value of the SVG wrapper
  • copy the image into a canvas context
  • assert equality of canvas.context.toDataURL() and previously stored reference string
@hitode909
hitode909 / debounce.coffee
Created February 11, 2012 03:31
jQuery Deferred, throttle, debounce
debounce = (delay) ->
lastd = $.Deferred()
->
lastd.reject()
d = $.Deferred()
lastd = d
args = arguments
setTimeout ->
d.resolve args
, delay || 100
@balupton
balupton / README.md
Last active September 29, 2018 18:31
Responsive layouts in stylus

Responsive layouts in stylus

Why this way?

  1. There is no span1..15 styles, instead your css defines your layout and your html remains semantic and not polluted with display information. As it should be.

  2. The markup is incredibly easy, you specify the wrappers width, and then each columns width in percentages. Every other grid framework I've found is incredibly complicated with this.

  3. It allows you to have the exact same markup, and completely different styles for different devices, resolutions, stylesheets, whatever. As it should be.

@Integralist
Integralist / isHostMethod.js
Last active June 1, 2025 19:13
Feature Testing a Host Method #js
/*
* Feature Testing a Host Method
* Because a callable host object can legitimately have any typeof result then it can't be relied upon.
*
* @notes:
* The reason for the && !!object[property] is because in ECMAScript version 3,
* a null object has typeof result 'object' (which is considered a bug).
* In future versions (ECMAScript 5+) the typeof result will be 'null' (as it should be).
*
* @reference: http://michaux.ca/articles/feature-detection-state-of-the-art-browser-scripting
@jrburke
jrburke / build.js
Created December 22, 2011 05:58
Doing multiple almond builds with a nodejs script, example
//Download jquery.js and place it in the build, do not use require-jquery.js
//in the build, since each of the build layers just needs almond and not the
//full require.js file.
//This file is run in nodejs to do the build: node build.js
//Load the requirejs optimizer
var requirejs = require('./r.js');
//Set up basic config, include config that is
//common to all the requirejs.optimize() calls.
@mklabs
mklabs / bootstrap-plugins.txt
Created December 2, 2011 11:23
h5bp + twitter bootstrap integration
bootstrap-tooltip.js
bootstrap-popover.js
bootstrap-alert.js
bootstrap-button.js
bootstrap-carousel.js
bootstrap-collapse.js
bootstrap-dropdown.js
bootstrap-modal.js
bootstrap-scrollspy.js
bootstrap-tab.js
@Integralist
Integralist / JSON-P.php
Last active May 31, 2025 20:29
JSONP Async Loading via RequireJs #js #php
<?php
header('Content-Type: text/javascript; charset=utf8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Max-Age: 3628800');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
// Callback function
$callback = $_GET['callback'];
// JSON data
@addyosmani
addyosmani / pubsub.md
Created October 28, 2011 06:49
Four ways to do Pub/Sub with jQuery 1.7 and jQuery UI (in the future)

#Four Ways To Do Pub/Sub With jQuery and jQuery UI (in the future)

Between jQuery 1.7 and some of work going into future versions of jQuery UI, there are a ton of hot new ways for you to get your publish/subscribe on. Here are just four of them, three of which are new.

(PS: If you're unfamiliar with pub/sub, read the guide to it that Julian Aubourg and I wrote here http://msdn.microsoft.com/en-us/scriptjunkie/hh201955.aspx)

##Option 1: Using jQuery 1.7's $.Callbacks() feature:

$.Callbacks are a multi-purpose callbacks list object which can be used as a base layer to build new functionality including simple publish/subscribe systems. We haven't yet released the API documentation for this feature just yet, but for more information on it (including lots of examples), see my post on $.Callbacks() here:

@thinkt4nk
thinkt4nk / EventEmitter.js
Created October 21, 2011 15:16
Event Emitter With jQuery 1.7's $.Callbacks()
/**
* EventEmitter with jQuery 1.7's $.Callbacks().
*/
function EventEmitter() {
this.topics = {};
}
/**
* Listen on the given `topic` event with `fn`.
@aemkei
aemkei / LICENSE.txt
Created October 5, 2011 17:06 — forked from 140bytes/LICENSE.txt
JS ASCII Logo - 140byt.es
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2011 YOUR_NAME_HERE <YOUR_URL_HERE>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE