Skip to content

Instantly share code, notes, and snippets.

@cowboy
cowboy / jquery.ba-param-sort.js
Created August 19, 2010 21:07
jQuery param sort (for BBQ)
/*!
* jQuery param sort - v0.1 - 8/20/2010
* http://benalman.com/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
// Return a sorted params string, suitable for use as a key or fragment.
@cowboy
cowboy / very-small-ie-detect.js
Created August 21, 2010 13:26 — forked from padolsey/gist:527683
Very small IE detect (aka type coersion ftw)
// ----------------------------------------------------------
// 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 6) then:
// ie === 0
// If you're in IE (>=6) then you can determine which version:
// ie === 7; // IE7
// Thus, to detect IE:
// if (ie) {}
@cowboy
cowboy / ba-issemver.js
Created September 5, 2010 18:37
isSemVer - semantic version comparison for JavaScript
/*!
* isSemVer - v0.1 - 9/05/2010
* http://benalman.com/
* http://semver.org/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
@cowboy
cowboy / ba-postMessage-detect.js
Created September 15, 2010 16:50
postMessage detector
/*!
* postMessage detector - v0.1pre - 9/15/2010
* http://benalman.com/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
// If `window.postMessage.complex` is true, postMessage can pass complex non-string
@cowboy
cowboy / newtwitter-hashchange.js
Created September 16, 2010 00:07
How does IE6/7 "back button" support work?
// From http://a5.twimg.com/a/1284588078/javascripts/phoenix.bundle.js
(function (B) {
var A = (function () {
var E = {
select: "input",
change: "input",
submit: "form",
reset: "form",
error: "img",
@cowboy
cowboy / is-this-partial-application.js
Created September 16, 2010 20:26
Is this partial application? Currying? Something else? Vindaloo maybe?
// See my blog post:
// http://benalman.com/news/2010/09/partial-application-in-javascript/
// In the following code sample, invoking the curried function will always
// return a function until all arguments are satisfied, at which point the
// original function is invoked, returning its result. This means that all
// function arguments are required, which also allows the function to be
// called either like foo( 1, 2, 3 ) or foo( 1 )( 2 )( 3 ). This also means
// that if any argument is omitted, the original function is never invoked.
@cowboy
cowboy / firefox_multifix.sh
Created September 20, 2010 16:47
Firefox Multifix
#!/bin/bash
# Firefox Multifix
#
# Run this bash script from within the folder that contains your Firefox apps,
# and every Firefox app in the current folder will be modified to automatically
# launch using a version-named profile. For example, "Firefox 2.0.app" will use
# the "Firefox 2.0" profile, etc.
#
# Usage:
@cowboy
cowboy / textmate_grammar-html_syntaxhighlighter_pre_brush
Created October 7, 2010 17:55
TextMate + Zen Coding + SyntaxHighlighter + this = yay
{ name = 'source.css.embedded.html.syntaxhighlighter';
begin = '(?:^\s+)?(<)((?i:pre))\b(?=[^>]*class=([''"])[^>]*?\bbrush\s*:\s*css\b[^>]*?\3)(?![^>]*/>)';
end = '(?<=</(pre|PRE))(>)(?:\s*\n)?';
beginCaptures = {
1 = { name = 'punctuation.definition.tag.html'; };
2 = { name = 'entity.name.tag.style.html'; };
};
endCaptures = { 2 = { name = 'punctuation.definition.tag.html'; }; };
patterns = (
{ include = '#tag-stuff'; },
@cowboy
cowboy / github_post_recieve.php
Created October 11, 2010 02:04
GitHub PHP webhook to auto-pull on repo push
<?php
// Use in the "Post-Receive URLs" section of your GitHub repo.
if ( $_POST['payload'] ) {
shell_exec( 'cd /srv/www/git-repo/ && git reset --hard HEAD && git pull' );
}
?>hi
@cowboy
cowboy / webkit_inspector_font_size.sh
Created October 13, 2010 12:55
Increase WebKit Inspector's font size (probably will need to re-run after updates)
#!/bin/bash
sudo find '/Applications/Google Chrome.app' \
\( -name inspector.css -or -name devTools.css \) \
-exec sh -c 'cat >> $1 <<WAT
/* Added on `date` */
#drawer .monospace,
#drawer .source-code {
font-size: 18px !important;