The Intraweb Home of Andy White

Your personal guide to the wide, wide world of webs

Date: 2009-06-27 12:00pm

Run: Cache la Poudre – Upper Rustic

Flow: 4′ on Pineview gauge

Class: III (IV-)

Temperature: Warm

Buddies: Fino, Nick Lamb, Chadwick Shoults, Big Ken from CK, and Lou from CK

Description: Our first trip back to Upper Rustic after “the incident” a few years ago. The flows were good (4′ on Pineview), and the run was even better than I remembered. We started at the same place as last time, about a 1/2 mile up from the “Miracle Mile” (actually the Miracle 1/4 Mile). The upper part was really good at this flow, big waves and holes, and some good boof opportunities. The Miracle Mile was the highlight of the run – a long continuous section, similar to Screamin’ 1/4 Mile on Lower CC, with bigger waves and holes, but less technical. Lou decided to run the miracle mile with Fino and I, and the other guys started just below it. Lou ended up going for a dip near the end of the section. He was able to get out pretty quickly, but it took about a mile to get his boat and paddle to the side. He was okay. The rest of the run was good sections of class III waves and holes. Definitely a good run, and worth making the extra drive.

Carnage: Lou took a little swim in “Miracle Mile”

This will be my first post in a series I think I’ll call:  “Real-World Software Dev” (RWSD for short).  In my short software development career, I come across some things that I feel compelled to write or rant about.  Some of them might be inspired by something I’ve seen in a book, on the intraweb or heard on a podcast, and others might be things that I’ve come across on my own.  Some of these things might be naive, or not even valid, so cut me some slack…

The first topic I’d like to discuss is the ternary conditional operator, which is available in C-based languages (C, C++, Java, C#, etc.).  This operator is basically a condensed form of:

if (conditional)
{
    doSomething
}
else
{
    doSomethingElse
}

With the ternary op, it would look like this:

conditional ? doSomething : doSomethingElse

In the real world, it’s my opinion that there are only a few cases when you should use this operator. I think a good rule of thumb is to only use this one-liner if it is completely obvious what the outcome will be whether it falls into the if statement, or else statement. E.g. if you are using this to set a string to one of two possible values, based on a condition:

string myResult = (isSuccess) ? "Great success!" : "You lose!";

It makes me cringe whenever I see the ternary operator used to call one of two methods, or do some other complex action.

string myResult = (isSuccess) ? GetResult(a, b, c) : GetResult(d, e, f);

My big gripe with this thing is that it’s a one-liner, and IMHO, difficult to read. If you put some error-prone call in one of the blocks and it throws, the stack trace will point out the single line containing the ternary operator, rather than pointing out which method was actually called. It must just be Murphy’s Law, but it seems like methods tend to blow up more often when called via the ternary operator, seemingly in some malicious attempt by the computer to make your life more difficult. To me, the ternary just reeks of old-school C code, not unlike its close friend, the “switch” statement. I’m in the camp of writing more explicit, verbose code as opposed to trying to condense code down to the smallest constructs possible.

Overall, the ternary operator is good for simple if/else assignments, but I’d avoid it for just about anything else.

Date:  2009-06-23 6:00pm

Run:  Clear Creek – Golden Play Park

Flow:  ~780 cfs

Class:  III

Temperature:  A little cloudy and rainy, but not too cold

Buddies:  Nick Lamb

Description:  Another after-work run at Golden.  The “James Wave” is good at this flow, it gets less steep and more front-surfable.

Carnage:  None

Date:  2009-06-20 10:30am

Run:  Dumont (6-pipes bridge) to Kermitt’s

Flow:  ~700 cfs

Class:  IV/III

Temperature:  cloudy and cold (water temp was cold!)

Buddies:  Chadwick, Fino

Description:  Fino and I ran the Dumont section and met up with Chadwick at Chicago Creek for the Idaho Springs town run.  Dumont is awesome at this flow.  The upper section of Dumont is somewhat continuous class III with a few larger (but short) drops.  The middle section consists of fish-ladder type drops, with fairly easy read-and-run decisions.  The lower section contains some more continuous, narrow sections surrounded by road-blast rocks.  Near the bottom there are some pretty significant, longer sections of rapids.  Right before Outer Limits rapid, there is a long pushy rapid that was awesome at this flow.  Outer Limits was fun, and not too difficult.

Carnage:  I took a pretty silly swim after getting stuck in what should have been a nothing pour-over.  I wen’t over the pour-over hoping to get some boof practice, but ended up getting stuck in a pretty steep hole at the bottom.  I sat in it for a second bracing, but it was a bit too steep to really get in position to surf out, so I gave up a little too early and ended up swimming.  I think I could have gotten out if I tried a little harder, not sure what happened there…  Oh well, I guess you’re always between swims.  Fino managed to broach my boat on a rock a little ways down, and I held onto my paddle, so it ended up being a pretty minor swim, aside from a few bumps and bruises.

Date:  2009-06-17 5:30pm

Run:  Lower Clear Creek (abbreviated), Golden Play Park

Flow:  690 cfs

Class:  IV/III

Temperature:  not bad (?)

Buddies:  Chadwick, Fino, Fello

Description:  Met up with Fino, Fello, and Chadwick for an after-work run.   I got out of work a bit late, so we ran an abbreviated version of Lower CC from Elbow Falls down to the play park.

Carnage:  Chadwick dropped Elbow falls upside down and got a nice cut on his eyebrow.  Maybe we should rename it “Eyebrow Falls.”  Later on Cheez had a little swimming expedition a little ways up from screamin’ 1/4 mile.  Other than that, the run was a success.

Powered by WordPress Web Design by SRS Solutions © 2010 The Intraweb Home of Andy White Design by SRS Solutions