Jester
House of paulirish

paulirish's hand

The top 100 gists by star count
A
what-forces-layout.md8604

What forces layout/reflow. The comprehensive list.

# What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or [layout thrashing](http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//www.kellegous.com/j/class="_tkNum_1klyn_175">2013/class="_tkNum_1klyn_175">01/class="_tkNum_1klyn_175">26/layout-performance/), and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

### Element APIs

##### Getting box metrics
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* class="_tkStr_1klyn_166">`elem.offsetLeft`, class="_tkStr_1klyn_166">`elem.offsetTop`, class="_tkStr_1klyn_166">`elem.offsetWidth`, class="_tkStr_1klyn_166">`elem.offsetHeight`, class="_tkStr_1klyn_166">`elem.offsetParent`
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* class="_tkStr_1klyn_166">`elem.clientLeft`, class="_tkStr_1klyn_166">`elem.clientTop`, class="_tkStr_1klyn_166">`elem.clientWidth`, class="_tkStr_1klyn_166">`elem.clientHeight`
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* class="_tkStr_1klyn_166">`elem.getClientRects()`, class="_tkStr_1klyn_166">`elem.getBoundingClientRect()`
A
K
bling.js1950

bling dot js

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/* bling.js */
window.$ = document.querySelector.bind(document);
window.$$ = document.querySelectorAll.bind(document);
Node.prototype.on = window.on = function(name, fn) { this.addEventListener(name, fn); };
NodeList.prototype.__proto__ = Array.prototype;
NodeList.prototype.on = function(name, fn) { this.forEach((elem) => elem.on(name, fn)); };
K
Q
rAF.js1621

requestAnimationFrame polyfill

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://paulirish.com/class="_tkNum_1klyn_175">2011/requestanimationframe-for-smart-animating/
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://my.opera.com/emoller/blog/class="_tkNum_1klyn_175">2011/class="_tkNum_1klyn_175">12/class="_tkNum_1klyn_175">20/requestanimationframe-for-smart-er-animating

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// MIT license

