rwandering.net
The blogged wandering of Robert W. Anderson
Archive for March, 2009
March 26, 2009 at 10:44 am · Filed under Miscellaneous
I’ve been seeing lots of problems with Live Messenger connectivity lately. I see this message a lot:

I don’t ever want Live Messenger to interrupt my work with that dialog.
If connectivity fails, use a notification balloon, or better yet, do nothing. The red X on the tray icon already signifies trouble. Let me drill down to find out more info. This is a bad design decision.
If I dismiss the dialog, it will happen again. And if I don’t dismiss it? Well,
I left my machine from 9pm till 11am today and found my taskbar full:
Apparently Live Messenger thinks it is so important that I can’t connect that it needs to keep telling me. Or at least telling the task bar. This is a bug.
Live Messenger Team: Please fix this. I’m sure several of your myriad guidelines for Windows developers eschews any and all of this behavior.
Tags: Bug, Live, LiveMessenger, Microsoft, Windows
March 19, 2009 at 1:06 pm · Filed under .NET, Web 2.0
While the changes coming to SQL Data Services (SDS) are not exactly news, I wanted to weigh in on it.
I was familiar with SSDS before I knew anything about Red Dog Storage Azure Storage. When I found out about the latter, my initial concern was that Microsoft would confuse developers by offering two overlapping services. Such overlap isn’t too surprising considering that these two projects came out of competing parts of Microsoft. At the time, there was a pretty consistent message that SDS would someday support relational operations, but to me that meant they should hold off on SDS until that day came.
Microsoft often offers multiple technologies to solve specific problems — often this is a result of legacy technologies — in this case it seemed a shame to start off with such overlap.
Because of all this, I am very happy to see this clear differentiation between the Azure and SDS services. This is a good decision for Microsoft, Microsoft developers, and given the roadmap for SDS, an excellent decision for Microsoft’s enterprise customers.
Tags: Azure, Microsoft, RDBMS, SDS, SSDS
March 3, 2009 at 6:46 am · Filed under .NET
Some time ago I took a quick look at Patrick Smacchia’s NDepend. While I was impressed with it, I never took the time to dive into it. Recently, I took another look to see if it could help inform some refactoring of the Digipede Agent.
If you aren’t familiar with it, NDepend is a static analysis tool that allows you to dive deeply into your code base. Its feature list is truly truly impressive. Here are a few things that stand out for me:
- The Code Query Language (CQL) allowing SQL-like queries of your code base, with a set of pre-canned queries targeting code quality, design, naming conventions, and much more.
- A visual tool with dependency graphs and matrices and more
- Ability to compare between different runs of the same project – at an incredible level.
- Of course, A command-line tool for incorporation into your build process.
I loaded up the Digipede Agent assemblies and – kind of like a kid in a candy store – I found myself heading off in 10 different directions at once. My thought process went kind of like this:
- Wow, look at these matrices and graphs, and all these CQL queries.
- This is really cool to have this level of information available with build integration!
- Wow, there sure are a lot of warnings here.
- Let’s fix them! Wait, let’s prioritize them and customize them and, etc.
(The experience reminds me of when I started using FxCop.)
I highly recommend this software . . .
- To help you make informed refactoring decisions; and
- to add design and code-quality criteria (and enforcement) into your build process.
So, why do I say this is a “must-have” tool? Because code quality is not a nice-to-have. Quality reduces maintenance and support costs and allows you to spend your time and money on more profitable endeavors.
Go buy it.
BTW: I would like to post some of the results I’ve gotten with the Digipede Agent, but I’m not ready to share that yet.
Tags: .NET, Digipede, NDepend