Tuesday, August 29, 2006

I stuck the equivalent of two dead bodies in the ground today

That would be the six bags of concrete that weighed sixty pounds each. I'm building an emergency shed out in back of the house. This has been a bit of a saga, going on for the better part of eight months. Maybe I'll tell that whole tale some other time. For now, I can share the more 'concrete' part of the story.

If you haven't worked with concrete then you may be underestimating, to a great degree, my latest foe. Six bags of portland cement, sand and small rocks. Each bag is 0.45 cubic feet of concrete. A half a cubic foot sounds pretty small. It is pretty small when you're trying to do a footing around the perimeter of a 8'x10' shed foundation. I did six bags on Sunday and six bags today while waiting for an air conditioning repairman to show up. It only took me an hour to mix and distribute the six bags, but that was the longest stinking hour of my life. Add on top of that the effort to get the 360 pounds (hence, the two dead bodies reference) of dry concrete down from the garage to the shed site, and I didn't have to go running this morning to get a workout. I considered whether to cut down the amount of water I was mixing in, to balance out the amount of sweat dripping off me that was falling into the mixing trough.

I actually have about 4 more bags to go, then I can actually start assembling the shed on the flat, level foundation that I've built. I'll try to snap some pictures so you all can mock my efforts.

Friday, August 25, 2006

You looking for a job? I'm looking for someone to work!

As you may or may not recall, I'm the QA manager for the Netflix website. I've also been given the responsibility to manage our customer service call center application. If you fit the following description and also happen to like the idea of the job, drop me a line or even better, apply directly.

------------------------------

Senior Quality Assurance Engineer — Customer Service Automation

The Position:
Join Netflix and help insure that every member who has a problem gets that problem solved quickly and effectively. Working on our customer call center software, you will help the people that help our members.

You will provide your expertise in understanding what to test, as well as how to test. Given a schedule that is always too short and a feature list that is always too long, you'll identify and efficiently evaluate those changes to our software that pose the greatest risk to the smooth and effective operation of the customer service staff.

We are looking for an experienced engineer with a background testing applications involving .NET, Oracle, SQL, PL/SQL, telephony integration, email and customer service application user interfaces.

Responsibilities:
• Validate and verify the correct operation of the customer service application
• Continuously improve and extend the automated regression test suite

You are:
• An advocate for the customer service representatives with regard to usable system design
• An advocate for customer service management with regard to accuracy and completeness of the system
• A bridge between the development organization and the operational groups supporting the system

Qualifications:
• 5+ years of rich GUI client application testing, building and deployment
• Deep experience with Oracle and PL/SQL or equivalent database systems
• Experience with C# and nUnit development and testing
• Experience with testing high-traffic, highly scaling, multi-threaded software design
• Able to work autonomously and flexible enough to shift priorities based on changing needs of the business
• Familiarity with use of .NET Remoting, Web Services, 3rd party .NET controls, TestComplete, Parasoft .TEST and Tuvox are all plusses
• A Bachelors or Masters in Computer Science or equivalent engineering

Harder's getting easier every day

A few days ago, I wrote about running, and how sometimes it wasn't physically difficult, but mentally difficult to put my body in an active state. I guess sometimes if you can distract the mind, the body will do what it has to.

Case in point, today while running, I was tangling with a statistical problem. There are performance monitoring tools built in to the Netflix website server that keep track of how long it takes to do stuff along the way to presenting a page to a member. We call them tracers. We keep track of the average execution time, how many times it's executed and also buckets for ranges of execution time. For example, we keep track of how many times it took less than 10 milliseconds, and how many times it took 10-50 milliseconds, 50-100 milliseconds, etc. Using them, we can diagnose the health of the system and discover if a recent change is the source of site problems.

I am studying whether we can learn if the system is healthy from comparing the skew of that distribution of buckets. I'd worked out a database query that gave me a value for skew, but I was measuring the skew of the number of hits per bucket, instead of the skew of all the values of all the individual hits (which is what I actually want). For example, if the eight buckets have the values of (10, 14, 100, 20, 3, 0, 0, 0), I would a value based on those eight numbers, with a relatively high positive skew of 2.57, because the 100 is a pretty far outlier to the right, making this distribution of eight numbers 'pointy' on the positive end. What I was really after is the skew of the 147 individual data points with 10 instances of value 1, 14 of value 2, 100 for value 3, etc. This would have a much more neutral skew of -0.56 indicating that it's slightly pointy on the left.

Anyway, while pondering all of this, I was running along and didn't even have time to whine to myself about not wanting to be out there running, and it was over before I knew it. I think I made pretty good time today, too.

It's kind of bugging me that I lost track of another thought that I had running. Something to do with just a little bit of peril. Now I can't recall what it was. I guess maybe I need the inverse of an iPod. Something I can run with and dictate the flotsam that crosses my mind, and be able to play it back later.

Tuesday, August 22, 2006

Interesting page from ten years ago

I saw an interesting puzzle with a surprising answer while tripping around the net today looking for something else (isn't that always the way)?

The twist to the story entertained me, and the commentary following the twist moved me. Even though the commentary is going on ten years old, most parts are relevant or even more relevant today.

Tuesday, August 15, 2006

Easy's Getting Harder Every Day

So I run several times a week. Usually every other day. I go running in Rancho San Antonio near my home. Usually just under three miles. Some uphill and some downhill and some flats. Several weeks back, I was running and thought about what it would take to run across America. After all, Interstate 80 runs from San Francisco all the way to New York City. 3000 miles at three miles a day. A thousand days. Just about three years. I could do that, easy. Be kind of hard to only do three miles a day, though. I get through my three miles in 20-30 minutes, usually. I could probably slow down a bit and do 30 miles a day over the course of 10 hours of stops and starts. That gets it down to 100 days. Start in San Francisco in April with nothing but a running outfit and a credit card, then run and walk the whole day. Go to sleep whereever you're at and do it again the next day. Might be able to make it to Manhattan for the Fourth of July.

That seemed doable a few weeks ago (even if a little crazy). Lately, though, it's been harder to get up the hills, and even going down the hills has been awkward and sluggish. Now, running across the country seems not only crazy, but impossible. The hardest part of exercise is willfully putting myself into a state of discomfort. I know that I'll feel good when I'm done, but overcoming that inertia is the biggest obstacle. Once I'm going and I'm away from the house, then it's easier to go, but those first several scores of steps are hard.