A timeline of the last four years of detecting good old window.localStorage
.
October 2009: 5059daa
// http://paulirish.com/2011/requestanimationframe-for-smart-animating/ | |
// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating | |
// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel | |
// MIT license | |
(function() { | |
var lastTime = 0; | |
var vendors = ['ms', 'moz', 'webkit', 'o']; |
Basketball = (keanu, opts, duration) -> | |
return if not keanu | |
@keanu = keanu | |
@ctx = @keanu.ctx | |
@origin = opts.origin or [] | |
@originX = @origin[0] or 0 | |
@originY = @origin[1] or 0 | |
@originRadius = @origin[2] or 0 |
fs = require 'fs' | |
class SF2 | |
constructor: (file) -> | |
# Skeleton json response | |
@stats = { | |
"session": +new Date | |
"p1": { | |
"fighters": [], | |
"total": {} |
A timeline of the last four years of detecting good old window.localStorage
.
October 2009: 5059daa
/** | |
* Annotated Gruntfile. | |
* This builds a Backbone/Marionette application using Dust.js (Linkedin fork) as a | |
* templating system, as well as some helpers from Foundation, with Browserify. | |
* It also configures a watcher and static server with live reload. | |
*/ | |
module.exports = function (grunt) { | |
// This automatically loads grunt tasks from node_modules | |
require("load-grunt-tasks")(grunt); |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
const ALLOW_AUTO_PURCHASE = false | |
const CHECKOUT_URL = 'https://www.amazon.com/gp/buy/shipoptionselect/handlers/display.html?hasWorkingJavascript=1' | |
const { pathname } = location | |
const isShipOptionPage = /buy\/shipoptionselect/.test(pathname) | |
const isPaySelectPage = /buy\/payselect/.test(pathname) | |
const isPurchasePage = /buy\/spc/.test(pathname) | |
const isThankYouPage = /buy\/thankyou/.test(pathname) | |
let attemptNum = 1 |
Learning VIM in Xcode comes with its own set of challenges and limitations, but there is enough there for you to give your mousing hand a break and master the keyboard.
A limited set of commands are available in Xcode, and this document attempts help ease the learning curve of using VIM in Xcode by providing a handy reference as well as what I find works for me in practice.
NOTE:
Commands are case-sensitive. A command of N
means pressing shift + n
on the keyboard.
This document is a work in progress! Leave a comment if you would like to see a change.