The Gamer Couple: Rules for Playing Single-Player Games Together

Long time readers of my blog will have noticed that I'm a total Nintendo fanboy. I've owned all of their consoles from the SNES onward, including the Nintendo 64, Gamecube, Wii, Wii U, and now the Switch. I can still remember the joy of Super Mario World like it was yesterday, and Star Fox 64 is my favorite game of all time. In short, I keep buying Nintendo games and systems because they keep making good ones. My wife K.... Read more >

Two Ways to Do Async/Await in ASP.NET Wrong (and How to Fix Them)

My team is in the process of refactoring a large application that we want to deploy to our production environment soon. I've just been assigned as lead developer to this project, since the prior lead got another job in a different state, and I've been digging through the code to see where I can improve its performance (this is something the principal users have relayed to me was already an issue). I was told this project had already implemented async/... Read more >

A Five-Step Process for Planning a Rewrite of a Legacy Project

My team and I recently finished a long-gestating project which involved taking a ten-year-old codebase and rewriting it onto a new stack. Said rewrite took the better part of a year, but it's running in production right now and doesn't appear to have too many pervasive, evil bugs. People are using it, when they're not emphatically complaining about it. In short, it's a rousing success. (What? We have reasonable goals.) This project has directly resulted in several of my recent... Read more >

8 Things Every New Programmer Should Know

1. It doesn't get easier; you get smarter. Programming is not a simple endeavor. Requirements change in the middle of projects; technology advances quickly and ruthlessly; customers are quick to judge and slow to explain. Programming does not get easier. Rather, we programmers get smarter. The first time you encounter a particular bug, you're a failure until you stumble upon the solution, at which point you promptly become a god. The trick is this: the next time you find that... Read more >

How to Restore a Lost Source Control Binding with TFS and Visual Studio 2017

I recently had a problem in which I could not add a new project to an existing solution which was bound to TFS source control. The only option I would get when I right-clicked on the new project was Source Control -> Add Solution to Source Control, which looked something like this: I couldn't for the life of me figure out why it wouldn't let me check the project in, as it had before. Until I noticed something: Normally,... Read more >

Eight Tips For Your Programming Team's Standup Meetings

As my organization has gone further down the Agile project management path (from our original process of a lean waterfall), one of the things we've started doing is daily standup meetings. These are short (15 minutes or less) meetings in which each team member reports on what they have accomplished recently and what they are planning to do today. They've been a fantastic tool to keep our team on track and on time, and I'm rapidly becoming convinced that they're... Read more >

Decimal vs Double and Other Tips About Number Types in .NET

I've been coding with .NET for a long time. In all of that time, I haven't really had a need to figure out the nitty-gritty differences between float and double, or between decimal and pretty much any other type. I've just used them as I see fit, and hope that's how they were meant to be used. Until recently, anyway. Recently, as I was attending the AngleBrackets conference, and one of the coolest parts of attending that conference is getting... Read more >