CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Steve Hebert's Development Blog

Steve's Blog - From .Net to dotMath and everything in between.

August 2005 - Posts

  • Fun with NAS devices and IIS

    I keep running into an interesting condition with an EMC NAS device.  Part of our web front-end reads and writes files to an external EMC NAS device shared among the clustered web servers.  When using a Samba-based NAS device, we configure IIS to run under a username / password that also exists on the NAS device.  We then impersonate the account settings in ASP.NET using the web.config file. At this point, we can read/write to the device using UNC paths. (This solution is documented on MSDN several times, with the best code example I've found here - even though it's classic ASP).

    This works great on the Samba device, but it does not work on the EMC device.

    Here’s the kicker – in order to get the EMC device working, we must pass the UNC along with username and password to WNetAddConnection2A.  Even worse, we occasionally get a “Fatal Network Error” exception thrown when doing reads and writes. My guess on this one is that an existing open connection’s access token is invalidated by a subsequent call to WNetAddConnection2A by another IIS thread.  I wonder if this explains why Windows Explorer refuses to allow different authentication credentials once you’ve successfully mapped a drive to a given server?  

     

    Update...

     

    The solution to this problem is using NFS support in Windows Services for Unix.  It looks like file handling is subtly different and problems can arise.  WS4U is a free download from Microsoft and it sounds like they'll be baking this into the operating system over time.

  • belt test completed

    I've been training for my blackbelt for the past 9 months and took the test this past Saturday. After a few hours of doing every move I've learned since my white belt, I squared off for 5 two-minutes rounds against blackbelts who were fully rested. 

    I have to say I'm releived to get it done. I was scheduled to take the test back in April when I got into a car accident the week before that did a number on my back.  After recovering, I retrained and got ready for the test. Now that the test is done, I can get back into regular sparring in the studio.

  • Speaking tonight on TDD

    I will be speaking tonight on Test Driven Development at the Chippewa Valley .Net User's Group in Eau Claire at 5:00. I hope to see you there.

    -Steve

  • Software Configuration Management article

    As I'm looking at coordinating shared binary and code components across multiple applications,  I came across an excerpt from the book "Software Configuration Management Startegies and IBM Rational ClearCase: A Practical Introduction".  There is some useful information in the article that applies to code sharing (as opposed to binary assemblies) - something the company I am currently working for requires in the case of embedded software.


  • Blogging my way to the PDC - contest ending soon

    The "Blogging my way to the PDC" contest is ending on Friday and the winner is being announced on Monday.  If you haven't written one yet, please do so and make sure it's worse than mine :)

    Please go to my entry and click on the fancy red PDC banner to vote my entry.  And while you're at it, check out and vote for the other CodeBetter entries from Brendan and Peter.  If community server would let me, I suppose I could pop another window or use an IFrame and then force a click-through to their site to vote for my entry - but these darn blogging tools keep us honest.  Darn you Scott Watermarsk (and the others)! 

    It sounds like the PDC is close to being full. I just hope I get mine paid for!





  • update: Team System Pricing != pointy-hair-brained move

    I've been taking a closer look at Team System and what this means for day-to-day team operations.  More specifically, I'm interested in how project tasks are managed.

    I originally posted the point that Team System is too expensive and is just another Rational competitor.  I now believe those two conclusions are wrong.  After looking at the integration with MS Project, I am impressed.  To me, this alone is worth the price

    MS Project is the wrong tool for running a project.  To my earlier post, MS Project is great for developing an understanding of the scope and also communicating intent.  Trying to drive developers work flow using MS Project turns into a full time job - usually consuming the time of the project manager. And the project manager is the last person on the team who should be focusing on such trivial issues (aside from the developers that is).  Team System is capable of taking an MS Project plan and driving a set of discrete tasks to the team. If modifications need to be made, the tasks can be pulled back into MS Project, modified and then put back in place.

    On top of that, Team System integration of tools such as MSBuild, FXCop and Unit Testing all play to the overall theme of continuous integration and constant monitoring of process health.  To me this combination is far more valuable in a development environment than Rational and it's priced less.  I personally don't believe Rational is sold on the same basis as Team System, but that's another story altogether.

    My next thing to look at is how much pull-scheduling is enabled in Team System.

    I've been reading David Anderson's Agile Management site with interest in the Lean leanings of MSF.  This is great stuff as he focuses on Lean and TOC.  I especially liked his timeline where he noted the epiphany that "specs are inventory".  In production systems, inventory (stock or WIP) have significant costs associated with them and never age gracefully. This is a great analogy for specs that are written too soon.  It's nice to see that David's role in Team System is becoming visible in the end product.  I'm sure there are others with the same focus, but his points are quite solid.

    To David's site and talk around maturity models, I have to say that I'm still leary about what an "Agile Maturity Model" is going to entail.  I simply don't trust them.  When you inject standardized process requirements into creative projects, you inevitably fall into the trap of completing tasks for the sake of the model instead of the project.  Standardized process also injects false start/stop points in the project timeline that grossly hinders throughput.  Fortunately, both of these points fly in the face of Lean methods and hopefully will get weeded out in the process.  I also hope that the mathematical measurements of process health are carefully weeded out as well - using things like earned value and SPI on anything but the critical path is just plain wrong and promotes bad behavior.

  • Lean Thought: Microsoft Project and UML

    Here's a thought I just had - Microsoft Project is to Software Project Management as UML is to Code

    UML is not architecture nor is it code design.  UML is a static picture that describes intent at a given point in time. These diagrams may have significant value at certain points in time and zero value at other points.  The final code rarely looks like the intended UML because UML is not an implementation tool.  Just like inventory, the longer a UML diagram sits, the more useless and irrelevant it becomes.

    - To that point -

    Microsoft Project describes a plan's intent.  The final project steps rarely look like the actual steps over the course of a sizable software project. 

    So why do teams create designs with UML and plan with Project?  Because there is use in showing intent at different phases of a project plan.  However, mandating, measuring or driving to either during the life of a project usually leads to unnecessary and costly work stoppages.

More Posts

Our Sponsors