A clown and a large fez-shaped Shriner mascot parade around the
arena.Sunday we went to the Shrine Circus and saw Circus Gatti perform. It was very interesting and brought back some childhood memories as I watched some kids getting an elephant ride. (I didn’t think they did that anymore.)

There were some neat acts and I particularly enjoyed the “Extreme Metal Riders,” a group of guys who ride motorcycles around in a metal ball. I’d seen three motorcycles at the same time, but these guys do five and six at once.

The thing I thought was most interesting was truly how small the production was. They had several acts, but there were only like 20 people in the circus. You’d see one of the acrobats was also one of the guys riding motorcycles and he was also the juggler. The lady doing an act with a bunch of hula hoops is also the one who does an act on gymnastics rings and was a “cheerleader” for the motorcycle guys.

I had to show some respect for them, out there making their way doing things I know I can’t do, but at the same time, having just seen Cirque, it felt so small and… well, cheap. I feel bad saying that, because you could tell these folks were doing the best they could with what they had, and if you throw Cirque sort of money at something, of course it’s going to be bigger-better-faster-stronger. Ticket prices reflected that - Shrine Circus ticket: $9; Cirque ticket: $85. You do the math. It was a good time all the same and fun was had by all.

Plus, I had no idea the Shriners had a giant fez mascot. That thing is the bomb.

My ninth treatment was Saturday morning. They got a new laser at the facility and I think it’s more powerful than the previous one, because it hurt a little more and when I was done I had little red welts all over my face that looked like bad acne. I had this same sort of reaction the very first time I went in for treatment and they tried the laser on me, so it’s not like I’d never seen it before and I definitely wasn’t worried. That said, it was sort of painful and the technician put some ointment on my face and told me not to shave or otherwise irritate it for a day.

My chin is really the only really dark hair I have left on my face, and that’s patchy at best. The rest of my face has small hairless patches among sparse hair patches where the hair is growing, but is much finer and more manageable. My upper lip still has a decent amount of hair on it, but the tech is really jumping in on that to make sure it’s taken care of.

I have three more treatments in this “package” (they sell treatments in packs of six). I’m looking forward to where I’m at when I end this set. Wondering if I’ll need more or not. I don’t know if I’ll be totally hairless, but it’ll be considerably thinner. I’ve definitely enjoyed the results so far - I haven’t ruined any shirts, sheets, or pillowcases for quite some time now (my beard used to just destroy these things).

net comments edit

In this Two Minute WF, we’ll talk about the WorkflowRuntime.

The WorkflowRuntime is the service that coordinates the execution of workflows and the services that workflows use. Once you’ve defined a workflow using the various activities you need the workflow to perform, you tell the WorkflowRuntime to create an instance of that workflow and start it running. The WorkflowRuntime uses the various services available to it to start the workflow instance running on a thread, persist the workflow when it becomes idle, and generally manage the execution of the workflow.

The WorkflowRuntime provides events you can handle to let you know when significant things happen like when a WorkflowInstance is finished running, has thrown an exception, or has been terminated. You can also use the WorkflowRuntime to enumerate the list of currently loaded workflows or retrieve references to workflow-related services.

You can only have one WorkflowRuntime per AppDomain (generally this means you get one per application), so in more than the simplest application it can be kind of tricky to manage your WorkflowRuntime.

For example, say you have an object that needs to know when a workflow completes. You might have that object subscribe to the WorkflowRuntime.WorkflowCompleted event. Later, you might no longer need that object so you stop referencing it and assume the garbage collector will clean it up for you… but it won’t. Why? Because it’s still subscribed to the WorkflowRuntime.WorkflowCompleted event so there’s still a reference to it. This sort of thing becomes a little tricky particularly in applications like an ASP.NET web app where a page instance might need to know when a workflow it started is done running. (There are other issues with using workflows in ASP.NET that I’ll get into in a later topic.)

There’s a lot to consider when working with WorkflowRuntime, but it does a lot of the work for you. Once you get your head wrapped around it, WorkflowRuntime is your best friend in Windows Workflow Foudnation. You’ll be seeing a lot of each other, so get to know it.

gaming, personal comments edit

Okay, folks, here are your million-dollar product ideas for April 2008. If you implement these, remember to send me a t-shirt or something.

Coffee should come in milk
cartons.Coffee should come in milk cartons. I can’t really remember the last time I actually measured coffee into the coffee maker. Once you’ve done it a couple of times, you know that a mound of coffee about this big is the equivalent of two scoops or whatever. But pouring coffee into the machine out of a bag is, well, sometimes troublesome. You kind of have to manually munge a “spout” on the end of the bag, too much comes out… bah. Other containers - cans, tins, etc. - are also problematic. Put it in a milk carton so I can pour it.

Combine Dance Dance Revolution and Rock Band for the ultimate music experience.I think I have like six versions of DDR at home. I know I have at least four dance pads across two different consoles. I love DDR. I also love Rock Band. They should let you hook up more than four people in Rock Band. Keep the four band members - guitar, bass, drums, vocals - but add the ability to hook up dance pads. The vocalist could dance while singing, and additional dance pads could be added for “backup dancers.” Hey, if the guitarist really wants to get crazy, dance while playing the guitar. You could combine that with the stage kit coming in June and have yourself a full production, ready to go on tour. I’d totally buy it.

GeekSpeak, net comments edit

The InnoTech Oregon conference is going on April 16 and 17 at the Portland Convention Center. I’ll be speaking in the Developer track on “Unit Testing with TypeMock.”

Unit testing checks the behavior of the code you write by testing just that code, isolated from the rest of the system. It’s complementary to integration testing and is an important step toward ensuring reliability of the entire system in production. Unfortunately, not everything is designed with testability in mind. Third-party dependencies can throw a wrench in the works. You may need to add tests for legacy code that isn’t easily isolated. And what if the public-facing methods and properties on your code make it easy to use but hard to test? This session will show you how to have your unit testing cake and eat it, too, using NUnit and TypeMock.

I’m the last session of the last day - April 17, 3:30p - so if you want to see some TypeMock Isolator in action, come check it out.