Archives / 2009 / June
  • Silverlight 3 on XBox 360

    Scott Guthrie earlier today twittered about a sneak peek shown today of Silverlight 3 running on an XBox 360.  I’ve been waiting a long time for this and I really hope that the XBox platform will be able to take advantage of some of the opportunities that Silverlight has to offer.  I’d really like to see the XBox opened up into a more flexible app server, as well as having access to the rich variety of online games that Silverlight already offers.  It’s a definite win. more

  • Excel 2007 Named Ranges and Data Validation

    It’s hard to find information on Excel Named Ranges for Excel 2007 using a search engine.  The problem isn’t that there’s no information available, but rather that most of it refers to older versions of Excel.  And of course, that would be fine, if Excel 2007 didn’t go and move everything around and add that darned Ribbon thing to make it impossible to find anything.  But I digress. Today I’m working on something in Excel and I want to be able to limit the available values the user can enter into a cell.  Should be pretty easy, but I’m having a hard time finding how to do it and it’s been like 5 years since I had to do this so I’m searching for help.  Of course, I’m … more

  • INVESTing in User Stories

    User Stories describe features from the standpoint of the user, and should identify small units of work that can reasonably achieved within a short (1 or 2 week) iteration by a programming pair.  A useful acronym for remembering how to write good user stories is INVEST (more elsewhere and here).  A “good” user story is one that serves the needs of all of the stakeholders in the software development project, including the customer, the team lead (or PM), and the developer(s).  Ideally the story is recorded in short form on an index card (or electronic equivalent) and is a placeholder for a longer conversation that has taken place between the customer and the developer … more

  • Determine Whether an Assembly was compiled in Debug Mode

    I’m working on a little application right now that provides some insight into the assemblies in use for a given application.  One of the things that I want to be able to show is whether or not each assembly was built in Debug or Release mode.  As you’re no doubt aware, running applications in production that were built in Debug mode can be a major performance problem (at a minimum – depending on what else you have turned on in Debug mode it could also be a security issue). So I did some binging (followed by some purging? no, wait, that with a hard G sound) and quickly found some sample code that I was able to use in some test code to confirm that it is working.  Fellow MVP … more

  • The Fibonacci Blog Post Formatter

    Sarah suggested Tuesday that I write a blog PostFormatter that only changed the format of blog posts created on days that were Fibonacci Sequence days (e.g. 1, 2, 3, 5, 8…).  I’d hoped to code something like that up during my Ann Arbor talk last night but ended up not having the time, so just to show how easily this could be done, I threw something together today. First, this is for a demo application that I used in my talks this week – if you want to follow along, grab the code from my last post. I already had a well-tested but not at all optimized Fib generator/tester class from some Euler problems I’d worked on as part of a coding kata, so I just reused that … more

  • ASP.NET MVC and SOLID Programming Principles June 2009

    This week I presented “Introducing ASP.NET MVC and SOLID Programming Principles” (aka SOLIDify Your ASP.NET MVC) to the Cleveland .NET SIG and the Ann Arbor .NET Developers group.  Thanks to everyone who came, it was standing room only at the Microsoft office in Cleveland and a great turnout at the SRT Solutions office in Ann Arbor, too.  I thought the presentation went well and had some good discussion in both locations and I enjoyed getting to see a lot of folks I know in the area whom I hadn’t seen in a while.  And the projector didn’t turn off every 5 minutes like the last time I spoke in Ann Arbor (always bonus). Download ASP.NET MVC and SOLID Programming Principles … more

  • Binding in ASP.NET MVC

    At my ASP.NET MVC + SOLID Principles talk in Cleveland last night, I had a couple of questions about binding in ASP.NET MVC.  For instance: Can you still do something like <%= Bind(“Foo”) %> in your form? How does the controller that receives a POST get back the Model that was used in the form that was posted?  Does it have to be serializable? What if I need to bind custom types to my Model class? Doesn’t having the Model referenced in the View eliminate the need for the Controller? I answered these last night but I thought they were common enough as a theme that they deserved their own answers here as well. Does ASP.NET MVC Support Two Way Binding … more

  • DRY - Don’t Repeat Yourself - Motivator

    I’ve been meaning to create a DRY (Don’t Repeat Yourself) motivational poster for a while now, ever since seeing Derick Bailey’s SOLID posters.  To me, DRY is at the heart of many software patterns and principles, and sums up much better the similar Once and Only Once principle (which, to me, violates DRY right in its own name).  Duplication is waste.  Repetition in process calls for automation; repetition in logic calls for abstraction.  Refactor to remove wasteful repetition as often as you possibly can, and watch your software design improve.  Post this on the wall in your team room (along with others) to keep this principle in mind as … more

  • Speaking in Cleveland and Ann Arbor this week

    This week I’ll be presenting my TechEd session on SOLIDifying ASP.NET MVC applications to the Cleveland .NET SIG in Independence and the Ann Arbor .Net Developer’s Group (in Ann Arbor, MI).  The talk’s main purpose is to introduce developers to “Uncle Bob” Martin’s principles of software design (which can be arranged into the acroacronym SOLID) and to drive home the point that just because you’re using ASP.NET MVC doesn’t mean you’re writing better code.  I show a very simple (and poorly designed) ASP.NET MVC application, and, after identifying its many “issues,” I implement changes based on the SOLID principles until the resulting code is much better. If you don’t know who “Uncle … more

  • Upgrading HP MediaSmart ex470 to 2GB of RAM

    After the horrible experience of trying to restore some files from my Windows Home Server while it was continuously thrashing due to insufficient memory, I picked up a 2GB stick of RAM (which arrived a couple of days ago) and am in the process of doing the upgrade with the help of this step-by-step guide which was the first result in my Bing Search.  So far it’s smooth sailing, though as you can see I have my computer pretty much 75% disassembled at this point and I still haven’t gotten to the part where I can access the RAM.     I have to say that so far the tutorial is quite good.  No gotchas thus far (as of step 9).   Pulling out the motherboard. … more