Tech Tock

Time is of the essence.

Week @ Lab 2/21/2010

Ski Trip!


The Lab sponsored a ski trip on Saturday to Windham Mountain.  It was an awesomely awesome trip.  Great weather, great company, and as far as I could tell, a great time had by all.

Goodbye ThreadPool & BackgroundWorker,
Hello Task

At this month’s .Net Meetup, David Barnhill, gave a great presentation on Multithreading in .Net 4.0.  While the internal features are just upgrades, support for new syntaxes and keywords in a lamda style will make the current thread starting styles obsolete.  Task Parallel Library is now the way to go.  The Mandelbot Set demo was instructive and visually pleasing.

You can download David’s multithreading samples here.

Another David also presented on mutlithreading in PLinq.

Some links:

Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4

Samples for Parallel Programming with the .NET Framework 4

Parallel Programming in the .NET Framework

DryadLINQ is a simple, powerful, and elegant programming environment for writing large-scale data parallel applications running on large PC clusters.

Reactive Extensions – Rx
Rx is a library for composing asynchronous and event-based programs using observable collections.

I’ve heard only great things about the Rx library, but David B. noted that the support and upgrade path is somewhat nebulous at this time.

Interesting fact:  StackOverflow data is publicly shared.

I highly recommend this meetup.


This is the city after the meetup.  Its an interesting area, a few blocks up from times square.

Word of the week:  Blend·a·bility

With MS Expression Blend becoming more and more important in our development, we strive to maintain code that doesn’t break the UI designer features of Blend.  We call this maintaining blendability.

Basically, Constructor and OnApplyTemplate methods for visual elements need to be respected and not throw errors when loading in design time.  Constructor issues often come from dependency injection which Blend doesn’t supply.  In this case making a default constructor can solve the problem.  Code in the OnApplyTemplate should also respect nulls often caused by lack of dependency injection.  Alternatively, you can check for design time with this code:

if(System.ComponentModel.LicenseManager.UsageMode ==


February 22, 2010 Posted by | Uncategorized | , , , , , | 3 Comments