Archive for the 'performance' Category


Jun 16th, 2012

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 and how you can edit your hosts file to send third party scripts to the black hole simulating a firewall-blocked or down third party and the effect on […]


Web Performance Daybook vol. 2

Jun 6th, 2012

In the spirit of the true high-performance non-blocking asynchronous delivery, we’ll have the Web Performance Daybook volume 2 published before volume 1. I hope you’ll enjoy reading the book as much as I enjoyed working on it and rubbing (virtual) shoulders with some of the brightest people in our industry. Back in December of 2009 […]


CSS and the critical path

Jun 5th, 2012

Back when I was still actively into speaking at public events (way, way back, something like year and a half ago (which strangely roughly coincides with the time I joined Facebook, hmmm (hmm? (huh? what’s with the parentheses? sure all of them are closed at this point?)))) I remember showing this slide: The reason I’m […]


Update a far-future expiring component

May 22nd, 2012

NOTE: This is late night mumbling from a week or two ago, leaving here for posterity. Don’t read it. Meanwhile Steve wrote up a proper blog post which is highly recommended: Self-updating scripts. Read his post instead! tl;dr: Load the component in an iframe, then reload() Backstory Steve Souders and I were chatting last week […]


5 years later: print CSS still sucks

Apr 25th, 2012

This tweet had me revise a 5 year old experiment on how print CSS affects page loading, especially in the light of mobile browsers. So I tweaked the test ever so slightly to print out timing info in the document.title and after the page is done. The test is essentially how does a slow print […]


Velocity Europe discount

Nov 1st, 2011

