Monthly Archives: July 2009

Threading in WF 4

A number of customers have asked about the threading model used for WF 4. In brief, our extensibility for threading in the WF Runtime is based on System.Threading.SynchronizationContext.

When a execution is kicked off (indirectly through ActivityRuntime.Run), we will first call SynchronizationContext.OperationStarted(). Next we will call SynchronizationContext.Post() to get on a “workflow” thread.

We will then execute any pending work items from our internal scheduler queue. It is possible that more work items will be scheduled (through context.ResumeBookmark, context.ScheduleActivity or activity completion). In that case, we will continue to execute those work items as well. Execution will remain on the “workflow thread” until we either go idle (no more work items), or the runtime is explicitly paused by the host through ActivityRuntime.RequestPause (which is what’s called underneath Unload() for example). When this happens, we will call SynchronizationContext.OperationCompleted().

How you configure a SynchronizationContext depends on the host construct that you are using.

  1. For WorkflowServiceHost, we will use the the value of SynchronizationContext.Current at the time of workflowServiceHost.Open (unless UseSynchronizationContext is set to false). This is consistent with the rest of WCF.
  2. WorkflowInvoker.Invoke/BeginInvoke has overloads where you can explicitly provide a SynchronizationContext for us to use
  3. WorkflowInvoker.InvokeAsync will use the value of SynchronizationContext.Current for consistency with the Whidbey async pattern
  4. WorkflowInstance has a constructor overload which allows you to explicitly provide a SynchronizationContext for us to use

If no SynchronizationContext is provided by the host, we will use an internal WF default SynchronizationContext. The WF default SynchronizationContext uses IO completion ports under the hood to implement Post().

Ice Cream 7/9: Bluebird Homemade Ice Cream and Tea Room

Rating:

A few weeks ago, a hand written sign on the storefront next to Samadhi Yoga on 12th and Pike announced the imminent arrival of “Bluebird Ice Cream’”.  I certainly love ice cream, and Capitol Hill could use a solid addition to Molly Moon to satisfy our neighborhood cravings. Thursday was opening night, and we were already conveniently nearby after dinner.

bluebird_lauren

Turns out that Bluebird is not only an ice cream shop, but also serves a variety of teas and sandwiches. They are very big on “going local” with their menu and ingredients. The free beer for opening night was from the Elysian (a few buildings up Pike), and the coffee is from Stumptown (around the corner on 12th Ave). Both of those 2 locations are features in ice cream flavors as well. While the sandwich menu looked good, I’ll have report back on the food another time, as Thursday night was all about the ice cream.

bluebird_beer_strawberry

We had Elysian Stout and Northwest Strawberry. Bluebird’s ice creams have great texture and are full-flavored without going overboard. The Stout ice cream was amazing, with undertones of coffee and chocolate. I expect it to be a flagship of Bluebird’s given the combination uniqueness and deliciousness. Strawberry tasted very fresh, and reminded me of a version I’ve made at home. Get it while the berries are still in season!

bluebird_me

We lounged on the couches and then checked out the adjacent artist loft. Everyone was very friendly, and the space was cozy and welcoming. Overall Bluebird exceeded my expectations, and I think they’ll more than hold their own against other Capitol Hill ice cream choices. I look forward to stopping by for a quick snack, or lingering over tea and sandwiches.

bluebird_sign

Bluebird Homemade Ice Cream and Tea Room
1205 E Pike St, Suite 1A
Seattle, WA 98122
[hours forthcoming]

Marination Mobile (Seattle, WA)

Rating:

Lauren and I were talking about street food the other day, and she heard about a new truck that served “Korean tacos” called the Marination Mobile. They are currently in Capitol Hill a few nights each week at the Shell station on Pike and Broadway. Last night we stopped by to check it out. We coincidentally arrived right as they opened, but a line formed quickly thereafter:

marination_line

Marination Mobile serves 4 types of tacos, various SPAM products (I know, I’m skeptical too, but supposedly they’re awesome), quesadillas and a rice bowl. From their website:

Marination’s grub melts Korean heat and aloha love together in corn tortillas, and also in your mouth

Tacos – two warm corn tortillas stuffed with your choice of sweet and savory kalbi, luscious pork, spicy chicken, or sexy tofu (that’s right, we said sexy tofu) and topped with our saucy, tangy, crunchy signature slaw

Miso ginger chicken – You don’t need an explanation of this brilliant marriage of simplicity, right? It’s miso ginger chicken. It’s love and soul and flavor. It’s ginger and miso and chicken. ‘Til death do they part.

Kimchi Quesadilla – a really good thing with another really good thing plus jalapenos and kalua pork. Believe

marination_menu

We ordered a kimchi quesadilla and 4 tacos (kalbi beef and miso ginger chicken for me, miso ginger chicken and tofu for Lauren). The staff were very friendly and happy to answer questions. Orders were served very quickly, roughly on par with how long you’d wait at a Mexican taco truck. Then it was time to settle in curbside and see if the food lived up to the hype.

marination_me

The quesadilla was amazing! This one had pork in it, but I was informed that they sometimes have a vegetarian version as well. If you like kimchi, you will love this quesadilla. It goes very well with the pork + japapenos + spicy sauce. Juicy, crunchy, and immensely satisfying.

marination_quesadilla

As much as I enjoyed the quesadilla, tacos are king at the Marination Mobile. Kalbi beef reminded me a lot of the Maui ribs from the Golden Steer in Bellevue. Miso ginger chicken was moist and deliciously Asian fusion. All of the meats had clearly been marinating for an extended period of time. Even the tofu taco was very impressive

marination_tacos

The hype about Marination Mobile is well deserved. Lauren and I both woke up today salivating over last night’s meal. Fortunately they’ll be back in our neighborhood again next week!

Marination Mobile
Roaming Location (check their website/twitter page)
Mon-Sat
Seattle, WA

Fresh Bread in under an hour!

After reading Food Matters, Lauren and I have been experimenting more in the grains department.  We’ve made a number of variations on the flatbread recipe that is included in the book. It makes a great snack, but is more like a pita than a loaf of bread.

Tonight I made a Quick Bread using whole wheat flour, mixed with some buckwheat and garbanzo flours along with yogurt and some Fireweed honey. I’ve always been hesitant to make bread due to the time commitment, but this recipe took less than 10 minutes prep and 45 minutes in the oven. And it was delicious! I modified the recipe by adding an egg and reducting the honey to about 1.5 tsp.

I didn’t have a camera handy for the glorious moment that I took the bread out of the oven, so I’ll just have to try another variation next week. 🙂