« May 2005 | Main | July 2005 »

June 15, 2005

Visual Studio 2005 Beta 2

Working with beta 2 of Whidbey (Visual Studio 2005) has been difficult so far, surprisingly difficult given how comfortable I had become at developing Windows.Forms based applications with beta 1.

I went back to my notes from the time I started using beta 1 of Whidbey to remember how many problems I had to learn to live with. Like many things, familiarity breeds comfort.

Among the problems I’ve had are:

·        Enabling break when an exception is thrown from C++ or Win32 caused an InvalidDeploymentException to be thrown when accessing simple Properties.Settings.Default properties during application startup. The problem disappeared when I cleared the DebugàExceptions checkboxes, but not before spending several hours trying to work around the exception. And now I’m hitting a vanished XML serialization assembly.

See http://www.dotnet247.com/247reference/msgs/42/211509.aspx

·        Source code coloring in the editor keeps going away for some of my source files. If I cut and paste the contents between source files it comes back. But only to disappear again if I reload the project. The code compiles and runs without trouble.

·        The GUI for defining settings under the application properties editor doesn’t allow settings to be declared from user types. By following the example created by converting a beta 1 application, I was able to manually edit the xml files to cause the type to appear in the list of choices.

·        There are enough changes to the Windows.Forms controls and the designer generated code that it is often easier to recreate a Windows.Forms class from scratch using the beta 1 file as a reference than it is to modify the beta 1 file to be compatible with beta 2.

 

 

June 13, 2005

HVAC Compressor Repairs

The chipmunks got into the electronics of all four of our HVAC compressors which was not good for them or the electronics. After removing the nests and electrocuted chipmunks, replacement parts were needed.

Our original HVAC contractor installed InterTherm compressors nine years ago. InterTherm became Nordyne, Nordyne became Gibson, and today nobody I can find is terribly interested in servicing just the electronics. I found a great link here for tracking down new names for old HVAC manufacturers.

Chuck Laverty Plumbing & Heating is one of the larger groups of HVAC contractors in the area but their company policy is that they don’t work on compressor electronics. They’d be happy to replace the units. Would I be interested in scheduling an appointment three weeks from now? I think NOT!

So I took a parts-is-parts attitude to the project, pretended to be an HVAC contractor and found a local wholesaler (Bell/Simons in Worcester) who was willing to track down replacement parts. This almost lead to an order, but I found it hard to confirm I was really getting what I needed while maintaining the illusion of being an experienced HVAC contractor.

Here’s a brief review of the “electronics” required to control a HVAC compressor.

There are three components: contactor, capacitor, and anti-short cycle timer (also called a delay on break timer).

The contactor is a single or dual pole relay that turns power on or off to the compressor and fan motors. The compressor does the actual work. The fan keeps it cool. The contactor is controlled by a low voltage signal from the thermostats inside the house. Usually 24 volts.

The capacitor is a heavy duty oil-filled capacitor that evens out the power going to the motors. It prevents damage to the other components due to large voltage spikes when the motors start and stop.

The anti-short cycle timer guarantees that the motors get a recovery period after having been turned off before they will turn on again. Just as voltage spikes aren’t good for the components, being turned on and off rapidly isn’t good either.

The final solution was found by googling for the part number of the contactor. This lead me to the PartsGuy.com website. At last I had a resource that confirmed that this isn’t rocket science. There aren’t really that many possible parts and the specifications are all fairly similar. Within a few minutes I was able to order exact replacements for the contactors and equivalents for the remaining parts. As an additional advantage, the replacement for the anti-short cycle timers is now a solid state unit instead of the circuit board with discrete components on it, many of which the chipmunks found tasty enough to eat.

 

June 09, 2005

9/11 Memorial

Someone with much more experience and wisdom than I, but very little computer savvy called me today to inquire about blogs, of all things.

The driving issue was the political gamesmanship in which the 9/11 Memorial project is now mired.

It was an easy thing to set him up with a Blogger.com site. It’s amazing when someone you know well - but never imagine in the context of blogging - suddenly becomes one.

 

 

 

June 07, 2005

Migrating from NUnit to Unit Test Framework in Visual Studio 2005 Beta 2

Visual Studio 2005 Beta 2 includes an integrated testing framework which includes, among other types of tests, support for unit tests.

It proved to be very simple to migrate NUnit based tests to this new framework.

Here are the changes that had to be made to individual test files:

NUnit Syntax

Visual Studio 2005 Syntax

using NUnit.Framework;

using Microsoft.VisualStudio.QualityTools.UnitTesting.Framework;

[TestFixture]

[TestClass]

[Test]

[TestMethod]

Assertion.AssertEqual

Assert.AreEqual

Assertion.Assert

Assert.IsTrue

 

The only hiccup I experienced was an unexplained “Invalid character in path” error dialog which appeared initially when trying to run the test project. The problem vanished after removing all the test files from the project and re-adding them one at a time.