The web performance and operations conference, Velocity Europe, is just around the corner. This always sold-out event is making its EU debut this year in Berlin. Get your ticket now (with 20% discount no less) or punish your users and clients with slow user experiences ๐Ÿ™‚ Info: url: cost: รขโ€šยฌ600 after 20% discount (ow […]


Social button BFFs

Sep 27th, 2011

TL;DR: Loading JavaScript asynchronously is critical for the performance of your web app. Below is an idea how to do it for the most common social buttons out there so you can make sure these don’t interfere with the loading of the rest of your content. After all people need to see your content first, […]


Overlooked Optimizations: Images

Jun 14th, 2011

#1 This guest post from Billy Hoffman is the last post in the Velocity countdown series. Velocity starts first thing tomorrow! Hope you enjoyed the ride and please welcome Billy Hoffman! Billy Hoffman (@zoompf) is the founder and CEO of Zoompf, a web performance startup whose scanning technology helps website owners find and fix performance […]


Sultans of Speed

Jun 13th, 2011

#2 This post is part of the Velocity countdown series. Stay tuned for the last one tomorrow. With only 2 days to Velocity, it’s time to drop in the quality of these posts (but the one tomorrow will be great, I promise) with today’s announcement of the immediate availability of the project called I […]


Book of Speed

Jun 12th, 2011

#3 This post is part of the Velocity countdown series. Stay tuned for the articles to come. Without further ado, please point your browser to the newborn It’s a free (public domain), online, open-source, not yet finished, book about web performance. Contributions welcome The source files are on Github – I’ll be glad […]


YSlow 2.0: the first sketches

Jun 11th, 2011

#4 This post is part of the Velocity countdown series. Stay tuned for the articles to come. I’m working on tomorrow’s kind of big thing, so will take it easy today, with a stroll down memory lane. I was clearing up my space at home few days ago and came across this oldish notepad. In […] is open

Jun 10th, 2011

#5 This post is part of the Velocity countdown series. Stay tuned for the articles to come. It’s been over a year, since the launch of Looks good and useful for people so far. Sergey “ShowSlow” is doing also a great job of tweeting as @perfplanet about news from the perfplanet pipes as well […]


Preload in visual search suggestions

Jun 9th, 2011

#6 This post is part of the Velocity countdown series. Stay tuned for the articles to come. Alrighty, this is something I’ve talked about last year at HighLoad++ and Fronteers, but never blogged. I came up with this thing while at Yahoo! Search and we used it there in production. So, it must be working. […]


Lazy HTML evaluation

Jun 8th, 2011

#7 This post is part of the Velocity countdown series. Stay tuned for the articles to come. Some time ago Google talked about using a sort of lazy JavaScript evaluation which especially helps mobile devices. The idea was to comment out a chunk of JavaScript you don’t need right away and serve it this way. […]


Velocity countdown

Jun 8th, 2011

Let me try to set the mood for Velocity 2011 with an attempt to publish one performance-y post a day for the seven days between now and when the conference starts. #7 – Lazy HTML evaluation #6 – Preload in visual search suggestions #5 – is open #4 – YSlow 2.0: the first sketches […]


Simple Sharding Logic

May 6th, 2011

Sharding is the technique where you split static components across multiple domains so the browser can fetch more components in parallel? (Which browser? How many components per hostname? Ask So you have, say, image-a.png and image-b.png. You want to serve image-a from and image-b.png from The thing is you don’t want to […]


Audio sprites

Apr 13th, 2011

Another “brilliant” idea that I had recently – how about combining audio files into a single file to reduce HTTP requests, just like we do with CSS sprites? Then use the audio APIs to play only selected parts of the audio. Unlike pretty much all brilliant ideas I have, I decided to search for this […]


A rounded corner

Apr 13th, 2011

Warning: not practical blog post, don’t read, move on. So this is a post about a thought I had – creating rounded corners in IE678 by using roundness that they already have built-in, meaning the character O. But first: My opinion is that browsers that don’t support border-radius should never ever get rounded corners. Let […]


HTTPWatch automation with JavaScript

Apr 10th, 2011

Background HTTPWatch (automation) …with PHP (and again and again, and response) JavaScript shell scripting I gave this short presentation at the recent Yahoo FE summit’s open mic, here are the slides and some notes. Slides and screencast vid JavaScript shell scripting View more presentations from Stoyan Stefanov Screencast to see the thing in motion: Notes […]


YSlow/Chrome hacking

Mar 24th, 2011

If you haven’t seen it yet, YSlow for Chrome hit the streets couple of weeks ago. (And Google’s own PageSpeed did too yesterday. (And there’s now DynaTrace for Firefox. (And WebPageTest for Chrome. (What a month for x-browsering (word?) the performance tools! (And the month’s not even over yet))))) BTW, I closed all the parentheses […]


When is a stylesheet really loaded?

Mar 17th, 2011

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 this is harder than it should be and really unnecessary hard in Firefox. I hereby beg on […]


Velocity online conference March 2011

Mar 15th, 2011

Very rough notes from the event that just ended a few minutes ago ======== 1 ======== Tony Gentilcore (google) and Anderson Quach (MSFT) talked about the W3C working group and the specs for measuring performance: Navigation timing spec – HTML document: DNS, handshakes, load events Resource timing – how long JS, CSS, audio, video… take […]


Automating HTTPWatch with PHP #3

Mar 7th, 2011

The first part is here, the second is here. This third post is more about PHP and COM, rather than HTTPWatch or monitoring web performance, so feel free to skip if the title mislead you ๐Ÿ™‚ Keep reading if you want to use and improve/update my HTTPWatch class in the future. The problem After running […]


Automating HTTPWatch with PHP #2

Mar 7th, 2011

In part 1 I demonstrated how you can use PHP to script and automate HTTPWatch. And how you can get data back, either reading the API docs or using a quick HAR hack to get a lot of data in one go. Now I want to share a little class I wrote to make all […]


Automating HTTPWatch with PHP

Mar 5th, 2011

HTTPWatch is a nice tool to inspect HTTP traffic in easy and convenient way and it works in both IE and FF now. Drawback – windows-only and paid. But the free version is good enough for many tasks. HTTPWatch can be automated and scripted which is pretty cool for a number of monitoring-like tasks. Their […]