All Projects
As a long-time player of PC FPS (First Person Shooter) games, I got really excited when Battlefield 3 was announced. I’ve played most of the Battlefield games since the original (Battlefield 1942) and I couldn’t wait to get my hands on the latest game in the series.
I’m not going to spend any time talking about the game, other than that it’s amazing. It’s not perfect, but games seldom are the week they’re released. Either way, I love it.
The thing is, EA did something a little different this time around. Instead of attempting to create an entire social experience in-game—Remember Tribes 2? Ouch—they contracted ESN to create a web-based server brower / social network called Battlelog.
While Battlelog is a fantastic idea, it has a few issues. I can’t address the fact that ESN has included jQuery 1.4.2, jQuery 1.4.4 and YUI 2.5.2 in their concatenated scripts. Nobody can fix that but them. Note: shame on them.
What I can do (and have done) is attempt to address some of the minor annoying issues surrounding refreshing and joining servers.
I’m a hard-core bookmarklet junkie. I love adding non-standard functionality to my browsers, so I’ve created a few bookmarklets, which are posted here. I’ve also created a jQuery bookmarklet generator, which you can use to create your own bookmarklets, should they require jQuery.
This AppleScript allows you to very easy copy the path of any open Finder window to the clipboard. Also, in any application’s Open or Save dialog, you can open a “Go to the folder” dialog into which a folder path can be entered. Coincidence?! Instead of typing in that path manually, just run this AppleScript to choose from the paths of all the open Finder windows!
This code provides a simple wrapper for the console's logging methods, and was created to allow a very easy-to-use, cross-browser logging solution, without requiring excessive or unwieldy object detection. If a console object is not detected, all logged messages will be stored internally until a logging callback is added. If a console object is detected, but doesn't have any of the debug, info, warn, and error logging methods, log will be used in their place. For convenience, some of the less common console methods will be passed through to the console object if they are detected, otherwise they will simply fail gracefully.
JavaScript Emotify helps make the web a better place, one tiny image at a time… (the original title was “this is what it sounds like when HTML cries” but Prince’s lawyers sent me a C&D citing, get this, “bad taste”). Seriously though, this code turns text into “emotified” HTML. You know, like, with smileys.
Why go through the tedium of creating both a closure AND a .noConflict method when all you want to do is create your own JavaScript Library? With JavaScript Library Boilerplate, you can hit the ground running and create your own JavaScript Library in no time!
Note: Includes sample blazingly-fast 0.3kb QSA css selector library with full unit test suite, to help you get started!
This project is a work in progress!
Project details coming soon, for now check out the GitHub page!
jQuery BBQ leverages the HTML5 hashchange event to allow simple, yet powerful bookmarkable #hash history. In addition, jQuery BBQ provides a full .deparam() method, along with both hash state management, and fragment / query string parse and merge utility methods.
This plugin and the jQuery urlInternal plugin supersede the URL Utils plugin.
This would probably actually be better called “Run some arbitrary code that requires jQuery, loading a minimum required version of jQuery first (but only if necessary), affecting the host page as little as possible Bookmarklet Generator” but that wasn’t nearly as catchy as “jQuery Bookmarklet Generator” so I’m going to stick with that.
This boilerplate code is useful for bookmarklets that need jQuery to execute their payload, in situations where you don’t know if jQuery or a specific minimum required version of jQuery will already exist in the page. If you just want to load jQuery itself into a page, check out the Learning jQuery “jQuerify” bookmarklet.
Like my iff plugin, this small jQuery plugin gives you the ability to perform conditional logic without breaking the chain, but in addition to if, allows for any number of else if tests and callbacks, as well as a final else callback.
jQuery doTimeout takes the work out of delayed code execution, including interval and timeout management, polling loops and debouncing. In addition, it’s fully jQuery chainable!
With jQuery equalizeBottoms you can “equalize” the bottoms of multiple elements, making columns heights even, even when CSS refuses to help.
Great news! This plugin won day eight of Media Temple’s 14 Days of jQuery contest. How it beat jQuery Star Wipe, I’ll never know.. but if you’re dying to see what the hype is all about, read on! (note: hype not actual)