Geeks With Blogs



Add to Technorati Favorites

An Archived Managed World This blog has moved to June 2008 Entries
True CCR Concurrency - Using CCR without Iterators
As developers get up to speed with the CCR, they quickly come across the (ab)use of iterators to achieve "concurrency." Okay, "(ab)use" may have been a bit of a low-blow. I call it an abuse as it is a totally unorthodox use of what iterators are usually used for, and I've came across my fair share of developers who find this unorthodox usage highly confusing. Not only is it confusing, but it's not what I would consider true concurrent code. In a concurrent environment, if I create twenty different ......

Posted On Saturday, June 21, 2008 7:22 AM

Avoiding Inheritance Dependencies Using Generics and Lambdas
One realization I have come to when talking with many other developers is that there is a good number of developers that don't realize that inheritance introduces dependencies directly into your classes. Your derived class is now dependant upon the interface and behavior of your base class. Worded another way, your derived class is now strongly coupled to your base class. I've met a number of developers that are very passionate about managing their dependencies via inversion of control, dependency ......

Posted On Sunday, June 15, 2008 1:18 AM

Lambdas - Know Your Closures
In this post I want to discuss with you the importance of realizing how lambdas work (and why you should care). Let's dive right in with some code. Given the following code snippet, what would you expect the output to be (no cheating :P)? var actions = new List<Action>(); for (int i = 0; i < 10; i++) { actions.Add(() => Console.WriteLine(i)); } foreach (var action in actions) { action(); } Would you believe me if I told you this is the output you get? 10101010101010101010 At first glance, ......

Posted On Friday, June 13, 2008 6:28 AM

Open Space At PDC 2008!
This year for PDC 2008, we have decided to learn from a successful model used by various customers (like the ALT.NET crowd) in order to help ensure that PDC 2008 is the best conference ever. Our goal with these un-sessions is to really enable attendees with common interests to have some great conversations in an efficient setting. So what is Open Space? Taken from the description we have on the PDC website (you can also refer to the Open Space Technology entry in Wikipedia): Open Space is a way to ......

Posted On Tuesday, June 10, 2008 6:49 AM

Managed Extensibility Framework CTP Released
What a great week to be a developer. First, the latest Parallel Extensions CTP was released to the net, and now the first Managed Extensibility Framework CTP has been released onto Code Gallery. So what is the Managed Extensibility Framework? From the announcement: "The Managed Extensibility Framework (MEF) provides developers with a tool to easily add extensibility to their applications and with minimal impact on existing code. The application developer can define extension points according to the ......

Posted On Thursday, June 5, 2008 5:22 AM

Facet Mapping with LINQ, Part 2
In "Facet Mapping with LINQ, Part 1", we discussed how to add Facet Mapping to your .NET application using an attribute-based solution. This solution just doesn't leave me very excited. As we recounted, there are some problems with using an attribute-based approach: Littering domain models with presentation layer-specific attributes Doesn't support existing POCOs (that perhaps can't change) Can't support combinations of members (without create a new method property that actually does the combining ......

Posted On Tuesday, June 3, 2008 9:00 PM

Fluent Languages
The first time I saw some talk about this "movement", it was Martin Fowler discussing "Fluent Interfaces". An example Martin gives is the idea of time intervals. Here's how one might declare an interval today (in Java): TimePoint fiveOClock, sixOClock; ... TimeInterval meetingTime = new TimeInterval(fiveOClock, sixOClock); Here's how one might to do the same with a fluent interface (anybody who writes Ruby code should recognize this type of programming): TimeInterval meetingTime = fiveOClock.until(sixOClock); ......

Posted On Monday, June 2, 2008 11:16 PM

Parallel Extensions to the .NET Framework, June 2008 CTP Released!
The latest CTP for Parallel Extensions to the .NET Framework was released out to the intarw3bs today (Go Digg It on Digg and Kick It on DotNetKicks). This is the second major CTP for the Parallel Extensions. If you're the kind of person who likes to just get the latest install and play around, you can find it here. If, however, you are a person who would like to read some resources about the new CTP first, there's a bunch of links for you as well: Ed Essey announces the release on the Parallel Extensions ......

Posted On Monday, June 2, 2008 8:01 PM

Copyright © Jason Olson | Powered by: