When I start a project, I like to tackle the parts that are new to me first. Obviously, I enjoy the dopamine hit from exploring something unfamiliar, but also, I’ve found that this is a great way to catch “gotchas” early, rather than waiting until the end when work-arounds might require substancial changes to parts […]


Continue Reading


I’m structuring the project folder like this: /portfolio /deploy /css /img /icons /link.png /video.png /pic.png /js /framework /lib /jquery.js /background.png /index.html /contact /thumb.png /bio_contact.html /projects /project1 /thumb.png /video.html /description.html /project2 /thumb.png /video.html /description.html /src /project1 /video /notes If your information architecture is tight, you’ll likely see echoes of your file hierarchy in your data hierarchy […]


Continue Reading


Don Your Project Manager Hat A week with no updates?! … And things are about to get more busy, not less. Plus, upon reviewing the project plan, I noticed an omission: there’s no specific line item for the mask transition. It seemed so obvious, I neglected to capture it in the schedule. I’m adding 3 […]


Continue Reading


Jump to Part 1 here. Today, we’re going to define the data format for our portfolio. Back in 2005, XML was the last data format we were ever going to need, so that’s what I used. It must have been second-to-last, because today, everyone seems to prefer JSON. I’m more than happy to commiserate about […]


Continue Reading


Introduction I built a Flash-based portfolio back in 2005. It was itself a nice example of the kind of work that kept new projects coming: back-button & bookmarking support, raw content visible to Google & non-Flash browsers, Google Analytics tracking, easily updatable via an XML file, etc. All at a time when most people believed […]


Continue Reading


Just a little something I cooked up tonight after a few beers with Lee: ModelMediator = function (model) {   this.__onChanged__ = new Dictionary();   for (var key in model)   {     this.__defineSetter__(key, function (arg) { this.set(model, key, arg) });     this.__defineGetter__(key, function () { this.get(model, key) });     this.__onChanged__.set(key, new signals.Signal());   } } ModelMediator.prototype.get = function (model, key) { […]


Continue Reading


I sorely miss the Dictionary class from AS3, but wasn’t excited by what my Googles led to and figured I’d learn more by rolling my own. JavaScript Arrays can be used as a hash, but only with String or Numeric keys. This class lets you use any Object. A function, an Array, a class … […]


Continue Reading


Just a quick note to point out a bug (?) I found today while working with the ActionScript 3 Text Layout Framework. I wanted to add a mask to the Sprite container I’d passed to my TLF ContainerController. Whatever it is that happened wasn’t correct: there was masking occurring, but the shape I was using […]


Continue Reading



OLDER POSTS