South Colorado .NET User Group Meeting is Postponed

FYI the South Colorado .NET User group meeting has been postponed due to some unforeseen scheduling conflicts.  The meeting will be next Tuesday July 8th.  Regional Director David Yack will be presenting on the new Dynamic Data functionality from the ASP.NET team.  It's a great topic from an exceptional speaker so don't miss it.  For more information please visit the South Colorado .NET Users Group web site.

I never knew Software Architecture was a Democracy

I always thought it was a dictatorship run by Microsoft.  I came across this article about "A vote of no confidence" in the ADO.Net Entity Framework this morning.  I recommend spending some time reading the article and also following all the links to other related articles.  The issues are great concepts to understand. 

I'm not going to get into the specifics or defend one side or the other.  However, I want to express my position that there are 100 ways to skin a cat, or in this case architect a software application.  So, if you don't like the EF V1 don't use it.  If the issues being discussed are important to you and effect your application then by all means use whatever ORM or data access technology you like.

I joked about software architecture being a dictatorship, but the bottom line is will the end user care if you used EF, NHibernate or straight ADO.Net Datasets?  Probably not as long as the system works.  So in the end it is a dictatorship.  You (or your team) and only you decide what architecture to use.  However, keep in mind you are also the one that has to make it work and scale.

Signs that I'm doing ok as a (Geek) parent

My friend and co-worker Julie Yack posted about this subject on her blog here.  Her signs are probably more normal.  It made me think that my signs are geared towards the Geek (mainly Star Wars) culture.  Here are some signs that I'm doing OK as a (Geek) parent.

  1. My 5 and 3 year old children can hum both the theme song for Star Wars as well as the theme song for the Empire.
  2. When I say to my 3 yr old son "I am your Father" he responds with "No!" ala Luke in Empire Strikes Back.
  3. My 5 yr old daughter's favorite shirt is her green Yoda shirt.
  4. The kids favorite CD to listen to in the car is the soundtrack to Phantom Menace
  5. My son's room is decorated in Transformers decals.
  6. My kids both need a PC so they can go to their ".coms"
  7. And finally this says it all:
  • IAmYourFather
  • SpeederBike
  • Empire

Too many moving parts!

I love design patterns.  Especially the extensibility patterns like provider and plug in.  Microsoft uses these patterns all over the place in the .Net Framework.  In fact, they are in the config files for every application we write.  That being said I think things might be getting a bit too extensible.  It seems these days I'm spending more time tweaking config files than actually coding.

For example, I've converted a handful of ASP.NET applications to the 3.5 Framework lately.  The change inside of Visual Studio 2008 on my development machine is pretty simple.  Visual Studio takes care of updating the web.config file for me.  However, I don't deploy my web.config files from my dev machine to the test and production servers because the config files contain environment specific settings.  So, I have to manually update the web.config files on these servers.  This is a major pain and takes a lot of trial and error to get it right.  Time I'd rather spend pulling out my finger nails.

Another example is what it takes to get a WCF service working.  Matt Brown did a presentation at the South Colorado .NET User Group on WCF earlier this month.  He did some great demos, but about half his time was spent tweaking the config files of his applications.  I think Matt has the most experience with WCF of any one I know.  Even he had to look a few things up and ran into some config issues.  This is not a knock on him by any means.  It's just another example of how reliant we are on config files these days.

I'm not saying I'm going to quit using these patterns.  In most cases I have no choice because it's just part of the Framework.  I will, however, take extra time in the design phase of my projects to determine where extensibility fits and where a re-compile and deploy might be a better simpler option.