spout

November 8, 2005 spout

Have I missed anything?

I’ve noticed that various prolific bloggers feel the need to tell me that they’re going to stop blogging for more than 24 hours. That’s one of the things I love about RSS readers: no matter how long someone goes away, so long as I’m subscribed, I here their every utterance.

On the other hand, what I’ve come to hate about RSS readers is that nothing gets by me. Keeping track of absolutely everything was exhausting, so I went cold turkey. I’ve been off #R since I repaved my machine a coupla weeks ago. I still surf to slashdot.org about once/day, but that’s it. No Scobelizer. No Don. No Ian. No Dilbert or Gizmodo or any of the 100s of other items in my OPML that I can’t even remember. No RSS reader of any kind.

So far, I’m enjoying the extra time on my hands. Have I missed anything?

October 31, 2005 spout

What’s a group of geeks called?

Sloth of bears.

Army of ants.

Murder of crows.

Tribe of monkeys.

Embarrassment of richest.

What about geeks? Conference? Shy? Intelligence? Slather?

P.S. this site on collective nouns has a bunch of fun ones. I think I like smack of jellyfish” best…

October 29, 2005 spout

Testing ASP.NET 2.0 port of sb.com

Pay no attention to the may behind the curtain...
October 26, 2005 spout

The Most Amazing Consumer Experience

I just had the most amazing consumer experience and I just had to share it.

I was looking for the local Mom & Pop computer store in my area and I stumbled across www.puzzlecomputers.com. His site doesn’t mention a store, but I left him a message asking if he could upgrade my computer or point me at the local Mom & Pop. Not only does he do that kind of work, but he came to my house, picked up the two computers I wanted to use as parts, e.g. case, RW-DVD, HD, etc, recommended and purchased the new motherboard, CPU, memory and quiet power supply, put them all together (including modifying my old proprietary Dell case to fit), brought the whole thing back to my house and then spent another hour installing another HD I had lying around. The specs on the parts were 1GB of RAM (upgradeable to 2GB), 2.8GHz AMD processor and ABIT motherboard with all the trimmings.

The whole thing, parts, labor, delivery, etc. cost $400. Plus, he hauled away the extra parts so I don’t have to look at them. And when the drivers didn’t install right away, he was available for phone support.

Highly recommended. I wish all my consumer experiences were like this one!

October 24, 2005 spout

WF Activity Context

I was playing around with a state machine workflow in WF and ran across something that I didn’t except. Apparently if you have a an activity that can be other than a singleton, e.g. inside of a loop or as part of a state machine workflow, then an activity can not be accessed by it’s workflow instance variable. For example, the following works just fine in a sequence workflow:

public partial class Workflow2 : SequentialWorkflow {
private void code1_ExecuteCode(object sender, EventArgs e) {
// Retrieve Comment property from typed event sink (generated by wca)
string comment = this.eventSink1.Comment;
    Console.WriteLine("Order approved w/ comment= {0}", comment);
  }
}

However, in the case where the activity can be executed more than once, it’s my understand that each time through, there’s a new activity object that’s different from the named activity associated with the workflow. To get a hold of the current activity, you have to traverse the activity tree, which you can access in a code activity via the sender’s parent property:

public partial class StateMachine1 : StateMachineWorkflow {
void code2_ExecuteCode(object sender, EventArgs e) {
// Retrieve Comment property from typed event sink (generated by wca)
    Code codeActivity = (Code)sender;
    IOrderService_Events.OrderApproved eventSink2 =
      (IOrderService_Events.OrderApproved)(codeActivity.Parent.Activities["eventSink1"]);
    string comment = eventSink2.Comment; // eventSink1.Comment will be unbound
    Console.WriteLine("order approved w/ comment= {0}", comment);
  }
}

I haven’t figured out whether this makes sense to me yet, but that’s how it is. You can get the code here.

October 24, 2005 spout

Typed WF Communications Details

If you downloaded the samples from my previous two forays into WF communications programming, you probably couldn’t get them to build. The problem is that when I packaged things up, I removed the bin directories. I haven’t figured out just why this causes everything to stop building, but with the help of Dennis Pilarinos, I rearranged the two projects into three:

  1. communications interface (CommunicationLibrary): the data exchange service interface definition, compiles into CommunicationLibrary.dll

  2. communications activities (WorkflowProject1): uses a pre-build step to generate the typed activities generated from the communications library using the wca tool, references CommunicationLibrary.dll and compiles into WorkflowProject1.dll (nice name, eh? : )

  3. application (EventSinkAndMethodInvoke2): the app that uses the typed activities, references both CommunicationLibrary.dll and WorkflowProject1.dll

It’s only by separating the communications activities into a separate assembly that things can build and rebuild reliably. You can download the newly configured code here. Enjoy.

October 21, 2005 spout

I’m starting to speak in numbers

Someone posted an URL to a mailing list I'm on. My response to his post was "404." I bet you know what I meant w/o thinking about it. He knew and responded as if I'd written in English. This reminds me of the old joke about the guys that'd be around each other so long, they replaced back the same old jokes with numbers and make each other laugh. It's a funny old world.
October 17, 2005 spout

Web Services and Data Binding?

What does it mean to bind to a web service? It's not hard to think of taking the result of a web service and binding it as input to some set of controls, but what about changes to that data? Should data from web services be read-only, requiring an explicit call to add, remove or update or should their be some standard WS-CRUD standard? What do you nice folks do?