Hello my name is Dustin

I am a Software Engineer. Previously at @Medium, @Twitter, @Google, & @Yahoo. I am the co-author of JavaScript Design Patterns, co-creator of the Ender JavaScript Framework, a Photographer and author of Strobist Info, and an amateur Mixologist. I have a Blog too.

Here is stuff I made


Build only what you need, when you need it

Ender is an open-module micro-to-macro framework for composing your own custom JavaScript library; it wraps up application-independent modules into a familiar interface so you don't have to. It's the future.


a blazing fast CSS1/CSS2 selector engine

When it comes right down to it, you often don't need a full blown selector engine suite. Qwery helps you build the same real-world applications without all the bloat.


an asynchronous JavaScript loader and dependency manager

$script.js allows you to load script resources on-demand from any URL and not block other resources from loading (like CSS and images). Furthermore, it's unique interface allows developers to work easily with even the most complicated dependencies, which can often be the case for large, complex web applications.


a brilliant animator.

Morpheus lets you "tween anything" in parallel on multiple elements, from colors to integers of any unit, with easing transitions and bezier curves -- all in a single high-performant loop utilizing the CPU-friendly requestAnimationFrame standard.


a node-based CSS compressor

Aside from basic minification, Sqwish will collapse long hex, combine duplicate selectors, and merge duplicate properties. It is also available as a command-line utility.


a CSS LTR ∞ RTL converter for i18 friendly layouts

R2 helps you achieve cross-language layout-friendly websites converting LTR to RTL CSS (and vise versa).


a utility for creating classes in JavaScript

Klass is an expressive, cross platform JavaScript Class provider with a slick, classical interface to prototypal inheritance giving you supers, implementors, statics, and auto-initializers.


JavaScript's functional sister

Valentine provides type checking, functional and chainable iterators, and common utility helpers.


a localStorage utility

Kizzy is a light-weight, cross-browser, JavaScript local storage utility leveraging the HTML5 localStorage API when available, as well as Internet Explorer's persistent XML store — wrapped up in a easy to use, memcached-like interface


a browser detector

Because sometimes, there is no other way, and not even good modern browsers always provide good feature detection mechanisms. Bowser also gives you a hook into Yahoo's Graded Browser Support allowing you to determine whether a user is using a grade A, C, or X browser.


library agnostic, extensible DOM utility

Bonzo includes class management, tree traversal, node management, CSS insertion, and document state. It's designed to live in any host library, or can be used as a stand-alone tool for the majority of your DOM-related tasks.


it's AJAX, all over again

Reqwest is a robust lightweight wrapper for asynchronous http and JSONP requests


let's you know when the DOM is ready

that is all.

Sink Tester

Asynchronous testing for Node and your browser

Sink allows you to run tests both headlessly in a terminal, or in a browser. Perfect for testing asynchronous actions with expectations.