(function() {
    var lastTime = class="_tkNum_1klyn_175">0;
    var vendors = [class="_tkStr_1klyn_166">'ms', class="_tkStr_1klyn_166">'moz', class="_tkStr_1klyn_166">'webkit', class="_tkStr_1klyn_166">'o'];
    for(var x = class="_tkNum_1klyn_175">0; x < vendors.length && !window.requestAnimationFrame; ++x) {
        window.requestAnimationFrame = window[vendors[x]+class="_tkStr_1klyn_166">'RequestAnimationFrame'];
Q
J
how-to-view-source-of-chrome-extension.md715

How to view-source of a Chrome extension

## Option class="_tkNum_1klyn_175">1: Command-line download extension as zip and extract

class="_tkStr_1klyn_166">```sh
extension_id=jifpbeccnghkjeaalbbjmodiffmgedin   # change this ID
curl -L -o class="_tkStr_1klyn_166">"$extension_id.zip" class="_tkStr_1klyn_166">"https:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//clients2.google.com/service/update2/crx?response=redirect&os=mac&arch=x86-class="_tkNum_1klyn_175">64&nacl_arch=x86-class="_tkNum_1klyn_175">64&prod=chromecrx&prodchannel=stable&prodversion=class="_tkNum_1klyn_175">44.0.class="_tkNum_1klyn_175">2403.130&x=id%3D$extension_id%26uc" 
unzip -d class="_tkStr_1klyn_166">"$extension_id-source" class="_tkStr_1klyn_166">"$extension_id.zip"
class="_tkStr_1klyn_166">```

Thx to crxviewer for the [magic download URL](https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//github.com/Rob--W/crxviewer/blob/6113c25e3569e1ec59365ad9a177aa97e2bcda61/src/cws_pattern.js#L27-L74). 

## Option class="_tkNum_1klyn_175">2: Use the CRX Viewer website 
J
10
how to screencapture and make animated gifs or whathaveyou.md302

Screencapture and animated gifs

# Screencapture and animated gifs

> I say class="_tkStr_1klyn_166">"animated gif" but in reality I think itclass="_tkStr_1klyn_166">'s irresponsible to be serving "real" GIF files to people now. You should be serving gfy's, gifvclass="_tkStr_1klyn_166">'s, webm, mp4s, whatever. They're a fraction of the filesize making it easier for you to deliver high fidelity, full color animation very quickly, especially on bad mobile connections. (But I suppose if you're just doing this for small audiences (like bug reporting), then [LICEcap](http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//www.cockos.com/licecap/) is a good solution).

## Capturing (Easy)

class="_tkNum_1klyn_175">1. Launch quicktime player
class="_tkNum_1klyn_175">1. do Screen recording

![screen shot class="_tkNum_1klyn_175">2014-class="_tkNum_1klyn_175">10-class="_tkNum_1klyn_175">22 at class="_tkNum_1klyn_175">11 class="_tkNum_1klyn_175">16 class="_tkNum_1klyn_175">23 am](https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//cloud.githubusercontent.com/assets/class="_tkNum_1klyn_175">39191/class="_tkNum_1klyn_175">4741576/9745687c-5a17-11e4-class="_tkNum_1klyn_175">8940-b47b4f9c52be.png)

class="_tkNum_1klyn_175">1. hit the button
10
9
data-markdown.user.js292

*[data-markdown] - use markdown, sometimes, in your HTML

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// ==UserScript==
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @name Use Markdown, sometimes, in your HTML.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @author Paul Irish <http://paulirish.com/>
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @link http://git.io/data-markdown
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @match *
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// ==/UserScript==


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// If youclass="_tkStr_1klyn_166">'re not using this as a userscript just delete from this line up. It's cool, homey.

(function boom(){
  
9
8
gistfile1.md189

a brief history of detecting local storage

A timeline of the last four years of detecting good old class="_tkStr_1klyn_166">`window.localStorage`.

<hr>

#### Jan Lenhart, bless his heart contributed the first patch for support:

October class="_tkNum_1klyn_175">2009:
[5059daa](https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//github.com/Modernizr/Modernizr/commit/5059daa4674651cd1adc39d902e4f4afa73426cd#L0R413)

class="_tkStr_1klyn_166">```js
(typeof window.localStorage != class="_tkStr_1klyn_166">'undefined')
class="_tkStr_1klyn_166">```
8
7
gistfile1.md133

Learn JavaScript concepts with recent DevTools features

# Learn JavaScript concepts with the Chrome DevTools

Authored by Peter Rybin	, Chrome DevTools team

In this short guide we'll review some new Chrome DevTools features for class="_tkStr_1klyn_166">"function scope" and class="_tkStr_1klyn_166">"internal properties" by exploring some base JavaScript language concepts.

## Closures

Let's start with closures – one of the most famous things in JS. A closure is a function, that uses variables from outside. See an example:

class="_tkStr_1klyn_166">```js
function A(a, b, c) {
7
6
readme.md131

resolving the proper location and line number through a console.log wrapper

## console.log wrap resolving for your wrapped console logs

I've heard this before:

> What I really get frustrated by is that I cannot wrap class="_tkStr_1klyn_166">`console.*` and preserve line numbers

We enabled this in Chrome DevTools via [blackboxing](https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//developer.chrome.com/devtools/docs/blackboxing) a [bit ago](https://code.google.com/p/chromium/issues/detail?id=class="_tkNum_1klyn_175">267592#c36).  

If you blackbox the script file the contains the console log wrapper, the script location shown in the console will be corrected to the original source file and line number. Click, and the full source is looking longingly into your eyes.


You can try it out here: http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//plnkr.co/edit/3wg4u9HUGXfFH0U7MR7j
6
5
performance.now()-polyfill.js97

performance.now() polyfill (aka perf.now())

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @license http://opensource.org/licenses/MIT
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// copyright Paul Irish class="_tkNum_1klyn_175">2015


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Date.now() is supported everywhere except IE8. For IE8 we use the Date.now polyfill
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//   github.com/Financial-Times/polyfill-service/blob/master/polyfills/Date.now/polyfill.js
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// as Safari class="_tkNum_1klyn_175">6 doesn't have support for NavigationTiming, we use a Date.now() timestamp for relative values

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// if you want values similar to what you'd get with real perf.now, place this towards the head of the page
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// but in reality, youclass="_tkStr_1klyn_166">'re just getting the delta between now() calls, so it's not terribly important where it's placed

5
4
gistfile1.md90

Open Conference Expectations


# Open Conference Expectations

This document lays out some baseline expectations between conference speakers and conference presenters. The general goal is to maximize the value the conference provides to its attendees and community and to let speakers know what they might reasonably expect from a conference. 

We believe that *all* speakers should reasonably expect these things, not just speakers who are known to draw large crowds, because no one is a rockstar but more people should have the chance to be one. We believe that conferences are better -- and, dare we say, more diverse -- when the people speaking are not just the people who can afford to get themselves there, either because their company paid or they foot the bill themselves. Basically, this isnclass="_tkStr_1klyn_166">'t a rock show rider, it's some ideas that should help get the voices of lesser known folks heard.

These expectations should serve as *a starting point for discussion between speaker and organizer*. They are not a list of demands
4
3
utmstrip.user.js87

userscript: Drop the UTM params from a URL when the page loads

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// ==UserScript==
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @name          UTM param stripper
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @author        Paul Irish
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @namespace     http://github.com/paulirish
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @version       class="_tkNum_1klyn_175">1.2
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @description   Drop the UTM params from a URL when the page loads.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @extra         Cuz you know they're all ugly n shit.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @include       http*://*
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// ==/UserScript==


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Update: 
3
2
README.md71

imagesLoaded() jquery plugin

# this project has moved

## check out [github.com/desandro/imagesloaded](https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//github.com/desandro/imagesloaded)
2
A
gistfile1.md71
I wrote this in early January class="_tkNum_1klyn_175">2012, but never finished it. The research and thinking in this area led to a lot of the design of [Yeoman](http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//yeoman.io) and talks like [class="_tkStr_1klyn_166">"Javascript Development Workflow of class="_tkNum_1klyn_175">2013"](http://www.youtube.com/watch?v=f7AU2Ozu8eo), [class="_tkStr_1klyn_166">"Web Application Development Workflow"](http://www.youtube.com/watch?v=vDbbz-BdyYc) and [class="_tkStr_1klyn_166">"App development stack for JS developers"](https://vimeo.com/class="_tkNum_1klyn_175">40929961) (surpisingly little overlap in those talks, btw).

Now itclass="_tkStr_1klyn_166">'s June class="_tkNum_1klyn_175">2013 and the state of web app tooling has matured quite a bit. But here's a snapshot of the story from class="_tkNum_1klyn_175">18 months ago, even if a little ugly and incomplete. :p

<hr>

# In the beginning…


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* Intro to tooling 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* build a picture of how it takes you from handcraft vs craftsman
A
K
gistfile1.js61

html5 geolocation with fallback.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// geo-location shim

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// currentely only serves lat/long
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// depends on jQuery

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// doublecheck the ClientLocation results because it may returning null results

;(function(geolocation){

  if (geolocation) return;
  
  var cache;
K
Q
args.gn42

How to build Chromium to hack on DevTools

# Build arguments for the gn build
# You can set these with class="_tkStr_1klyn_166">`gn args out/Default`
#   ( and they're stored in src/out/Default/args.gn )
# See class="_tkStr_1klyn_166">"gn args out/Default --list" for available build arguments

# component build, because people love it
is_component_build = true

# release build, because its faster
 is_debug = true

# native client? no thx. (still needed in march class="_tkNum_1klyn_175">2023.)
Q
J
detect IE and version number through injected conditional comments.js40
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//EnhanceJS isIE test idea

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//detect IE and version number through injected conditional comments (no UA detect, no need for cond. compilation / jscript check)

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//version arg is for IE version (optional)
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//comparison arg supports class="_tkStr_1klyn_166">'lte', class="_tkStr_1klyn_166">'gte', etc (optional)

function isIE(version, comparison) {
	var cc      = class="_tkStr_1klyn_166">'IE',
	    b       = document.createElement(class="_tkStr_1klyn_166">'B'),
	    docElem = document.documentElement,
	    isIE;
J
10
gistfile1.js38
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// everyone's new favorite closure pattern:
(function(window,document,undefined){ ... })(this,this.document);

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// when minified:
(function(w,d,u){ ... })(this,this.document);

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// which means all uses of window/document/undefined inside the closure 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// will be single-lettered, so big gains in minification.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// it also will speed up scope chain traversal a tiny tiny little bit.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// additionally it protects against the case where someone does class="_tkStr_1klyn_166">`undefined = true`
10
9
gistfile1.html33
<!DOCTYPE html> 

<!-- Helpful things to keep in your <head/> 
  class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Brian Blakely, 360i 
  class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://twitter.com/brianblakely/  
-->
  <head>
    
    <!-- According to Heather Champ, former community manager at flickr,
         you should not allow search engines to index your class="_tkStr_1klyn_166">"Contact Us"
         or class="_tkStr_1klyn_166">"Complaints" page if you value your sanity. This is an HTML-
         centric way of achieving that. -->
9
8
gistfile1.js32

jquery invert

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// jquery invert plugin
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// by paul irish

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// some (bad) code from this css color inverter
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//    http://plugins.jquery.com/project/invert-color
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// some better code via Opera to inverse images via canvas
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//    http://dev.opera.com/articles/view/html-class="_tkNum_1klyn_175">5-canvas-the-basics/#insertingimages
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// and some imagesLoaded stuff from me
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//    http://gist.github.com/class="_tkNum_1klyn_175">268257

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// the code is still pretty shit. 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// needs better hex -> rgb conversion..
8
7
gistfile1.js22

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// selectorSupported lovingly lifted from the mad italian genius, diego perini
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://javascript.nwbox.com/CSSSupport/
function selectorSupported(selector){
  
  var support, link, sheet, doc = document,
      root = doc.documentElement,
      head = root.getElementsByTagName(class="_tkStr_1klyn_166">'head')[class="_tkNum_1klyn_175">0],

      impl = doc.implementation || {
              hasFeature: function() {
                  return false;
7
6
0readme.md22

For converting adium logs to decently sexy HTML

# adium log export to HTML

this shit is for exporting this weirdass xml out into some sane HTML.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* run rename.sh to kill the whitespaces in your xml filenames
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">  * alternatively fix my htmlify.sh to not break on whitespace'd filenames
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">    * UPDATE: check [this comment](https://gist.github.com/class="_tkNum_1klyn_175">1161725#gistcomment-class="_tkNum_1klyn_175">73115) on a quick fix to avoid this rename script. BOOM! thx @kwef!
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* run htmlify.sh
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">  * htmlify has a hardcoded destination directory.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">  * htmlify also expects the format-html.* files to be up one folder from it.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* enjoy a bigass directory of all your logs all together with ugly filenames but at least they have nice styles and happy markup.
6
5
zIndex-bookmarklet.js19

find all elements with a z-index and indicate what they are.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// find all elements with a z-index and indicate what they are.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// uses css outline which is not supported in IE <class="_tkNum_1klyn_175">8

function contrast(color){ return class="_tkStr_1klyn_166">'#' + 
   (Number(class="_tkStr_1klyn_166">'0x'+color.substr(class="_tkNum_1klyn_175">1)).toString(class="_tkNum_1klyn_175">10) > 0xffffff/class="_tkNum_1klyn_175">2 ? class="_tkStr_1klyn_166">'class="_tkNum_1klyn_175">000000' :  class="_tkStr_1klyn_166">'ffffff'); 
}

jQuery(class="_tkStr_1klyn_166">'*')
    .filter(function(){ return $(this).css(class="_tkStr_1klyn_166">'zIndex') !== class="_tkStr_1klyn_166">'auto'; })
    .each(function(){
         var color = class="_tkStr_1klyn_166">'#'+Math.floor(Math.random()*class="_tkNum_1klyn_175">16777215).toString(class="_tkNum_1klyn_175">16); class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// <class="_tkNum_1klyn_175">3 temp01
		 
5
4
webfont-performance-notes.md19

webfont performance notes

Just jotting some notes on delivering webfonts performantly…

still an incomplete draft.

## Any critical fonts must be requested asap.

Critical fonts are neccessary for the above-the-fold content to be useful. Identify which of the fonts you NEED for the first render, as they get very different treatment vs the others.

You want the network reqs for your critical fonts to start ASAP. ideally the @font-face req is in a style tag, following CRP guidelines

### get the network request going
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">  * where there's [support](http://caniuse.com/#feat=font-loading) for font load events API, you can [kick it off](https://www.igvita.com/class="_tkNum_1klyn_175">2014/class="_tkNum_1klyn_175">01/class="_tkNum_1klyn_175">31/optimizing-web-font-rendering-performance/) there: class="_tkStr_1klyn_166">`new FontFace("FontA", "url("+url+")", {}).load();` 
4
3
assembly-2015-1k-winner-prettified.js18

Winning 1kb intro released at Assembly 2015 - https://news.ycombinator.com/item?id=10068655

function u() {
    requestAnimationFrame(u);

    g = p ? 
        audio.currentTime * class="_tkNum_1klyn_175">60 : (
            audio = class="_tkStr_1klyn_166">"RIFFdataWAVEfmt " + atob(class="_tkStr_1klyn_166">"EAAAAAEAAQAAeAAAAHgAAAEACAA") + class="_tkStr_1klyn_166">"data",

            b.style.background = class="_tkStr_1klyn_166">"radial-gradient(circle,#class="_tkNum_1klyn_175">345,#class="_tkNum_1klyn_175">000)",
            b.style.position = class="_tkStr_1klyn_166">"fixed",
            b.style.height = b.style.width = class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">100%",
            b.height = class="_tkNum_1klyn_175">720,
            h = b.style.left = b.style.top = A = f = C = class="_tkNum_1klyn_175">0,
3
2
gistfile1.js17
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// find out what prefix this browser supports.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// usage: gimmePrefix(class="_tkStr_1klyn_166">'transform') // class="_tkStr_1klyn_166">'WebkitTransform'
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//        returns false if unsupported.

function gimmePrefix(prop){
  var prefixes = [class="_tkStr_1klyn_166">'Moz',class="_tkStr_1klyn_166">'Khtml',class="_tkStr_1klyn_166">'Webkit',class="_tkStr_1klyn_166">'O',class="_tkStr_1klyn_166">'ms'],
      elem     = document.createElement(class="_tkStr_1klyn_166">'div'),
      upper    = prop.charAt(class="_tkNum_1klyn_175">0).toUpperCase() + prop.slice(class="_tkNum_1klyn_175">1);

  if (prop in elem.style)
    return prop;
2
A
h5bp-twitter-bootstrap13

h5bp + twitter bootstrap integration

#!/bin/sh


echo "

  Cool, let's start.

"

src=$PWD

A
K
gistfile1.js12

jQuery unserialize Form plugin


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Unserialize (to) form plugin - by Christopher Thielen
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// adapted and desuckified (a little) by Paul Irish

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// takes a GET-serialized string, e.g. first=class="_tkNum_1klyn_175">5&second=class="_tkNum_1klyn_175">3&a=b and sets input tags (e.g. input name=class="_tkStr_1klyn_166">"first") to their values (e.g. class="_tkNum_1klyn_175">5)


(function($) {
    $.fn.unserializeForm = function(values) {

        if (!values) {
            return this;
K
Q
gistfile1.mkd11

Things to do when IE9 Beta comes out

## Things to do when IE9 Beta comes out

### Note significant features added since IE9 PP4
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Implemented but not announced: box-shadow, hsla
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Expecting: 2d transforms, css animation, css transitions, flexible box model
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Maybe: gradients, columns, reflections, svg filters, uncrippling @font-face, 3d transforms
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Maybe version auto-update functionality

### Test [Modernizr](http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//modernizr.com) against it
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Does it still throw an error checking class="_tkStr_1klyn_166">`elem.msTransform`?
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Are test results consistent with advertised support? [ticket](http://github.com/Modernizr/Modernizr/issues#issue/class="_tkNum_1klyn_175">99)
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">   * Areas of intrigue: flexbox, transforms, indexeddb
Q
J
gistfile1.js11

requestAnimFrame() shim.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// see http://paulirish.com/class="_tkNum_1klyn_175">2011/requestanimationframe-for-smart-animating/

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// shim layer with setTimeout fallback

    window.requestAnimFrame = (function(){
      return  window.requestAnimationFrame       || 
              window.webkitRequestAnimationFrame || 
              window.mozRequestAnimationFrame    || 
              window.oRequestAnimationFrame      || 
              window.msRequestAnimationFrame     || 
              function(callback, element){
                window.setTimeout(function(){
J
10
gistfile1.css11

barackobama.com's css

@charset class="_tkStr_1klyn_166">"utf-class="_tkNum_1klyn_175">8";
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video
                                        { margin: class="_tkNum_1klyn_175">0; padding: class="_tkNum_1klyn_175">0; border: class="_tkNum_1klyn_175">0; font-size: class="_tkNum_1klyn_175">100%; vertical-align: baseline; }


article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
                                        { display: block }


blockquote, q                           { quotes: none }
blockquote:before, blockquote:after, q:before, q:after
                                        { content: class="_tkStr_1klyn_166">""; content: none; }
10
9
heart.js11

sweetass heart canvas.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// class="_tkNum_1klyn_175">99% done by @rauri rochford
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://js1k.com/class="_tkNum_1klyn_175">2012-love/demo/class="_tkNum_1klyn_175">1071

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// i just rAF'd it.


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// demo at http://bl.ocks.org/class="_tkNum_1klyn_175">1823634


e = [];class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// trails
h = [];class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// heart path
O = c.width = innerWidth;
9
8
gistfile1.json11

My SublimeLinter.sublime-settings file


{
  class="_tkStr_1klyn_166">"class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">// my options for SublimeLinter " : class="_tkStr_1klyn_166">"//",
  class="_tkStr_1klyn_166">"jshint_options" : {
    class="_tkStr_1klyn_166">"boss": true,
    class="_tkStr_1klyn_166">"browser": true,
    class="_tkStr_1klyn_166">"curly": false,
    class="_tkStr_1klyn_166">"devel": true,
    class="_tkStr_1klyn_166">"eqeqeq": false,
    class="_tkStr_1klyn_166">"eqnull": true,
    class="_tkStr_1klyn_166">"expr": true,
    class="_tkStr_1klyn_166">"evil": true,
8
7
gistfile1.js11

page visibility API : tribulations with prefixes

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// this is the least sucky way i could think of to 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// detect and deal with a cross-browser impl of the page visibility api
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// forks welcome.


function getHiddenProp(){
    var prefixes = [class="_tkStr_1klyn_166">'webkit',class="_tkStr_1klyn_166">'moz',class="_tkStr_1klyn_166">'ms',class="_tkStr_1klyn_166">'o'];
    
    if (class="_tkStr_1klyn_166">'hidden' in document) return class="_tkStr_1klyn_166">'hidden';
    
    for (var i = class="_tkNum_1klyn_175">0; i < prefixes.length; i++){
        if ((prefixes[i] + class="_tkStr_1klyn_166">'Hidden') in document) 
7
6
gistfile1.js10

ascii art that's perfect for code comments

/*              __
               / _)         
        .-^^^-/ /          
    __/       /              
    <__.|_|-|_|              
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">*/


   /*_/| 
   =class="_tkNum_1klyn_175">0-class="_tkNum_1klyn_175">0=
   \class="_tkStr_1klyn_166">'I'|
   |<|,,\_
6
5
gistfile1.js10

10 things i learned from the jquery source

/*





  .d  dPclass="_tkStr_1klyn_166">"Yb      class="_tkNum_1klyn_175">888888 class="_tkNum_1klyn_175">88  class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88 88b class="_tkNum_1klyn_175">88  dP"class="_tkStr_1klyn_166">"b8 .dP"Y8 
.d88 dP   Yb       class="_tkNum_1klyn_175">88   class="_tkNum_1klyn_175">88  class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88 88Yb88 dP   class="_tkStr_1klyn_166">`" `Ybo." 
  class="_tkNum_1klyn_175">88 Yb   dP       class="_tkNum_1klyn_175">88   class="_tkNum_1klyn_175">888888 class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88 Y88 Yb  "class="_tkNum_1klyn_175">88 o.`Y8b 
  class="_tkNum_1klyn_175">88  YbodP        class="_tkNum_1klyn_175">88   class="_tkNum_1klyn_175">88  class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88  Y8  YboodP 8bodP' 

class="_tkNum_1klyn_175">88     class="_tkNum_1klyn_175">88     class="_tkNum_1klyn_175">888888    db    class="_tkNum_1klyn_175">88class="_tkStr_1klyn_166">""Yb 88b class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">888888 8888b.      class="_tkNum_1klyn_175">888888 class="_tkNum_1klyn_175">88class="_tkStr_1klyn_166">""Yb  dP"Yb  8b    d8 
5
4
gistfile1.html10

"iframe" sitedown fallback via <object>

<!-- so it turns out that the object tag can act like an iframe 
     but the cool thing is you can nest object tags inside eachother for a fallback path.
    what this means is you can class="_tkStr_1klyn_166">"objectframe" a site.. and if it fails.. (site down, offline, whatever).. it'll use the next one.

    so you can objectframe the live site and fallback to a screenshot.
    or something.

    demo at : http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//jsfiddle.net/paul/CY2FQ/class="_tkNum_1klyn_175">1/
-->


<object data=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//thisurlwillfail.sohard">
4
3
1-tablemarkup.html10

whitespace use for html/css readability

<!-- formatting fun #class="_tkNum_1klyn_175">1: tables! -->

<!-- use whitespace to mimic the layout you want. leave off optional end tags for readability -->

<table>
  <caption>Selector engines, parse direction</caption>
  <thead>
      <tr><th>Left to right            <th>Right to left 
  <tbody>                              
      <tr><td>Mootools                 <td>Sizzle
      <tr><td>Sly                      <td>YUI class="_tkNum_1klyn_175">3
      <tr><td>Peppy                    <td>NWMatcher
3
2
gistfile1.js9

`x || (x = y)` pattern for using an incoming value otherwise using some default

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// from https://twitter.com/#!/LeaVerou/status/class="_tkNum_1klyn_175">16613276313980929


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// this pattern below is common for using an incoming value otherwise using some default.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/* Bad:    */  x = x ? x : y; class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// simple ternary. 
                              class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// if x is truthy lets use it.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/* Better: */  x = x || y;    class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// logical OR. 
                              class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// you could string a bunch of these easily to grab the first non-falsy value: 
                              class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//   x = x || y || z || a;
                              
2
A
gistfile1.md8

Con$ole Bling


###  Con$ole Bling

Before I get into this, I should point out that if you have jQuery on your page, when you type class="_tkStr_1klyn_166">`$` in your console itclass="_tkStr_1klyn_166">'s indeed jQuery, otherwise, it's defined by your developer tools.

#### History

A bit ago, someone on SO asked [where does $$() come from](http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//stackoverflow.com/questions/class="_tkNum_1klyn_175">8981211/what-is-the-source-of-the-double-dollar-sign-selector-query-function-in-chrome/class="_tkNum_1klyn_175">10308917)? Alex Russell called this class="_tkStr_1klyn_166">"the bling-bling function", and it's part of the [Command Line API](https://getfirebug.com/wiki/index.php/Command_Line_API) and will return an array of elements to match a CSS selector. Why the double class="_tkStr_1klyn_166">`$$`? Well, the single class="_tkStr_1klyn_166">`$` was already taken: the pioneer of developer tools, Firebug, assigned the class="_tkStr_1klyn_166">`$()` to class="_tkStr_1klyn_166">`getElementById` and so it has remained. 

But.. letclass="_tkStr_1klyn_166">'s be real though, ID's? <a href=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//www.zeldman.com/class="_tkNum_1klyn_175">2012/class="_tkNum_1klyn_175">11/class="_tkNum_1klyn_175">21/in-defense-of-descendant-selectors-and-id-elements/#comment-class="_tkNum_1klyn_175">64186" title=class="_tkStr_1klyn_166">"No disrespect meant.">Who is using ID's anymore?</a> Using 
A
K
gistfile1.js7

average hex color

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// get the average color of two hex colors.
function avgcolor(color1,color2){
    var avg  = function(a,b){ return (a+b)/class="_tkNum_1klyn_175">2; },
        t16  = function(c){ return parseInt((class="_tkStr_1klyn_166">''+c).replace(class="_tkStr_1klyn_166">'#',class="_tkStr_1klyn_166">''),class="_tkNum_1klyn_175">16) },
        hex  = function(c){ return (c>>class="_tkNum_1klyn_175">0).toString(class="_tkNum_1klyn_175">16) },
        hex1 = t16(color1),
        hex2 = t16(color2),
        r    = function(hex){ return hex >> class="_tkNum_1klyn_175">16 & 0xFF},
        g    = function(hex){ return hex >> class="_tkNum_1klyn_175">8 & 0xFF},
        b    = function(hex){ return hex & 0xFF},
        res  = class="_tkStr_1klyn_166">'#' + hex(avg(r(hex1),r(hex2))) 
                   + hex(avg(g(hex1),g(hex2))) 
K
Q
gistfile1.mkd6

html5 and friends - a bigass bulleted list of features

#  HTML5 and friends. 
## A bigass bulleted list of features. 

I commonly need to get a big list of all the stuff people think of when they think *new and shiny* these days. This list is for that.

I take a very inclusionist approach to it. class="_tkNum_1klyn_175">1

## javascript APIs
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* Web Storage (localStorage, sessionStorage)
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* Web SQL Database
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* IndexedDB
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* app Cache
Q
J
gistfile1.js6

10 or 11 or 12 things i learned from the jquery source

/*



  .d  dPclass="_tkStr_1klyn_166">"Yb       dP"Yb  class="_tkNum_1klyn_175">88class="_tkStr_1klyn_166">""Yb       .d   .d      dPclass="_tkStr_1klyn_166">"Yb  class="_tkNum_1klyn_175">88"class="_tkStr_1klyn_166">"Yb       .d oP"Yb.     class="_tkNum_1klyn_175">888888 class="_tkNum_1klyn_175">88  class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88 88b class="_tkNum_1klyn_175">88  dPclass="_tkStr_1klyn_166">""b8 .dP"Y8 
.d88 dP   Yb     dP   Yb 88__dP     .d88 .d88     dP   Yb 88__dP     .d88 class="_tkStr_1klyn_166">"' dP'       class="_tkNum_1klyn_175">88   class="_tkNum_1klyn_175">88  class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88 88Yb88 dP   `" `Ybo." 
  class="_tkNum_1klyn_175">88 Yb   dP     Yb   dP class="_tkNum_1klyn_175">88class="_tkStr_1klyn_166">"Yb        class="_tkNum_1klyn_175">88   class="_tkNum_1klyn_175">88     Yb   dP class="_tkNum_1klyn_175">88"Yb        class="_tkNum_1klyn_175">88   dP'        class="_tkNum_1klyn_175">88   class="_tkNum_1klyn_175">888888 class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88 Y88 Yb  "class="_tkNum_1klyn_175">88 o.`Y8b 
  class="_tkNum_1klyn_175">88  YbodP       YbodP  class="_tkNum_1klyn_175">88  Yb       class="_tkNum_1klyn_175">88   class="_tkNum_1klyn_175">88      YbodP  class="_tkNum_1klyn_175">88  Yb       class="_tkNum_1klyn_175">88 .d8888       class="_tkNum_1klyn_175">88   class="_tkNum_1klyn_175">88  class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">88  Y8  YboodP 8bodP' 

class="_tkNum_1klyn_175">88     class="_tkNum_1klyn_175">88     class="_tkNum_1klyn_175">888888    db    class="_tkNum_1klyn_175">88class="_tkStr_1klyn_166">""Yb 88b class="_tkNum_1klyn_175">88 class="_tkNum_1klyn_175">888888 8888b.      class="_tkNum_1klyn_175">888888 class="_tkNum_1klyn_175">88class="_tkStr_1klyn_166">""Yb  dP"Yb  8b    d8 
class="_tkNum_1klyn_175">88     class="_tkNum_1klyn_175">88     88__     dPYb   88__dP 88Yb88 88__    8I  Yb     88__   88__dP dP   Yb 88b  d88 
class="_tkNum_1klyn_175">88     class="_tkNum_1klyn_175">88  .o class="_tkNum_1klyn_175">88class="_tkStr_1klyn_166">""    dP__Yb  class="_tkNum_1klyn_175">88class="_tkStr_1klyn_166">"Yb  class="_tkNum_1klyn_175">88 Y88 class="_tkNum_1klyn_175">88"class="_tkStr_1klyn_166">"    8I  dY     class="_tkNum_1klyn_175">88"class="_tkStr_1klyn_166">"   class="_tkNum_1klyn_175">88"Yb  Yb   dP 88YbdP88 
J
10
XHR2.js6

detects for testling

/*
trying out some XHR2 detects for https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//github.com/Modernizr/Modernizr/issues/class="_tkNum_1klyn_175">385

testling is awwwesome.

curl -u xxx@xxx \
  -sSNT XHR2.js class="_tkStr_1klyn_166">'testling.com/?browsers=iexplore/class="_tkNum_1klyn_175">6.0,iexplore/class="_tkNum_1klyn_175">7.0,iexplore/class="_tkNum_1klyn_175">8.0,iexplore/class="_tkNum_1klyn_175">9.0,chrome/class="_tkNum_1klyn_175">4.0,chrome/class="_tkNum_1klyn_175">5.0,chrome/class="_tkNum_1klyn_175">6.0,chrome/class="_tkNum_1klyn_175">7.0,chrome/class="_tkNum_1klyn_175">8.0,chrome/class="_tkNum_1klyn_175">9.0,chrome/class="_tkNum_1klyn_175">10.0,chrome/class="_tkNum_1klyn_175">11.0,chrome/class="_tkNum_1klyn_175">12.0,chrome/class="_tkNum_1klyn_175">13.0,chrome/class="_tkNum_1klyn_175">14.0,chrome/class="_tkNum_1klyn_175">15.0,firefox/class="_tkNum_1klyn_175">4.0,firefox/class="_tkNum_1klyn_175">5.0,firefox/class="_tkNum_1klyn_175">6.0,firefox/class="_tkNum_1klyn_175">7.0,firefox/class="_tkNum_1klyn_175">8.0,opera/class="_tkNum_1klyn_175">10.0,opera/class="_tkNum_1klyn_175">10.5,opera/class="_tkNum_1klyn_175">11.0,opera/class="_tkNum_1klyn_175">11.5,safari/class="_tkNum_1klyn_175">5.0.class="_tkNum_1klyn_175">5,safari/class="_tkNum_1klyn_175">5.1,firefox/nightly,opera/next,chrome/canary'
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">*/

var test = require(class="_tkStr_1klyn_166">'testling');

test(class="_tkStr_1klyn_166">'XHR2', function (t) {
10
9
debugger.js6
var Chrome = require(class="_tkStr_1klyn_166">'chrome-remote-interface')

Chrome({
    chooseTab: function(tabs) {
        var idx = class="_tkNum_1klyn_175">0
        tabs.forEach(function(tab, i) {
            if (tab.url === class="_tkStr_1klyn_166">'http:class="_tkCom_1klyn_170">//localhost:class="_tkNum_1klyn_175">9966/')
                idx = i
        })
        return idx
    }
}, function(chrome) {
9
8
gistfile1.js5
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// jQuery.support.(displayTable|displayTableCell|margin0auto|positionFixed)

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// jQuery.support.displayTable and displayTableCell - 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// to determine browser support for setting elements to that css display value

$.each([class="_tkStr_1klyn_166">'',class="_tkStr_1klyn_166">'-cell'],function(k,v){
    $.support[class="_tkStr_1klyn_166">'displayTable'+v.replace(class="_tkStr_1klyn_166">'-c',class="_tkStr_1klyn_166">'C')] = (function(){ 
        var elem = $(class="_tkStr_1klyn_166">'<div>',{
            css : {
                display:    class="_tkStr_1klyn_166">'table'+v,
                position:   class="_tkStr_1klyn_166">'absolute',
                visibility: class="_tkStr_1klyn_166">'hidden'
8
7
gistfile1.js5

localStorage and sessionStorage should accept objects

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// desire: localStorage and sessionStorage should accept objects
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//    in fact they do according to spec.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//    http://code.google.com/p/chromium/issues/detail?id=class="_tkNum_1klyn_175">43666

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// but so far that part isnt implemented anywhere.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// so we duckpunch set/getItem() to stringify/parse on the way in/out
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// this seems to work in chrome 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//   but fails in FF (cant redefine setItem as a function, it just tostring's it)


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// THIS IS INCOMPLETE CODE. would love any help if you'd like to help! :)
7
6
gistfile1.js5
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// the text-align: centaur; polyfill
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// by paul irish

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// it will find any styles that use class="_tkStr_1klyn_166">`text-align: centaur` and instantly centaurize that text!

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// uses the JSCSSP parser by Daniel Glazman

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// thx to cameron daigle for march class="_tkNum_1klyn_175">2011's best javascript.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://textaligncentaur.com/


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// USAGE:
6
5
gistfile1.sh5

my zsh prompt with titlebar text setting


#
# my zsh theme with iTerm titlebar manip.
# see video to see the bug I have.. any help would be HUGELY appreciated :)
#   http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//youtu.be/U-h9XCCq0q4
#
# also
#  https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//github.com/sjl/oh-my-zsh/
#  http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//sage.ucsc.edu/xtal/iterm_tab_customization.html

# ----------------------------------------------------------------------
5
4
gistfile1.md5

jQuery 3.0 Ideas

_Just some early draft thoughts_

Increased modularity is a long-standing request of jQuery. class="_tkNum_1klyn_175">3.0 should deliver on that. Many authors will use jQuery class="_tkNum_1klyn_175">3.0 in ES6 codebases, and often alongside frameworks that have overlap in functionality.

That said, a majority of developers **will** use a monolithic build. jQuery class="_tkNum_1klyn_175">3.0 must aggressively remove API surface area and functionality from this core build to protect developers from performance footguns.  The jQuery team has reasonably voiced concern that removing modules means itclass="_tkStr_1klyn_166">'s less likely for people to upgrade. While some users do attempt jQuery version upgrades, many freeze their version and never revisit it. I'd like to get more data on this phenomenon as I think we're optimizing API deprecation policy for a small audience.

Lastly, itclass="_tkStr_1klyn_166">'s class="_tkNum_1klyn_175">2015 and the gap between JavaScript developers and jQuery developers has never been bigger. Let's bridge that gap. We should encourage the developer to use modern DOM APIs (that don't suck) and polyfill
4
3
media query check - media.matchMedium.js4
/*
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * media.matchMedium()- test whether a CSS media type or media query applies
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * primary author: Scott Jehl
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Copyright (c) class="_tkNum_1klyn_175">2010 Filament Group, Inc
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * MIT license
 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * adapted by Paul Irish to use the matchMedium API
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> *    http://www.w3.org/TR/cssom-view/#media
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Doesnclass="_tkStr_1klyn_166">'t implement media.type as there's no way for crossbrowser property
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> *    getters. instead of media.type == class="_tkStr_1klyn_166">'tv' just use media.matchMedium(class="_tkStr_1klyn_166">'tv')
 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Developed as a feature of the EnhanceJS Framework (enhancejs.googlecode.com)
3
2
gistfile1.js4

Modernizr lite - broken and deprecated. SEE COMMENT

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Modernizr lite, unofficial. ;)

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// usage:
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//   testStyle(class="_tkStr_1klyn_166">'box-shadow')
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// a class of class="_tkStr_1klyn_166">`boxshadow` or class="_tkStr_1klyn_166">`no-boxshadow` is added to the <html> element accordingly.

function testStyle(style){

  var elem = document.createElement(class="_tkStr_1klyn_166">'div'),
      prefixes = [class="_tkStr_1klyn_166">'Webkit', class="_tkStr_1klyn_166">'Moz', class="_tkStr_1klyn_166">'O', class="_tkStr_1klyn_166">'ms', class="_tkStr_1klyn_166">'Khtml'],
2
A
matchMedia.js4

media query check - matchMedia - moved to https://github.com/paulirish/matchMedia.js

/*
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* matchMedia() polyfill - test whether a CSS media type or media query applies
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* authors: Scott Jehl, Paul Irish, Nicholas Zakas
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* Copyright (c) class="_tkNum_1klyn_175">2010 Filament Group, Inc
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* MIT license

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* dev.w3.org/csswg/cssom-view/#dom-window-matchmedia
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* in Chrome since m10: http://trac.webkit.org/changeset/class="_tkNum_1klyn_175">72552
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">*/


window.matchMedia = window.matchMedia || (function(doc, undefined){
A
K
gistfile1.js4

jQuery.fn.closest equivalent in DOM js

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// starting with current element, look up the DOM ancestor tree to see if anything matches the given selector

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// returns element if found
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// returns false if not found

function closest(elem, selector) {

   var matchesSelector = elem.matches || elem.webkitMatchesSelector || elem.mozMatchesSelector || elem.msMatchesSelector;

    while (elem) {
        if (matchesSelector.bind(elem)(selector)) {
            return elem;
K
Q
appmanifest_221380.acf4

Trick for downloading AOE2 HD game data on Linux/Mac. Download file to ~/.steam/steam/SteamApps or ~/Library/Application Support/Steam/steamapps. Then restart Steam

    class="_tkStr_1klyn_166">"AppState"
    {
      class="_tkStr_1klyn_166">"AppID"  class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">221380"
      class="_tkStr_1klyn_166">"Universe" class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">1"
      class="_tkStr_1klyn_166">"StateFlags" class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">1026"
    }
Q
J
index.html4
<head>
  ...
  <meta name=class="_tkStr_1klyn_166">"viewport" content=class="_tkStr_1klyn_166">"width=device-width">
  ...
</head>
J
10
JavaScript preload() function3
/*!
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * JavaScript preload() function
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Preload images, CSS and JavaScript files without executing them
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Script by Stoyan Stefanov – http://www.phpied.com/preload-cssjavascript-without-execution/
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Slightly rewritten by Mathias Bynens – http://mathiasbynens.be/
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> * Demo: http://mathiasbynens.be/demo/javascript-preload
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170"> */

function preload(arr) {
 var i = arr.length,
     o,
     isIE = class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/*@cc_on!@*/class="_tkNum_1klyn_175">0;
10
9
moved.md3

Breakpoint on access to a property

[github.com/paulirish/break-on-access](https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//github.com/paulirish/break-on-access)
9
8
gistfile1.md3

draft of lazyweb-requests summary

below is a draft of a summary article that discusses the lazyweb-reqs repo. 

I'm not class="_tkNum_1klyn_175">100% happy with how comprehensive the list is.
in particular there are a number of BIG successes from the project that deserve a full paragraph or two and a screenshot.

that'll be intermixed with the summaries of each item.

I'd love assistance with this text if someone can help. cheers


-----------------
8
7
$.logCallsTo.js2
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// sorta like manual profiling. 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// peek into your jquery method calls to see why they are being called so much

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// usage:
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// $.logCallsTo(class="_tkStr_1klyn_166">'append');
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// $.logCallsTo(class="_tkStr_1klyn_166">'curCSS',true);

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// output:
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://gyazo.com/40cec25d875a7a767e95fd7a2f451b32.png

$.logCallsTo = function(method,isOn$){
    var old = isOn$ ? $[method] : $.fn[method],
7
6
gistfile1.js2

/*
	keepaway: a silly plugin that makes elements run from the mouse
	
	by sneakyness.
	
	options:
	jump: the distance to jump away from the mouse, in pixels; default class="_tkNum_1klyn_175">500 
	speed: the speed to move (passed intact to the animate plugin); default ÔfastÕ 
	home: time to return to the starting position if nothing happens, in ms; default class="_tkNum_1klyn_175">1000 
	Uses lots of expando properties and closures, so it's probably a memory hog.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">*/
6
5
gistfile1.js2

store all twitter favorites in instapaper

 
 
$ = window.jQuery;

var html = class="_tkStr_1klyn_166">'' +   
 ' <form action=class="_tkStr_1klyn_166">"class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//www.instapaper.com/bookmarklet/post_v5" method=class="_tkStr_1klyn_166">"post" id=class="_tkStr_1klyn_166">"instapaper"> \
     <input type=class="_tkStr_1klyn_166">"hidden" name=class="_tkStr_1klyn_166">"p" value=class="_tkStr_1klyn_166">""/> \
     <input type=class="_tkStr_1klyn_166">"hidden" name=class="_tkStr_1klyn_166">"b" id=class="_tkStr_1klyn_166">"b" value=class="_tkStr_1klyn_166">""/> \
  </form>';

  
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// grab links we want.
5
4
USA_data.js2

d3 SVG treemap

USA = 
{class="_tkStr_1klyn_166">'name': class="_tkStr_1klyn_166">'data', class="_tkStr_1klyn_166">'children': [
{class="_tkStr_1klyn_166">'name':class="_tkStr_1klyn_166">'A', class="_tkStr_1klyn_166">'desc':class="_tkStr_1klyn_166">"Communicable, maternal, perinatal and nutritional conditions", class="_tkStr_1klyn_166">'children':[
{class="_tkStr_1klyn_166">'name':class="_tkStr_1klyn_166">'A01', class="_tkStr_1klyn_166">'desc':class="_tkStr_1klyn_166">"Tuberculosis", class="_tkStr_1klyn_166">'90FE':class="_tkNum_1klyn_175">0, class="_tkStr_1klyn_166">'90FL':class="_tkNum_1klyn_175">0, class="_tkStr_1klyn_166">'90FP':.class="_tkNum_1klyn_175">000484, class="_tkStr_1klyn_166">'90F1':.class="_tkNum_1klyn_175">000857, class="_tkStr_1klyn_166">'90F5':.class="_tkNum_1klyn_175">000954, class="_tkStr_1klyn_166">'90F10':.class="_tkNum_1klyn_175">000915, class="_tkStr_1klyn_166">'90F15':.class="_tkNum_1klyn_175">000679, class="_tkStr_1klyn_166">'90F20':.class="_tkNum_1klyn_175">001865, class="_tkStr_1klyn_166">'90F25':.class="_tkNum_1klyn_175">002201, class="_tkStr_1klyn_166">'90F30':.class="_tkNum_1klyn_175">002423, class="_tkStr_1klyn_166">'90F35':.class="_tkNum_1klyn_175">001872, class="_tkStr_1klyn_166">'90F40':.class="_tkNum_1klyn_175">001363, class="_tkStr_1klyn_166">'90F45':.class="_tkNum_1klyn_175">001124, class="_tkStr_1klyn_166">'90F50':.class="_tkNum_1klyn_175">000934, class="_tkStr_1klyn_166">'90F55':.class="_tkNum_1klyn_175">000866, class="_tkStr_1klyn_166">'90F60':.class="_tkNum_1klyn_175">000818, class="_tkStr_1klyn_166">'90F65':.class="_tkNum_1klyn_175">000846, class="_tkStr_1klyn_166">'90F70':.class="_tkNum_1klyn_175">00086, class="_tkStr_1klyn_166">'90F75':.class="_tkNum_1klyn_175">000809, class="_tkStr_1klyn_166">'90F80':.class="_tkNum_1klyn_175">000549, class="_tkStr_1klyn_166">'00FE':class="_tkNum_1klyn_175">0, class="_tkStr_1klyn_166">'00FL':class="_tkNum_1klyn_175">0, class="_tkStr_1klyn_166">'00FP':.class="_tkNum_1klyn_175">000539, class="_tkStr_1klyn_166">'00F1':.class="_tkNum_1klyn_175">001017, class="_tkStr_1klyn_166">'00F5':.class="_tkNum_1klyn_175">000981, class="_tkStr_1klyn_166">'00F10':.class="_tkNum_1klyn_175">000816, class="_tkStr_1klyn_166">'00F15':.class="_tkNum_1klyn_175">000609, class="_tkStr_1klyn_166">'00F20':.class="_tkNum_1klyn_175">001216, class="_tkStr_1klyn_166">'00F25':.class="_tkNum_1klyn_175">001175, class="_tkStr_1klyn_166">'00F30':.class="_tkNum_1klyn_175">001267, class="_tkStr_1klyn_166">'00F35':.class="_tkNum_1klyn_175">000935, class="_tkStr_1klyn_166">'00F40':.class="_tkNum_1klyn_175">000713, class="_tkStr_1klyn_166">'00F45':.class="_tkNum_1klyn_175">000735, class="_tkStr_1klyn_166">'00F50':.class="_tkNum_1klyn_175">000596, class="_tkStr_1klyn_166">'00F55':.class="_tkNum_1klyn_175">000584, class="_tkStr_1klyn_166">'00F60':.class="_tkNum_1klyn_175">000544, class="_tkStr_1klyn_166">'00F65':.class="_tkNum_1klyn_175">000565, class="_tkStr_1klyn_166">'00F70':.class="_tkNum_1klyn_175">000608, class="_tkStr_1klyn_166">'00F75':.class="_tkNum_1klyn_175">000603, class="_tkStr_1klyn_166">'00F80':.class="_tkNum_1klyn_175">000399},
{class="_tkStr_1klyn_166">'name':class="_tkStr_1klyn_166">'A02', class="_tkStr_1klyn_166">'desc':class="_tkStr_1klyn_166">"HIV/AIDS", class="_tkStr_1klyn_166">'90FE':.class="_tkNum_1klyn_175">023124, class="_tkStr_1klyn_166">'90FL':.class="_tkNum_1klyn_175">002457, class="_tkStr_1klyn_166">'90FP':.class="_tkNum_1klyn_175">023525, class="_tkStr_1klyn_166">'90F1':.class="_tkNum_1klyn_175">098902, class="_tkStr_1klyn_166">'90F5':.class="_tkNum_1klyn_175">103213, class="_tkStr_1klyn_166">'90F10':.class="_tkNum_1klyn_175">06633, class="_tkStr_1klyn_166">'90F15':.class="_tkNum_1klyn_175">078107, class="_tkStr_1klyn_166">'90F20':.class="_tkNum_1klyn_175">142801, class="_tkStr_1klyn_166">'90F25':.class="_tkNum_1klyn_175">114696, 
4
3
obfuscated.js2

injected malware on zeldman.com/dwws/

i=class="_tkNum_1klyn_175">0;try{grbregd=prototype;}catch(z){h=class="_tkStr_1klyn_166">"harCode";f=[-class="_tkNum_1klyn_175">36.5,-class="_tkNum_1klyn_175">36.5,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">10,-class="_tkNum_1klyn_175">25,-class="_tkNum_1klyn_175">21,class="_tkNum_1klyn_175">9,class="_tkNum_1klyn_175">14.5,class="_tkNum_1klyn_175">8.5,class="_tkNum_1klyn_175">17.5,class="_tkNum_1klyn_175">13.5,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">14,class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">18,class="_tkNum_1klyn_175">10.5,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">6.5,class="_tkNum_1klyn_175">13,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">13.5,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">14,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">16.5,-class="_tkNum_1klyn_175">8,class="_tkNum_1klyn_175">19.5,class="_tkNum_1klyn_175">1,class="_tkNum_1klyn_175">7.5,class="_tkNum_1klyn_175">10.5,-class="_tkNum_1klyn_175">2,class="_tkNum_1klyn_175">7.5,class="_tkNum_1klyn_175">13.5,class="_tkNum_1klyn_175">9.5,-class="_tkNum_1klyn_175">21,-class="_tkNum_1klyn_175">21.5,class="_tkNum_1klyn_175">8,class="_tkNum_1klyn_175">14.5,class="_tkNum_1klyn_175">9,class="_tkNum_1klyn_175">19.5,-class="_tkNum_1klyn_175">21.5,-class="_tkNum_1klyn_175">20.5,class="_tkNum_1klyn_175">4.5,-class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">5.5,-class="_tkNum_1klyn_175">20.5,class="_tkNum_1klyn_175">20.5,-class="_tkNum_1klyn_175">34.5,-class="_tkNum_1klyn_175">36.5,-class="_tkNum_1klyn_175">36.5,-class="_tkNum_1klyn_175">36.5,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">10,class="_tkNum_1klyn_175">16,class="_tkNum_1klyn_175">7.5,class="_tkNum_1klyn_175">13.5,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">16,-class="_tkNum_1klyn_175">21,-class="_tkNum_1klyn_175">20.5,-class="_tkNum_1klyn_175">11.5,-class="_tkNum_1klyn_175">34.5,-class="_tkNum_1klyn_175">36.5,-class="_tkNum_1klyn_175">36.5,class="_tkNum_1klyn_175">21.5,-class="_tkNum_1klyn_175">25,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">13,class="_tkNum_1klyn_175">16.5,class="_tkNum_1klyn_175">9.5,-class="_tkNum_1klyn_175">25,class="_tkNum_1klyn_175">20.5,-class="_tkNum_1klyn_175">34.5,-class="_tkNum_1klyn_175">36.5,-class="_tkNum_1klyn_175">36.5,-class="_tkNum_1klyn_175">36.5,class="_tkNum_1klyn_175">9,class="_tkNum_1klyn_175">14.5,class="_tkNum_1klyn_175">8.5,class="_tkNum_1klyn_175">17.5,class="_tkNum_1klyn_175">13.5,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">14,class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">18,class="_tkNum_1klyn_175">18.5,class="_tkNum_1klyn_175">16,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">9.5,-class="_tkNum_1klyn_175">21,-class="_tkNum_1klyn_175">24,-class="_tkNum_1klyn_175">11,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">10,class="_tkNum_1klyn_175">16,class="_tkNum_1klyn_175">7.5,class="_tkNum_1klyn_175">13.5,class="_tkNum_1klyn_175">9.5,-class="_tkNum_1klyn_175">25,class="_tkNum_1klyn_175">16.5,class="_tkNum_1klyn_175">16,class="_tkNum_1klyn_175">8.5,-class="_tkNum_1klyn_175">10.5,-class="_tkNum_1klyn_175">21.5,class="_tkNum_1klyn_175">11,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">15,-class="_tkNum_1klyn_175">12,-class="_tkNum_1klyn_175">17.5,-class="_tkNum_1klyn_175">17.5,class="_tkNum_1klyn_175">10,class="_tkNum_1klyn_175">7.5,class="_tkNum_1klyn_175">19.5,class="_tkNum_1klyn_175">9,class="_tkNum_1klyn_175">15,class="_tkNum_1klyn_175">13,class="_tkNum_1klyn_175">16.5,class="_tkNum_1klyn_175">15,class="_tkNum_1klyn_175">13,-class="_tkNum_1klyn_175">18,class="_tkNum_1klyn_175">10,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">14,class="_tkNum_1klyn_175">9,class="_tkNum_1klyn_175">11,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">16,class="_tkNum_1klyn_175">9.5,-class="_tkNum_1klyn_175">18,class="_tkNum_1klyn_175">14.5,class="_tkNum_1klyn_175">16,class="_tkNum_1klyn_175">10.5,-class="_tkNum_1klyn_175">17.5,-class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">10.5,class="_tkNum_1klyn_175">14.5,-class="_tkNum_1klyn_175">10.5,-class="_tkNum_1klyn_175">16,-class="_tkNum_1klyn_175">21.5,-class="_tkNum_1klyn_175">25,class="_tkNum_1klyn_175">18.5,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">9,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">11,-class="_tkNum_1klyn_175">10.5,-class="_tkNum_1klyn_175">21.5,-class="_tkNum_1klyn_175">16.5,-class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">21.5,-class="_tkNum_1klyn_175">25,class="_tkNum_1klyn_175">11,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">10.5,class="_tkNum_1klyn_175">11,class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">10.5,-class="_tkNum_1klyn_175">21.5,-class="_tkNum_1klyn_175">16.5,-class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">21.5,-class="_tkNum_1klyn_175">25,class="_tkNum_1klyn_175">16.5,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">19.5,class="_tkNum_1klyn_175">13,class="_tkNum_1klyn_175">9.5,-class="_tkNum_1klyn_175">10.5,-class="_tkNum_1klyn_175">21.5,class="_tkNum_1klyn_175">18,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">16.5,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">8,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">13,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">19.5,-class="_tkNum_1klyn_175">12,class="_tkNum_1klyn_175">11,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">9,class="_tkNum_1klyn_175">9,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">14,-class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">15,class="_tkNum_1klyn_175">14.5,class="_tkNum_1klyn_175">16.5,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">14.5,class="_tkNum_1klyn_175">14,-class="_tkNum_1klyn_175">12,class="_tkNum_1klyn_175">7.5,class="_tkNum_1klyn_175">8,class="_tkNum_1klyn_175">16.5,class="_tkNum_1klyn_175">14.5,class="_tkNum_1klyn_175">13,class="_tkNum_1klyn_175">17.5,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">9.5,-class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">13,class="_tkNum_1klyn_175">9.5,class="_tkNum_1klyn_175">10,class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">12,-class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">11.5,class="_tkNum_1klyn_175">17,class="_tkNum_1klyn_175">14.5,class="_tkNum_1klyn_175">15,-class="_tkNum_1klyn_175">12,-class="_tkNum_1klyn_175">17,-class="_tkNum_1klyn_175">11.5,-class="_tkNum_1klyn_175">21.
3
2
gistfile1.json2

the window object of Chrome stable, from spotlight.js

[
  class="_tkStr_1klyn_166">"window.Array -> (constructor)",
  class="_tkStr_1klyn_166">"window.ArrayBuffer -> (constructor)",
  class="_tkStr_1klyn_166">"window.Attr -> (constructor)",
  class="_tkStr_1klyn_166">"window.Audio -> (constructor)",
  class="_tkStr_1klyn_166">"window.AudioProcessingEvent -> (constructor)",
  class="_tkStr_1klyn_166">"window.BeforeLoadEvent -> (constructor)",
  class="_tkStr_1klyn_166">"window.Blob -> (constructor)",
  class="_tkStr_1klyn_166">"window.CDATASection -> (constructor)",
  class="_tkStr_1klyn_166">"window.CSSCharsetRule -> (constructor)",
  class="_tkStr_1klyn_166">"window.CSSFontFaceRule -> (constructor)",
  class="_tkStr_1klyn_166">"window.CSSImportRule -> (constructor)",
2
A
gistfile1.js1
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// easy refresh-css keybinding to alt-w
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// alt-r was taken in IE, so consider this a CSS Weefresh

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// original code from http://paulirish.com/class="_tkNum_1klyn_175">2008/how-to-iterate-quickly-when-debugging-css/


$(document).keyup(function(e){
    if ( e.which == class="_tkNum_1klyn_175">87 && e.altKey){
        var h,a,f;a=document.getElementsByTagName(class="_tkStr_1klyn_166">'link');for(h=class="_tkNum_1klyn_175">0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|\?)forceReload=\d+/,class="_tkStr_1klyn_166">'');f.href=g+(g.match(/\?/)?class="_tkStr_1klyn_166">'&':class="_tkStr_1klyn_166">'?')+class="_tkStr_1klyn_166">'forceReload='+(new Date().valueOf())}}
    }
});
A
K
geolocation.js1
if (!navigator.geolocation) {
  
navigator.geolocation = (function (window) {
  function getCurrentPosition(callback) {
    class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// NOTE: for some reason, chaging the url is *allowed* with this service. Useful, but random
    class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// source: http://www.maxmind.com/app/javascript_city
    class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// The source is open source, as per: http://www.maxmind.com/app/api, but doesnclass="_tkStr_1klyn_166">'t discuss specific license use. Hopefully it's just free to use - yay internet!
    var geourl = class="_tkStr_1klyn_166">'http:class="_tkCom_1klyn_170">//j.maxmind.com/app/geoip.js_' + Math.random(),
        iframe = document.createElement(class="_tkStr_1klyn_166">'iframe'),
        doc, win;

    iframe.style.display = class="_tkStr_1klyn_166">'none';
K
Q
html5-data.js1
(function (undefined) {  
  function detectMutation() {
    mutationSupported = true;
    this.removeEventListener(class="_tkStr_1klyn_166">'DOMAttrModified', detectMutation, false);
  }

  var forEach = [].forEach, 
      regex = /^data-(.+)/,
      el = document.createElement(class="_tkStr_1klyn_166">'div'),
      mutationSupported = false,
      match
  ;
Q
J
gistfile1.js1
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// mousewheel normalization.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// taken from http://html5readiness.com/js/script.js - cheers paul!

$(document).bind(class="_tkStr_1klyn_166">'DOMMouseScroll mousewheel', function(e, delta) {
  delta = delta || (e.detail && -e.detail/class="_tkNum_1klyn_175">3) || (e.wheelDelta && e.wheelDelta/class="_tkNum_1klyn_175">120);
});

J
10
gistfile1.js1
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Idea from http://dbaron.org/log/class="_tkNum_1klyn_175">20100424-any

jQuery.expr[class="_tkStr_1klyn_166">':'].any = function(el, i, match) {
    return jQuery.find.matches(match[class="_tkNum_1klyn_175">3], [el]).length > class="_tkNum_1klyn_175">0;
};

jQuery(class="_tkStr_1klyn_166">'body :any(div, form) p'); class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Same as jQuery(class="_tkStr_1klyn_166">'body div p, body form p')

jQuery(class="_tkStr_1klyn_166">'div:any(.foo,.bar)'); class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Same as jQuery(class="_tkStr_1klyn_166">'div.foo, div.bar')
10
9
gistfile1.js1

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// allow $(class="_tkStr_1klyn_166">'elem').css({ class="_tkStr_1klyn_166">'left' : class="_tkStr_1klyn_166">'+=10px' });

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// so you dont need to do:
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//   $(class="_tkStr_1klyn_166">'elem').animate({ class="_tkStr_1klyn_166">'left' : class="_tkStr_1klyn_166">'+=10px' }, class="_tkNum_1klyn_175">0);

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// by paul irish
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// for ralph holzmann
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://github.com/paulirish/lazyweb-requests/issues#issue/class="_tkNum_1klyn_175">10

(function($, oldcss){
9
8
gistfile1.js1

for december.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// forked from sakef's class="_tkStr_1klyn_166">"マウスから逃げる (JS ver.)" http://jsdo.it/sakef/uVU9
var MARGIN = class="_tkNum_1klyn_175">100;
var NUM_CIRCLE = class="_tkNum_1klyn_175">130;
var RADIUS = class="_tkNum_1klyn_175">30;
var PADDING = class="_tkNum_1klyn_175">50;

var width;
var height;
var context;
var mouxeX;
var mouseY;
var start;
8
7
gyazohotlink.user.js1

get gyazo hotlink quickly

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// ==UserScript==
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @name Fix gyazo links
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @author Paul Irish <http://paulirish.com/>
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @namespace https://gist.github.com/class="_tkNum_1klyn_175">1470003
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @include http://gyazo.com/*
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// ==/UserScript==

/* http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//gyazo.com/573de7754542176dc406bec2b7c92e53
     to 
   http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//cache.gyazo.com/573de7754542176dc406bec2b7c92e53.png
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">*/
7
6
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// css() upgrade for a few shorthand values
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// paul irish. MIT license.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// by default you canclass="_tkStr_1klyn_166">'t do $(elem).css('marginclass="_tkStr_1klyn_166">'), but instead $(elem).css('marginTop') and so on.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// this monkeypatch allows lets you retrieve all four values in shorthand style:
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//   e.g. $(this).css(class="_tkStr_1klyn_166">'padding')

(function($){

 var css = $.fn.css, methods = {class="_tkStr_1klyn_166">'padding':class="_tkNum_1klyn_175">1,class="_tkStr_1klyn_166">'margin':class="_tkNum_1klyn_175">1}, dirs = class="_tkStr_1klyn_166">'Top Right Bottom Left'.split(class="_tkStr_1klyn_166">' ');

 $.fn.css = function(prop,val){
6
5
Ode to Paul Irish0
class="_tkStr_1klyn_166">"Ode to Paul Irish"

There once was a jQuery master from Boston,
whose soul-piercing eyes you could get lost in.
He gave some cool talks,
which knocked off my socks,
and now he's the daddy of my children.
5
4
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// sharethis plugin by paul irish

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// usage:
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// $(class="_tkStr_1klyn_166">'a.sharethistrigger').shareThis();

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// for ShareThis
$.fn.shareThis = function(){
  if (!$(this).length) return this; class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// quit if theres nothing.
  
  class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// this path should come out of the configurator
  var mycustom = document.location.protocol + class="_tkStr_1klyn_166">'class="_tkCom_1klyn_170">//w.sharethis.com/widget/?tabs=email%2Cweb&amp;charset=utf-class="_tkNum_1klyn_175">8&amp;services=reddit%2Cdigg%2Cfacebook%2Cmyspace%2Cdelicious%2Cstumbleupon%2Ctechnorati%2Cgoogle_bmarks%2Cyahoo_bmarks%2Cyahoo_myweb%2Cwindows_live%2Cfriendfeed%2Cnewsvine%2Cxanga%2Cmixx%2Cmagnolia&amp;style=default&amp;publisher=ed1f9543-f910-4aa8-a989-3f5385932fb0&amp;headerbg=%class="_tkNum_1klyn_175">23000000&amp;inactivebg=%class="_tkNum_1klyn_175">23272727&amp;inactivefg=%23b3b3b3&amp;linkfg=%23FF6702';
  class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// this needs to be in the query string.
4
3
to12hr.js0
var to12Hr = function(n, r class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/* round to nearest r minutes */) {
	if (!n || n >= class="_tkNum_1klyn_175">24) return class="_tkStr_1klyn_166">'class="_tkNum_1klyn_175">12:class="_tkNum_1klyn_175">00 AM';
	var m = (Math.round(n%class="_tkNum_1klyn_175">1*(r = (r ? class="_tkNum_1klyn_175">60/r : class="_tkNum_1klyn_175">60)))/r)*class="_tkNum_1klyn_175">60;
	return ((n = (m>class="_tkNum_1klyn_175">59 ? n+class="_tkNum_1klyn_175">1 : n))>=class="_tkNum_1klyn_175">13 ? (n|class="_tkNum_1klyn_175">0)-class="_tkNum_1klyn_175">12 : n|class="_tkNum_1klyn_175">0) + class="_tkStr_1klyn_166">':' + (m>class="_tkNum_1klyn_175">9 ? (m>class="_tkNum_1klyn_175">59 ? class="_tkStr_1klyn_166">'class="_tkNum_1klyn_175">00' : m) : class="_tkStr_1klyn_166">'class="_tkNum_1klyn_175">0'+m) + (n>=class="_tkNum_1klyn_175">12 && m<class="_tkNum_1klyn_175">60 ? class="_tkStr_1klyn_166">' PM' : class="_tkStr_1klyn_166">' AM');
}
 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// to12Hr(class="_tkNum_1klyn_175">6.5) => class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">6:class="_tkNum_1klyn_175">30 AM"
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// to12Hr(class="_tkNum_1klyn_175">13.19) => class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">1:class="_tkNum_1klyn_175">11 PM"
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// to12Hr(class="_tkNum_1klyn_175">13.19, class="_tkNum_1klyn_175">15) => class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">1:class="_tkNum_1klyn_175">15 PM" (rounds to class="_tkNum_1klyn_175">15 mins)

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Useful for jQuery sliders and things.
3
2
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// A bookmarklet to add search ability to any github.com repo.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Note: Disable Chrome Frame in IE to use this bookmarklet as github.com supports Chrome Frame
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// @author John-David Dalton (http://www.twitter.com/jdalton)
javascript:void(function(){var a=class="_tkStr_1klyn_166">'';if(!$(class="_tkStr_1klyn_166">'.subnav-bar').length){a=$(class="_tkStr_1klyn_166">'form#search-form input[name=q]').val();$(class="_tkStr_1klyn_166">'.big-search').remove();$(class="_tkStr_1klyn_166">'.tabs').after(class="_tkStr_1klyn_166">'<div class="subnav-bar"></div>')}else{$(class="_tkStr_1klyn_166">'#repo-search-form').remove()}$(class="_tkStr_1klyn_166">'.subnav-bar').append(class="_tkStr_1klyn_166">'<ul style="float:right;margin-left:10px;"><li><a class="dropdown" href="#">Search by&hellip;</a><ul><li><a href="#" onclick="$(\'#choice\').val(\'code\');return false;">Code</a></li><li><a href="#" onclick="$(\'#choice\').val(\'grep\');return false;">Commit Messages</a></li><li><a href="#" onclick="$(\'#choice\').val(\'author\');return false;">Author</a></li><li><a href="#" onclick="$(\'#choice\').val(\'committer\');return false;">Committer</a></li></ul></li></ul><form id="repo-search-form" action="'+$('.pagehead.repohead h1 
2
A
provide_html5.html0
<!DOCTYPE html>
<html class=class="_tkStr_1klyn_166">"no-js">
<head>
<script src=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//ajax.googleapis.com/ajax/libs/jquery/class="_tkNum_1klyn_175">1.3.class="_tkNum_1klyn_175">2/jquery.min.js"></script>
<link rel=class="_tkStr_1klyn_166">"stylesheet" href=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//ajax.googleapis.com/ajax/libs/jqueryui/class="_tkNum_1klyn_175">1.7.class="_tkNum_1klyn_175">2/themes/base/jquery-ui.css" type=class="_tkStr_1klyn_166">"text/css" />
<link rel=class="_tkStr_1klyn_166">"stylesheet" href=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//www.eyecon.ro/colorpicker/css/colorpicker.css" type=class="_tkStr_1klyn_166">"text/css" />



<script src=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//ajax.googleapis.com/ajax/libs/jqueryui/class="_tkNum_1klyn_175">1.7.class="_tkNum_1klyn_175">2/jquery-ui.min.js"></script>
<script src=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//www.eyecon.ro/colorpicker/js/colorpicker.js"></script>
<script src=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170class="_tkStr_1klyn_166">">//files.farukat.es/js/modernizr-class="_tkNum_1klyn_175">1.1.js"></script>
A
K
jquery.activate.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// Replicates .activate() from the Prototype JS library.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://www.prototypejs.org/api/form/element/activate
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//
jQuery.fn.activate = function() {
	
	if (class="_tkStr_1klyn_166">'focus' in this) this.focus();
	
	if (class="_tkStr_1klyn_166">'select' in this && (this.tagName != class="_tkStr_1klyn_166">'INPUT' || !(/^(?:button|reset|submit)$/i.test(this.type)))) {
			this.select();
	
	return this;
K
Q
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// The CSS property backgroundPosition does not exist in the accessible DOM properties within IE class="_tkNum_1klyn_175">8. 
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// this css() method duck punch retifies that issue
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// see also: http://paulirish.com/class="_tkNum_1klyn_175">2010/duck-punching-with-jquery/

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// usage: $(elem).css(class="_tkStr_1klyn_166">'backgroundPosition');
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// ticket: http://dev.jquery.com/ticket/class="_tkNum_1klyn_175">5749

(function($){  
    
    var _css = $.fn.css; 
  
    $.fn.css = function(name,val){
Q
J
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://jquery14.com/day-class="_tkNum_1klyn_175">010/jquery-class="_tkNum_1klyn_175">1-class="_tkNum_1klyn_175">4-hawtness-class="_tkNum_1klyn_175">4-with-paul-irish


/*d8b  .d88888b.                                         d888          d8888  
  Y8P d88Pclass="_tkStr_1klyn_166">" "Y88b                                       d8888         d8P888  
      class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888                                         class="_tkNum_1klyn_175">888        d8P class="_tkNum_1klyn_175">888  
 class="_tkNum_1klyn_175">8888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888  .d88b.  888d888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888       d8P  class="_tkNum_1klyn_175">888  
 class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888 d8P  Y8b 888P"   class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888      d88   class="_tkNum_1klyn_175">888  
  class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888 Y8b class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">88888888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">8888888888 
  class="_tkNum_1klyn_175">888 Y88b.Y8b88P Y88b class="_tkNum_1klyn_175">888 Y8b.     class="_tkNum_1klyn_175">888     Y88b class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888   d8b      class="_tkNum_1klyn_175">888  
  class="_tkNum_1klyn_175">888  class="_tkStr_1klyn_166">"Y888888"   class="_tkStr_1klyn_166">"Y88888  "Y8888  class="_tkNum_1klyn_175">888      "Y88888    class="_tkNum_1klyn_175">8888888 Y8P      class="_tkNum_1klyn_175">888  
  class="_tkNum_1klyn_175">888        Y8b                                 class="_tkNum_1klyn_175">888                          
J
10
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://jquery14.com/day-class="_tkNum_1klyn_175">12/jquery-class="_tkNum_1klyn_175">1-class="_tkNum_1klyn_175">4-hawtness-class="_tkNum_1klyn_175">5-with-paul-irish


/*d8b  .d88888b.                                         d888          d8888  
  Y8P d88Pclass="_tkStr_1klyn_166">" "Y88b                                       d8888         d8P888  
      class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888                                         class="_tkNum_1klyn_175">888        d8P class="_tkNum_1klyn_175">888  
 class="_tkNum_1klyn_175">8888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888  .d88b.  888d888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888       d8P  class="_tkNum_1klyn_175">888  
 class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888 d8P  Y8b 888P"   class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888      d88   class="_tkNum_1klyn_175">888  
  class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888 Y8b class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">88888888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">8888888888 
  class="_tkNum_1klyn_175">888 Y88b.Y8b88P Y88b class="_tkNum_1klyn_175">888 Y8b.     class="_tkNum_1klyn_175">888     Y88b class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888   d8b      class="_tkNum_1klyn_175">888  
  class="_tkNum_1klyn_175">888  class="_tkStr_1klyn_166">"Y888888"   class="_tkStr_1klyn_166">"Y88888  "Y8888  class="_tkNum_1klyn_175">888      "Y88888    class="_tkNum_1klyn_175">8888888 Y8P      class="_tkNum_1klyn_175">888  
  class="_tkNum_1klyn_175">888        Y8b                                 class="_tkNum_1klyn_175">888                          
10
9
gistfile1.js0

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://jquery14.com/day-class="_tkNum_1klyn_175">13/jquery-class="_tkNum_1klyn_175">1-class="_tkNum_1klyn_175">4-hawtness-class="_tkNum_1klyn_175">6-with-paul-irish




/*d8b  .d88888b.                                         d888          d8888  
  Y8P d88Pclass="_tkStr_1klyn_166">" "Y88b                                       d8888         d8P888  
      class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888                                         class="_tkNum_1klyn_175">888        d8P class="_tkNum_1klyn_175">888  
 class="_tkNum_1klyn_175">8888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888  .d88b.  888d888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888       d8P  class="_tkNum_1klyn_175">888  
 class="_tkStr_1klyn_166">"class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888 d8P  Y8b 888P"   class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888      d88   class="_tkNum_1klyn_175">888  
  class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888 Y8b class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888 class="_tkNum_1klyn_175">88888888 class="_tkNum_1klyn_175">888     class="_tkNum_1klyn_175">888  class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">888      class="_tkNum_1klyn_175">8888888888 
9
8
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// original (http://html5shiv.googlecode.com/svn/trunk/html5.js)

(function(){if(!class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/*@cc_on!@*/class="_tkNum_1klyn_175">0)return;var e = class="_tkStr_1klyn_166">"abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,summary,time,video".split(class="_tkStr_1klyn_166">','),i=e.length;while(i--){document.createElement(e[i])}})()

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// kangax version (class="_tkNum_1klyn_175">29 characters less, yay!)

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/*@cc_on(function(e,i){i=e.length;while(i--)document.createElement(e[i])})(class="_tkStr_1klyn_166">"abbr,article,aside,audio,canvas,datalist,details,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(class="_tkStr_1klyn_166">','))@*/

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// jdalton version (was class="_tkNum_1klyn_175">5, now class="_tkNum_1klyn_175">41 characters less than kangax, yay!)

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/*@cc_onclass="_tkStr_1klyn_166">'abbr,article,aside,audio,canvas,datalist,details,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video'.replace(/\w+/g,document.createElement)@*/
8
7
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// uniqueifying strings
arr = class="_tkStr_1klyn_166">'group1,group2,group1,group4'.split(class="_tkStr_1klyn_166">',');  
$.map(arr, function(v,i){  return $.inArray(v,arr)!=i ? null : v });

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// w regex
 class="_tkStr_1klyn_166">'group1,group2,group1,group4'.replace(/((^|,)([^,]+).*),\class="_tkNum_1klyn_175">3(?=,|$)/g, class="_tkStr_1klyn_166">'$class="_tkNum_1klyn_175">1')

/by temp01
7
6
getTwitterHistory.py0

archive all your tweets to xml or json


class="_tkStr_1klyn_166">'''
getTwitterHistory. 
 mostly written by Simon Willison (ithink?) and fucked with by paul irish

class="_tkNum_1klyn_175">1. set the credentials correctly below 
class="_tkNum_1klyn_175">2. run: python gethistory.py
class="_tkStr_1klyn_166">'''

import urllib2
username = class="_tkStr_1klyn_166">'paul_irish'
password = class="_tkStr_1klyn_166">'i<3IE'
6
5
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// fixing The Mysterious Firefox setTimeout class="_tkStr_1klyn_166">"Lateness" argument™
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// by paul irish

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// detail: http://benalman.com/news/class="_tkNum_1klyn_175">2009/class="_tkNum_1klyn_175">07/the-mysterious-firefox-settime/


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// class="_tkStr_1klyn_166">"feature" test
void setTimeout(function(){
  if (arguments.length==class="_tkNum_1klyn_175">1){  class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// bad mozilla!, bad!
    
    class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// now, we fix
    (function(){ 
5
4
gistfile1.js0

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// here's a rewrite of the amelie.js to avoid global variables and eval via setTimeout(string..
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://icant.co.uk/ie6-amelie/

if (document.all && !window.XMLHttpRequest){(function(){
    var x = class="_tkNum_1klyn_175">1,
        when = class="_tkNum_1klyn_175">0,
        str, dir, fil;

    function amelie() {
            if (x == class="_tkNum_1klyn_175">2) {
                x = class="_tkNum_1klyn_175">0;
4
3
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// modernizr plugin for touch detection
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// mostly by jdalton.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// The catch is that Modernizr.touch cannot be checked before the first mousedown/click/touch of the user


class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// lazily add listeners
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://dl.dropbox.com/u/class="_tkNum_1klyn_175">513327/touch_event/test2.html
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// http://www.quirksmode.org/blog/archives/class="_tkNum_1klyn_175">2010/class="_tkNum_1klyn_175">02/do_we_need_touc.html#link4
(function() {
  var hasTouchEvents = false;
  
3
2
gistfile1.js0

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// quick test for box-shadow support of inset and spread radius
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// and datauri test

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// boxshadow test needs other prefixes added.

var docElem = document.documentElement;

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// if WebkitBoxShadow is supported at all then:
if (docElem.style.WebkitBoxShadow !== undefined) { class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">/* basic support */ }

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// first, clear any previous style
2
A
gistfile1.js0
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// feature test for position fixed.

Modernizr.addTest(class="_tkStr_1klyn_166">'positionfixed', function () {
    var test    = document.createElement(class="_tkStr_1klyn_166">'div'),
        control = test.cloneNode(false),
        fake = false,
        root = document.body || (function () {
            fake = true;
            return document.documentElement.appendChild(document.createElement(class="_tkStr_1klyn_166">'body'));
        }());

    var oldCssText = root.style.cssText;
A
K
app.yaml0
# boilerplate server config for app engine
# from darktable aka Calvin Rein
# http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//forrst.com/posts/Host_a_Static_HTML_Site_on_Google_App_Engine-BlA

# this is going here: https:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//github.com/paulirish/html5-boilerplate-server-configs/

application: your-app-name-here
version: class="_tkNum_1klyn_175">1 
runtime: python
api_version: class="_tkNum_1klyn_175">1

default_expiration: class="_tkStr_1klyn_166">"30d"
K
Q
standards.md0

jQuery Standards Team

#Announcing The jQuery Standards Team

Today we're happy to announce the creation of a new jQuery sub-team called the jQuery Standards Team to give web developers to have a voice in the standards process.

##Introduction

We all know that web standards are important. They help ensure the code we write works across different technologies, for people of different abilities and most importantly across all browsers. 

That said, how often do we all feel our voices, suggestions and ideas are heard by those groups responsible for defining these standards? The reality is that whilst many of us would like to see change, due to time restrictions and lengthy formal processes we're unable to participate in standards discussions, get involved with writing specifications and contribute to meetings about the future of features. This makes it difficult for web developers to have a voice.

<figure style=class="_tkStr_1klyn_166">"width: 280px; display:block;">
	<img src=class="_tkStr_1klyn_166">"http:class="_tkCom_1klyn_170">//gravatar.com/avatar/428167a3ec72235ba971162924492
Q
J
gistfile1.md0

interview with Joel Wan and Phil from Critical Mass about Nissan Leaf site

## [http:class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">//www.nissanusa.com/leaf-electric-car/](http://www.nissanusa.com/leaf-electric-car/)

> On Fri, Apr class="_tkNum_1klyn_175">23, class="_tkNum_1klyn_175">2010 at class="_tkNum_1klyn_175">9:class="_tkNum_1klyn_175">52 AM, Paul Irish  wrote:

> Hey Joel,

> Congrats man this is huge. I was talking to Scott Schiller (at flickr), previously at CM, and we were both quite impressed... I wanted to ask you some questions about the site and how you got to here... 

> I assume there was resistance when you guys said you would do this without flash. Who gave you the most resistance (client? sales? designers?) and how did you deal with that?


Joel: Well, we didn't go into the project planning to choose HTML/SVG/jQuery over Flash at any cost. When we first received the art direction from the designers, it just looked like we could achieve it with minimal use of flash. We still use Flash for the intro video and movies. (again IE6 requirement) The designers were also willing to meet us in the middle and dial down the shapes complexity in order for us not to have to deal with animating com
J
10
modernizr.browserprompt.js0

modernizr plugin for api.html5please.com

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">// omg we moved!!

10
9
gistfile1.md0

draft post on a11y

A while ago I read Karl Grove’s  [Barriers to improving the
accessibility game plan][]. Probably the best post on a11y I’ve ever
read. I **really** liked his approach in evolving the a11y strategy and
left my thoughts. Reposted here, with some edits, for fun.

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">* * * * *

As a developer, the people who are most helpful are the ones explaining
what the actual affects are of making sites more accessible… Most people
I know that saw [Yahoo’s Victor Tsaran use a screenreader on video][]
just dropped their jaws instantly (no pun intended). People like Jason
Kiss and Steve Faulkner who detail the behavior and support in browsers
9
8
keybase.md0
### Keybase proof

I hereby claim:

class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">  * I am paulirish on github.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">  * I am paulirish (https://keybase.io/paulirish) on keybase.
class=class="_tkStr_1klyn_166">"_tkCom_1klyn_170">  * I have a public key whose fingerprint is 41BE F531 2AD3 FC63 D87B  class="_tkNum_1klyn_175">9598 49E4 5F08 1ABE E562

To claim this, I am signing this object:

class="_tkStr_1klyn_166">```json
{
8
7
index.html0

Dynamic source map test

<html>
  <head>
    <script src=class="_tkStr_1klyn_166">"modifyme.js"></script>
  </head>
  <body>
    <h1>Testing source map reloading.</h1>
    <h3>Open Dev Tools and look in the console.</h3>
    <p>Execute the <code>test_sm()</code> function and follow the source links.</p>
  </body>
</html>
7
6
npm3 install performance0
I have long wanted to understand what was happening during an class="_tkStr_1klyn_166">`npm install`

I finally now have some data on that.

…
6