Saturday, December 30, 2006

Origin v. CoralCDN: a GrabPERF test

I have set up a test to check the performance of the CoralCDN network against that of the origin server. You can view the comparative results here.

The tests used the base HTML document of this blog as the target.

The results so far indicate that there is a slight performance penalty when using CoralCDN in an ad hoc manner. They do offer continuous CDN services, and these likely provide better overall service under normal conditions.

However, it is likely that in situations where server load or traffic volumes increase substantially, the distributed performance system, even in an ad hoc manner, would save your bacon.

I will watch these tests over the next few days to see if any unique performance patterns appear.

Monday, December 25, 2006

Idiots, Explosions, and Falling Anvils

Have I told you why I love my wife?

For Christmas, she bought me The Complete Calvin and Hobbes.


Oh, and there were some other presents as well.

Technorati Tags: , , ,

Sunday, December 24, 2006

Arnold breaks his leg a ski resort in Idaho. [here]

Anyone else see this as ironic?

Maine Franchise Opportunity

Stephen O'Grady points out this fine Maine business, seeking franchisees.

Opportunities to get in on this are going fast!

Technorati Tags: , , , ,

Thursday, December 21, 2006


"Folks, Denver has cleared us for an IFR landing. Fasten your seat belts, and take another stiff drink."

Instrument Landing

I love Winter!

Wednesday, December 20, 2006

It's Colorado...

Apparently there's quite the blizzard pounding Colorado. [here and here]

And your point is...?


  1. You live at 3,000 ft and above
  2. Those big rocky and pointy things in your backyard? They might have some effect on the weather
  3. It's Winter...well, officially tomorrow

I gew up in the Rocky Mountain Trench. After November 1st, it's not if, it's when the snow will come. And you can expect to be smacked hard at least once.

Get firewood. Get candles. Get books. Get pens and paper.

And be glad you don't live in the Pacific Northwest.

Tuesday, December 19, 2006


Yes, I am still here.

Yes, I am swamped.

And yes, I haven't had a creative thought in a week

Gonna make something of it?!?

Thursday, December 14, 2006

Least Flattering Picture Ever Taken Of Me

Least Flattering Picture of Me Ever Taken

I love the shirt.

It's the four chins and obviously thinning hair I could do without.

Who is that guy????

Hellish Profile

Skype: Monetization, or Escaping the trap of 1999

Around the blogs, there are a number of folks talking about Skype making people pay for SkypeOut calls.

Guess what? Everywhere else in the world, you have always had to do this. So I don't understand what the problem is.

I know that the QoS will improve on SkypeOut once the feeloaders are gone. Free is good, but you get what you pay for.

Those people who think free is a sustainable business model are either selling ads to pay the bills, or falling into the 1999 trap all over again.

Wednesday, December 13, 2006

Skype Unlimited for US and Canada -- $14.95!

Ok Skype hounds, this is is. Skype, in a move to get us North Americans (sorry Mexico) to use more Skype, is offering us unlimited calling to Canadian and American numbers (landlines and mobile) for all of 2007 for the ridiculously low price of $14.95 (offer valid until January 31, 2007).

Get it! Like you need a reason to resist Skype?

Oh, and of course all Skype-to-Skype calls are still free.

So, the question begs to be asked: why? Well, it seems that us dense folks on the non-European side of the Atlantic and the non-Asian side of the Pacific haven't been adopting Skype fast enough.

A variety of theories abound about this. The one I have is that the US phone companies have priced long-distance so low that there is no motivator driving people away from their POTS connections.

The competition between the Telcos and the Cablecos over your phone service has been another factor in keeping long-distance costs so low.

It will be interesting to see which of the long-distance companies responds with a North American unlimited plan for a ridiculously low rate.

Technorati Tags: , , , , , , ,

Tuesday, December 12, 2006

Performance Matters, and boy does it.

My Google Alerts today picked up a post from a former colleague of mine, commenting on another post from the Yahoo! Interface blog.

I had some problems following the stream in the Performance Matters post, so I thought I would this post to clear up my thoughts.

A technical note up front: Using a waterfall chart that only shows non-persistent connections gives a very skewed view on how a modern Web page page performs. Persistent connections and modern TCP/IP stacks with fast-retransmit algorithms and window-scaling have seend a trend away from network-related performance issues in the recent past.

After the dot-bomb crash, the overabundance of bandwidth (in the form of over-built fiber-optic networks) made backbone and end-to-end connectivity issues for business and most home broadband users almost completely disappear.

The wealth of bandwidth (ok, North America consumers arethe poor cousins compared to their European and Asian counterparts) removed the veil of "it's the network" which had been the crutch of performance engineers for many years, and exposed the effects of poor design and badly designed infrastructure.

In many cases, poor page design could be overcome. However, issues with core infrastructure and application design were (and are) notoriously difficult to resolve without spending a lot of money and investing a large amount of time and manpower.

So, when these issues were combined with the shrinking budgets and constricted IT staffing in the post-boom era, application performance issues became (and still are) the root-cause of most Web performance issues.

In recent months, as the use of Internet telephony, rich-media streaming, file-sharing, RSS, and SOA products rise nearly exponentially, the bandwidth crunch is starting to re-appear. This is something I first speculated about in October 2005 [here].

In one area, I do agree with the Performance Matters post: the larger the page, the slower download. However, the ongoing debate is one that pits the "more smaller" crown against the "fewer larger" crowd. The "fewer larger" crowd appears to be losing, given the design of most modern Web pages.

The only other comment I can fairly make here is that the majority of the sources cited in the Performance Matters post are 5-6 years old. In that time, I have learned a lot about Web performance, and that the post is more relevant to to the state of the Internet at that time, and not now.

Paul Fisher dies at 93

Over the last two years, Fisher Space Pans have taken on near iconic status with the leaders (and followers) in the trendy nouveau geek crowd.

Paul Fisher died recently at 93. [via Notebookism]

Having "donated" four space pens to the cosmos through my own absent-minded behaviour, I can say that I have done my bit to help spread the meme.

Paul Fisher, write when you get there.

Saturday, December 9, 2006

My California Vanity Plate

When we lived in California (1999 - 2003), the CrazyCanuck-mobile had the following vanity plate.

Brain Drain -- 1999 - 2003

Likely only Canadians will get it.

Friday, December 8, 2006

Most days....

Once again, thanks Hugh.

FeedBurner Feeds Back

After a couple of days vacation, the FeedBurner feeds are back.

