Category Archives: Proper Articles

Loading more than 32 stylesheets in IE for Development

Fellow Pub Standards coder Matt Bee recently ranted about IE on Twitter (one of the many good things Twitter is for):

It reminded me that I’d asked him about this before: why on earth would you want to load >31 stylesheets? Continue reading Loading more than 32 stylesheets in IE for Development

Chaining Asynchronous Methods in jQuery using the Queue

Someone recently asked me whether it would be possible to chain asynchronous events in JavaScript. After a little pondering, I figured out a way to do it with a simple queue. I thought this would be an awesome addition to chaining for a good few hours, until I remembered how jQuery did it, and that I’d recently used exactly that function. Continue reading Chaining Asynchronous Methods in jQuery using the Queue

Lost – cutting a long story short

Ok, so to sum up.

There is an island.

This certainly contains spoilers. If you haven’t done the Lost thang, you probably should, because they’re really good, so stop reading this and head off to Amazon. Otherwise, if you’ve seen it all, and read all about it on E!, and seen the deleted scenes on DVD and so on, then you are truly qualified. Do read on.
Continue reading Lost – cutting a long story short

JS Fireworks – in SVG

I’ve taken another look at last year’s Chrome Experiment, JS Fireworks.

This time I’ve rewritten it to use SVG, whose arrival in IE9 promises to make HTML more interesting. In fact, I’m far more excited about animated SVG than CSS transforms and the fabled HTML5.

I used Keith Wood’s jQuery SVG library, which seems quite helpful, and simply replaced the ‘draw line’ commands with their equivalents.

Canvas is the bitmap to SVG’s vector, so while I have to clear the screen and redraw each time in canvas, I merely need to move the lines in SVG. Presumably the number of shapes on screen affects performance, so that was a big difference.

Here’s the result: JS-Fireworks in SVG. I’ve reduced the number of items in each explosion from 30 down to 10. You’ll see why.

It runs very quickly in Chrome (Mac), slowly in FireFox, and smoothly, though not excessively quickly, in IE9, which I’m quite excited about. Where’s IE9 Experiments?

I haven’t tried IE678. But then I haven’t tried Mosaic either.

Building McLaren.com – Part 5: Serving from the Cloud

I’ve just finished working on McLaren’s new F1 site, http://mclaren.com/home, for the 2010 season, at Pirata London, for Work Club.

I’ll be writing up what we’ve done here in several parts. Sign up for my RSS feed to keep updated.

Part five covers the setting up of broadcast servers using Amazon EC2. Continue reading Building McLaren.com – Part 5: Serving from the Cloud

Building McLaren.com – Part 4: Load testing

I’ve just finished working on McLaren’s new F1 site, http://mclaren.com/home, for the 2010 season, at Pirata London, for Work Club.

I’ll be writing up what we’ve done here in several parts. Sign up for my RSS feed to keep updated.

Part four covers the load testing of telemetry data, broadcast by the nginx http push module. Continue reading Building McLaren.com – Part 4: Load testing

Building McLaren.com – Part 3: Reading Telemetry

I’ve just finished working on McLaren’s new F1 site, http://mclaren.com/home, for the 2010 season, at Pirata London, for Work Club.

I’ll be writing up what we’ve done here in several parts. Sign up for my RSS feed to keep updated.

Part three covers the JavaScript data for the telemetry panel, known as “The Race 1.0b”. Continue reading Building McLaren.com – Part 3: Reading Telemetry

Building McLaren.com – Part 2: Serving Telemetry

I’ve just finished working on McLaren’s new F1 site, http://mclaren.com/home, for the 2010 season, at Pirata London, for Work Club.

I’ll be writing up what we’ve done here in several parts. Sign up for my RSS feed to keep updated.

Part two covers the telemetry panel, known as “The Race 1.0b”. Technically, I think this is the most interesting section of the site. Continue reading Building McLaren.com – Part 2: Serving Telemetry