Small code with powerful results, the occasional opinion … and beer. 

06 Aug 2018
Use Meaningful Method Names in WebAPI (.NET)

<rant> I don’t know if it comes from laziness in changing a default name from a template, or a misunderstanding of the attributes HttpGet, HttpPut, HttpPost, HttpDelete or HttpHead.  Regardless, having a WebAPI method name in code called Get() for a single method with an HttpGet attribute, Put() for HttpPut, etc… is bad practice. Use […]

19 Jun 2017
A Common Template Approach to Iterative Tests in NUnit 3.0 and Microsoft Unit Tests

NUnit and Microsoft Unit Tests use an approach of attributes on a method to identify a test which is expected to throw an exception, to differentiate tests which are expected to not throw an exception and just report success or failure based on Assertions (AreEqual, IsFalse, IsTrue, etc).  For individual tests, this approach is very effective. […]

02 Mar 2013
Install or Uninstall a Windows Service without Installation Packages

Generally windows services are deployed one of two ways.  One way is in an installation package, that will handle the installation for a user.  The service may be one of several parts of an installation package, and the package approach makes the installation easier to maintain.  This method is mostly useful for an unknown number […]

17 Jan 2013
The Developer’s Commandments Revisited.

About 20 years ago, I remember reading the original 10 commandments for C programmers.  A lot of time has elapsed since then, and there are some things that needed to change as technology and experience have changed the developer’s world. So here is my modernized version for the sect of Microsoft C# developers in the […]

16 Jul 2012
Weed Killer 1.0.7.1 Released

This is a maintenance release to fix a small bug in the installer, which was missing some assemblies for the worker. No other functionality has changed. The installation package is available on SourceForge.net here.

08 Jul 2012
Weed Killer 1.0.7.0 Released

This is a maintenance release to fix a small bug in the Tester (Weed Killer Manager), which would throw a null object exception on a “live” launch (instead of a “test” launch) as the first attempt.  No other functionality has changed. The installation package is available on SourceForge.net here.

22 May 2012
Weed Killer 1.0.6.0 Released

As of this version, all desired features (at least from my initial design intent) are in place.  Highlights of the release. Manager: Allow event selections and color selections in tester to be saved and recalled as a named set. Added MRU under a new entry in the File menu (Recent) Substantial improvement to the tester […]

27 Mar 2012
Weed Killer 1.0.5.0

Weed Killer 1.0.5.0 is now available. See the project page here.  This is a maintenance release which corrects an issue with applying NT permissions to folders. Weed Killer is available for download on www.SourceForge.net.

13 Mar 2012
Weed Killer 1.0.4.0 (Stable)

Weed Killer 1.0.4.0 is now available. See the project page here.  This is the second stable, production-ready release of the package. Highlights are: Corrected a problem where saving a configuration file, before an active change was accepted or canceled, could corrupt the entry in the file. Added a new ability for an administrator to assign […]

13 Mar 2012
ThreadPooling in .NET 4

I was reading up on (and experimenting with) the new classes introduced for managing the ThreadPool objects in .NET 4, and they are a nice change from previous versions of the framework. One technique I really like is the Task<generic> implementation. I wrote a test piece of code to implement this using a dictionary object, […]