Archives / 2009 / February
  • Brief Response to Corey on Software Craftsmanship

    Corey’s blog’s comment box is failing, so posting my response here.  Read his response to my post for context.  Below is simply cut-and-pasted from a comment I was trying to leave on his blog: Hey Corey, thanks for the well thought out comments.  Let me consider my response and most likely post it on my blog, but while I'm writing here I'd like to describe a very real scenario I'm faced with right now that plays into my thinking on this subject. I am providing some coaching to a small business owner and software developer.  This shop has been around for about 18 years and has a shipping product written in a legacy (as in, no longer shipping) platform.  He has … more

  • Entrepreneurs and the Economy

    ScottW pointed me to Entrepreneurs Can Lead Us Out of the Crisis, which has some very interesting ideas.  As an entrepreneur and small business(es) owner myself, I have to say that I agree with the ideas presented in the article pretty strongly.  I’m not an expert on the stimulus plan that was recently passed but I can say with some confidence that thus far it hasn’t turned around the economy (though of course it’s a bit early to have expected it to do so).  However, I do believe that the way to fix things is to stimulate growth and innovation, not to try and protect industries that have proven themselves to be uncompetitive in the marketplace. Hiring employees is … more

  • Craftsmanship, Quality, Dogma, and Pragmatism

    Craftsmanship In the last year or so, there has been an increasing amount of discussion on software craftsmanship, and what it means and whether or not it’s a good thing.  There’s an online email list, a conference with the same name, and at least one user group devoted to the subject (in related news, I’m helping to organize a similar group in Hudson, Ohio).  There is some good discussion going on in this sphere about what it means to be a craftsman, but there are other discussions (mostly happening elsewhere) that question the value of craftsmanship with equally valid reasoning.  I’ve heard from several successful business owners that they don’t … more

  • Lost in Texas

    Last year Brendan and I had the privilege of attending Jeffrey Palermo's agile bootcamp, put on by HeadSpring Systems in Austin, Texas.  It's a great class and Jeffrey is an excellent instructor.  After the class, Jeffrey invited us to dinner, and being the high tech folk that we are, he texted us the details of the restaurant.  For whatever reason my phone wasn't receiving, but Brendan got the message, and we had a GPS, so we figured we were all set.  I've forgotten the actual restaurant and address, but it looked something like this: We hopped in our rental car, pulled up the GPS, and dutifully plugged in the Ranch Road address and 12345 street number, but could not … more

  • Learning To Code with the Azure SDK - Show Me The Code

    I’ve been working with Azure off and on since last summer, and like any new API or platform, there are hurdles involved with the learning curve.  This is especially true for pre-release software that is rapidly changing and of course has neither official documentation nor much in the way of info on blogs or developer community sites like  One of the ways I like to learn about projects these days is through testing.  Ideally, the project will already have a suite of unit tests that I can run to confirm that it actually works at least as well as its creators expect it to, and then I can look at individual tests to discover how the creators of the API … more

  • ASP.NET MVC Request Validation

    When using ASP.NET MVC to post data that might contain HTML or other potentially “dangerous” data, the default behavior as of the Release Candidate is to throw an exception, preventing the posting of the data.  This is a well-known feature of ASP.NET that was introduced several versions ago, and the typical way to avoid it (when necessary for the application’s function) is to add validateRequest=”false” either to the @Page attribute or to the <pages /> section in web.config.  Notably, this doesn’t actually work with ASP.NET MVC RC (and v1.0 I presume). The reason for this is because of the way ASP.NET MVC processes requests.  In traditional web forms, the page itself is … more

  • Azure Table Storage Gotcha

    Steve Marx gave a great talk on getting started with Azure at PDC.  You can watch the whole thing here and download his samples.  Once you download the Azure SDK (I’m using the January CTP) and ASP.NET MVC (I’m using the RC), you can get his stuff up and running without *too* much trouble.  However, one thing that took me a little while to figure out is that for some reason even when Azure Storage was running, the blog would error out saying that it couldn’t find the table it was looking for.  Of course, it was a little more cryptic than that – what it actually said was: Resource not found for the segment ‘BlogEntryTable’. I tried making sure the table existed and … more

  • IDisposable and WCF

    Recently we’ve been separating our monolithic application into smaller systems which communicate via services.  We’re using WCF for this communication, and one of the things that we’ve quickly noticed is that WCF is, for whatever reason, not compatible with the usual best practice of wrapping IDisposable objects with a using() {…} block.  Personally, I don’t think resources should be marked IDisposable if you can’t simply use the using() statement.  The issue with the case of WCF’s client’s is that the call to Close() may throw an exception (a network error).  I have to believe that other disposable resources might also run into problems when cleaning up their … more

  • Interview on Performance

    Last month at CodeMash I met with David Giard who decided to do an impromptu interview on the topic of web site performance.  He just let me know that video is online.  I’m actually quite impressed with the quality of the sound, considering that I didn’t have a clip-on microphone or anything like that.  The video quality is pretty nice, too, though I’m sure it’s well below whatever the native quality was for the HD camera Dave was using. The content of the interview focuses on web performance, including such things as how to improve web page load time by using multiple domains to download static files, how to use ASP.NET’s support for server-side caching, how to tune for … more