Week @ Lab 2/21/2010
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,
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.
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.
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: