There must be a name for this…

May 1st, 2009

Of course, it would have to be random geekery which brings this blog out of hibernation. Some things just don’t fit in a facebook status.

I spent a bit of time today digging through the FreeRADIUS source code and stumbled across the following new-to-me C idiom:

switch(n) {
case FOO:
    if (condition) {
         /* stuff */
    } else {
case BAR:
        /* more stuff */
    }
}

The switch statement in C is notoriously powerful and prone to such abuse — see Duff’s device for a particularly infamous example — and I almost filed this in that category.

On further thought, though, this is actually painfully elegant. The effect of the statement is roughly “if case FOO and condition, do stuff, otherwise handle just like case BAR”, but it doesn’t require you to repeat the code for BAR like:

switch(n) {
case FOO:
    if (condition) {
        /* stuff */
    } else {
        /* more stuff */
    }
    break;
case BAR:
    /* more stuff, again */
}

or cheekily fallthrough as in:

switch(n) {
case FOO:
    if (condition) {
        /* stuff */
        break;
    }
case BAR:
    /* more stuff */
}

The interleaved statements are weird enough to convey what’s going on in a way that a simple /* FALLTHROUGH */ comment does not.

Duff said of his eponymous device “This code forms some sort of argument in [the fallthrough] debate, but I’m not sure whether it’s for or against.” Duff’s device was good for only a performance improvement, but this one improves clarity, almost. I think that’s a “for”. I’m going to have to use this one.


Sums it up….

January 23rd, 2009

I closed an e-mail I wrote today, summing up a technically correct but politically controversial argument, with:

Well, that’s the bottom of that rabbit hole. It wasn’t a bad trip, actually, but this little bottle labeled “DRINK ME” looks pretty tempting at the moment…

I think I’ve also discovered a variation of Godwin’s law I hadn’t encountered before:

As the length of a thread discussing information security grows, the probability of a reference to “Reflections on Trusting Trust” increases to one.


New Beer’s Eve

December 30th, 2008

I only let the last brew languish for a single extra week in primary before kegging it. It’s not ready yet, still has a little hop harshness that should mellow over the next couple weeks, but is my favorite beer currently on tap (not that it has much competition; the Belgian Dubbel is only for certain moods, and the Raspberry pLambic is only for a subset of those moods, so the IPA wins the “everyday beer” award by default).

The plan for the last 2008 brew is an Anchor steam-ish beer, tomorrow. More later.

Bottling the 2003 maple wine and 2005 meads will probably have to wait until 2009, unless I’m feeling extra motivated tonight. (Ha!)


Winter Ethanol Policy

December 7th, 2008

(title borrowed from here)

Another half-year, another brew. Jess has recently acquired a taste for the hoppier brews, so I may be brewing some more IPAs in the near future.

