Being Scott Densmore

Nothing beats a talking monkey... Nothing.

My Links

Blog Stats

Archives

Post Categories

Monday, January 14, 2008 #

Coming Full Circle

I have come full circle in my career. I have recently joined the p&p team again this time as a PM. I really enjoyed my time at CodePlex and those guys are on the right path. Given this, I have decided to move my blog back to MSDN. Hey why not go full circle all the way. Check me out over here.

Technorati Tags: , ,

posted @ 10:56 PM | Feedback (25)

Thursday, June 28, 2007 #

CodePlexContainer Gets Virtual Method Interception aka OB4Life Taking It Back

We (Brad and I) were at it again. After finishing up some other CodePlex tasks for the last few weeks, we are finally finished with the last big task for CodePlex Container: Virtual Method Interception.

You can read about it here.

Now that the container is finally done, I will be able to get back to finishing the EntLibRefactored project. This will involve me making some major changes to how EntLib works. During this time, maybe we can get xml configuration of the container so that the configuration of EntLib is at the container level. Right now it will be slow going (not my full time day job :)), yet I think this will be a much better design and use.

Please send us feedback through the project site.

Taking it back....OB4LIFE!

Technorati Tags: ,

posted @ 9:30 PM | Feedback (32)

Monday, June 11, 2007 #

Event Broker in CodePlex Container

Looks like Brad and I are on a roll. We did Event Broker on Friday. You can read about it here. Hopefully we can get virtual interception done next week.

Technorati Tags:

posted @ 4:56 PM | Feedback (18)

Thursday, June 07, 2007 #

CodePlex Container gets Interception

Todays check in marks a new day for the Codeplex Container. We now have method interception via remoting. I have been talking about this for a while and finally we have our first fully functional check in. Check it out here.

The interception (method interception) is loosely based upon the PIAB work from Enterprise Library 3.0. Our goal was to have a code only version and then add the syntax candy via attributes after. All this work is done in the context of ObjectBuilder and our container. So you can get the same functionality of configuration and rules doing the work with different strategies. I am going to try and spend some time on this in the EntLibRefactored project soon.

Technorati Tags: ,

posted @ 11:16 PM | Feedback (30)

Monday, June 04, 2007 #

CodePlex Client June 2007

We just released the latest CodePlex Client with patch support. Read the pretty words here.

On a personal note, this has been a blast to work on with Brad. We have introduced some great customer value and a new version of ObjectBuilder fell out of us building a real application (I am sure someone will say they could have done it in 20 minutes with one hand tied behind their back :)).

Technorati Tags: , , ,

posted @ 9:21 PM | Feedback (10)

Wednesday, May 30, 2007 #

Apple is serving ice water in hell

Steve Jobs did an interview at D. This has to be one of the greatest quotes I have heard this year: (bold is interviewer - non-bold is Steve's responses)

"So when you bring an ATV and iPhone home, all you need is iTunes software. You don't need to go into the windows control panel... they have their method. You just take care of that in iTunes. [wow, fluffy Walt!] So the question: how many copies of iTunes are out there?

Several times as many copies of iTunes out there. 300m or more.

Almost all are on Windows computers?

Statistically yes.

Statistically? In reality? In this dimension? So that makes you an enormous Windows software developer.

It's like giving a glass of ice water to somebody in hell!"

Read the full interview here.

Technorati Tags:

posted @ 9:54 PM | Feedback (13)

Wednesday, May 23, 2007 #

Enterprise Library without Configuration

At the end of Enterprise LIbrary v1, we knew .NET 2 was coming and that there would need to be changes to configuration. The biggest thing I heard (from Brad, Peter, Jim, Brian etc) was that the blocks should be completely independent from configuration. At the same time we were really talking about Dependency Injection and how we could accomplish removing configuration with this mechanism (at the same time figuring out .NET 2.0 config and the changes we wanted for EntLib V2).

While we were working on EntLib V2, we were working in the same room as the Composite Application Block team where Brad, Peter and Ed come up with ObjectBuilder. We decided we would use ObjectBuilder as the DI framework and and build our own container (EnterpriseLibraryFactory). By doing this we could inject config into the blocks given an IConfigurationSource. Given all the learnings, changes, etc, I don't feel we made it to the finish line when breaking out configuration. I think to really get to the solution we needed to remove the dependency of the Common library from all the other code. Enter EntLib V3.

Enterprise Library version 3 is another great release, yet I am sad that the configuration did not get much attention (of course that is probably because I had written it 12 times before). Now that we have the EntLibContrib project on CodePlex I thought I would start putting up the code that I have migrated to not use config. You can find it there in the EntLibRefactored folder of the project. I have my own solution so I can refactor more as I go along. All the original EntLib assemblies are in the 3rd party directories so you don't have to install it. Eventually, they will not be necessary. Wouldn't this be a cool way to run EntLib 4?

Why am I doing this?

Good question. Developing a product and using it are two different things. We use ObjectBuilder and EntLib V2 for the CodePlex site. What we wanted was the new PIAB (Process Invocation Application Block) for the interception mechanism. Looking at the block, I discovered that to use it we needed to drag along the Common and ObjectBuilder library. I didn't mine ObjectBuilder but taking Common was out of the question... we were still using EntLib V2. If I didn't have a dependency on the Common library, I could use ObjectBuilder and PIAB since they were the same.

This is the major reason that I decided that it was time to start this process of removing the dependency of configuration from the blocks. My first stab was to rewrite PIAB using the EntLib V3 binaries... and I have to say it was pretty easy. You could take the same approach (and I will eventually) with the rest of the library.

What is next?

I have a few more things I want to do while removing the configuration. If you think about removing the configuration from PIAB, you could move it further down the stack. You could then build a container that did both DI and AOP. This is what we are doing for CodePlex. Watch here for updates. Brad and I should have some new code for you that includes just this!

Technorati Tags: ,

posted @ 5:38 PM | Feedback (171)

Tuesday, May 22, 2007 #

Subversion Support on CodePlex

Man, we are adding Subversion support.... I had no idea.

Technorati Tags:

posted @ 5:54 PM | Feedback (28)

Friday, May 11, 2007 #

CodePlex Client is Released

After a couple of months of testing and using it internally, CodePlex Client source is on CodePlex. Read the full announcement from Brad, and get the code here.

Technorati Tags: , ,

posted @ 5:40 PM | Feedback (10)

Friday, March 30, 2007 #

Unit Testing Goes Pro!

I guess all the rants finally paid off. Unit Testing is going to be available in Visual Studio Pro. I think this is great, yet I agree with Brad that Unit Testing is so fundamental that it should be part of the SDK just like MSBuild. Time to start another petition.

posted @ 4:45 PM | Feedback (22)