net comments edit

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

When you create a workflow in WF, the actions that it can take are referred to as “Activities.” Think of all the things you might want to do in a workflow:

  • Flow control (while loops, if/else decisions, etc.).
  • Executing code.
  • Handling events.
  • Calling external services.

…and so on. Each of these things is an activity. In a state machine workflow, each state the workflow can be in is an activity. Even workflows proper are activities - they’re “composite activities” that contain other activities. Which activities get used in your workflow will depend on the type of workflow you’re using and your specific needs.

Simple sequential workflow showing various
activities.

This simple sequential workflow shows what it might be like to do division in a workflow. Some inputs come into the workflow and are looked at to see if the user is trying to divide by zero. If so, an exception is thrown; if not, the division is done and the results are returned. Looking at the diagram, each of the “boxes” is an activity:

  • The workflow itself.
  • The if/else branching activity.
  • Each branch inside the if/else branching activity.
  • The exception-throwing activity (“divideByZeroFault”).
  • The code activity that performs the division.

Windows Workflow Foundation comes with a lot of activities, found in the System.Workflow.Activities assembly, but if you don’t like the ones that come with WF, or if you have a special business need, you can create your own custom activities to reuse in your own workflows.

gaming, xbox comments edit

I’ve got the original Xbox 360 (not the Elite) so I don’t have an HDMI port on it. I’d upgrade to the Elite (maybe) except it would bring on the whole DRM problem all over again because I’d be switching consoles. No good.

Mad Catz HDMI conversion kit for Xbox
360Turns out Mad Catz released an HDMI conversion kit for Xbox 360 so you can just buy this adapter and still get the full 1080p goodness you’d get from the Elite.

I saw this bad boy the other day in the Buy More and thought it looked interesting, so I mentioned it to my dad, who is also interested in stuff like this. It’s $90 so it’s a little more expensive than an impulse buy.

Dad promptly went out and bought it and says it is awesome. He says he and my mom both can see a very obvious visual difference from using the VGA cable and that it’s so clear it almost hurts.

Obviously, your mileage may vary, but I think I’m putting this on my list of things to get.

net comments edit

I’ve been working a lot with Windows Workflow Foundation (WF) lately, getting it to integrate with ASP.NET, and I found that while understanding the concept of a workflow was pretty easy, getting over the technical hump of what workflow means with respect to WF and how to use it was pretty difficult.

What I really found while searching for resources was that there’s a lot out there about “how to use XYZ in situation ABC” but there’s nothing that explains to me what XYZ is or what its significance is in relation to the stack.

To that end, I decided to start writing some short posts that just explain what each of the major pieces of WF are and what their significance is. Maybe helpful, maybe not. I’m calling it “Two Minute WF” because I want to give a pretty high-level, easy to understand explanation that you can read through in a couple of minutes, get it, and move on. No major code samples, no in-depth discussions of the bare-metal tech, just a quick hit on what these things are. Maybe if I get through the major components I’ll continue the series by adding more examples. Maybe it’ll get to that “in-depth” level at some point, but I’d wager you can already find that content out on the web if you search.

Available Two Minute WF topics:

net comments edit

In this Two Minute WF, I’ll tell you about the types of workflows you can run in Windows Workflow Foundation.

Out of the box, you get two types of workflow:

  • Sequential workflow
  • State machine workflow

A sequential workflow runs a lot like a flow chart and its design-time experience reflects that. (Yes, I realize that’s technically inaccurate, but from a conceptual perspective, that’s pretty much it.) Usually sequential workflows run in services or other automated processes that don’t require user interaction.

A state machine workflow is exactly what it sounds like - a state machine. You define the set of states the workflow can be in and the valid set of transitions between the states. The actions that occur in each state determine which transition to take to move to the next state. When integrating with ASP.NET, you’ll be looking at state machine workflows.

Both workflow types can be modified (within certain limits) on the fly to be dynamic and both can communicate with external services, listen for events, or evaluate rules to determine their flows. Both use the same set of activities (actions - like “if/else,” “execute code,” etc.) to perform their internal work. (I’ll do a different Two Minute WF post on activities.)

Visual Studio 2008 comes with templates that let you very easily create console applications that host either of these workflow types so you can experiment with them and decide which type is right for your application.

home comments edit

A couple of weeks back we had some birds move into the walls of the house.

See, we’ve got two dormers on the front of the house and just under the eave overhang on each side of the dormers where the dormer meets the main roof (so four places), the builder didn’t actually finish the siding… so there were four places wide open for small creatures to move in. Apparently this is very common, at least in this area.

Anyway, I was working in one of the rooms upstairs and I heard this scratching noise. Going outside and looking up, I could see all sorts of nest-makings coming down the roof out of the hole in the siding.

I ended up having to call a guy and he came in, got all the bird stuff out of the walls, and blocked up all the holes with metal screen. I’d have done it myself, but our roof has a really steep pitch and, frankly, I am not a handy person and have no idea what I’m doing. I’ll pay someone else to risk their neck and do it right any day of the week.

If you ever get in that situation and you’re in the Portland, OR area, well… first, I’m sorry, because that sucks. Second, the guy I called was Ed Belding from Evergreen Pest Management - (503) 925-9752. Great service, reasonable prices, and he does more than just birds. Give him a call, he’ll hook you up.

Now to address the bathtub that’s started a spiderweb crack upstairs…