Recent News

|

I’m playing a sick double bill this Friday night, laying down the bass with not one, but two amazing funk bands. I’ll be playing with both Big Ben Hillman and The Nephrok! Allstars, and we’ll be hooking up an entire evening of the most killin’, super funky grooves you’ve ever heard.

On top of that, both groups are going to do a set together at the end of the night, at which point a gigantic intergalactic supernova funk-splosion will be created, so be sure to rock the protective eyewear. You definitely won’t want to miss this.

The gig is at Johnny D’s in Somerville, MA on Friday, September 3 at 9:30pm. The show is 21+, the cover is only $10, and it’s going to be EXTREMELY FUNKY, so you’d better show up. This goes double if you haven’t seen me play before, in that case you need to either show up twice (probably physically impossible), or bring someone else (definitely possible, recommended).

If you want more information, you can RSVP at the Facebook event page, so check that out.. and I’ll see you there!


|

Recently, word came through the twitter-nets that JS1k, a 1 kilobyte JavaScript competition, was accepting entries. Now, I haven’t done anything “fancy” in a while, but I used to do that kind of stuff all the time (you know, before I was married).

So I asked myself, “Ben, can you do something extra fancy in exactly 1024 bytes of JavaScript?”


|

While I generally try to avoid Firefox these days (using Chrome instead), I still like to test my code in multiple versions of all the major browsers to ensure that behavior is generally consistent. For a while, I was using MultiFirefox, which is a great utility, but I found using it to be far less streamlined than I would like.

Fortunately, I stumbled upon an article this weekend that explained how to launch Firefox with an arbitrary profile via command-line parameter (which is probably what MultiFirefox does internally). Unfortunately, because OS X aliases don’t work like Windows shortcuts, it’s a bit cumbersome to have to open the Terminal and type a command every time you want to launch Firefox… so I wrote a relatively simple AppleScript that greatly streamlines the process.

Basically, once configured, you never again have to choose which profile goes with which version of Firefox. Just run the launcher and it handles everything! If you’re curious, check out the instructions for Multi-Firefox Launcher now, and let me know what you think.


|

I’ve just released jQuery hashchange event v1.3, which fixes all outstanding issues, most notably bringing document.title and document.domain support to IE6/7. In addition, the plugin has been unit tested with jQuery 1.2.6, 1.3.2, 1.4.1 and 1.4.2 in Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5, Opera 9.6-10.60, iPhone 3.1, Android 1.6-2.2 and BlackBerry 4.6-5, so you should find that it’s extremely reliable.

Here’s a full list of the changes in the latest version:

  • Reorganized IE6/7 Iframe code to make it more “removable” for mobile-only development.
  • Added IE6/7 document.title support.
  • Added BlackBerry support (4.6+)
  • Attempted to make Iframe as hidden as possible by using techniques suggested by the paciello group.
  • Added support for the “shortcut” format $(window).hashchange( fn ) and $(window).hashchange() like jQuery provides for built-in events.
  • Renamed jQuery.hashchangeDelay to jQuery.fn.hashchange.delay and lowered its default value to 50.
  • Added jQuery.fn.hashchange.domain and jQuery.fn.hashchange.src properties plus document-domain.html file to address access denied issues when setting document.domain in IE6/7.

As always, jQuery BBQ will be updated soon to incorporate these changes, but if you want them right now, you can just grab the hashchange event source and integrate it yourself, which is easy to do if you just look at the BBQ source.

Either way, check out jQuery hashchange event now and let me know what you think! Also, if you can, please show your appreciation for my hard work with a donation. Thanks!


|

If anyone is interested in trying out the latest version of the jQuery hashchange event plugin, I’d love to hear any feedback or bug reports.

New in this version are document.domain and document.title support for IE6/7, some Blackberry fixes, and an IE6/7-specific code reorganization which makes it easier for mobile-only developers to strip out that stuff (since they don’t need it).

Either way, jQuery hashchange event 1.3pre is available at the GitHub project page right now, and the only thing I’m waiting on before releasing it at this point is a bit more testing. Once it’s done, I’ll release it as 1.3 and integrate it into a new version of jQuery BBQ.


|

JavaScript debug has been updated to v0.4, adding a few missing passthrough console methods: exception, groupCollapsed and table. Thanks to Riccardo De Agostini for the patch!

If you’ve never used it before, this JavaScript plugin provides a simple wrapper for the console’s logging methods, and was created to allow a very lightweight, easy-to-use, cross-browser logging solution that doesn’t require excessive or unwieldy object detection. In addition, there’s a convenient bookmarklet which adds Firebug lite compatibility.

Find out more information on the project page, and give it a try!


|

jQuery queueFn is a very small plugin that allows you to queue any jQuery method or arbitrary function to execute, in order, in the animation queue.

