Geeks With Blogs
Mike Nichols - SonOfNun Technology If I were the captain on a big steamboat... General
No Mo Here
No blogs are getting posted here...update feeds to or swing by the site at See you there :) MIKE

Posted On Monday, January 8, 2007 9:26 PM

Moving Day - Feeds, Update Thineselves (both of you)

We've moved

New blog found here at

RSS is here at

Thanks to GWB for parking me here for a spell :) MIKE

Posted On Wednesday, October 4, 2006 11:13 AM

Builds that make my eyes bleed and the assemblies that cause them
Lately, my ASP.NET 2.0 app has been taking so long to build I have been going crazy. I came across this post at ScottGu's blog that had a possible cause for suddenly long build times. I have about 20 projects, but it's hardly a massive site. I had some problems that I just kind of put up with a while ago where an older version of Iesi.Collections.dll would appear in my /bin folder of my web root and I have been running the NHibernate alpha 9that uses version of Iesi.Collections). Anyways, ......

Posted On Wednesday, September 13, 2006 9:16 AM

Wintellect's PowerCollections come thru again
While trying to tighten down access to invariants within an Aggregate, I'd like to make the exposed collections ReadOnly. Then I control the addition of child objects thru exposed methods, thus enforcing the Aggregate's role as gatekeeper for these objects. The problem is, I am mapping NHibernate to my fields which implement IList which, of course, allow .Add(T entity) and casting to an ReadOnlyCollection in the exposed property isn't going to work. So I poked around the Algorithms utility class ......

Posted On Friday, September 1, 2006 11:09 AM

Colibri tool
I've been using the Colibri tool to open my apps and control panels for some time. A little summary of the tool is here with screenshots. Really, it's so simple there isn't much to say other than why you may want to consider it if you use Google Desktop instead of the silly QUickLaunch icons next to the "Start" menu. With a quick Ctl+Space (or whatever you want it to be) and just three keys I open whatever application I want. Same thing if I want to change my display setting (Ctl+Space+Dis) and so ......

Posted On Thursday, August 31, 2006 4:03 AM

Microsoft To Change Name
Microsoft announced today they are changing their name to Macrosoft To celebrate, they have also implemented a new licensing constraint on applications built with their popular .NET framework. The new licensing requires that they have rights to both name your application and issue version numbers. To accomodate this they are implementing a new algorithm for revision numbers using PI in lieu of the boring increment-by-1 method. Minor version changes will now use the Hebrew alphabet instead of plain ......

Posted On Friday, August 25, 2006 12:31 PM

The Subclass Me Reflex
One of the side-effects of being new out to learning Object Oriented Principles is the propensity to see everything as a subclass of something else. As if all objects shoudl derive from IThing since surely they might ALL have to have some common behaviour, right?!? This is motivated by a GOOD desire...wanting to eliminate duplication of code. So the novice reaches into his toolbox and gets *the* hammer and subclasses, hoping that all inheritors need something like the method he is building. There ......

Posted On Wednesday, August 23, 2006 12:59 PM

Remember Who The Enemy Is
I have been reading several posts from folks I respect for their advancement of practices like TDD, Agile ,DDD, and so on. Their wisdom has helped give me a great toolset to build deep, maintainable code that is production-minded throughout now. This is contrasted to writing what amounted to 'demoware' as I tried to write maintainable code using RAD tools. Still, I think Agile-minded leaders need to bear in mind that the enemy is not Microsoft if their creed is in fact rooted in the pragmatism of ......

Posted On Wednesday, August 23, 2006 4:04 AM

Dependency Injection ala Structure Map
Since I want to use words like "Repository" and "DDD" (ok, that's an acronym not a word) I have been slamming my head against Eric Evans' and Jimmy Nilssons' Domain Driven Design books in tandem. I get the same feeling when reading Evans' book that I used to get when I was playing jazz gigs in town (drummer) and some horn player would show up that was a blast to play with....only to find out later that he was in Maynard Ferguson' band for years. I knew there was something there, I just didn't get ......

Posted On Tuesday, August 15, 2006 1:00 PM

Bits and Bobs about setting up Subversion on a Windows Server and getting away from Visual Studio
I decided I was sick of Visual Source Safe so I thought I'd setup Subversion as my source control service. I knew it would take some time but there is NO way I couldn't have done it without the resources I am listing below. There were a number of things I just had to tinker with, too, to get it the way I need it so I am posting some of my discvoeries/bumps here as well. I hope these might help someone who have used similar resources but are having difficulty getting going. SETUP I read the excellent ......

Posted On Tuesday, August 8, 2006 7:10 AM

Copy Source Code as HTML
Trying out this new tool...I always wondered how folks copy their code so pretty in their blogs...: 51 private IEnumerable ParsePeriod() 52 { 53 int startIndex = IsWeekOne ? 0 : 7; 54 PayrollPeriodDTO period = HrService.GetPayrollPeriod(... 55 for (int i = 0; i < 7; i++) 56 { 57 double factor = Convert.ToDouble(i + startIndex); 58 yield return period.StartDateTime.AddDay... 59 } 60 } ......

Posted On Monday, July 24, 2006 8:50 AM

I just registered the copyright for the class, method and property/field named "Foo". Please no longer use this class or method in any examples or other code you may be writing. I was going to copyright "Bar", but Michael Jackson already owned it. Also, similar names like "Goo", "Boo", or "Moo" are violations of the copyright because they clearly might be confused with "Foo". I am hoping Microsoft will contact me shortly to purchase the rights to use this in their examples ......

Posted On Thursday, July 20, 2006 6:51 AM

Happy Fourth!
Happy Independence Day everyone! And to all the vets and military folks out there, thanks so much for the freedom you are preserving and the sacrifice you make. MIKE

Posted On Tuesday, July 4, 2006 8:09 AM

NUnit Tracer, NHibernate NUnit base class and other lessons
I have finally gotten smart and started using NUnit to drive my coding. Man, I can already see big improvements in how it guides my focus and design: Forces me to make design decisions, even if only partially or as stubs, for my tests to be relevant Builds on confidence I have on existing solid code...complex logic can be digested in bites now IT's EASY to use! One thing I had to figure out was implementing my own Trace Listener so I could write out things like property values or other stuff during ......

Posted On Thursday, June 29, 2006 9:35 PM

DTO's, Service Layers, Code-behinds, and patterns continuing my search for the perfect architecture (joke) my current issue was the usefulness of Data Transfer Objects (DTOs) at my last post. I am still dumfounded when I find what might be considered "high-ranking" Microsoft folks admit to either ignoring or knwoing little about design patterns. I know design patterns are just a means to an end of good software delivered timely and fit for scalability, but it seems like they should at least be in the toolbox...but I digress. My current confusion ......

Posted On Tuesday, June 13, 2006 7:59 AM

Presentation to Service Layer - to DTO or not in ASP.NET?
So a simple design question to get feedback about what folks think regarding ASP.NET usage of a Service Layer. In an application (non-distributed web app) that wants to implement a Service Layer to provide a simple API for a relatively complex business logic layer, there seem to be two options for communicating data from those our case a web page. In the code-behind, we can grab the values from webcontrols and send those primitive types directly to the service layer methods - our basic ......

Posted On Monday, June 12, 2006 10:02 PM

Copyright © Mike Nichols | Powered by: