Skip to content

Instantly share code, notes, and snippets.

@keeganbrown
keeganbrown / perlin-noise-classical.js
Created November 7, 2012 20:45 — forked from banksean/perlin-noise-classical.js
two Perlin noise generators in javascript. The simplex version is about 10% faster (in Chrome at least, haven't tried other browsers)
// Ported from Stefan Gustavson's java implementation
// http://staffwww.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf
// Read Stefan's excellent paper for details on how this code works.
//
// Sean McCullough banksean@gmail.com
/**
* You can pass in a random number generator object if you like.
* It is assumed to have a random() method.
*/
@keeganbrown
keeganbrown / gist:5099954
Created March 6, 2013 15:13
Cycle 2 Touch Swipe Detection, without iOS6 workaround
//TOUCH EVENTS
polyfillRequestAnimFrame(window);
var touchDragX = 0;
var lastTouchX = 0;
var sliderapi = null;
function onTouchStart (event) {
touchDragX = 0;
var touchPos = getTouchPos(event);
.roundcorners { position: relative; top: 0; left: 0; }
.oldIE .roundcorners { overflow: visible; }
.roundcornersInnerWrap { position: relative; top: 0; left: 0; }
.roundcorners .insideW { background-image:url("../images/corners/cornerWhiteInside.png"); }
.roundcorners .outsideW { background-image:url("../images/corners/cornerWhiteOutside.png"); }
.roundcorners .outsideWNoBdr { background-image:url("../images/corners/cornerWhiteOutsideNoBdr.png"); }
.roundcorners .outsideB { background-image:url("../images/corners/cornerBlackOutside.png"); }
.roundcorners .roundcorner { position: absolute; z-index: 1000; display: block; height: 10px; width:10px; }
.roundcorners .rcLeft.rcTop { left: 0; right: auto; top: 0; bottom: auto; background-position: left top; }
.roundcorners .rcRight.rcTop { left: auto; right: 0; top: 0; bottom: auto; background-position: right top; }
.roundcorners { position: relative; top: 0; left: 0; }
.oldIE .roundcorners { overflow: visible; }
.roundcornersInnerWrap { position: relative; top: 0; left: 0; }
.roundcorners .insideW { background-image:url("../images/corners/cornerWhiteInside.png"); }
.roundcorners .outsideW { background-image:url("../images/corners/cornerWhiteOutside.png"); }
.roundcorners .outsideWNoBdr { background-image:url("../images/corners/cornerWhiteOutsideNoBdr.png"); }
.roundcorners .outsideB { background-image:url("../images/corners/cornerBlackOutside.png"); }
.roundcorners .roundcorner { position: absolute; z-index: 1000; display: block; height: 10px; width:10px; }
.roundcorners .rcLeft.rcTop { left: 0; right: auto; top: 0; bottom: auto; background-position: left top; }
.roundcorners .rcRight.rcTop { left: auto; right: 0; top: 0; bottom: auto; background-position: right top; }
var s = document.createElement('script');
s.src = "http://code.jquery.com/jquery-latest.min.js";
document.body.appendChild(s);
.offerPricePoint .terms {
display: block;
padding: 0 0 5px 0;
clear: both;
position: relative;
top: 0;
left: 0;
z-index: 1000;
}
.offerPricePoint .terms a {
@keeganbrown
keeganbrown / ytgadget
Created May 28, 2013 19:30
youtube Process playlist feeds
private function processPlaylistFeeds($playlistListFeed) {
$playListArray = array();
foreach ($playlistListFeed as $playlistListEntry) {
$plid = $playlistListEntry->playlistId->text;
$playListArray[$plid] = array();
$playListArray[$plid]['title'] = htmlspecialchars( $playlistListEntry->title->text );
$playListArray[$plid]['id'] = $playlistListEntry->playlistId->text;
$playListArray[$plid]['description'] = htmlspecialchars( $playlistListEntry->getDescription() );
$playListArray[$plid]['url'] = $playlistListEntry->getPlaylistVideoFeedUrl();
@keeganbrown
keeganbrown / scrollcss.css
Created May 29, 2013 15:27
Mousemove pan
#scrollingWrapper{
position:absolute;
top:0;
left:0;
width: 100%;
}
#scrollingWrapper li {
height: 50px;
display:block;
line-height:50px;
@keeganbrown
keeganbrown / nerfConsole.js
Created May 30, 2013 14:34
nerfConsole.js
// PREVENT 'CONSOLE' ERRORS IN BROWSERS THAT LACK A CONSOLE.
function nerfConsole () {
if ( !(window.console && window.console.log) ) {
var noop = function() {};
var methods = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'markTimeline', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn'];
var length = methods.length;
var console = window.console = {};
while (length--) {
console[methods[length]] = noop;
}
@keeganbrown
keeganbrown / getQueryParamWithObj.js
Created June 12, 2013 15:09
getQueryParamWithObj.js
// GET QUERY STRING VALUE FROM OBJ BY KEY
function getQueryParam (key, obj) {
if ( !obj || !obj.search ) var obj = location;
var a = obj.search.slice(1).split("&"), GET = [];
for (var i in a) { GET[a[i].split("=")[0]] = a[i].split("=")[1]; }
return GET[key] || null;
}