Recent Features
![JavaScript Promise API]()
JavaScript Promise API
While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready? Promises are becoming a big part of the JavaScript world...
![Welcome to My New Office]()
Welcome to My New Office
My first professional web development was at a small print shop where I sat in a windowless cubical all day. I suffered that boxed in environment for almost five years before I was able to find a remote job where I worked from home. The first...
Incredible Demos
![Fixing sIFR Printing with CSS and MooTools]()
Fixing sIFR Printing with CSS and MooTools
While I'm not a huge sIFR advocate I can understand its allure. A customer recently asked us to implement sIFR on their website but I ran into a problem: the sIFR headings wouldn't print because they were Flash objects. Here's how to fix...
![CSS Ellipsis Beginning of String]()
CSS Ellipsis Beginning of String
I was incredibly happy when CSS
text-overflow: ellipsis(married with fixedwidthandoverflow: hiddenwas introduced to the CSS spec and browsers; the feature allowed us to stop trying to marry JavaScript width calculation with string width calculation and truncation. CSS ellipsis was also very friendly to...



