DefaultValue Attribute as Initial Value

Visual Studio Properties

C# lets the programming define a default value on a class property, so that GUI widgets can test the property to see if it still has the default value. Visual Studio, for example, bolds any properties that have a non-default value, making them easy to pick out.

Unfortunately, the default value isn't used to actually initialize the property. The initialization must be done elsewhere in the code, typically in the class's constructor. Having to type the same value in two separate places in the code is error-prone, since it's easy to inadvertently change the value in one place and forget to change it in the other.

Playing with Google Voice Transcriptions

Want to play the Google Voice Transcriptions Game? It's the solitaire version of the "telephone" game that children play. Here's how to play:

  1. Click this button:
  2. Have Google Voice call you, which will connect you to my Google Voice Voicemail.
  3. Leave a message.
  4. Reply to this post with what you actually said.
  5. I'll reply with what Google Voice thinks you said.

Here's what it made of a message my wife left me last night:

hi sarah it's matt and that the alright new voicemail if and i think we should placed in one now or rather reformer neil scoop really try to fix my computer weren't tuesday okay and


How to debug a program


Debugging is a fundamental programming skill. It's also one of the least fun and least glamorous tasks a programmer faces. In order to reduce time spent debugging, I've invested time in examining my debugging methods. Below, I've documented the techniques that most reliably lead me to a solved problem.

I'll avoid getting into the gritty details of particular tools and instead stick to basic principles that can be applied in almost any situation.