This is especially useful for when you want to add a class to an element while animating or remove an element after fading out. Of course, this plugin can be used to queue pretty much anything along with animations, so have fun!

Check jQuery queueFn out now, and if you have any comments or suggestions, let me know, thanks!


|

Next Wednesday, June 2, I’ll be talking jQuery plugin development at Boston jQuery Meetup #4, in the awesome Bocoup Loft event space.

I’m going to talk about code organization and best practices as it relates to creating modular, reusable code, aka “plugins.” I’ll focus on code maintainability, organization and generalization, and touch on performance and size optimization, in the context of jQuery plugin development. And as if that weren’t enough, I’ll even step through the creation of a jQuery plugin, taking it from concept to completion, before your very eyes.

So, if you use jQuery, or even just JavaScript, and want some free pizza and beer, along with ninety minutes of examples, explanations and Q&A, sign up now, and I’ll see you next week!


|

Even though I initially released jQuery BBQ in late 2009, the plugin has actually been many years in the making. While it started out as a little snippet of code that almost every web developer, at one point or another, has written, over time it evolved into something much larger.. and much tastier.

In this article, I’ll not only explain how jQuery BBQ came to be, but I’ll also give you some things to think about, in case you’re considering writing a jQuery plugin.


|

I recently attended JSConf X, which as you can see from the schedule was so full of JavaScript badassery that the mind can barely comprehend the level of utter awesomeness therein.

One of the best parts was that I finally got to meet a lot of very cool developers, some of whom you can see in my JSConf X photos. Of course, I spent more time talking to people than taking photos, so while there are a whole slew of Adam Sontag dancing photos, you won’t find a “who’s who of JavaScript” this time around. Maybe next year! (Who am I kidding?) Oh, I nearly forgot.. I also got to watch Rey Bango h4x0r Pete Higgins’ iPad. It was pretty hilarious, and I’m sure Rey is still patting himself on the back.


|

Alright everybody, I’m playing next Friday night at Lizard Lounge in Cambridge, so you’ve got to come down and check it out!

I’ll be playing with Big Ben Hillman and The Royal Family, but Jen Kearney and The Lost Onion will also be doing their thing too, so don’t miss it. It’s going to be funky!

And if you need some sound samples, check out these tracks from the last gig I did with Big Ben Hillman.

Next Friday, April 23 at Lizard Lounge in Cambridge. Put it in your calendar!


|

The jQuery special events API is a fairly flexible system by which you can specify bind and unbind hooks as well as default actions for custom events. In using this API, you can create custom events that do more than just execute bound event handlers when triggered—these “special” events can modify the event object passed to event handlers, trigger other entirely different events, or execute complex setup and teardown code when event handlers are bound to or unbound from elements.


|

I just fixed a minor bug in jQuery equalizeBottoms where internal padding and border would adversely affect proper bottom-equalization, and released an update.

In case you don’t know, jQuery equalizeBottoms allows you to “equalize” the bottoms of multiple elements, making columns heights even, even when CSS refuses to help.

So if you haven’t done so already, check out the plugin now, and let me know what you think!


|

Recently, Robyn and I have had the good fortune to see some truly awesome music performances.

Most recently, we saw Toots Thielemans with Kenny Werner and Oscar Castro-Neves at Scullers. This show was amazing, the trio played flawlessly.. and it was just fantastic to see not only eighty-seven year old Toots (who actually called himself a “black motherf***er from Belgium” on stage), but also Kenny and Oscar, who maintained an amazing rhythmic and harmonic counterpoint throughout the show (punctuated by amazing solos).

Before that, we got to see Buster Williams with Patrice Rushen, E.J. Strickland and Mark Gross at Scullers. Not only was it an awesome show, but I actually got to meet Patrice Rushen (!!!) which was a total thrill, since I’ve been a huge fan of hers for quite some time. Ever since I heard Men in Black her first two albums, Prelusion and Before the Dawn (and of course, the amazing Straight from the Heart), I’ve been totally hooked.

And last month, we had a damn good time seeing Los Amigos Invisibles again, back at the Paradise. We never miss them when they come around, and it was yet another great show, lots of groovy, sexy Venezuelan dance-funk, which is awesome if you like music that kicks serious ass.

I know we have tickets to see Bobby McFerrin and Roy Haynes within the next month, so hopefully I’ll be able to take (and then actually post) photos to at least one of those shows!


|

With jQuery outside events you can bind to an event that will be triggered only when a specific “originating” event occurs outside the element in question. For example, you can click outside, double-click outside, mouse-over outside, focus outside (and over ten more default “outside” events). Also, if an outside event hasn’t been provided by default, you can easily define your own.

Note that this was previously known as the “jQuery clickoutside” plugin.. but, hey—it’s pretty amazing what a an awesome idea and few more lines of code can do!

Visit the project page now for the complete list of “outside” events, documentation and working examples!

More Recent News