In the meantime, more Rye and old-fashioneds should keep the cold away. In addition to the old reliable Old Overholt, I’ve added two interesting Ryes to my collection. The first is Russell’s Reserve Rye, which I finally saw locally. I’d tasted it in San Francisco, and was blown away by its spiciness — it finishes like a chili pepper vodka — and snapped it up as soon as I saw it. The second is Templeton Rye, from a small distillery in Iowa. This is now one of my favorites. It has the most Rye character of any rye I’ve had recently, but is unfortunately only distributed in Iowa and Illinois :-(.

With the slowly-increasing variety of Rye and the amazing variety of good affordable Bourbons, I haven’t perused the Scotches for quite a while. The American whiskey market is starting to become as varied and interesting as the American beer market a decade or so ago. This is a good thing(tm).


I less than 3 google video…

December 7th, 2008

Flipping channels Saturday morning, I caught the end of an enthusiastic and illuminating description of Rutherford’s scattering experiment. Very interesting. This was part of a three-part documentary series “Atom”, which was only being broadcast that morning. Drat, I’d missed the first half hour, and couldn’t monopolize the TV for the next two and a half hours to catch this.

Well, the host of this documentary did have a British accent, and I had watched this excellent BBC-broadcast science documentary on Google video, so I checked there to see if it was available.

Sure enough:

Atom, Part 1

Atom, Part 2

Atom, Part 3

Good stuff, probably some of the best popular science programming I’ve seen in a while.


A long overdue brew

August 2nd, 2008

I passed on my usual Saturday bike ride today to indulge my older hobby — I brewed. And boy, did I brew. 15 gallons total, five gallons of a nice strong Belgian dubbel, 10 gallons (more like 8 after miscalculations) of dunkel-weizen.

I started at about 9:00am getting my kit together. First order of business was cleaning out the Therminator. I’d been doing the suggested backflush with hot water after every brew session, but hadn’t done much other cleaning. So, I made a nice strong hot PBW solution, and used an autosiphon to pump it through the chiller.

Boy, did that chiller need cleaning. What came out was green, full of chunks and … bleah. I’d chalked up the odd flavor I perceived in my last few batches to the usual brewers’ anxiety, but now I have another plausible explanation…. I think it’s clean now, but I may start looking at the whirlpool/immersion chiller approach again. That would have the advantage of being pellet-hop-friendly — the hop shortage has meant extremely limited availability of leaf hops.

In previous brew session, I’d spent a lot of time running back into the house for things, and wound up leaving large vessels of hot liquid over open flame unattended for longer than I’d like to. This time, I made a point of getting everything out and assembled ahead of time. That was enough equipment that on the second-to-last trip, I grabbed the camera:

All my brewing stuff

From near to far:

  • Buckets of crushed grains (top has Dunkel-Weizen, bottom has Dubbel; 16 pounds each)
  • Coolers for mashing: top one is a dual mash/lauter tun, bottom is for mashing only.
  • Random pots (on ground): big stockpot for moving and sometimes measuring liquids, the one with the handle is for moving mash around.
  • On table: Medium-size pot (6 gallon) for moving liquids, mash paddle and thermometer, retired mash/lauter tun for storing/moving/measuring hot liquids.
  • Sanitizing bucket (on ground). Siphon tubing, sanitizer, and squeaky-clean Therminator are inside bucket.
  • Dual propane burner with 10 gallon pot for 5 gallon batches and converted 15 gallon keg for 10 gallon batches.
  • Stack-o-fermeters

Yes, I did use every last bit of this equipment. Yes, the pots did wind up boiling over. Yes, it went quite well, somehow. No stuck mashes, no screw-ups (like not heating enough water), no snags at all. When I started chilling the last bits of wort, I could barely contain my happy dance. I mostly feel like a homebrewer again! (You can’t really feel like a homebrewer until you reach the “too much” beer phase and volunteer beer for parties, random passers-by, etc. — I won’t be there before today’s bounty is ready.)


Yay! and ouch again….

July 2nd, 2008

I think I’m finally healed from those darned wisdom teeth, and the double case of dry socket they led to. Not the most fun couple weeks of my life, but now I’m able to yawn without yelping, and eat sesame seed bagels without needing a follow-up cleaning (though I admit the reactions of co-workers walking into the bathroom while I’m sticking a huge syringe in my mouth were quite amusing).

So, of course it was time for some more pain.

(off-)road rash!

I got an opportunity to take the Humu on an off-road ride. Answering (against my better judgment) an ALL CAPS POST ON AN INTERWEB FORUM, I showed up at Theo Wirth park at 7am today. One other person showed up early, and we went for a ride on the short loop. I climbed up OK if slowly, then the first small drop went over a rock, followed by a sharp turn to the right. I caught air off the rock, but didn’t quite catch ground in time to make the turn. My front wheel hit a downed tree, the bike flipped, I did a three-quarter somersault, and landed on my back on the forest floor about 8 feet away. The other rider was far ahead of me, and I heard “Are you OK? I saw you flying through the air and got worried.”

Surprisingly, that crash didn’t lead to any injuries. I landed on my back with an upturned branch poking me, but it was a short one and doesn’t seem to have even left a bruise. It did give me a heavy injection of trepidation though, and I walked down quite a few sketchier descents. No, the road rash was from an anticlimactic wipeout. A rock caught my rear tire and pushed the bike out from under me. I hit the dirt. I bled, end of story. But oh, what a pretty picture it left on my shin. I especially like how the ordinary abrasions are embellished by that elegant, serpentine flourish of a laceration to the right…

Having a rather sedentary life and generally safe sedentary hobbies, it’s nice to get out, play in the dirt, and bleed a bit. Almost as nice as getting out and playing in the dirt, without bleeding :-)

After that, I stayed careful and remained upright. A couple other riders showed up, and we moved over to the main loop. The others left me with the advice “don’t turn left” (that’s where the more difficult sections are), and I wandered around the “maze of twisty little trails, all alike” enjoying myself thoroughly for another hour. About when I was ready to leave, I ran into the rest of the group and got directions out of the trails, headed back to the car, and into work, getting there just in time for a lovely 9am conference call.

Yeah, I’ll probably give this mountain biking thing another go sometime, after I’ve healed a bit…


Ooouuuch…

June 18th, 2008

So, last Thursday the ol’ wisdom teeth started acting up and I finally went to have them out that Friday. I was put under, so “ow, needle!”…”I go sleep now”…”Mr. Mikkelson, you’re done, the recovery room is this way”. After a few minutes laying down, I thought “hey, this is only a few whiskeys level of drunkenness” and sat up and started walking around. One of the doctor’s assistants asked if I wanted to wait out front. I said “sure”, then my lip drooped from all the novocaine, and I felt a little dribble of blood come out. I knew how I would feel sitting in the waiting room next to a large woozy, blood-drooling guy with a mouth full of gauze, and thought better of it, and went back to lay down. Then Jess and the kids came and picked me up, got me some meds, I started on the painkillers, and all was good (if a bit unclear at times).

