Replace the Home button with a script
Robert Ames commented on my previous post suggesting replacing the Home button with my little site search bookmarklet. I didn't even know this was possible, but I found it pretty cool, so I just had to...
View ArticleBrowser’s implied globals
Like it's not bad enough that JavaScript has implied globals (forget var and you create a global), but the browsers have decided it's a good idea to add more pollution to the global namespace. This has...
View ArticleFree-falling waterfalls
2010 update: Lo, the Web Performance Advent Calendar hath moved Dec 14 This post is part of the 2009 performance advent calendar experiment. Stay tuned for the articles to come. In this serias of...
View ArticleBrowser sniffing with conditional comments
Browser sniffing is bad. But sometimes unavoidable. But doing it on the server is bad, because UA string is unreliable. The solution is to use conditional comments and let IE do the work. Because...
View ArticleWhen is a stylesheet really loaded?
Often we want to load a CSS file on-demand by inserting a link node. And we want to know when the file finished loading in order to call a callback function for example. Long story short: turns out...
View ArticlegetUserMedia in Opera 12
Opera 12 wins - the first stable desktop browser to ship getUserMedia(). I believe they had shipped it already in a mobile version of the browser. (I'll need to fix my example from last night because...
View Article3PO#fail
So I was flipping through recent slides from Steve Souders and came across a reference to a nice post from Pat Meenan explaining how he setup blackhole.webpagetest.org and how you can edit your hosts...
View ArticleHello subpixel world
Since IE9 and Firefox(v.?) we now have subpixel rendering of fonts. This is cool and all but imagine this: you have some text you want to measure the width of the text and size another element to the...
View ArticleDefining user styles
User styles have been around since the early days of the web. They are a way for users to specify their browsing preferences using CSS cascade. I remember way back when this option was fairly prominent...
View ArticleAsynchronous inline scripts via data: URIs
Inline scripts are synchronous. "Well, duh!" you may say. That's a feature, not a bug. Because accessing a variable after an inline script should succeed. And that's fine. But not great. When is this...
View Article