Surely I don’t need 9 solicitations sent to me on the same day? WTF Comcast?
Laura Bush on Obama
StandardHoly shit. Talk about a major anomaly in the GOP’s propaganda machine.
Referencing the uproar over Obama’s address to schoolchildren, which will be aired nationwide Tuesday, Laura Bush said it’s “really important for everyone to respect the president of the United States.”
It’s good to see that common sense takes hold once in a while and someone has recognized that the recent disrespect for our president is ridiculous.
Yeah, it’s fine to disagree — of course. But base it on facts and do it respectfully. Don’t shout really loud about stupid shit just to drown out people who aren’t matching up with your ideology. You’re pooping in the pool and muddying public discourse.
Most people can’t handle this. So far our president has been called:
- Hitler
- A socialist
- A terrorist
- A fascist
- A communist
- A racist
And, probably worse than that. And we’ve still got 3 years to go!
Thanks Laura Bush.
Optimizing your JS and CSS
StandardMy coworker Ryan Doherty loves front-end optimization. A lot.
So much, in fact, that he’s working on bringing it to the masses.
I just wanted to blog quickly to show the difference CSS and JS compression can make on perceived load time. I encountered this when working on a new mozilla.com page for download stats.
First, let’s look at how we were at the beginning:
| Document Complete | Fully Loaded | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Load Time | First Byte | Start Render | Time | Requests | Bytes In | Time | Requests | Bytes In | |
| First View | 16.795s | 0.992s | 13.086s | 16.795s | 51 | 309 KB | 16.795s | 51 | 309 KB |
| Repeat View | 2.533s | 0.883s | 1.622s | 2.533s | 5 | 19 KB | 2.533s | 5 | 19 KB |
Next, let’s look at how we were after we concatenated and minified all our JS using YUI compressor:
| Document Complete | Fully Loaded | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Load Time | First Byte | Start Render | Time | Requests | Bytes In | Time | Requests | Bytes In | |
| First View | 11.546s | 0.933s | 6.455s | 11.546s | 38 | 242 KB | 11.546s | 38 | 242 KB |
| Repeat View | 2.679s | 0.919s | 1.671s | 2.679s | 5 | 19 KB | 2.679s | 5 | 19 KB |
Finally, after some prodding from Ryan, I concatenated and minified all CSS:
| Document Complete | Fully Loaded | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Load Time | First Byte | Start Render | Time | Requests | Bytes In | Time | Requests | Bytes In | |
| First View | 10.892s | 0.826s | 5.732s | 10.892s | 35 | 238 KB | 10.892s | 35 | 238 KB |
| Repeat View | 2.285s | 0.881s | 1.435s | 2.285s | 5 | 20 KB | 2.285s | 5 | 20 KB |
In summary, concatenating JS and CSS can make a huge difference, and I saw it today. Here was the progression:
- 13.086s – nothing
- 6.455s – JS minified
- 5.732s – CSS minified
We saved about 56% of our load times and reduced the overall number of HTTP requests by 31% (38 down from 51).
Took me about 30 minutes to figure it all out and fix some 404s and path issues caused by moving CSS around. 30 minutes for that kind of improvement is worth the investment.
Note, you’re going to want to automate using the compressor. It becomes a pain in the ass to manage over time unless you do. But it’s not hard to write a build script to run every time you make an update. It’s also not difficult to have production vs. development flags in your site config to flip which css and js files it uses so you don’t spend time trying to debug a minified bumble of JS or CSS. Even with minor maintenance and deployment hurdles, it’s still very worth the trouble.
And don’t forget, less HTTP requests and bytes transferred means a happier planet.
Update: after pushing to production, performance was even better:
| Document Complete | Fully Loaded | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Load Time | First Byte | Start Render | Time | Requests | Bytes In | Time | Requests | Bytes In | |
| First View | 3.707s | 0.906s | 3.365s | 3.707s | 40 | 301 KB | 4.933s | 48 | 313 KB |
| Repeat View | 0.129s | 0.601s | 0.496s | 0.129s | 2 | 1 KB | 0.781s | 4 | 2 KB |
So yes, it does help to have fast servers, good hardware load balancing, and a quick proxy cache too. 🙂
Scout and Starbuck
Standard
moar funny pictures
Diving In
ImageWhat’s New in Firefox 3.5?
StandardThere’s a lot of cool stuff! Watch Mike Beltzner’s video to learn more.
Don’t Mess with Secession
StandardWTF indeed.
Firefox Gets Dressed Up with Personas
Standard
Personas was launched a couple of weeks ago, and it’s been received well. On the Personas add-on page on addons.mozilla.org you can already see 1.3 million downloads with 922,000 of those coming in the last seven days. Wow!

The response to Personas is great, and I hope we can find more ways to get people excited about the extensibility of Firefox. I thought about some of the key factors to its success:
- Easy to install, fun to use
- Unique and personalized but not intrusive
- Easy to create your own
- Makes an obvious change to your browser
It’s awesome to see what’s going on with Personas — congrats to Mozilla Labs and the Personas team. Looking forward to what’s coming up next!
Baggage Claim Rage
StandardUpdate: this wasn’t supposed to get posted on planet.mozilla.org — it’s not in the Mozilla category but planet slurped it up anyway. Probably a feed error after a WP upgrade. 😦
Ever have a hard time finding your damn bag at the airport? It’s probably because there are a bunch of morons standing in front of you. And guess what? None of them are actually grabbing their bag — they are just making it impossible for you to find yours.
Fortunately when I travel I usually don’t have to deal with this since I don’t have a checked bag. But every once in a while I do have to check a bag (like last week). When this happens, I inevitably find myself standing behind 15 people, unable to find my bag. Right about then I tell myself, “I need to write an angst-filled blog about this to add another post to my airport rage series.” Well, here’s a diagram for you:

A few things I want to point out:
- All the cool people are behind the line
- Don’t be “that guy” standing right next to the carousel expecting his bag to come out faster because he’s standing closer (wtf?)
- Everybody wins
Any questions?
Commonly Misinterpreted Basketball Rules
StandardPeople who play pickup games often don’t know the rules. Unfortunately they also think they are right when they get into an argument with me about the rulebook.
Yesterday I got into an argument with someone over whether or not you can catch your own airball. Guy on my team threw up a layup and it barely missed the rim. He picked it up and layed it up. Traveling?
Surprisingly, no, it’s not traveling anywhere except the NBA. Though in most games at Rucker Park I’m guessing they’d call it a travel.
So this made me think of other rules that I commonly get into arguments with people over. Here’s the top 5:
- Catching your own airball is allowed if it was a legitimate shot unless you’re playing your pickup game according to NBA rules, which makes you a douchebag.
- The top and side of the backboard is not out of bounds, only the back-facing plane of the backboard is.
- Step-throughs are not traveling. An initial jump-stop with two feet makes either foot eligible as a pivot foot. Therefore the act of jump-stopping with two feet, choosing either foot to pivot and stepping through with the opposite foot is a totally legal move even though it may appear to be traveling to an idiot.
- The playground hesitation dribble is a carry. You know that move that “all-star” ballers use on you? They bring the ball back, turn their hand over like they are going to shoot it and when you crowd them them resume their dribble and go around you. Well, that’s bullshit and it’s double dribble because they already picked up their dribble.
- A player can’t touch the ball until they’ve established legal position. If I’m out of bounds and I jump back in, touching the ball before my feet hit the floor, I’m still out of bounds and I just turned it over to the other team no matter how much I complain.
Of course, none of this matters, because in pickup games the person willing to be the biggest complainer usually gets their way. Doesn’t make them right, though.