I thought I was recovering pretty quickly, and went back to work on Tuesday, complete with a couple gently-devoured bagels in the morning. Perhaps that was a bit premature. Today, I had a nice not-so-gently-devoured Gyro for a late lunch and wound up losing quite a bit of it in a hole that shouldn’t be there. Fsck. Dry socket?
So I’ve been worrying about that crap all day, instead of looking forward to a nice kid-free weekend with Jess.

At least the serious pain hasn’t set in. It’s mostly the fear of what may come if I can’t get back to the oral surgeon in time, and how much longer it’ll be until I can eat proper solid food without worry (there goes the idea of a nice dinner out :-( ).

To distract myself from this, and keep me away from the painkillers for a little while longer, I did a little bit of bike stuff. I had bought a nice “just for fun” bike (a Kona Humuhumunukunukua’pua’a deluxe) I off craigslist last week, and dropped it off Monday at County Cycles for a little work (bar swap, chain tension, brake tuneup). We picked it up this morning, along with some new mountain-y tires for the Humu, and some less mountain-y tires and a rack for Jess’s mountain bike. So, I changed tires all this evening rather than freaking about dentistry (yipe!). It was good.

I’m pretty excited about the Humu. It’s a scaled up version of a beach cruiser, but with a very MTB-like frame and components. I swapped out the BMX-y riser bar for a more traditional riser, and the flame-patterned cruiser tires with similar-sized Continental Mountain Kings (earworm alert!). So, now it’s a respectable single speed mountain bike. After all the mountain bikes I’ve owned (ok, two) and turned into utilitarian commuters, I’ve told myself that this one will actually see some dirt sometime.

Or failing that, some snow, as a winter commuter. It’ll be good for that.

Now for some painkillers and the fitful, itchy sleep they bring…. Yay!


Zoom!

June 7th, 2008

Tonight, we saw some of the first session of the Minnesota Fixed Gear Classic at the NSC Velodrome. What a blast! Kids permitting (it was a late night for all) we may catch some of tomorrow’s races, too, or maybe a Thursday night one sometime this summer. I could definitely see going to these semi-regularly, now that I know how darn cool it is we have a Velodrome :-)

It was also a chance to see Roberto Chiappa in action. 42 mph, yikes!

These races were intended to re-invigorate track cycling in Minnesota. They definitely have a good start at doing that. A lot of the people I talked to or overheard in the audience were, like us, first-time attendees and enjoying what they see. It was even exciting enough to hold the kids’ interest for a few events, although they quickly decided to run their own running and “roll down the hill” races behind the bleachers.


Are you there Internet? It’s me, Chris….

May 15th, 2008

It’s finally time to write off all the stuff I wanted to write about, so I can write something. Ahhh… that’s better.

More to come soon, hopefully. For now, just updates in the subject areas I cover here….

Brews

I guess I’m still a homebrewer, because I’ve actually brewed in the last couple months. It was a little 5 gallon batch of a steam beer. Other than that batch, I’m essentially out of beer.

[That "out of beer" is relative; I actually have quite a bit of beer, but only one "everyday" beer on tap. And a cider. And a very sour lambic. And some of the strong bottled beers I'm saving for a special occasion... It's actually quite a lot by my pre-brewing standards, but not enough to get me to bring beer unprompted to parties, family gatherings, AA meetings, and the like.]

Bikes

My first commuter bike (the Raleigh MTB) was stolen out of our garage a few weeks ago. That had me bummed out for a few days, but at least I still had the fixed gear Schwinn to ride. I actually found that more pleasant to ride when it wasn’t by choice. Since no part of my brain was saying “gee, I wish I could coast/shift/turn the pedals while stopped”, I was better able to enjoy the ride.

Shortly after the theft, Jess’s uncle bought a recumbent and offered me his old MTB. It fit me, so I took it. It’s a nice mid to late 90s Giant Yukon. The frame is basically a touring frame with clearance for huge tires, and with a few handlebar/stem upgrades it could be a nice comfy bike for road rides. Or, since it has horizontal dropouts, I could turn it into a single speed MTB. Choices.

The biggest detriment to bike commuting now is the new garage project. Shortly after the bike theft, we decided to move on the garage replacement we’d been talking about. With no garage to store bikes, I’ve been moving the bike in an out of the house. With our short entryways, getting the bike in and out of the house is enough of a hassle to make me grab the keys and take the vehicle that’s already outside. At least the garage should be finished soon, so that may no longer be an issue :-)