Skip to content

Instantly share code, notes, and snippets.

@kflorence
kflorence / exec.js
Created May 15, 2012 18:00
Call a function only if it is defined
var exec = (function(global) {
return function(name, args, context) {
var func = (context = context || global)[name];
return (typeof func != 'undefined') && func.apply(context, args);
};
})(this);
// Use like:
var timesTwo = function(x) {
return x * 2;
.clearfix {
height: 1%; /* trigger hasLayout for IE < 8 */
}
.clearfix:before, .clearfix:after {
content: " ";
display: block;
height: 0;
visibility: hidden;
}
@kflorence
kflorence / arrow.scss
Created April 2, 2012 23:28
@mixin arrow($color, $width)
/*
HTML: <img class="arrow" src="<?= $wg->BlankImgUrl ?>" />
SASS: .arrow { @include arrow(); }
*/
@mixin arrow($width: 4px, $color: black, $direction: 'down') {
border-color: transparent;
// Fixes the 'jagged line' problem for modern browsers
// See: http://css-tricks.com/snippets/css/css-triangle/#comment-108252
border-color: rgba($color, 0);
@kflorence
kflorence / border-opacity.scss
Created January 18, 2012 22:47
SASS Border Opacity Mixin
// Opacity should be on a 100 point scale (0-100 instead of 0.0-1.0)
// This should be used to supplement a normal border definition as it
// only deals with the 'border-color' property.
@mixin border-opacity($color, $opacity) {
$opacity: $opacity / 100;
// Unsupporting browsers get this
border-color: $color;
// Browsers that support RGBA will get this instead
@kflorence
kflorence / parseUri.js
Created August 24, 2011 23:16
Modified version of Steven Levithan's parseUri 1.2.2
// Modified version of Steven Levithan's parseUri 1.2.2
// See: http://blog.stevenlevithan.com/archives/parseuri
function parseUri( uri ) {
var uriRegex = new RegExp(
// Protocol
"^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?" +
// Authority
"(" +
// Credentials
"(?:(" +
@kflorence
kflorence / amazonmp3ubuntu64.sh
Created August 11, 2011 22:46
Amazon MP3 Ubuntu 10.04 64-bit Install
wget http://frozenfox.freehostia.com/cappy/getlibs-all.deb
sudo dpkg -i getlibs-all.deb
wget http://amazonm-002.vo.llnwd.net/u/d1/clients/en_US/1.0.9/amazonmp3_1.0.9~ibex_i386.deb
sudo getlibs -w http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-filesystem1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-regex1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-date-time1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-signals1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-iostreams1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-thread1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8.1-2ubuntu0.2_i386.deb
sudo dpkg -i --force-all amazonmp3.deb
sudo getlibs /usr/bin/amazonmp3
@kflorence
kflorence / isArguments.js
Created May 2, 2011 22:49 — forked from rkatic/isArguments.js
isArguments
var isArguments = (function( undefined ) {
var toString = Object.prototype.toString,
returnTrue = function() {
return arguments !== undefined;
};
return function( obj ) {
if ( obj != null ) {
if ( toString.call( obj ) == "[object Arguments]" ) {
return true;
@kflorence
kflorence / isArrayLike.js
Created April 29, 2011 00:24
isArrayLike
(function( jQuery ) {
// Determines if we can treat an object like an array.
var isArrayLike = function( obj ) {
var length;
// Supports arrays, jQuery objects, nodeLists and HTMLCollections
// Should also support function arguments, but there is no cross-browser way...
return obj && ( obj instanceof jQuery || ( typeof obj === "object" &&
!jQuery.isWindow( obj ) && ( typeof ( length = obj.length ) === "number" &&
( obj.item && ( obj.namedItem || jQuery.isFunction( obj.item ) ) ) ) || jQuery.isArray( obj ) ) );
@kflorence
kflorence / jquery-attached-detatched.js
Created April 28, 2011 19:14
Convenience methods to determine whether or not an element is attached or detached from the DOM
(function( jQuery ) {
jQuery.extend({
attached: function( elem ) {
if ( elem instanceof jQuery ) {
elem = elem[ 0 ];
}
return jQuery.contains( elem.ownerDocument.documentElement, elem );
},
detached: function( elem ) {
// ----------------------------------------------------------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
// ie === undefined
// If you're in IE (>=5) then you can determine which version:
// ie === 7; // IE7
// Thus, to detect IE:
// if (ie) {}