Not too long ago, I wrote about data URIs and released a couple of tools to help generate them. A key part of the data URI equation is base64 encoding. Base64 encoding is described in RFC 3548, along with base16 and base 32 encodings, all of which are ways to represent single-byte data with a [...]
This is a problem I’ve come across frequently, and since it has come up again recently, I thought I’d explore this issue in the hope that it will save others some trouble. There are so many problems that this one issue can lead to that it’s baffling browsers still behave this way. The issue? An [...]
Last month, I attended another discussion at Mozilla, this one about the future of web databases. Though the content of the discussion was interesting, I found a rather general debate much more so. There ended up being two schools of thought related to native browser APIs for JavaScript. One camp firmly believes that native JavaScript [...]
JavaScript unit testing, and front-end testing in general, is a fascinating topic to me. Coming from a job where I developed in Visual Basic.NET and used nUnit for testing, I instantly fell in love with unit testing. Not too long ago I created the YUI Test JavaScript testing framework (for YUI 2.x and YUI 3.x) [...]
One topic that is close to my heart is web accessibility. It’s not something that I’ve written or spoken about in the past, and so I thought it was time to get the ball rolling. At Yahoo!, we’re fortunate to have a great number of people who are not only aware of accessibility issues but [...]
Last week, I posted about data URIs and why they’re an interesting feature of web browsers. In the conclusion, I mentioned that the best use of data URIs is to embed them in CSS files so that they have the best chance of being cached by the browser. I got a lot of responses, both [...]
Today, YUI engineer Dav Glass introduced the YUI Gallery at YUIConf. The YUI Gallery is a place for YUI users and developers to share their work. You can create your own YUI 3 modules, submit them for review, and have them appear in the gallery. As an added bonus, submissions are eligible to be distributed [...]
One of the most frequently requested browser features in recent memory is data URI support. There’s been a fair amount written about data URIs recently: my colleague Stoyan Stefanov has written a couple of posts about data URIs, and my former colleague Hedger Wang also penned a post about how to use data URIs in [...]
A little while ago, I reviewed the Packt book, Learning jQuery, which covered the core jQuery library. The book stopped short of discussing jQuery UI, which is an extension to jQuery that provides basic UI widgets. That’s precisely where another Packt book, jQuery UI 1.6, picks up. The book is targeted at a similar audience: [...]
Debugging is a huge part of any software engineer’s life: something goes wrong, and it’s your job to figure out what happened and how to fix it. The more time I spend debugging, the more I feel like a detective trying to tickle out details and evidence in order to determine what happened. Whenever I [...]
When I first got wind of John Resig’s FireUnit extension for Firefox, I was very excited. JavaScript unit testing, and front-end testing in general, is an area of particular interest to me. It’s so interesting that a couple of years ago I wrote YUI Test as a way to enable front-end testing in the browser. [...]
One of the most frequently talked about performance improvements for web sites is the sharding of domains. This was one of Steve Souders’ original rules (mentioned in High Performance Web Sites) and still one of the Yahoo! Exceptional Performance guidelines. The basic problem is that browsers limit the number of parallel connections opened to a [...]
Even though we’re now a decade into professional web development, there’s still a large amount of terms and phrases being used incorrectly. Long-time readers of my blog know that communication and social interaction are things that I find fascinating, and that I’m on a constant mission to be a clearer communicator in all situations. One [...]
Last week, I was invited to attend the Mozilla Platform Summit at Mozilla headquarters in Mountain View, California. Dion Almaer and Ben Galbraith, of Mozilla and Ajaxian fame, put together this event to let developers help guide the future direction of Firefox. There were around 20 attendees in total, with familiar names like John Resig [...]
One of the things I used to love when programming in more “traditional” languages such as C++ and Java was the build process. My source files just indicated what they needed in order to run successfully, and the build tool did the rest. This had the wonderful advantage of allowing you, as a programmer, to [...]



