Derek Plote

Recent Articles

Why you should probably be using Single() rather than First()

One thing I run into a lot when reviewing C# code that uses LINQ is that we developers tend to gravitate towards using First() rather than Single(), even though that’s almost never what we actually want. Both operate on a collection and return one element from it. Both throw if no element is found. If […]

Have a MSDN subscription? Then start using your free monthly Azure credits!

SEP’s got a handful of unassigned MSDN subscriptions. We recently started a project that uses Visual Studio Online, so those of us on the team were assigned subscriptions so that we could actually use the VSO service. We got through Sprint 1 and found out that the integrated code review support in Visual Studio 2013 […]

Beware of Improper Property Usage

Property abuse in C# is a pet peeve of mine. Properties are meant to represent data, and methods are meant to represent actions. When properties are used improperly, you create a breeding ground for misunderstandings and bugs. Take a look at MSDN’s guidelines on when to use a method instead of a property. See any […]

8 Lessons Learned Importing Legacy Data into a New System

Apparently, it’s not uncommon for business to create some tables in an Access database, pass it around to anyone who needs it, and basically treat it like a big Excel spreadsheet. Not uncommon, I think, because in the last year I’ve been tasked with importing 4 different Access databases from 2 different clients into a […]

Have an NVS 4200M card in your laptop? Here’s how to use the laptop screen as a 3rd monitor

Last year I was issued a new laptop with an nVidia NVS 4200M video card. I was able to to hook two monitors up to it through a docking station and use the laptop monitor itself, for a total of 3 monitors. Good times! Recently, however, I had to get my machine reset so we […]

TDD does not have to be a rigid process to have value

I like the idea of TDD, but some of the articles and blog posts I’ve read about it feel a little too much like they’re saying “Don’t question our cult! Do what I say!” to me. When proponents of TDD push the “You absolutely have to do it this way or you’re doing it wrong!” […]

TDD and To-Do Lists

As I continue to experiment with TDD, I find that I often need to make notes to myself so that I don’t forget to come back and do something later, whether it be add a corner case test, refactor some code, or add another piece of functionality that I realized I need. It wasn’t until […]