Practical AppCache Strategies

 Oct, 14 - 2014   no comments   How To

The Application Cache spec provides us with a very useful tool for enabling offline access to assets. This allows us to build web apps that can function whether or not the browser has an HTTP connection. AppCache is not a complete solution for offline apps, and it’s received some criticism for the fact that some […]


Continue Reading


This JavaScript bookmarklet will enhance the macro target section of the custom goal editor  in MyFitnessPal with some advanced features that allow you to set up a more complex macro strategy. Features: Set percentages in 1% increments Set targets in grams rather than percentage Set one of the three macros to  automatically fill any remaining calories in your […]


Continue Reading


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



OLDER POSTS