I’ve often needed a multiselect interface for heirarchichal data, and the way I like to get my code on, I find myself wanting to overload a select multiple (even with it’s poor default behavior). I figured I can represent each node’s heirarchy in an attribute, so if the js fails to load, you are still […]

DOM Manipulation additions

So at times I find myself needing to do some simple neighbor selection and summing in the DOM and I don’t have the tools I need so I wind up doing tedious, repetitive logic in loops, so I built a few useful utility functions: Element.siblingsBefore() and Element.siblingsAfter() return a new Elements instance containing all the […]


Sometimes you’re in JS and you want to perform some task once something else returns (as is reasonable in an asynchronous world), but if you just fire off a bunch of intervals, you’ll eventually choke the browser. My solution is to add geometric timer falloff and a maximum timeout. this way the longer the task […]

String.entityEncode, String.entityDecode and String.regexEncode

So as I do all this nifty client side content generation I found the need for a clean entity encode/decode process. I was pretty shocked I couldn’t find anything to suit my needs so I built one. It builds it’s reverse lookup on load to minimize the total size, then generates the regex to encode/decode. […]


I haven’t really had the time to make a post lately, as my conspicuous absence indicates. I’ve got an awesome gig at StylePage which keeps me busy and a number of side projects which steal the fleeting moments I can spare. While I’m not ready to peel back the curtains on any of my big […]