Javascript

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 […]

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 […]

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 […]

As I’ve been finishing features, I’ve just been updating what the new stuff is… but now that I have a working implementation of layers (though save isn’t yet linked to layers), I figure it’s time to stop and give an overall view of the ImageBooth Demo app and what it does. When you open it […]

So I was asked a few times if the splatter plot could support images, and I’d explain how you could extend the node class to do that, but my guess is people would find it useful if it did that out of the box. SVG’s Image rendering uses really poor pixel resampling algorithms, so scaled […]

I’ve done raster graphics editors in a number of environments and after the ImageBooth JS experiments went so well, I decided to do a little cleanup in Datalus to create a simple backend to turn the demo into something useful. The save component of this was actually a little difficult to sort out. In order […]

Recently I’ve been working on some prototypes at work, and we’ve been doing a lot of rapid iteration and one of the ideas called for a splatter plot which was assumed would be fixed, but I had an idea on handling placement purely by linear position, which would then map to some position on a […]

I’m used to a very easy to implement, callback oriented php SAX parser from working with PHP for so long, and I’ve found a number of instances where I found myself wanting that capability in javascript. In addition, I tend to favor Extending objects to callback passing, as you don’t end up messing with scope […]