I bought the domain forwarding option from (, and then waited. I reactivated the feed at this morning, and you can start using that again.

Rick Klau from FeedBurner left a comment last night, which prompted me to try again.

Hopefully things will remain stable now.

Technorati Tags: ,

Thursday, December 7, 2006 BUILD A SKYPE WIDGET!

I do not want to host my own blog.

Even if I wanted to, does not make it easy to export content. This, however, is a separate discussion.

Skype and Web 2.0 (I hate the term, but I am using it) are inextricably linked.

Wordpress and Web 2.0 are inextricably linked. hates Skype. It's that simple.

According to a forum post:

Actually in this case it's because skype and callme are being stripped. They're not XML recognized tags and staff has stated that they won't be supported.


Fraid not. Javascripts are still removed from input for security concerns. If you really need Skype, I would suggest getting a paid host.


Thank you.

Technorati Tags: , ,

New header image

This is a shot I took at Sweetgrass Farm Winery in November 2005.

One of my favourite places in the world.

PS: Keith Bodine, vintner and distiller at Sweetgrass Farm Winery got the last of his necessary permits and licenses this week. Wine and spirits shall start flowing from Maine soon! Well, as soon as one can expect fine wine and spirits to flow.

Technorati Tags: , , , , ,

Back to Performancing

After a few months using the Microsoft Live Writer, I am giving the Performancing Blogging Extension for Firefox another try. Just seems more natural that since I use Firefox as my daily work platform, I should use it for everything.

Technorati Tags: , ,

The Joy and Stigma of Burnout

Today, the sun is shining and I am working from home, so things don't seems as bad.

The last few days have been interesting, as I have become more aware that the my work-related anger and dissatisfaction does not originate with the people at work, or the place I work, or the work itself, but from that beast that so many white-collar professionals suffer from: burnout.

Burnout is not sexy. In the US and Canada, it is seen as a sign of weakness, a lack of the American Work Ethic. NPR had a great discussion of burnout this week, and New York Magazine published a cover article on it this week.

Listening to NPR on Monday, there was a story of how the US armed forces are punishing soldiers who return from Iraq and are diagnosed with PTSD (Post-Traumatic Stress Disorder) [here]. The successful soldiers see the soldiers (what defines success for a soldier?) with PTSD as weaklings, people who should be punished, pushed out onto the streets, stripped of their American citizenship as cowards and traitors.

I do not claim that PTSD and work-related burnout are equal; my focus here is on the stigma that the US culture places on doing the job, regardless of what the job does to you.

You can do the job. Good. What kind of person are you?

I am a rebel. I do not fit the US success criteria. I don't want a title. I don't want a box on an org chart. I don't want to have the biggest bank account. And I have no respect for people who worship at the temple of US success until they show me that they can do something that I respect.

Today. I wrote an email to my manager and VP stating that during my Christmas break this year, I will be completely unreachable for  anything work-related. Unreachable for EVERYTHING work-related. It is likely that I will be seen as "letting the team down", as it is not only end-of-quarter, but end-of-year.

You know what? I don't care. I am more important than my job. If the company I work for now doesn't recognize that, I will find a new company.

You know who the most successful people I know are? My friends who "dropped out" of the corporate world, moved to Maine, and are slaving, day and night, to get their under-funded winery project off the ground. While raising three kids. While renovating and repairing 200-year old farm buildings.

Success does not come from money, power, or a title. I comes from having the respect of the people around you. I comes from a desire to get up in the morning and do something that completes you, fills a void inside you.

Right now, when I get up, I step into a void.

Burnout. It's here to stay.

Technorati Tags: , , , , , ,

Wednesday, December 6, 2006

Changes at work -- your thoughts?

Yesterday, I read Anne Zelenka's post on ROWE at Best Buy. I was heartened to see that this idea was getting mentioned again, and that it was getting front-page interest from Big Media.

On a lark, I forwarded the post to my director and VP. Their responses frightened me. They were written in management-ese, and indicated that timesheets are soon to be added to my daily routine.

Hugh Mcleod -- Sheep/Wolf

I can help cure the first, starting with Why Business People Speak Like Idiots, and George Orwell's Politics and the English Language.

The second plague, timesheets, I see as more odious. It goes along with the new measurement-focused management culture in our company. Sometimes, I wonder what's more important to the managers and executives: measurements or results.

As a person who is difficult enough to manage due to my bipolar, and my deep-rooted desire to do things that have meaning, timesheets are a problem for me. I don't work to timesheets; I work to goals.

Structured environments have always been a serious problem for me. They trigger a deep resentment, some deep rooted need in my soul not to conform. I know that they serve a purpose, and that some people take a great deal of comfort in the process of knowing how they spent their day. My comfort comes from delivering meaningful results, not in worshipping the almighty bureaucracy.

I suppose that as the company I work for grows and has more people to manage, timesheets are inevitable. However, it's about the time that timesheets appear that I feel the need to find more results-oriented, dynamic organizations.

Timesheets are a sign of corporate doublespeak, freeing people from the need to excel.

Technorati Tags: , , , , , , ,

Monday, December 4, 2006


Dear Skype:

I love the software. I am using it more for personal and work calls.

But I need to know when I have a voicemail. Now, not 24 hours from now.

I know you know about the problem. But it's been over a month. I assume the voicemail notification wasn't a problem before. So you know how to fix the problem, right?

Are you working on it?

Is anyone out there?

Technorati Tags: , ,

Saturday, December 2, 2006

What American Accent do I have?

What American accent do you have?
Your Result: The Midland

"You have a Midland accent" is just another way of saying "you don't have an accent." You probably are from the Midland (Pennsylvania, southern Ohio, southern Indiana, southern Illinois, and Missouri) but then for all we know you could be from Florida or Charleston or one of those big southern cities like Atlanta or Dallas. You have a good voice for TV and radio.

The West
North Central
The Northeast
The Inland North
The South
What American accent do you have?
Take More Quizzes

This is good to know. I have been spending years trying to make my speech sound as non-descript as possible. It was interesting this summer to go home and talk to my family. They have a uniquely Southeastern BC/Southwestern Alberta accent. Hey, even Canada has unique accents.

You don't think so? Well, the stereotypical "Canadian" accent that is portrayed in the US popular media is actually a Southern Ontario / Toronto Area accent. It is easily recognizable and immediately pegs you in the rest of Canada as someone who should be distrusted as a likely carpetbagger. ;-)

The only spoken/written giveaways I have retained are:

-- "a- bowt" and "owt"
-- "prawcess"
-- "sheduel", although I do alternate this with "skeduel"
-- I spell "theatre", "centre", "colour", etc. correctly

However, if you call me American, I will be very quick to correct you.

Friday, December 1, 2006

FeedBurner Feeds Removed

Well, for some reason that I can't determine, FeedBurner and my feed stopped playing nicely this afternoon. And they won't reload, because wants to send all 1400+ articles in the database back to FeedBurner.

Sorry to do this to you all, but the FeedBurner feed is removed. Deleted.

Hope y'all switch to the feed.

UPDATE: The FeedBurner Feed is back.

FeedBurner can't find Crazy Canuck Feeds

Joe Kottke of FeedBurner sent me an e-mail to tell me that the measurement of my feed was throwing off their GrabPERF Stats.

Guess what? FeedBurner can't find the Wordpress feeds at, hence the disruption.

Likely you won't read this until it's fixed, if it's fixed.

I love Fridays.

Thursday, November 30, 2006

More Upgrades that Suck: Yahoo TV, Part 2

Just went online and thought I would share the Yahoo TV comments so far.

Rushi's Ramblings

Jason Blogs

Paul Kedrosky

Dave Winer


Oh, and my comments.

Yahoo, please give us an opt-out on this monstrosity. Or better yet, do a complete rollback.

Technorati Tags: , , , ,

Interesting Google Reader Error

Google Reader gave me this error this morning.

Interesting and perplexing.

Wednesday, November 29, 2006

Upgrades that Suck: Yahoo TV

Looks like Yahoo TV upgraded overnight.

Guess I will get my TV schedule information from other sources now.

DHTML/AJAX Schedule is slow and confusing.

Front page looks like a Flash designer got lucky -- Look at all the dancing images!

Complex, complicated, and visually disturbing.

Oh, and no option to downgrade to the original, functional version.

All I want is the TV listings.

How hard is that?

Here we go again

I wrote this in December 2004.

A lot of things have changed since then. And a lot has remained immobile.

I don't know whether to add creative burnout to the raging fire I now know is Bipolar, or to see it as a part of a more general work-related malaise.

I need to talk to a few more people to get a sense of where the work environment is going, what goals I could set for myself. What people expect of me, as compared to what I expect of myself.

We have a strong feeling where the landing points for the family will be within 12-18 months. We have set three possible targets, and each has it's positives and negatives. We aren't making a final decision yet, as we want to see how the winds blow.

All we have is 75-80 years. Sometimes it moves too slowly.

Tuesday, November 28, 2006

Snowstorm -- Victoria, BC -- November 2006

A photo of the Causeway (in front of the Empress Hotel) in Victoria, BC after the Sunday/Monday snowstorm.

Snow in Victoria is pretty rare. Snow that sticks is even more rare.

Picture by Darren Stone -- Victoria Times-Colonist

Monday, November 27, 2006

Skype: One month left....

Here in North America, we have a little over a month left in our free Skype-2-North America phone service. (here)

I'm addicted. I will pay whatever they want me to so I can keep calling US phone numbers from one application.

And I can't figure out why more people in the US and Canada still don't use Skype. Maybe they think that it's too good to be true.

Guess what?

It's very good, and it's true.

Get it.

Friday, November 24, 2006

Maine: Sweetgrass Winery -- Under Construction

Up here in Maine, wineries are done the old-fashioned way. Back-breaking physical labour. Check out these photos of construction on the winery part of the winery (here).

However, the nicely framed and hospitable winery space has another side: The old barn with the trench down the middle. Well, yesterday it had a trench. After two days of rock-hurling and dirt-flinging (mainly by Samantha and a small amount by me), the three-foot wide and two-foot deep trench running to the formerly askew septic tank is mostly filled in.

It had to be done by hand in order to protect the PVC waste pipe from damage.


That said, the work that Keith and Constance have done up here staggers my mind. They have done more work in a year than I have done in all my life. Hard, brutal work. While Constance holds a full-time job, and they manage a flock of sheep and three kids.

Next fall, you should be able to sample their winery and distillery products.

And (shameless plug) if you want to invest in a winery, or need winemaking/distilling consulting, let them know; e-mail and snail mail address on their web-site.

Thursday, November 23, 2006

Maine: Digging a hole, and filling it

So, how did you spend your Thanksgiving Day?

Keith is installing the run-off / septic tank for the Winery. Last week, in the heavy rains, the hole it was in filled with water and the tank was bobbing up and down in a pit of muck.

Now that the muck has been drained, he needed to make the tank level and fill around it. Keith did most of the work, but we had to jam rocks under it, and then lever it until it was level. Then Keith dumped fill in around the tank.

Hopefully it will be stable.

Now, it looks like we will get a blast of frozen rain.

Oh, the joys of farm life.

And not a Starbucks in sight.

Tuesday, November 21, 2006

Going North

So, we're packing up the minivan and heading for the idyllic wilds of Maine for the Holiday weekend.

I will have connectivity, but frankly, there will be too much going on with five kids, four adults, a dog, and a flock of sheep (no sheep-human interaction! You people are sick!) to be online much.

Monday, November 20, 2006

Skype, Skype, Skype, Skype...OH! Wonderful Skype!

Over the next 12-18 months, my plan is to move to working from home more. Like, 100% of the time, when I'm not travelling. To help accomplish this, and to free myself from the servitude to the Telcos, I have started to migrate almost exclusively to Skype for my work communication.

In this area, I bought two SkypeIn numbers over the weekend: One for the US, and one for the UK. So, if you want to contact me (oh yeah, I'm beating down the doors to keep people out -- NOT!), I can be reached at:

SKYPE NORMAL: stephen.pierzchala
US: +1.508.471.3865
UK: +44 20 8133 3865

If I am online, I will likely be willing to chat; if not, you'll bounce to my Skype voicemail.

I love Skype.

Did I mention that I love Skype? Oh, ok...

Friday, November 17, 2006

Me on South Park -- November 2006

Been a while...but this is least recently.

What happened to the good stuff?

The last two months have brought substantial changes to my life, and to my view of the world. I am in flux, in change, in limbo. Evelyn Rodriguez of Crossroads Dispatches went through a similar phase lately.

The society we live in is driven by disruption, change, atomization. When you actually translate these messages, they are simply new ways of saying "buy more stuff".

I don't need more stuff. Given some of the plans we have for the next 12-18 months, we need less stuff; or at least more portable stuff.

And if you want disruption and atomization, live inside my mind for a day. The internal chaos of my mind that I am trying to understand is disruptive enough without having to absorb the external chaos people want to bring to my life. So I crave external calm.

The written word, on paper. The beauty in a photograph. The smell of the woods.

My life has been dictated by achieving the ephemeral, in a world completely addicted to "change for change's sake".

I'm tired of keeping up. So I am consciously falling behind. Life is finite, ephemeral. Stuff doesn't matter.

Change doesn't matter.

People matter.

Walk away from the technology for a day, a week. Live with yourself.

It's been a revelation to me.


Apparently the fog is getting thicker in here. My neuro-chemistry must be pretty messed up, as I can't concentrate on anything and all I want to do is sit outside and watch the wildlife play in the "wetlands" that surround our building.

I remember being productive, I really do.

Of course, my short-term memory is pretty shot right now, so I may be making that up as well.

Thursday, November 16, 2006

Dosage: “Well, it's . . . um . . . it's green."

For a 38-year old man with no outward symptoms of a physical ailment, my daily drug/supplement regimen is one that would leave many of my peers stunned.

The problem is, that like most people who are bipolar, I take a cocktail to try and balance out the variety and multitude of symptoms and effects I undergo. The current melange, as prescribed is:

It's the last one that causes me the greatest concern. Paxil/Seroxat/paroxetine is prescribed much less freely now than it was when I was first given it in 1999. The side-effects can be stunning and as dangerous as the condition they are supposed to assist with.

I have tried multiple times to take paroxetine out of my "diet". Unfortunately, I immediately slip into SSRI discontinuation syndrome -- aggressive behaviour, irritability, and a host of other issues. In the final calculation, paroxetine will likely be a part of my "diet" until I have 6 months in a Tibetan hermitage to wean myself off of it.

Until then, I am adding things such as Omega-3 oils and Ginkgo Biloba to the mix to see if they help my body control my cycles naturally, using the methods it has used for millennia.

It's interesting to note that, when we are mostly aware of what's going on, Bipolars are the best ones to play with and adjust their own treatment regimen. Most high-functioning Bipolars seem to enjoy tweaking and turning the knobs in most things anyway, so why not in our medications.

[The reference in the title is from a Star Trek, Original Series episode. You know how to use Google; you find out what it means.]

Tuesday, November 14, 2006

When you get to the bottom, you go back to the top...

I can already tell that today will be a write-off. I am vibrating, I can't concentrate, and my new boss starts today.

I felt warm and fuzzy this morning, which is now a symptom I recognise of the ride up the cycle. I didn't want to stay in be; I wanted to get out of bed at 04:30 and go to work. I felt that I could do anything.

But now, the world-beating energy is gone, and the sporadic chaos, and paralysing lack of motivation have kicked in. I want to hide and stare out the window.

Wheeee! Let the Winter fun begun!

20 Years Ago Today...

On November 14, 1986, Charles Mountbatten-Windsor turned 38.

And I turned 18.

I have always been haunted that our two lives are intertwined, twenty years apart.

Happy Birthday Chuck.

All in the Family

Time to put the manic energy I have this morning to use.

One of the most interesting things about Bipolar is that genetics plays a substantial role in determining whether you will have it. In my case, my family is a disaster when it comes to mental health.

On my father's side, there is a long and glorious history of schizophrenia and bipolar, including at least 2 grand-uncles, and their children. Two of my father's cousins have committed suicide.

My grandfather committed suicide in 1978.

Everyone says that this was out of the blue, there was no reason for it. He left no note, or showed any indication. But as I learn more about this condition, this state of mind, I realize that the suicidal depressions can often swamp you, flood you, to a point where a person who appears fine will take the final action in the next minute.

On my mother's side, my grandfather medicated with rye. As well, he had amazingly manic states; at least, that's what we would call them now. He passed the genes along to two of his children, one of whom is my mother.

Over the last 10 years, my mother has degraded to a point where she lives alone, rarely goes out, is socially inappropriate, and has tried suicide at least once.

When I speak with her, it is hard to stare into the face of what I might become, what I must be aware of, what the costs of this condition can be.

So, I was doomed from the start. My father, a man who was challenged by his own demons, married a woman who is a wildly cycling bipolar II.

My family is lucky. As far as I can tell, I absorbed all of the bipolar genetics, leaving my brothers to conquer the world in their own ways, without the chaos that tears my mind apart. I am sure that they look at me and wonder why I am so nuts. I am sure that I am not alone in being the odd family member in a sea of normals.

So when you are in the depths of your misery, or at the heights of your mania, try to step back. Ask your parents, siblings, grandparents, cousins, uncles. Try and find the thread, the trail that leads through your family. Somewhere along that trail, likely in many places, the "characters" or "eccentrics" or "troubled souls" will leap out at you. These are the people who suffered, and revelled, in their condition, and passed it to you.

And realize that you can't lay blame. You can't transfer your woe and misery and mania to someone who is likely long gone. You just need to understand that you are the current carrier of a torch that originated long before you were born.

Monday, November 13, 2006

Other signs of mania: The hoarder

I have talked in other posts about being an accumulator, driven by the mania to buy things that I have no need for, nor will I ever use. A slight variation of this theme is the need to hoard.

How can accumulation be different from hoarding? It's simple, it's not simply the accumulation of things; it's the hoarding of them in caches, stores, and never share them with anyone.

As well as accumulation, I hoard. I am loathe to throw anything away. I must have it there, in case I need it, sometime, anytime.

Files. Papers. Photographs. Gadgets. Their mine. All mine. Don't touch them! Get out of my space!

It is another inexplicable part of the Bipolar. The manic need to keep it all close. To protect it from others. To keep them from taking your irrationally collected things.

Isn't the mind a fun place?

Sunday, November 12, 2006

UK: Ancestry and the Commonwealth

I just found out today that I one of the ever decreasing number of Canadians who has a free five-year work visa waiting for them in the United Kingdom, courtesy of their grandparents.

It's called the UK Ancestry Visa, and it opens up a whole new set of options to me. It streamlines the hideous visa process I have encountered in this country (USA), to a form and the birth certificates of my grandparents, my parents, and myself. Oh, and their marriage certificates.

And yes, it appears that I may score 3 out of 4 in the grandparental category, as my Scottish grandparents were all born over there.

And no, Pierzchala is not some strange Highland clan, lost to the dark fog of the ages. I am 25% Polish. I have always wanted to have a custom flag made, with the Imperial Polish Eagle superimposed over the cross of St. Andrew.

So, let's see: hideous work permit process that takes years and has no guarantee of success; or immediate entry and work with a simple form and some family documents.

Now, admittedly, I have it easy due to my UK ancestry. However, the entry of highly skilled workers into the UK takes days, not years.

And the US wonders why emigrants are loathe to come here anymore.

T-Mobile USA: Your upgrades suck

Dear T-Mobile USA:

I have been a dedicated customer of yours since 2004. I have become an advocate for GSM services, and think that my brethern who continue to use CDMA services are not looking to the future, and don't see the world coming at them.

That said, as a customer who likes gadgets and all the bells and whistles, your upgrades are pathetic.

And no, that level of emphasis is not used lightly.

I have just returned from the UK. Over there, the phone choices offered by providers stagger the imagination. Bells and whistles are yesterday -- people base their lives around their phones, and the quality and range of phones available are, to say the least, impressive.

They also know that to retain customers, they have to provide astounding FREE upgrades. The latest, greatest are available as free upgrades just for becoming a slave to their contract.

I went and checked the upgrades you offer right now, T-Mobile. They suck. There is no motivation for me to stay with your service, no motivation for me not to move to another GSM provider and kiss my customer fidelity goodbye.

A simple thing: upgrade your upgrades. Please.

Thank you.

London: Back home and some travel tips

Now that I am back on US soil, I have some tips for surviving your trip to London.

  1. GSM Phones. If you are one of the millions in the United States who subscribe to a CDMA service (Verizon, Sprint, etc.), invest a few bucks on eBay and buy a low-end, unlocked, tri-band GSM phone. I have used GSM for years, and the unlocked phones give you an amazing advantage -- you buy a pay-as-you-go SIM card once you arrive.

    In the UK, incoming phone calls are free. If you have a half-decent office phone system, you should be able to remotely forward your desk phone to your UK number and voila! You have a local number that folks in the US can always reach you at.
  2. OYSTER CARD! If you plan to travel anywhere on the London Public Transit system, buy an Oyster card. Same concept as the pay-as-you-go SIM card. And you're never fussing with change or daily passes for the tube, DLR or busses.
  3. Saline Nasal Spray. This seems like a bit in the "too much information" category, but trust me on this one. London's atmosphere makes New York seem like an untouched Alpine pasture. After one day there, your sinuses will feel and look like the inside of a pool filter after a dust storm. A simple nasal spray takes of this, and often provides a somewhat scary indication of what man does to the urban environment he lives in.

    If you don't want to pack one with you, you can buy some truly awesome stuff at any Boots -- Sterimar. What makes this stuff uniqe is that it is aresol powered. Unlike the wussy atomisers we use over here, this stuff is freakin' jet-propelled -- if it can't blast the crap out, it's likely brains.
  4. Look to the right. Yeah, we all know that the Brits drive on the other side of the road, but many an American has been nearly killed in the first twelve hours on the ground by using their instincts and not their brains. I am in this group.

    Thankfully, the Brits provide nice warning labels at most crosswalks; look down, and they will tell you which direction to look in to avoid becoming a hood ornament for a Bentley.
  5. Change Wallet. Dear lord; you will need one of these or you will blow out every pocket you have. The Brits still use a lot of cash, and like the rest of the world, the lower denominations of their currency are coins, not bills. A solid change wallet is key.
  6. Take the red-eye. You will search online and find a multitude of strategies for dealing with jet-lag. I have a simple one -- make sure your flight takes you overnight so that you land at Heathrow/Gatwick/Stansted/Dublin/Luton first thing in the morning. For folks on the East Coast or Central Canada, this means flights between 19:00 and 22:00 Eastern. For West Coast folks, it's a 11-12 hour flight and an eight-hour time change, and Heathrow opens at 07:00, so 11:00-14:00 Pacific is a good range.

These are the top six I can think of rigt now. Comment on your strategies if you have them.

Saturday, November 11, 2006

Lest We Forget

Lest We Forget

Originally uploaded by spierzchala.

Stop, and remember.

The US has no symbol for this day.

In London this week, poppies were everywhere, even on cabs and lorries. In Canada, it is likely similar.

Read "In Flanders Fields" -- then you will understand.

Lest we forget.

Thursday, November 9, 2006

London: And now the disease sets in

So today, the cold leaped from behind the bushes and threw me down to the ground.

I managed to limp through my meeting Portsmouth, and then get back to the hotel for a two-hour nap. Now I am seriously medicated, I am limping through some work, then I need to go find some food.

I am surprised it took this long to get me. Usually I am sick within the first 2-3 days. Maybe living with my disease breeders helps me develop a limited tolerance.

Tomorrow, I fly home.

London: The Summary

I am in London for the rest of today and most of tomorrow, but London has been a good experience. Lots of Tube time, lots of good discussions with my UK colleagues, and lots of good food.

However, all things must catch up with you, and today I feel like my body is here and my mind is following about 5 minutes behind. Foggy, groggy and dis-oriented. I think I need to go to bed at 7PM tonight.

Or I'm getting a cold.

Saturday, November 4, 2006

London (V & A): The sketchbooks of Leonardo da Vinci

I went to the Natural History Museum, and the Victoria and Albert Museum today, which isn't too shabby considering that I am jet-lagged and trying to get my body on the local schedule after taking the red-eye in.

The Da Vinci exhibit had pages from his notebooks and sketchbooks. Seeing the mind of a genius, the range of interests...the scope of what he accomplished, is astounding.

Go see it. Worth the trip to London.

Tuesday, October 31, 2006

London, HO!

On Friday night, I am getting on a BA flight from Logan to Heathrow to work out of our London office for a week. I love going to London, as it's the only major city I feel comfortable moving around in without a car.

Besides work, highlights include the Victoria and Albert Museum, and possibly the Tate Modern.

If you'll be in London next week, let me know! I will be on Skype and will have a UK number that my desk phone here in the US will be forwarded to.

Monday, October 30, 2006

Web Performance: Optimizing Page Load Time

Aaron Hopkins posted an article detailing all of the Web performance goodness that I have been advocating for a number of years.

To summarize:

  • Use server-side compression

  • Set your static objects to be cacheable in browser and proxy caches

  • Use keep-alives / persistent connections

  • Turn your browsers' HTTP pipelining feature on

These ideas are not new, and neither are the finding in his study. As someone who has worked in the Web performance field for nearly a decade, these are old-hat. However, it's always nice to have someone new inject some life back into the discussion.

Sunday, October 29, 2006

What do you mean you don't think this way?

One of the lengthy conversations I have had with my wife as I work my way through understanding how my bipolar works and affects my life focused on how I think, and see the world.

I am just now coming to terms with the fact that the filters I process my world through are radically different than those that most people use. This is a breakthrough for me, as I assumed that everyone saw the world as I did and do.

A lot of this comes from my family. Both sides of my family are rife with bipolar and schizophrenia. My mother has it; my father had it to a lesser degree. My family was unusual because of this. Not dysfunctional; just differently functional.

My wife filters the world in a logical, linear way. Imagine one of those orderly mass protests you see on the news. Lots of people, lots of noise, but everyone moving in the same direction, headed for the same goal.

Then there's me. I filter the world as if there was a riot going on. People running everywhere, throwing rocks, Molotov cocktails, screaming. Troops in vehicles rushing through spraying water cannons. But occasionally, one side or the other gathers enough strength to achieve a small tactical victory, push the other side back a little.

When you step back and look at those of us who have bipolar, remember that we see your world very differently. And it is your world, designed to preserve order and organization, protect you from the "madness" in our minds.

Thursday, October 26, 2006

Living with Bipolar: If you could press a button and be cured, would you?

Since August of this year, I have been exploring the insides of my mind in greater detail. If you read this blog regularly, you are pretty likely aware of the fluctuations in my mood, and the rationality of my behaviour.

If you get the chance, find and watch The Secret Life of the Manic Depressive hosted by Stephen Fry. In his open, intelligent and witty way, Fry tackles the topic of Bipolar Disorders (oh yes, there are more than one), including his own. If you can find it (you will have to try all of the usual channels to get it in North America), watch it.

So, why am I openly discussing the fact that I am Bipolar in a public forum? Why would I confess to the world, to people who may in the future meet me, or even consider hiring me?

It's simple. Many months ago, I wrote that if you were going to hire me based on what I had done in the past, or what school I went to, I most likely wouldn't want to work for your company anyway. The same applies to this illness, this condition I suffer from. If you or your company won't hire me because I suffer from an illness that is beyond my control, that I will have for the rest of my life, why would I work for your firm?

I have had Bipolar for a long time. I can track the behaviours that identify the condition back into my childhood, through my teens, through until today. Normally, the cycling that I go through is benign, punctuated by periods of utter and complete hyperfocus. Most of the time, hyperfocus is a benefit for me -- it is what got me through re-building the GrabPERF interface last year, and helped power me to absorb and write as much on Web performance as I have.

The manic side does have its pitfalls. My mania usually results in buying and spending sprees that have often endangered my financial stability. An example of this is my acquisition or stationery supplies, pen, notebooks and books.

Two weeks ago, I cleaned out my desk and aggregated all of the writing instruments I have purchased over the last 12 months. When I was done, I had filled a 1-gallon Zip-Lock baggie with pens, pencils, highlighters and Sharpies.

In my lifetime, I could never use them all.

I fanatically acquire notebooks. Rhodia, Moleskine, Rite-in-the-Rain, anything. How many of them have I written in? Well, lets just say that my kids will be using my blank notebook collection for many years after I have departed this world.

The spending sprees, the intense desire for the acquisition of things, is my most noticeable manifestation of manic behaviour. In most instances, the manic process starts to wind down after a while. In a few instances, it continues upward. It continues upward until my rational mind dissipates, and I start ranting and raving, making irrational and potentially destructive choices in my life. Choices that have (or could have) affected the course of my life.

I suffer from a small subset of the condition, Bipolar I. What differentiates this group from the standard "manic-depressive" or Bipolar diagnosis is that is more MANIC-depressive, with a sustained emphasis on the manic episodes. Depressive episodes occur, don't get me wrong; but it is the intense and unstoppable mania that has shaped me more than the depression.

However, this condition is not "curable" in the standard way. It also doesn't manifest any physical symptoms. So in most cases, people just say that I need to get a grip and get on with my life. I am grateful that I have an understanding and (in some cases) forgiving wife who is intent on helping me control and regulate my behaviour. I am also extremely lucky that my current manager understands this part of me, and gives me the freedom I need to ebb and flow with the condition.

To wrap this up (I hate long postings), I leave you with this thought. In his programme, Fry asks his interview subjects the following question (and I paraphrase it here):
If there was a button you could push, a button that cured you of this condition, and gave you a normal mind, would you press it?

Only one of the interview subjects said yes. Everyone else said that despite the pain and suffering that accompanies the condition, there is no way that they would be willing to give back the state of mind that allowed them to achieve what they had achieved.

We are not in our right mind. And I am proud of that.

Technorati Tags: , , , , , , , ,

Sunday, October 22, 2006

Fire? What Fire? The flames, smoke and fire engines are part of a cunning training exercise.

Homeland Stupidity is great and reminding us that the security and intelligence community in the United States is insecure and of questionable intelligence.

The military intelligence unit responsible for spying on Americans had to evacuate its Fort Meade, Md., offices Friday after a six-alarm fire broke out.

A fire broke out shortly after 3 p.m. on the roof of Nathan Hale Hall, at 4554 Llewellyn Ave., just on the other side of the golf course from the National Security Agency headquarters. Construction was underway on the part of the roof that caught fire, according to Lt. Col. James Peterson, director of emergency services at Fort Meade.

A fire is unfortunate, and yes, it occurred in a building with sensitive "intelligence" material. However, isn't this quote from later in the post a bit odd?

Jennifer Downing, a spokesman for the post, would only confirm a fire was burning at 4554 Llewellyn Ave., deep inside the west county Army base. She directed calls to a spokesman with the Army’s Criminal Investigation Division, who did not return calls.

Fort Meade’s fire chief also did not return calls for comment. And later, a public affairs officer told The Capital to file a Freedom of Information Act request. — Annapolis Capital


"Dude, I can see flames coming from your offices."

"I can neither confirm nor deny that my hair and clothes are on fire. Excuse me, I must participate in the screaming in pain and running madly away from the fire exercise."

Saturday, October 21, 2006

Kevin Tillman: And just how do you justify Iraq again?

Kevin Tillman, the brother of the late Pat Tillman, has written an essay that will make it hard for anyone to justify Iraq.

How can the Rumsfeld, Rice, Cheney, Rove, and Bush argue their way out of this essay?

Remember, the Gettysburg Address took less than 2 minutes to deliver.

Pass it on.

Yet another stationery 12-step program drop-out

Traveling Journal Kit - contents
Originally uploaded by junquegrrl.

Ummm...and I thought I had a problem!

Tuesday, October 17, 2006

Tomorrow: OHIO!

Flying JetBlue into Columbus tomorrow to see a client in the Cincinnati are on Thursday.

Not that anyone ever checks in, but if GrabPERF goes poof, it may be a while before I get to it.

The Office Smells

Either I have lost my mind or the building has become truly evil.

Today, the air in my office is saturated with the small you can only find in an airplane bathroom.

You all know the smell. It is one of the most unique shared experiences humans can have.

It's evil. And it's everywhere.

Wednesday, October 11, 2006

Web compression: Oh, the irony!

Well, the irony of this is painful.

I went with 1&1 as the hosting location for my personal domains, including

One of the things that I preach there is the use of compression.

Guess what? 1&1 doesn't use Web compression on their servers.


Port80 Software: IIS 6.0 Market Share Increases in Fortune 1000

Port80 Software is reporting that in their survey of Fortune 1000 Web sites, IIS 6.0 has overtaken Apache as the Web server platform of choice. [here]

My two-cents: I respect the Port80 Software team greatly and love their maniacal devotion to ensuring that IIS users actually make use of the HTTP compression and caching that can so greatly improve Web performance.

That said, they are tied to Microsoft and the IIS platform. I would be curious to see if, scratching below the surface, they were able to determine what the application platform these companies built their mission critical Web applications on. I am open-minded and willing to hear that IIS is winning in that area as well. In my mind, it's about Web performance tuning, not what you use to get that performance.

That said, I think a critical Web application survey of these same firms would find that many of these companies rely on JSP servers to run their core business processes.

As well, it would be interesting to se, by Fortune 1000 ranking, what the companies are using what server platform.

And...people still use Netscape Enterprise, SunOne, and Domino as production Web servers? YIKES!

Guilty Pleasures: Go Insane

As a teenager growing up in a very small logging town in the BC interior, I had what could be politely termed unusual musical tastes, especially for the mainstream, heavy-metal, hair-banging kids I hung around with.

But when I was alone with my walkman, I listened to the real geniuses of 80s rock: REM, Kate Bush, Talking Heads, and...Lindsey Buckingham.

Lindsey Buckingham?? That guy from Fleetwood Mac?

Want a little aural treat? Listen to Go Insane. I literally wore the oxide off my version of the cassette. Crosses so many different boundaries...and realize that you are pretty much hearing Lindsey Buckingham only. Mick Fleetwood makes a couple appearances, but other than that, it is a one-man show.

Do it. I dare you.

Tuesday, October 10, 2006

Citizens Bank Outage

Citizens Bank Outage

Originally uploaded by spierzchala.

Some days, your bank needs to get smacked around.

This is one of those times.

What is going on?

AJAX Performance Blog

Ok Web performance gurus, I have been out-cooled by someone I work with. Ryan Breen, VP of Technology at Gomez and overall uber-geek, has managed to register AJAX Performance and has a blog up there that talks all about the freaky twisted goodness of making your AJAX behave.

Ryan knows way more about making apps behave; I just know how to analyze the data that shows that they're broken.

Monday, October 9, 2006

Happy Thanksgiving

Happy Thanksgiving

Originally uploaded by spierzchala.

To all the folks back home, Happy Thanksgiving!

May your turkey be moist, juicy, and, preferably, smoked.

Saturday, October 7, 2006

This is amazing

Sometimes, you have to be in awe.

USS George H.W. Bush

Today, they christened the Nimitz-class carrier, George H.W. Bush.

Still a few bugs to work out. Seems the navigation system breaks down after it has seen battle, causing it to wander aimlessly, and eventually become lost. It is especially vulnerable to attack by more than one enemy simultaneously, which in some simulations has forced the commander to surrender the vessel.

I also hear that they have started CAD drawings for the Seawolf-class nuclear submarine SSN George W Bush. Not only is it designed to be isolated from and out of contact with the rest of the world for long periods of time, I hear that it will have a new command feature: all fleet orders, battle information, or damage reports are first filtered through the boat's Media Relations Officer before being passed to the commander.

File Under: Humor.

Friday, October 6, 2006

Aren't tracer rounds illegal?

So, after 6 years of controlling and managing my own Web server, I have handed responsibility over to 1 & 1. I wish I could say that there was a really good reason why I've done this, but frankly, it's because I don't need a lot of oooommmmph for my personal domains (they run happily on a low-end Pentium II Celeron), and the price was right.

GrabPERF is still happily hosted by the folks at Technorati, while controls my blog.

In some ways, I am glad that someone else has these headaches now.

Tuesday, October 3, 2006

Performance Improvement From Caching and Compression

This paper is an extension of the work done for another article that highlighted the performance benefits of retrieving uncompressed and compressed objects directly from the origin server. I wanted to add a proxy server into the stream and determine if proxy servers helped improve the performance of object downloads, and by how much.

Using the same series of objects in the original compression article[1], the CURL tests were re-run 3 times:

  1. Directly from the origin server

  2. Through the proxy server, to load the files into cache

  3. Through the proxy server, to avoid retrieving files from the origin.[2]

This series of three tests was repeated twice: once for the uncompressed files, and then for the compressed objects.[3]

As can be seen clearly in the plots below, compression caused web page download times to improve greatly, when the objects were retrieved from the source. However, the performance difference between compressed and uncompressed data all but disappears when retrieving objects from a proxy server on a corporate LAN.



Instead of the linear growth between object size and download time seen in both of the retrieval tests that used the origin server (Source and Proxy Load data), the Proxy Draw data clearly shows the benefits that accrue when a proxy server is added to a network to assist with serving HTTP traffic.

Uncompressed Pages
Total Time Uncompressed -- No Proxy0.256
Total Time Uncompressed -- Proxy Load0.254
Total Time Uncompressed -- Proxy Draw0.110
Compressed Pages
Total Time Compressed -- No Proxy0.181
Total Time Compressed -- Proxy Load0.140
Total Time Compressed -- Proxy Draw0.104

The data above shows just how much of an improvement is gained by adding a local proxy server, explicit caching descriptions and compression can add to a Web site. For sites that do force a great of requests to be returned directly to the origin server, compression will be of great help in reducing bandwidth costs and improving performance. However, by allowing pages to be cached in local proxy servers, the difference between compressed and uncompressed pages vanishes.


Compression is a very good start when attempting to optimize performance. The addition of explicit caching messages in server responses which allow proxy servers to serve cached data to clients on remote local LANs can improve performance to even a greater extent than compression can. These two should be used together to improve the overall performance of Web sites.

[1]The test set was made up of the 1952 HTML files located in the top directory of the Linux Documentation Project HTML archive.

[2]All of the pages in these tests announced the following server response header indicating its cacheability:

Cache-Control: max-age=3600

[3]A note on the compressed files: all compression was performed dynamically by mod_gzip for Apache/1.3.27.

Performance Improvement From Compression

How much improvement can you see with compression? The difference in measured download times on a very lightly loaded server indicates that the time to download the Base Page (the initial HTML file) improved by between 1.3 and 1.6 seconds across a very slow connection when compression was used.

Base Page Performance
Base Page Performance

There is a slightly slower time for the server to respond to a client requesting a compressed page. Measurements show that the median response time for the server averaged 0.23 seconds for the uncompressed page and 0.27 seconds for the compressed page. However, most Web server administrators should be willing to accept a 0.04 increase in response time to achieve a 1.5 second improvement in file transfer time.

First Byte Performance
First Byte Performance

Web pages are not completely HTML. How do improved HTML (and CSS) download times affect overall performance? The graph below shows that overall download times for the test page were 1 to 1.5 seconds better when the HTML files were compressed.

Total Page Performance
Total Page Performance

To further emphasize the value of compression, I ran a test on a Web server to see what the average compression ratio would be when requesting a very large number of files. As well, I wanted to determine what the affect on server response time would be when requesting large numbers of compressed files simultaneously. There were 1952 HTML files in the test directory and I checked the results using CURL across my local LAN.[1]

Large sample of File Requests (1952 HTML Files)


First Byte
Total Time
Bytes per Page
Total Bytes123923184716160


First Byte
Total Time
Bytes per Page
Total Bytes123923184720735

Average Compression0.4330.438
Median Compression0.4270.427

As expected, the First Byte download time was slightly higher with the compressed files than it was with the uncompressed files. But this difference was in milliseconds, and is hardly worth mentioning in terms of on-the-fly compression. It is unlikely that any user, especially dial-up users, would notice this difference in performance.That the delivered data was transformed to 43% of the original file size should make any Web administrator sit up and notice. The compression ratio for the test files ranged from no compression for files that were less than 300 bytes, to 15% of original file size for two of the Linux SCSI Programming HOWTOs. Compression ratios do not increase in a linear fashion when compared to file size; rather, compression depends heaviliy on the repetition of content within a file to gain its greatest successes. The SCSI Programming HOWTOs have a great deal of repeated characters, making them ideal candidates for extreme compression.Smaller files also did not compress as well as larger files, exactly for this reason. Fewer bytes means a lower probability of repeated bytes, resulting in a lower compression ratio.

Average Compression by File Size

50000 and up0.3290.331

The data shows that compression works best on files larger than 5000 bytes; after that size, average compression gains are smaller, unless a file has a large number of repeated characters. Some people argue that compressing files below a certain size is a wasteful use of CPU cycles. If you agree with these folks, using the 5000 byte value as floor value for compressing files should be a good starting point. I am of the opposite mindset: I compress everything that comes off my servers because I consider myself an HTTP overclocker, trying to squeeze every last bit of download performance out of the network.


With a few simple commands, and a little bit of configuration, an Apache Web server can be configured to deliver a large amount of content in a compressed format. These benefits are not simply limited to static pages; dynamic pages generated by PHP and other dynamic content generators can be compressed by using the Apache compression modules. When added other performance tuning mechanisms and appropriate server-side caching rules, these modules can substantially reduce the bandwidth for a very low cost.

[1] The files were the top level HTML files from the Linux Documentation Project. They were installed on an Apache 1.3.27 server running mod_gzip and an Apache 2.0.44 server using mod_deflate. Minimum file size was 80 bytes and maximum file size was 99419 bytes.

[2] mod_deflate for Apache/2.0.44 and earlier comes with the compression ratio set for Best Speed, not Best Compression. This configuration can be modified using the tips found here; and starting with Apache/2.0.45, there will be a configuration directive that will allow admins to configure the compression ratio that they want.

In this example, the compression ratio was set to Level 6.

[3] mod_deflate does not have a lower bound for file size, so it attempts to compress files that are too small to benefit from compression. This results in files smaller than approximately 120 bytes becoming larger when processed by mod_deflate.

Baseline Testing With cURL

cURL is an application that can be used to retrieve any Internet file that uses the standard URL format — http://, ftp://, gopher://, etc. Its power and flexibility can be added to applications by using the libcurl library, whose API can be accessed easily using most of the commonly used scripting and programming languages.

So, how does cURL differ from some of the other command-line URL retrieval tools such as WGET? Both do very similar things, and can be coaxed to retrieve large lists of files or even mirror entire Web sites. In fact, for the automated retrieval of single files for the Internet for storage on local filesystems — such as downloading source files onto servers for building applications — WGET's syntax is the simplest to use.

However, for simple baseline testing, WGET lacks cURL's ability to produce timing results that can be written to an output file in a user-configurable format. cURL gathers a large amount of data about a transfer that can then be used for analysis or logging purposes. This makes it a step ahead of WGET for baseline testing.

cURL Installation

For the purposes of our testing, we have used cURL 7.10.5-pre2 as it adds support for downloading and interpreting GZIP-encoded content from Web servers. Because it is a pre-release version, it is currently only available as source for compiling. The compilation was smooth, and straight-forward.

$ ./configure --with-ssl --with-zlib
$ make
$ make test

[...runs about 120 checks to ensure the application and library will work as expected..]

# make install

The application installed in /usr/local/bin on my RedHat 9.0 laptop.

Testing cURL is straight-forward as well.

$ curl

[...many lines of streaming HTML omitted...]

Variations on this standard theme include:

  • Send output to a file instead of STDOUT

  • 	$ curl -o ~/slashdot.txt

  • Request compressed content if the Web server supports it

  • 	$ curl --compressed

  • Provide total byte count for downloaded HTML

  • 	$ curl -w %{size_download}

    Baseline Testing with cURL

    With the application installed, you can now begin to design a baseline test. This methodology is NOT a replacement for true load testing, but rather a method for giving small and medium-sized businesses a sense of how well their server will perform before it is deployed into production, as well as providing a baseline for future tests. This baseline can then be used as a basis for comparing performance after configuration changes in the server environment, such as caching rule changes or adding solutions that are designed to accelerate Web performance.

    To begin, a list of URLs needs to be drawn up and agreed to as a baseline for the testing. For my purposes, I use the files from the Linux Documentation project, intermingled with a number of images. This provides the test with a variety of file sizes and file types. You could construct your own file-set out of any combination of documents/files/images you wish. However, the file-set should be large — mine runs to 2134 files.

    Once the file-set has been determined, it should be archived so that this same group can be used for future performance tests; burning it to a CD is always a safe bet.

    Next, extract the filenames to a text file so that the configuration file for the tests can be constructed. I have done this for my tests, and have it set up in a generic format so that when I construct the configuration for the next test, I simply have to change/update the URL to reflect the new target.

    The configuration of the rest of the parameters should be added to the configuration file at this point. These are all the same as the command line versions, except for the URL listing format.

  • Listing of test_config.txt

  • -A "Mozilla/4.0 (compatible; cURL 7.10.5-pre2; Linux 2.4.20)"
    -w @logformat.txt
    -D headers.txt
    -H "Pragma: no-cache"
    -H "Cache-control: no-cache"
    -H "Connection: close"

    [...file listing...]

    In the above example, I have set cURL to:

    • Use a custom User-Agent string

    • Follow any re-direction responses that contain a "Location:" response header

    • Dump the server response headers to headers.txt

    • Circumvent cached responses by sending the two main "no-cache" request headers

    • Close the TCP connection after each object is downloaded, overriding cURL's default use of persistent connections

    • Format the timing and log output using the format that is described in logformat.txt

    Another command-line option that I use a lot is --compressed, which, as of cURL 7.10.5, handles both the deflate and gzip encoding of Web content, including decompression on the fly. This is great for comparing the performance improvements and bandwidth savings from compression solutions against a baseline test without compression. Network administrators may also be interested in testing the improvement that they get using proxy servers and client-side caches by inserting --proxy <proxy[:port]> into the configuration, removing the "no-cache" headers, and testing a list of popular URLs through their proxy servers.

    The logformat.txt file describes the variables that I find of interest and that I want to use for my analysis.

  • Listing of logformat.txt

  • \n
    %{url_effective}\t%{http_code}\t%{content_type}\t%{time_total}\t%{time_lookup}\t /

    These variables are defined as:
  • url_effective: URL used to make the final request, especially when following re-directions

  • http_code: HTTP code returned by the server when delivering the final HTML page requested

  • content_type: MIME type returned in the final HTML request

  • time_total: Total time for the transfer to complete

  • time_lookup: Time from start of transfer until DNS Lookup complete

  • time_connect: Time from start of transfer until TCP connection complete

  • time_starttransfer: Time from start of transfer until data begins to be returned from the server

  • size_download: Total number of bytes transferred, excluding headers

  • As time_connect and time_starttransfer are cumulative from the beginning of the transfer, you have to do some math to come up with the actual values.

    TCP Connection Time = time_connect - time_lookup
    Time First Byte = time_starttransfer - time_connect
    Redirection Time = time_total - time_starttransfer

    If you are familiar with cURL, you may wonder why I have chosen not to write the output to a file using the -o <file> option. It appears that this option only records the output for the first file requested, even in a large list of files. I prefer to use the following command to start the test and then post-process the results using grep.

    $ curl -K test_config.txt >> output_raw_1.txt

    [...lines and lines of output...]

    $ grep -i -r "^*$" output_raw_1.txt >> output_processed_1.txt

    And voila! You now have a tab delimited file you can drop into your favorite spreadsheet program to generate the necessary statistics.

    mod_gzip Compile Instructions

    The last time I attempted to compile mod_gzip into Apache, I found that the instructions for doing so were not documented clearly on the project page. After a couple of failed attempts, I finally found the instructions buried at the end of the ChangeLog document.

    I present the instructions here to preserve your sanity.

    Before you can actually get mod_gzip to work, you have to uncomment it in the httpd.conf file module list (Apache 1.3.x) or add it to the module list (Apache 2.0.x).

    Now there are two ways to build mod_gzip: statically compiled into Apache and a DSO-File for mod_so. If you want to compile it statically into Apache, just copy the source to Apache src/modules directory and there into a subdirectory named 'gzip'. You can activate it via a parameter of the configure script.

     ./configure --activate-module=src/modules/gzip/mod_gzip.a
    make install

    This will build a new Apache with mod_gzip statically built in.

    The DSO-Version is much easier to build.

     make APXS=/path/to/apxs
    make install APXS=/path/to/apxs
    /path/to/apachectl graceful

    The apxs script is normally located inside the bin directory of Apache.

    Hacking mod_deflate for Apache 2.0.44 and lower

    NOTE: This hack is only relevant to Apache 2.0.44 or lower. Starting with Apache 2.0.45, the server contains the DeflateCompressionLevel directive, which allows for user-configured compression levels in the httpd.conf file.

    One of the complaints leveled against mod_deflate for Apache 2.0.44 and below has been the lower compression ratio that it produces when compared to mod_gzip for Apache 1.3.x and 2.0.x. This issue has been traced to a decision made by the author of mod_deflate to focus on fast compression versus maximum compression.

    In discussions with the author of mod_deflate and the maintainer of mod_gzip, the location of the issue was quickly found. The level of compression can be easily modified by changing the ZLIB compression setting in mod_deflate.c from Z_BEST_SPEED (equivalent to "zip -1") to Z_BEST_COMPRESSION (equivalent to "zip -9"). These defaults can also be replaced with a numeric value between 1 and 9. A "hacked" version of the mod_deflate.c code is available here. In this file, the compression level has been set to 6, which is regarded as a good balance between speed and compression (and also happens to be ZLIB's default ratio). Some other variations are highlighted below.

    Original Code

    zRC = deflateInit2(&ctx->stream, Z_BEST_SPEED, Z_DEFLATED, c->windowSize, c->memlevel, Z_DEFAULT_STRATEGY);

    Hacked Code

    1. zRC = deflateInit2(&ctx->stream, Z_BEST_COMPRESSION, Z_DEFLATED, c->windowSize, c->memlevel, Z_DEFAULT_STRATEGY);

    2. zRC = deflateInit2(&ctx->stream, 6, Z_DEFLATED, c->windowSize, c->memlevel, Z_DEFAULT_STRATEGY);

    3. zRC = deflateInit2(&ctx->stream, 9, Z_DEFLATED, c->windowSize, c->memlevel, Z_DEFAULT_STRATEGY);

    A change has been made to mod_deflate in Apache 2.0.45 that adds a directive named DeflateCompressionLevel to the mod_deflate options. This will accept a numeric value between 1 (Best Speed) and 9 (Best Compression), with the default set at 6.

    Compressing Web Output Using mod_deflate and Apache 2.0.x

    In a previous paper, the use of mod_gzip to dynamically compress the output from an Apache server. With the growing use of the Apache 2.0.x family of Web servers, the question arises of how to perform a similar GZIP-encoding function within this server. The developers of the Apache 2.0.x servers have included a module in the codebase for the server to perform just this task.

    mod_deflate is included in the Apache 2.0.x source package, and compiling it in is a simple matter of adding it to the configure command.

    	./configure --enable-modules=all --enable-mods-shared=all --enable-deflate

    When the server is made and installed, the GZIP-encoding of documents can be enabled in one of two ways: explicit exclusion of files by extension; or by explcit inclusion of files by MIME type. These methods are specified in the httpd.conf file.

    Explicit Exclusion

    SetOutputFilter DEFLATE
    DeflateFilterNote ratio
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary

    Explicit Inclusion

    DeflateFilterNote ratio
    AddOutputFilterByType DEFLATE text/*
    AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript

    Both methods enable the automatic GZIP-encoding of all MIME-types, except image and PDF files, as they leave the server. Image files and PDF files are excluded as they are already in a highly compressed format. In fact, PDFs become unreadable by Adobe's Acrobat Reader if they are further compressed by mod_deflate or mod_gzip.On the server used for testing mod_deflate for this article, no Windows executables or compressed files are served to visitors. However, for safety's sake, please ensure that compressed files and binaries are not GZIP-encoded by your Web server application.For the file-types indicated in the exclude statements, the server is told explicitly not to send the Vary header. The Vary header indicates to any proxy or cache server which particular condition(s) will cause this response to Vary from other responses to the same request.

    If a client sends a request which does not include the Accept-Encoding: gzip header, then the item which is stored in the cache cannot be returned to the requesting client if the Accept-Encoding headers do not match. The request must then be passed directly to the origin server to obtain a non-encoded version. In effect, proxy servers may store 2 or more copies of the same file, depending on the client request conditions which cause the server response to Vary.

    Removing the Vary response requirement for objects not handled means that if the objects do not vary due to any other directives on the server (browser type, for example), then the cached object can be served up without any additional requests until the Time-To-Live (TTL) of the cached object has expired.

    In examining the performance of mod_deflate against mod_gzip, the one item that distinguished mod_deflate from mod_gzip in versions of Apache prior to 2.0.45 was the amount of compression that occurred. The examples below demonstrate that the compression algorithm for mod_gzip produces between 4-6% more compression than mod_deflate for the same file.[1]

    Table 1 — /compress/homepage2.html

    CompressionSizeCompression %
    No compression56380 bytesn/a
    Apache 1.3.x/mod_gzip16333 bytes29% of original
    Apache 2.0.x/mod_deflate19898 bytes35% of original

    Table 2 — /documents/

    CompressionSizeCompression %
    No Compression63451 bytesn/a
    Apache 1.3.x/mod_gzip19758 bytes31% of original
    Apache 2.0.x/mod_deflate23407 bytes37% of original

    Attempts to increase the compression ratio of mod_deflate in Apache 2.044 and lower using the directives provided for this module produced no further decrease in transferred file size. A comment from one of the authors of the mod_deflate module stated that the module was written specifically to ensure that server performance was not degraded by using this compression method. The module was, by default, performing the fastest compression possible, rather than a mid-range compromise between speed and final file size.

    Starting with Apache 2.0.45, the compression level of mod_deflate is configurable using the DeflateCompressionLevel directive. This directive accepts values between 1 (fastest compression speed; lowest compression ratio) and 9 (slowest compression speed; highest compression ratio), with the default value being 6. This simple change makes the compression in mod_deflate comparable to mod_gzip out of the box.

    Using mod_deflate for Apache 2.0.x is a quick and effective way to decrease the size of the files that are sent to clients. Anything that can produce between 50% and 80% in bandwidth savings with so little effort should definitely be considered for any and all Apache 2.0.x deployments wishing to use the default Apache codebase.

    [1] A note on the compression in mod_deflate for Apache 2.044 and lower: The level of compression can be modified by changing the ZLIB compression setting in mod_deflate.c from Z_BEST_SPEED (equivalent to "gzip -1") to Z_BEST_COMPRESSION (equivalent to "gzip -9"). These defaults can also be replaced with a numeric value between 1 and 9.

    More info on hacking mod_deflate for Apache 2.0.44 and lower can be found here.