July, 2007

  • The Old New Thing

    Seattle to Portland (STP) 2007 trip report, part 1 of 4: Seattle to Spanaway

    • 10 Comments

    Note: I found some other riders who blogged their experience on the STP, and I've slipped in links to some of the more interesting ones. All statistics are approximate.

    Prologue

    Biking to and from work the Monday before STP, I noticed that I had more saddle discomfort than usual. Could it be residual effects from that training ride? Am I simply not cut out for this distance riding stuff? Oh, no, that's not it. I got a mosquito bite on my butt. The bite heals before the week is over. Disaster averted.

    On Thursday, however, I develop a sore throat and other influenza pre-symptoms. Not a good time to be sick. Hoping to accelerate the "get sick, feel miserable, get better" cycle, I decide to take Friday as a sick day and attack the cold before it even knows what hit it.

    Although I make some progress, the mission is not a success. I still have a sore throat.

    I commute to work with a heavy pannier bag and do recreational rides with a trunk bag, but for STP, I'm using a saddle bag. I can squeeze a wrench, levers, patch kit, spare tube, and miniature bike lock into the bag, but my pump won't fit. I'll have to mooch off my friends' pumps.

    Friday night, pack and load up the car. Fill water bottles. Dice up Clif bar for easier snacking. Make checklist of stuff that can't be packed until Saturday morning (e.g. "your cell phone that is recharging"). Go to sleep.

    Saturday (Day One)

    4am: Wake up. Go through normal morning routine. Eat breakfast. Get dressed. Complete Saturday morning packing. Apply sunscreen while it's still dark outside. Mentally run down the "you idiot" checklist. For example "I remembered the bike, right?" Set clock on digital camera so the photo timestamps will be correct.

    5am: Arrive at S's house. S wonders aloud, "Why did I sign up for this again?" J and his son M arrive to pick us up. Load up the bikes and luggage and off we go.

    The roads are empty at 5am on a Saturday, except that, gosh, there are an awful lot of cars with bicycles on them. I wonder where they're going.

    As we cross the I-90 bridge (the 520 bridge was closed for annual inspection), we see some cyclists cruising down Lake Washington Boulevard.

    5:30am: Traffic increases as we get closer to the starting line. The next half hour is spent creeping through the University District. As we approach the parking lot entrance, S spots some guy riding his bicycle and having difficulty managing a large duffel bag. "Hey, that's A!" Roll down the window. "Yo, A! Get over here and toss your bag into the truck. We'll meet you at the baggage trucks." (I later learned that A hitched a ride with his wife's boss, who not only was doing STP as well, but lives in the same neighborhood!)

    6am: We meet at the baggage trucks and add our bags to the correct pile. (Destination: Toledo High School.) A forgot to bring safety pins to attach his bib to his CamelBak. I give him some spare zip ties, but we find a box of safety pins and pin the bib to his hydration unit. Our final group member Z shows up. But Z forgot to attach his STP luggage tags to his bags. That's the sort of thing you probably want to do. Fill out luggage tags, attach to bags.

    Okay, we're ready to roll.

    Sidebar: Here's what the start of STP looks like from the point of view of somebody who works at the bike repair stand at the starting line.

    6:20am: Hit the road. Just an hour later than we had hoped. Here's our cast of characters:

    • J has done STP twice before, though not recently. Regular bicycle commuter (17 miles round trip).
    • M is J's 11-year-old son. Was riding a bicycle at the age of two.
    • A did the STP in one day two years ago. Regularly goes on organized rides. What the rest of us call a "training ride" he just calls a "ride".
    • S began bicycle commuting this year (8 miles round trip). She's been training fairly seriously all spring.
    • Z has done STP twice before, though not recently.
    • Me. Regular bicycle commuter (7.5 miles round trip). Have been training lightly.

    It's impossible to stick together as a group at the start, since you're jammed inside this insane crowd of people, and you don't have much room to maneuver. You just keep going and hope for the best. Crossing the University Bridge is a bit tricky thanks to the grating.

    On Boyer Ave E, I fell rather far behind the rest and get stuck behind the Ya-Ya Sisterhood. Now, I have no problem with people who want to ride with their friend so they can chat. But if you're going to do that, could you at least ride next to each other instead of shouting across two thirds of the lane? Because nobody can pass you if one of you parks at the left edge and the other one hangs out about two thirds to the right.

    Over the first few miles, there are quite a few riders stopped by the side of the road, some with flat tires, others who took a tumble, and still others stopped for no obvious reason. I guess that they're trying to regroup.

    The rider density drops a bit once you reach Lake Washington, and that gives me a chance to catch up to the rest of the group. M asks for permission to go fast (rather than maintaining our target cruising speed of 14 mph), and J says, "Okay, wait for us at the Seward Park mini-stop," and sends A to accompany him. The idea is to let M burn off some of the initial excitement so he can settle down to a normal pace.

    We bicycle past the Leschi Starbucks, where there are some people stopped to get some coffee. Yo, dudes, you're six miles in and you're already stopping for a break? You're never going to make it to Portland at this rate!

    7:10am: J and I arrive at Seward Park and join M and A, where we wait for S and Z to catch up. Apparently, S's chain slipped off at some point. Our first mechanical mishap.

    Our group re-assembles, and it's up Juneau Street we go. Z's chain slips going up the hill. That's two mechanical mishaps now. And we've only gone ten miles.

    S points out the ugliest house in Seattle.

    The ride so far has been on very familiar roads (aside from the initial plunge from the University to the lake), following the Lake Washington Loop, one of our more popular training rides. But when we reach Renton Municipal Airport, we continue straight instead of turning left. Woo-hoo! We're on a road we haven't ridden on a dozen times already!

    In Renton, crossing the steep S 196th St. overpass, I'm so preoccupied with maintaining my momentum that I nearly run into the back of a bicycle ridden by what seems to be a seven-year-old boy. I manage to brake in time. The crowds are still dense enough that maneuvering room is limited.

    Closing in on the REI food stop in Kent, M takes a tumble. I'm in front at the time and all I hear is a crash. (I'm told M's front wheel struck J's back wheel.) By the time I stop, turn around, and head back twenty yards, M is already being attended to by an official medical volunteer (with a first aid kit), and then by a nurse who happens to be riding past (with her own first aid kit in her trunk bag, of course), and then an official support motorcycle. This is what they mean when they say that STP is a "fully-supported" ride. You don't even have time to bleed before you're surrounded by medical staff. (I thought it was funny that the nurse who arrived on the scene wasn't an official medical volunteer. She was a volunteer medical volunteer!)

    M gets off easy with just a knee scrape. The medics apply antiseptic, but since the scrape is on the knee, an adhesive bandage won't be of much use. But that's okay, because we're just two blocks from the REI stop (24 miles), where M pays a visit to the First Aid tent. The tent is swarming with people applying sunscreen, but when M shows up, the tent staff eagerly escort him in to clean the wound and give him a stretchy cloth bandage. I think they are quietly saying to themselves, "Woo-hoo, something to do!"

    Food at the REI stop is a mini-Clif bar, a bottle of Odwalla [pic] (each limited to one per rider), plus bagels with peanut butter or cream cheese, bananas, and oranges [pic].

    We regroup and head out, though once we hit the road we notice that Z isn't with us. He eventually catches up to us: He went back to pick up a plastic lei that volunteers were handing out. (That's why, if you cruise through STP pictures on sites like flickr, you may seem some people wearing plastic leis.)

    9am: The leg from Kent to Puyallup is uneventful, or at least it seemed that way. J, M, and A went on ahead, while the rest of us took a more leisurely pace. At one point, S asks, "Where's Z?", and we hear a bicycle bell ring behind us. That's the last we hear from Z for a long time, although we don't realize it until much later. Mount Rainier looms in the distance, and I pull out my camera and take some pictures while riding. I also point the camera over my shoulder and click the shutter. I have no idea what these pictures will look like, but, hey, it's digital film. Costs nothing.

    I'm disappointed that bicyclists are blowing through stop signs and red lights. Sure, there's no cross-traffic, but you still have to stop and wait for the light.

    10am: As we enter residential Puyallup, some locals have come out to cheer us on, which is surprisingly motivating. One of them rings a cowbell, which is awesome. I gotta have more cowbell.

    I reach into my back pocket for a piece of diced Clif bar. That's when I discover that Clif bar is not a solid; it's a viscous liquid. All the pieces that I had cut up have fused back together into a lumpy blob.

    S and I arrive at the Puyallup mini-stop (41 miles), where M and A had already gotten into the very long line for the rest rooms. We start to worry when Z doesn't show up. Call his cell phone. Oh, he busted a valve and got a flat tire. He wasn't carrying a spare tube, so so the support crew tried to repair it with fix-a-flat, but it didn't work. He's riding from Sumner to Puyallup on a flat tire. Meanwhile, S gets in line at the bike repair tent as a precautionary measure.

    When Z arrives, we learn what happened. Back at the REI stop, J noticed that Z's front tire was low, so Z went to the repair tent to use their compressed air hose. The repair tent people eagerly reinflated the front tire, and did the back tire for good measure. In the process of inflating the back tire, they unknowingly broke the valve stem, and it was the stem that leaked. Z had a pump and a patch kit, but no spare tube, and you can't use a patch kit on a valve stem.

    We buy two tubes (one to replace the broken one and another to carry as a spare), but have trouble getting the rear wheel off his bicycle. The repair tent guy has to show us how to do it: It's like one of those puzzle boxes. You have to move a sleeve, then remove a ring, then slide a cable; that releases the brakes, which then lets the wheel out.

    Okay, replace the tube, pump it up, back in business. We lost another hour at the Puyallup mini-stop. Not good. We arrived in the middle of the pack, but now we are clearly at the trailing end. I make a mental note to keep more careful track of where our group members are, don't want to lose somebody again.

    11:30am: The next bit of excitement is what STPers refer to with awe and wonder as The Hill (mile 43). This hill really isn't that bad of a hill, but it somehow reached legendary status and people tremble in fear when its name is spoken. In reality, you just put your head down and keep pedaling until you're at the top. No big whoop. And yet some people got off their bicycles and were pushing! Boy will these people be in for a surprise when they get to Vader. (When Bob Horn reaches this hill, there's a rider with a cigarette hanging out of his mouth. "I just don't want to get passed on this hill by a guy smoking a cigarette.")

    One of the people walking up the hill is a rider whose presence I was alerted to in the form of the question "Did you see the rocket bike?" (Here's another picture.) This gentleman built a jet plane for his dog to ride in (but everybody called it a rocket ship). Going up the hill, he's pushing the bicycle with one hand and walking the dog with the other.

    12:20pm: We reach the lunch stop, Spanaway (54 miles). We'll pick up the story next time.

  • The Old New Thing

    Just because you say something in my presence and I don't raise an objection doesn't mean that I agree

    • 51 Comments

    This is a sneaky trick that people try to pull occasionally. They'll say something while I happen to be present (either physically in person or virtually by adding me to an email conversation) and see what my reaction is. If I don't say anything, then they assume that I agree with whatever it is they said.

    Just to make it official: Just because you say something in my presence and I don't raise an objection doesn't mean that I agree. I can usually tell when people are trying to pull this stunt and I refuse to play along.

    I see the same trick being played in the comments of this web site. Just because somebody posted a comment and I didn't post a correction doesn't mean that the original comment is correct.

    On the other hand, the incorrect comment is archived on my Web site, which for many people implies some degree of approval, and which means that when people goes searching for a solution to their problem, they are likely to find the incorrect recommendation on this Web site, by virtue of the fact that it is ranked reasonably well by many major search engines. Did I just inadvertently help steer somebody to a wrong, possibly harmful, solution? Or is that not my problem?

  • The Old New Thing

    Tips for doing the Seattle to Portland (STP) in two days: What I learned in 2007

    • 13 Comments

    Two weekends ago, I participated in the 28th annual Seattle to Portland bicycle ride, wherein I joined up with 8999 of my closest friends for a friendly ride through western Washington and Oregon. Earlier this year I provided tongue-in-cheek bad advice for preparing for STP. Today I restore the balance with proper advice.

    This was my first STP, and I was somewhat apprehensive over whether I was up to the task, since I had never ridden more than 60 miles in a day prior to this. Here are some notes I'm recording for the benefit of future generations, since I couldn't find much in the way of this type of advice on the Web. (Note: These remarks apply to two-day riders. I refer one-day riders to Eric Gunnerson's STP 2006 blog. Obligatory disclaimers: Every person is different. These tips may not work for you. Consult your doctor before starting a major exercise program. Objects in mirror are closer than they appear.)

    It's not as hard as you think. Sure, it may be longer than you've ever ridden before, but if you're like me, your training rides were 50 to 60 miles without any significant break. In that sense, STP is easier than a training ride, since STP has a rest area every 15 miles or so. It's not really two 100-mile rides; it's more like a dozen short rides.

    It's an endurance ride, not a race. If you're like me, your usual bicycling is done at a decent clip, 16–18 mph on level ground. When I told one of my colleagues that I was wiped out from a 60-mile ride and he learned that I went 17–19 mph on the flats, he was horrified. Riding fast is the wrong strategy for STP. Keep it down to 13–14 mph. If you find yourself exerting, then you're going too fast, because you won't be able to keep it up the whole way. It turns out that if you're used to going 16–18 mph all the time, then going 14 mph takes almost no effort at all. You can do it all day without even breathing hard. And that's the idea.

    Watch your pit time. As with auto racing, the amount of time you spend in pit stops is important. Although our group managed an average speed of around 13.3 mph on the first day, we also hung around for over four hours at the various rest stops, stretching that first 125-mile leg into a grueling 13½-hour day. (That's right, we had more downtime than this guy, and at the end of the day, he was in Portland!) Some of our extended stops were triggered by mechanical troubles, but others were just dawdling, or at least they felt like dawdling to me; perhaps the others in the group really needed the break time. If you've been moderating your pace per the previous tip, you might very well not be tired at all and need only stop for a bathroom break and a water refill. Besides, if you stop for too long, your muscles may start to stiffen. A lot of short breaks is better than a small number of long ones.

    You don't have to stop at every mini-stop. Stop at the major stops, but if you feel fine when you reach a mini-stop and don't need a water refill, then just keep going. This is just a special case of the previous tip, where the pit time is zero. My colleague who had a suboptimal training regimen told me that he had to take frequent breaks, and when he got back on the road, he found himself passing the same person each time. (Said person was easy to recognize because he was riding a Razor Scooter. I experienced the same thing in reverse on this ride: I would recognize the same person passing me over and over.) It's the tortoise vs hare. If you go too fast, you'll need to take a long break to recover, and you end up going no faster overall than the person who goes slower but takes shorter breaks.

    One slow leg isn't the end of the world. Even if it looks like you got dropped by the rest of your group, it's not as bad as it looks. At one point, a subset of our group wanted to do a fast leg, and off they went. I stayed back with the rest of the group, but lost track of them in the crowd. I assumed the others were ahead of me, so I picked up the pace a bit and was able to sustain 17–18 mph without any real effort. (It's easy to go fast on Highway 507 between Spanaway and Roy.) Eventually, I caught up with the fast group and realized that I had left the main group behind. I pulled over and waited for the others to catch up. They did, six minutes later.

    This was over about two thirds of the leg, so the total difference between a fast pace and a relaxed pace on a single leg is just ten minutes. Being ten minutes late isn't the end of the world.

    It's not your legs that will hurt. Your legs will be fine, since you won't be pushing yourself much at all. What will hurt are your hands and butt. (And for me on the first day, my toes, since I didn't lace up well and my toes rubbed against the inside of my shoe.) Vary your hand and seat position to shift the weight to different parts of your body. At the start of the day, you applied butt cream, but since you don't know where it's going to hurt yet, you kind of covered everything and hoped for the best. Towards the end of the first day, you'll start to figure out where you should've applied it. Pull over and apply butt cream to the trouble spots. Yes, you may look like you're getting a bit too familiar with yourself standing by the side of the road with your hand in your pants, but everybody else going past you will say "ah, reapplying butt cream" and not "what a pervert", because by this point, they're probably thinking of doing the same thing. (Note: Attempt only along isolated country roads. In populated areas, seek a private place like a rest room.)

    Get your bike ready early. Don't think you can get your bike tuned up with only a month before STP; the local bike shops will be hammered with people who got the same brilliant idea. Also, don't make major changes to your set-up, like a new saddle, a new handlebar configuration, or (heaven forfend) a new bike! It takes a while to adapt to a new configuration, and you don't want to ride STP while you're still adjusting to the new saddle.

    Other quick tips:

    • Bring your bicycle mirror. Saves you from having to turn your head to see what's behind you. Use it to make sure you're not pulling away from the rest of your group, to wait for a break in traffic so you can pass somebody, or to spot the car approaching from behind. If you turn your head, you stop riding straight, and you slow down. I broke my mirror at the start of Day Two, and life was significantly more difficult.
    • Bring a bell. You can ding your bell to announce your presence instead of having to shout "On your left!" all the time. You can also ring your bell to celebrate crossing the finish line.
    • Remove your bicycle computer when you finish so it doesn't count your post-race puttering.
    • If you are into performance statistics, you can bring a digital camera (or use the one built into your phone) and take a picture as you arrive at each stop, and again as you leave. The timestamp on the photo combined with the mileage on the route map will let you compute your average speed for each leg, as well as calculating how much time you spent resting. If you don't trust the mileage on the route map, you can take a picture of your bike computer to record split statistics for posterity. If your phone doesn't have a camera, you can leave yourself a voicemail message saying, for example, "Arrived at Seward Park, mileage 10.8." The voicemail system will automatically timestamp the message.
    • If you're a guy and you just need to make a tinkle, then check out the line for the "men-only" portable toilets; it is often shorter.

    You may not need (but since you can toss it in your luggage, it probably won't hurt to bring anyway):

    • Book, deck of cards, or other light entertainment. I brought a book and didn't even crack it open, I was so tired. (On top of that, we overnighted in a high school, so there were plenty of books in the library to choose from.)
    • Disposable fork, knife, spoon, cup. The people who serve you dinner will immediately notice when they run out of plates, but they are less likely to notice right away that they ran out of utensils and cups. If you bring your own, you won't be stuck standing there for five minutes with a plate of food and no way to eat it.
    • Pillowcase. Wadded-up clothes + pillowcase = pillow.
    • Sleeping mask. You may want to go to sleep before Nature decides to turn off the lights.

    Okay, those are the tips. Trip report begins next time.

    Nitpicker's corner: Numbers have been rounded for simplicity of presentation.

  • The Old New Thing

    The real cost of compatibility is not in the hacks; the hacks are small potatoes

    • 42 Comments

    Commenter Myron A. Semack asks how much faster Windows would be if you took out the backward compatibility stuff. Myron is so anxious about this that he asked the question a second time. Asking a question twice typically counts as a reason not to answer it, but since I had already written up the answer, I figured I'd post it anyway. Oh great, and now he asked it a third time. Myron is so lucky I already wrote up the answer, because if I hadn't I would've just skipped the topic altogether. I don't respond well to nagging.

    The answer is, "Not much, really."

    Because the real cost of compatibility is not in the hacks. The hacks are small potatoes. Most hacks are just a few lines of code (sometimes as few as zero), so the impact on performance is fairly low. Consider a compatibility hack for programs that mess up IUnknown::QueryInterface:

    ...
    ITargetInterface *pti = NULL;
    HRESULT hr = pobj->QueryInterface(
                     IID_ITargetInterface, (void**)&pti);
    if (SUCCEEDED(hr) && !pti) hr = E_FAIL;
    

    The compatibility hack here was just two lines of code. One to set the pti variable to NULL and another to check for a common application error and work around it. The incremental cost of this is negligible.

    Here's an example of a hack that takes zero lines of code:

    HINSTANCE ShellExecute(...)
    {
     ...
     return (HINSTANCE)42;
    }
    

    I count this as zero lines of code because the function has to return something. You may as well return a carefully-crafted value chosen for compatibility. The incremental cost of this is zero.

    No, the real cost of compatibility is in the design.

    If you're going to design a feature that enhances the window manager in some way, you have to think about how existing programs are going to react to your feature. These are programs that predate your feature and naturally know nothing about it. Does your feature alter the message order? Does it introduce a new point of re-entrancy? Does it cause a function to begin dispatching messages that previously did not? You may be forced to design your feature differently in order to accommodate these concerns. These issues aren't things you can "take out"; they are inherently part of the feature design.

    Consider for example color NTSC. (Videophiles like to say that NTSC stands for "never twice the same color.")

    The NTSC color model is backward compatible with the existing system for black-and-white television. How much cheaper would your color television be if you could take out the backward compatibility circuitry? That question misses the point. The backward compatibility is in the design of the NTSC color signal. It's not a circuit board (or, to be more historically accurate, a set of vacuum tubes) that you can pull out. You can't "take out" the compatibility stuff from your television set. The compatibility is fundamentally part of the way the NTSC color signal works.

  • The Old New Thing

    Apparently some people consider this a vacation; I consider it insane

    • 11 Comments

    One of the little cards that came in the STP information packet is an advertisement postcard for Epic Cycling Climbs of France. For $3299 (+airfare) you receive the "privilege" of cycling up the Alpe d'Huez and other notorious mountains.

    I'm sorry. If I'm going to go up l'Alpe D'Huez you're going to have to pay me, not the other way around.

    (Then again, I paid to ride my bicycle from Seattle to Portland, so obviously I'm a little insane already. I've already taken the first steps in progressive insanity; maybe they were just showing me where I was headed if I didn't watch my step. Sort of like those anti-smoking ads.)

  • The Old New Thing

    Screwing the computer parts back together is the most dangerous step

    • 43 Comments

    I had removed the cover from one of the computers in my office in order to upgrade one of its hard drives (from 20GB to 200GB, woo-hoo). The hard drives are kept in a removable cage, so first I had to unscrew the cage, then unscrew the drive from the cage, then swap in the new drive. Of course, you don't screw everything back in until you've tested it out, so I had the computer running with its innards strewn about my floor until it ran to my satisfaction.

    Okay, time to put everything back together. I screwed the drives into the cage, screwed the cage into the case, but before I screwed the cover back onto the case, I turned on the computer just to make sure everything was still okay. A colleague of mine happened to stop by as I was doing all this to discuss a technical matter, and we chatted about the problem while I sat on the floor with a screwdriver. I said to my colleague right before I turned the computer on, "Look, I bet it won't work."

    Lo and behold, the computer didn't work. It just made a horrible beeping sound.

    Screwing the computer parts back together is the most dangerous step in computer assembly because once you do that, there's a pretty good chance that something will stop working.

    I spent the next fifteen minutes re-disassembling the computer, removing and re-attaching every cable that might have wiggled loose, all to no avail. Eventually, I found the loose connection: While mashing the cables around, one of them accidentally pushed against one of the RAM release levers on the motherboard. As a result, one of the RAM sticks was not fully-seated.

    Push the RAM back into its socket, power up the machine, everything works again.

  • The Old New Thing

    Food products that are offenses against nature: Fast Franks

    • 55 Comments

    My colleague (who posts under the pseudonym Cloudy Starlight) tipped me off to some wonderful products which made me just stare at the screen agape, unable to express my, um, awe. I'll focus on one of the products today; the others will have to wait for another day.

    First, let's suppose you've got a hankerin' for a hot dog. Your adventure might go like this:

    "Gotta have a hot dog, gotta have a hot dog. Where's that hot dog? In the fridge. Right, in the fridge. Open the fridge, find the hot dog. Find the hot dog. Got it. Need a bun. Where's the bun? Where's the bun! My kingdom for a bun! Oh, there's the bun, «pant pant» ah, my bun, my precious. Okay, get a plate, need a plate. No, that one's too big. No, that's not microwave-safe. Okay, got a small microwave-safe plate. Put bun with hot dog on plate. Put plate in microwave oven. Punch in thirty seconds. Thirty seconds. Go. Oh wait, close door. Okay, go. Twenty-nine. Twenty-eight. Isn't there anything faster than a microwave?! Three. Two. One. DING! Yes! I have a hot dog! Put hot dog in bun. Ow, hot hot hot. Yes! Dog is in the bun! Let the hot dog-lisciousy goodness commence!"

    If that's your experience with cooking a hot dog in a microwave, may I first recommend psychological treatment. You really need help.

    Second, Oscar Mayer Fast Franks has been created just for you. Instead of that entire adventure with the bun and the plate, the good people at Kraft have already put the hot dog in a bun and even provided the plate! Thus you've saved an entire four seconds of hot dog preparation time. Added up over a year of a daily hot dog obsession, that comes out to nearly twenty-five minutes of your life wasted putting hot dogs in buns and putting them on plates. You could watch an entire episode of Futurama with time left over to replay the best jokes!

    Let's take a look at their press release. I reprint it here in its entire awesomeness:

    READY, SET, HOT DOG!
    New Oscar Mayer Fast Franks Speed into Summer

    MADISON, WI, May 31, 2006 —It's mouthwatering to imagine -- a tasty, hot and juicy Oscar Mayer hot dog wrapped inside a soft and warm bakery-fresh bun. And now imagine only having to wait thirty-five seconds for that first delicious bite.

    The great taste and convenience of hot dogs in a bun come together with Oscar Mayer Fast Franks. Each individually wrapped Oscar Mayer Fast Frank tastes great thanks to a specially designed microwavable paper tray that heats the bun just right -- so it's soft and warm right out of the microwave. Preparation is easy, and there's no cook top mess or boiling water! The hot dog is simply unwrapped, placed in the bun on a specially designed microwaveable tray and heated for a quick 35 seconds, making a delicious all-in-one hot after-school snack for kids, a fun dinner item or part of a quick and yummy lunch for the whole family. Whether it's in the kitchen or on the go, Oscar Mayer Fast Franks are a summertime favorite that can now be enjoyed any day or time of the year.

    Innovation in a Bun: An Oscar Mayer Tradition

    For more than 120 years, Oscar Mayer continues to lead the industry in making hot dogs using only quality meat and no fillers. In a trusted brand families love, Oscar Mayer has created this innovative new product to satisfy America's love for hot dogs in a more convenient way. By leveraging proprietary dough technology, Oscar Mayer Fast Franks have made hot dogs easier to enjoy than ever before.

    Oscar Mayer Fast Franks will be available in most grocery and convenience stores' refrigerated sections nationwide beginning this summer.

    About Kraft Foods
    Kraft Foods (NYSE:KFT) is the world's second-largest food and beverage company. For more than 100 years, we've been dedicated to helping people around the world eat and live better. Hundreds of millions of times a day, in more than 150 countries, consumers reach for their favorite Kraft brands including Kraft cheeses and dinners, Jacobs, Gevalia and Maxwell House coffees, Oscar Mayer meats, DiGiorno pizzas, Oreo cookies, Ritz and Wheat Thins crackers and chips, Philadelphia cream cheese, Milka and Côte d'Or chocolates, Honey Bunches of Oats cereals, Good Seasons salad dressings and Tang refreshment beverage. They've also started adding our Tassimo hot beverage system, South Beach Diet line and a growing range of better-for-you Sensible Solution products to their shopping baskets, continually expanding their list of Kraft favorites.

    Julie Roberts, Mercury Recording artist, self titled album, 'A' (May 2004), was certified gold and led to two Horizon Award nominations (2004) from the Country Music Association. She was also nominated for Top New Artist Nominee (2005) and Top New Female Vocalist Nominee (2006) by the Academy of Country Music Awards, as well as Breakthrough Artist Nominee (2005) by the Country Music Television Awards. Roberts sophomore album Men & Mascara, produced by Byron Gallimore, is set to debut June 2006.

    That's right, they use proprietary dough technology. This ain't your grandfather's hot dog bun, no siree. We had researchers toiling away day and night perfecting their dough technology to bring you this perfect specimen of a hot dog bun.

    And what's with that whole Julie Roberts thing at the end? What does that have to do with hot dogs? And "A" isn't a self-titled album. Her name isn't "A"; it's Julie Roberts!

    But that's okay, because it's a quick and yummy lunch for the whole family. Note that that's a family of three people, since only three hot dogs come in a package. We're talking mommy, daddy, and the kid who throws a tantrum unless he gets a microwave hot dog in thirty seconds.

    Wait a second, what did it say at the top? Thirty-five seconds? Not thirty seconds? My four-seconds savings gone down the tubes! Noooo! Don't take away my Futurama!

    Nitpicker's corner

    • The word ain't is inappropriate in formal writing.
    • Same goes for the word hankerin'.
    • The kid might be a girl.
    • This entry contains sentence fragments as well as run-on sentences.

    Apparently there are people who apply the rules of formal scholarly writing under the mistaken impression that blogs are formal scholarly writing. These people should go hang out on LiveJournal until their heads explode.

  • The Old New Thing

    You don't optimize for the case where somebody is mis-using your system

    • 29 Comments

    Commenter Rune Moberg asks why it takes the window manager so long to clean up 20,000 leaked objects.

    Well, because you're not supposed to leak 20,000 objects. Why optimize something that people aren't supposed to be doing? That would just encourage them!

    Actually, this scenario is doubly "don't do that". Creating 10,000 was already excessive; 20,000 is downright profligate. And in order to create 20,000 leaked objects in the first place, you have to override the default limit of 10,000. Surely this should be a clue that you're taking the system beyond its design parameters: After all, you had to go in and change a system design parameter to get this far!

    The window manager does clean them up eventually. Nothing goes wrong, but the experience is frustrating. Hopefully that'll be a big clue that you're doing something wrong.

    Nitpicker's corner

    Of course, you have to apply the principle of "don't optimize for abuse" with your brain still engaged. If the abuse can lead to a denial of service attack, then you have a security issue. (That's not the case here, however. In order to leak 20,000 windows, an attacker has to be able to create 20,000 windows directly, rather than going through an intermediary such as a scripting engine, since the scripting engine will destroy the window rather than leak it. If an attacker can create windows directly, then why bother creating 20,000? Create one and use it to annoy the user.)

  • The Old New Thing

    If you read any book about traditional weddings in Russian history, there must be a fight

    • 9 Comments

    You can buy a fake vacation for $500 or shell out $300 to $400 for a fake brawl at your wedding.

    "If you read any book about traditional weddings in Russian history, there must be a fight," said Alexander Yermilov, 22, who recently made a living at it.

    If you're looking for counterfeits, fakes, and forgeries, Moscow's your place. Assuming you can spot them.

    Even Putin's doctoral dissertation, researchers from the Brookings Institution revealed this year, contained major sections lifted from a text published by academics from the University of Pittsburgh.

    The revelations barely were repeated in the Moscow press, not because they were scandalous, but because they weren't—government officials routinely rely on fake dissertations patched together by underlings.

  • The Old New Thing

    Why is the limit of window handles per process 10,000?

    • 37 Comments

    If your program runs haywire, you will find that it manages to create about 10,000 window manager objects and then the system won't let it have any more. Why stop at 10,000?

    The first answer is "If you have to ask, you're probably doing something wrong." Programs shouldn't be creating anywhere near ten thousands window manager objects in the first place.

    Furthermore, as we saw last time, the maximum number of window manager objects that can be created is around 32,700. Giving a program 10,000 is already a third of the total amount available. That's already pretty darned generous, if you ask me. Preventing a program from running away and consuming all of the window manager objects is an attempt to contain the damage caused by a runaway program. Even if a program goes haywire, there's still around 20,000 objects available for the other programs to use. One of them might even be Task Manager, which the user fired up in order to kill the runaway program.

Page 2 of 5 (43 items) 12345