Archive for June, 2008

Random interesting links

  • Bart Jansens documents his experiments with Varnish, a reverse proxy server that is making the rounds as of late. Varnish really needs better documentation.
  • Pragmatic Programmer Screencasts – now with Erlang screencasts that should make it grokking this language a bit easier for newbies. I saw this a few weeks ago, and I can’t remember exactly, but I think no new screencasts have been published since?
  • Google Doctype (kind of old news by now) – a new effort to build an online reference library by web developers for web developers. Do we really need another resource for web development articles?
  • Writing Apache’s logs to MySQL – very old article, but still nice for someone that is not interested on deciphering Apache’s documentation.
  • Profiling LAMP Applications with Apache’s Blackbox Logs – same for this one; nice overview of what’s possible with mod_logio

YSlow wishlist: JavaScript API to export performance results

Here’s one thing that I wish YSlow (or even HTTPWatch or AOL Pagetest) supported: a way to dynamically export the results of the performance grade results. In a perfect world I would run a set of Selenium tests on my development environment, and get access to YSlow’s results from the Selenium API.

Selenium RC allows you to write unit tests in PHP (or a bunch of other programming languages), and get access to the browser as it is executing your test. If you could get access to YSlow’s results from JavaScript, then you could export that information directly to PHP, parse it, and store it. Add a few scripts to build some simple reports and you are done: performance metrics that you can track and act upon.

I was going to suggest this feature at Velocity last week, but there was no time for questions on most of the sessions. Here’s hoping this doesn’t happen next year. YSlow performance grade: F (33)

Holy crap. I was bored at lunch time so I started visiting some random brazilian sites and looking at their YSlow performance grades. has a performance grade of 33.

Biggest issues that I can see:

  • Tons and tons of HTTP requests (8 external js files; 9 external css files; 79 (!!!) CSS background images)
  • Most images have a 20 minute expire time
  • No compression is going on for HTML/JS/CSS code
  • Everything being served from the same hostname
  • No minified JS code
  • ETags are enabled

At least they are avoiding CSS expressions :)

Open Flash Chart – alternative to Google Chart API

Open Flash Chart is a free (GPL) flash charting tool that serves as yet another alternative to the Google Chart API. There is an intrinsic advantage here because you are not relying on an external service for your functionality.

The graph examples look really cool, so this is definitely something I will consider for a future project.

Velocity conference: great content, weird format

I just came back from O’Reilly’s Velocity conference that just ended a few days ago. It was a lot of fun, with some good original content. Steve Souders, one of the organizers of this conference, asked for feedback multiple times, so here’s my opinion on it.

The good:

  • Very cool demonstrations of HTTPWatch, Fiddler and AOL Pagetest. I played with two of these tools before, and having the author’s there showing you a couple of the features was really helpful. AOL Pagetest seems like a pretty cool tool too.
  • The announcement of Jiffy (and the Jiffy Firebug extension) brought in a whole new perspective into measurement of performance data, and that is a huge deal.
  • Awesome content on Bill Scott’s session about the performance work that his team did at Netflix. Good advice in there on large XHTML pages and event handlers for sprite images.
  • Session from Eric Schurman (no blog?) at Microsoft about their performance work on improving the interaction of Live Search, all the way from a lot of AJAXy features, to a more simple approach. I asked him about the tool that generated some of his nice performance graphs, and he said that they are thinking about possibly open-sourcing it.
  • Good content on image optimization from Stoyan Stefanov, something most people often forget. We have a build system that does this automatically, but we should also have something in there to make sure we use PNG8s instead of GIFs whenever possible. Added to my TODO list.

The bad:

  • 15 minute sessions? Are you kidding me? It was such a rush to get these sessions finished in time, that in the end there was no space left to even ask a question. All of the good performance sessions were either 15 minutes in length, or just 10 minutes (for the demonstrations of HTTPWatch, Fiddler, etc). I’m sure there must be a reason for this, but it seems completely wrong.
  • The actual space in the second room was very small for the number of people in the sessions. It seemed like most of the performance talks happened in the small room, and it was packed to the brim. Also, not much ventilation in that room.
  • Seems a bit expensive to be paying ~$1400 for a two day conference, when the MySQL Conference was the same price for 4 days worth of sessions.
  • Why was there a 45 minute break in the second day, right after starting the day? The second day started at 9:15am, and by 10:30am there was already a break. Let’s get some sessions going.
  • Can we go without the spammy keynotes in the future? I have no desire to go through 30 minutes of a Sun executive telling me about this server with 1TB of SSD memory that will be available “pretty soon” for commodity prices. “Great as a memcached server.” Excuse me? This is a joke about the memcached server, right?
  • Even further, can we do fewer keynotes in the future? The first day had 7 keynotes, and while some of them might be interesting, it’s not interesting to everyone. Let’s change some of those into regular sessions, so the people that are interested can go to them, and whoever is not can skip them. For instance, Eucalyptus seems like a cool project, but giving it 30 minutes (as a keynote no less!) while the session on Varnish only had 15 minutes was completely wrong.
  • Where are all of the talks on memcached, gearman, TheSchwartz, nginx? I want to know more about these tools, and not just the basics that I could read from the documentation. I want war stories and tutorials on how to get started, and some reliable advice from big deployments. Where’s Brad Fitzpatrick?
  • Enough with the “clouds”. Please. Think of the children.

The conference was still very good, but the biggest issue was the amount of time reserved for the performance sessions that I was looking forward to.

I will try to get approval to go again next year!

« Previous entries Next Page » Next Page »