design

Naming things is hard

Much of my career has been spent with me as the most senior developer on my team.  It has its pros and cons, I have learned how to figure stuff out on my own, but I have had to re-make many mistakes that I could have avoided.

Read more...

Don’t sacrifice suppleness to the DRY gods

Consider your application has feature A and feature B, and in order to implement each of these features you need to invoke functions X, Y, Z:

Read more...

FOR XML PATH and CQRS

In a recent twitter exchange with Colin Jack I claimed that SELECT {…} FROM […] FOR XML PATH() is pretty much all you need for providing the Reporting side of CQRS.  Ok, so maybe I overstated it a tad, but it is a valuable technique.  He suggested I blog about it, so I figured even if people don’t use it for CQRS, some of the neat things you can do with FOR XML PATH may be interesting to a few people.

Read more...