<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Vitamin Z Productions</title>
  <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/" />
  <link rel="self" href="http://www.vitaminzproductions.com/blog/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2007-04-27T11:55:04.245875-07:00</updated>
  <author>
    <name>Rusty Zarse</name>
  </author>
  <subtitle>web home of Rusty Zarse</subtitle>
  <id>http://www.vitaminzproductions.com/blog/</id>
  <generator uri="http://www.dasblog.net" version="1.8.5223.2">DasBlog</generator>
  <entry>
    <title>Rusty's NEW Blog</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/04/27/Rustys+NEW+Blog.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,c00a2abf-f49e-48c1-8042-043e5e3cdaae.aspx</id>
    <published>2007-04-27T11:53:56.214-07:00</published>
    <updated>2007-04-27T11:55:04.245875-07:00</updated>
    <category term="Blogging" label="Blogging" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I am trying out WordPress.  I've found
   my excitement for blogging waning.  I had the opportunity to install and configure
   WordPress for a peer and it truly impressed me.  The community behind the software
   is amazing.  I think I'd like to be a part of that so I am going to try using
   that for a while.  I will leave this blog here but I'll be active on that blog. 
   Likely, I will retire this one and import the content there.  That isn't great
   for seo traffic but I  am more interested in ensuring my visitors understand
   where things are going.  
   <br /><br />
   so, without further adu...<br /><br /><a href="http://www.vitaminzproductions.com/technology-blog">Rusty's New Blog</a><br /><br /><a href="http://www.vitaminzproductions.com/technology-blog">http://www.vitaminzproductions.com/technology-blog</a><br /><br />
   please update you feeds!<br /><p></p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=c00a2abf-f49e-48c1-8042-043e5e3cdaae" /></div>
    </content>
  </entry>
  <entry>
    <title>Awesome Test Driven Development feature in Visual Studio 2005</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/04/18/Awesome+Test+Driven+Development+Feature+In+Visual+Studio+2005.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,9bf19e2d-169d-412a-b013-a2bc0d4cbf5d.aspx</id>
    <published>2007-04-18T08:43:48.453-07:00</published>
    <updated>2007-04-18T08:44:48.140625-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <category term="Programming/.NET/C#" label="Programming/.NET/C#" scheme="dasBlog" />
    <category term="Programming/Agile Development" label="Programming/Agile Development" scheme="dasBlog" />
    <category term="Programming/NUnit" label="Programming/NUnit" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I'm not sure how far back this feature goes
   but I just discovered it yesterday, thanks to <a href="http://vaultofthoughts.net/UnderstandingTDDByImplementingMembershipProvider.aspx"><span class="given-name">Michal</span><span class="family-name">Talaga.</span></a><br /><br />
   When you follow the practice of defining your test before you write your method, you
   lose out on the beauty and addicting convenience of intellisense.  Since Visual
   Studio.Net v1.0, I have become dependent on intellisense to keep me productive and
   assist me in typing out long method names.  Having to type them once, and then
   again, sucks...<br /><br />
   WOW, check out what is available when you write a method that doesn't exist!<br /><br /><p></p><img src="http://www.vitaminzproductions.com/blog/content/binary/Membership2.jpg" border="0" /><br /><br />
   Now I seem to recall running across this before but I was not yet privy to TDD. 
   As it turns out, this is even faster then waht intellisense gives you because the
   method signature is shaped according to the variables you pass in.  
   <br /><br />
   Try it out and see if you don't also feel it was the missing piece of your TDD puzzle.<br /><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=9bf19e2d-169d-412a-b013-a2bc0d4cbf5d" /></div>
    </content>
  </entry>
  <entry>
    <title>Help - the Future of Music is in Jeopardy</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/04/16/Help++The+Future+Of+Music+Is+In+Jeopardy.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,02c76151-9410-4a9f-933f-ae2415dfc10c.aspx</id>
    <published>2007-04-16T15:19:54.296875-07:00</published>
    <updated>2007-04-16T15:19:54.296875-07:00</updated>
    <category term="Music" label="Music" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">http://www.savenetradio.org/<br /><a href="http://www.savenetradio.org/"><br />
   Save Internet Radio</a><br /><br />
   Its been a while since I've posted.  That just underscores how importnat I feel
   this might be.  Electronic distribution is the single, biggest threat to the
   current music industry since casette tapes.  We all know how the ability to record
   on casette tapes destroyed the record companies and the artists they <i>support</i>,
   right?  Its very similar to the way that vcr tapes bancrupted the movie industry. 
   We all remember when motion picture studios made millions of dollars from the production
   of a film.  Those were the days...<br /><br />
   The threat is not against the industry or the art, its against the monopolists. 
   Not only that, but the threat is merely imagined.  Sure, a cheaper alternative
   to traditional recorded media distibution does impact the traditional supply chains
   revenue in a real way.  However, no one would argue that we should keep hauling
   buckets of water from a well when plumbing is cost effective and reliable.  
   <br /><br />
   As a musician, I can attest that record companies do not exist to support the artist. 
   They exist to capitalize on you and your propensity to consume what is popular. 
   They feed on the emotional power that music holds and they exploit the psychological
   impact that a song has on an experience.  None of this is bad.  This is,
   in fact, good for our society.  It is good to feel happy and excited about something
   and recall that years later with a song.  It is good to explore your darker emotions
   with melody that reminds you that you are not alone.  However, it is not good
   to limit the opportunity for inspirational song and it is down right imoral to control
   the supply of pure art.  Controlled supply is offensive, selfish practice and
   it serves no on e but the controller.  The music distribution industry, ie: record
   companies (and there are really only 3... yes, three), are working very hard to make
   sure you can only get your hands on the music they deem worthy and profitable. 
   Everything else they would like to bury.<br /><br />
   This new, porposed legislation is not targeted at protecting the people or artists
   of america, it is targeted at protecting the big three record companies and their
   fat pockets.  Hey, I want fat pockets, too.  ...but I would not accept a
   million tax free dollars if it came along with the knowledge that in keeping my money
   I'd be killing the future of thousands of musicians who were right on the edge of
   giveing the world something wonderful.<br /><br />
   In closing, I want to encourage you to listed to music online, share your opinions
   with your friends, go to shows and sing in the shower.  Check out <a href="http://www.pandora.com">http://www.pandora.com</a> if
   you haven't already.  Type in your favorite artist and see what great new music
   they find for you.<br /><br />
   I've recently created my first <a href="http://www.myspace.com/levousmusic">levous
   myspace band profile</a>: have a listen if you like and please don't let rock and
   roll die!<br /><br /><br />
     
   <br /><p></p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=02c76151-9410-4a9f-933f-ae2415dfc10c" /></div>
    </content>
  </entry>
  <entry>
    <title>Exception trying to add Doubler to Reflector 5.x</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/04/03/Exception+Trying+To+Add+Doubler+To+Reflector+5x.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,1b81b8ee-1703-4cab-b951-9342e962778a.aspx</id>
    <published>2007-04-03T11:51:38.906-07:00</published>
    <updated>2007-04-03T11:52:25.4375-07:00</updated>
    <category term="Programming/NUnit" label="Programming/NUnit" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">LoaderExceptions:<br />
   Could not load file or assembly 'Reflector, Version=4.2.0.0, Culture=neutral, PublicKeyToken=18ca6bb8dd6a03c3'
   or one of its dependencies. The system cannot find the file specified. (FileNotFoundException)<br /><br />
   The code is now available from googlecode as open source (thanks Jay Flowers!)<br /><br />
   Found the latest, working version here: <a href="http://code.google.com/p/doubler/">http://code.google.com/p/doubler/</a><br /><br /><p></p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=1b81b8ee-1703-4cab-b951-9342e962778a" /></div>
    </content>
  </entry>
  <entry>
    <title>SharpForge is _early_ alpha, install needs work! Virtualize if you try to install it.</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/03/10/SharpForge+Is+Early+Alpha+Install+Needs+Work+Virtualize+If+You+Try+To+Install+It.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,7e65ac23-e747-4928-91fd-877e5028041d.aspx</id>
    <published>2007-03-09T16:17:23.194-08:00</published>
    <updated>2007-03-19T04:27:02.45325-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <category term="Programming/.NET/C#" label="Programming/.NET/C#" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I had more errors installing then not. 
   After the first install, IIS was hosed.  The website couldn't bind and eventually
   gave a "catastropphic failure" when I tried to click on it in IIS Admin.  I finally
   reinstalled IIS (you know how intrusive that is to a development server) without success. 
   I finally discovered that the SharpForge bonehead had installed an SVNServe instance
   on port 80.  I'd really like to kick him in the teeth for that.  How stupid?! 
   It is called "SharpForgeSVN" if you experience the same thing and the following command
   line will delete it: sc.exe delete "SharpForgeSVNServe"<br /><br />
   No, it will not come off after uninstallation.  Uninstalling SharpForge just
   deletes the website files but leaves all the rest of the mess behind including a running
   svnServe.  
   <br /><br />
   I finally got the thing running, sort of.  It won't connect to SVN but instead
   provides a port 81 url to svn.  Each user requires a password with at least 1
   non alpha-numeric character and 7 total characters.  Excuse me, but this is an
   issue tracking system, not a bank account.  Leave simple password requirements
   alone!  You can't add users from the administration GUI, you have to log off
   and "sign up".  Then you have to log back in as admin to add the user to a role. 
   I could go on and on but its time to just make my huge thumbs down recommendation
   and encourage you never, ever to attempt to install this pile of garbage on any computer
   you don't want to completely hose.<br /><br />
   Open Source Software does not mean software that sucks!  Subversion is a great
   example.  Its clearly best in class and absolutely wonderful through and through. 
   If you want to open source something, make it simple and stable and then invite the
   world to contribute.  Don't try to sell it as a deployable sourceForge. 
   SorceForge works!  SharpForge 
   <p>
      is a buggy, little, nasty critter
   </p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=7e65ac23-e747-4928-91fd-877e5028041d" /></div>
    </content>
  </entry>
  <entry>
    <title>RallyDev Add-In for Visual Studio</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/02/23/RallyDev+AddIn+For+Visual+Studio.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,c00ffa7a-099d-4f47-84df-1fb6911ae632.aspx</id>
    <published>2007-02-22T16:46:43.573-08:00</published>
    <updated>2007-02-25T07:01:34.6154264-08:00</updated>
    <category term="Programming/Agile Development" label="Programming/Agile Development" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">This is far from complete but it is working
   and that is where I wanted to get it before letting others have a look.<br /><br />
   Please let me know if you try it and how it works for you.  I would LOVE some
   feedback from someone with a different subscription from mine just to ensure that
   it works generically.<br /><br />
   Currently it only supports a user story workspace and you can only update certain
   fields on stories and tasks.  
   <br /><br />
   I'll be updating this regularly.  Eventually, I plan to post this on sourceforge
   but for now you can download it from me bloggernaut.<br /><br />
   RallyDev.VSAddIn<br /><p></p><a href="http://www.vitaminzproductions.com/blog/content/binary/RallyDev.zip">RallyDev.zip
   (download) note:</a><br /><span style="font-weight: bold;">note</span>: there is an <span style="font-weight: bold;">error </span>in
   the "<span style="font-weight: bold;">RallyDev.VSAddIn.AddIn</span>" file found in
   your "My Documents\Visual Studio 2005\Addins" directory.  Please open "RallyDev.VSAddIn.AddIn"
   in notepad and change the line &lt;Assembly&gt;RallyDev.VSAddIn.dll&lt;/Assembly&gt;<br />
   to 
   <br />
   &lt;Assembly&gt;RallyDev.VSAddIn\RallyDev.VSAddIn.dll&lt;/Assembly&gt;<br /><br />
   I'll fix it later but my wife is hovering over me wishing me to stop working on this
   for a moment!<br /><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=c00ffa7a-099d-4f47-84df-1fb6911ae632" /></div>
    </content>
  </entry>
  <entry>
    <title>Rally / Visual Studio Mash-up</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/02/19/Rally++Visual+Studio+Mashup.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,1e0527d9-c139-46f5-b651-0b072ca74e61.aspx</id>
    <published>2007-02-18T21:05:40.75675-08:00</published>
    <updated>2007-02-18T21:05:40.75675-08:00</updated>
    <category term="Programming/Agile Development" label="Programming/Agile Development" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I'm writing an Add-In that provides a <a href="http://www.RallyDev.com">Rally Agile
      Project Management Software </a>interface inside Visual Studio.  I was feeling
      a little jealous of the people using <a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718934.aspx">Microsoft
      Team Foundation Server</a> and realized that the consolidated development
      experience is critical if one wants to get the greatest benefit from the tools they
      invest in.  I sometimes won't check my email for two days because Lotus Notes
      takes too much memory and too long to load.  Its not a matter of not caring,
      its a matter of limited resources and screen realestate.  I also believe that
      convenience encourages compliance.  Make it easy and painless and people won't
      mind participating.  
   </p>
        <p>
      Now that I have a start, I am excited for what new possibilities might present themselves. 
      For example, if an add-in were to show a test case, then perhaps a developer could
      drop a test case onto a unit test to associate that code with that test case. 
      Hmmm, one step at a time. 
   </p>
        <p>
      I still have to work in paging, provide the ability to search tasks first (currently,
      I'm querying for stories then showing child tasks), provide more detail about each
      item, allow a user to add tasks, allow them to reassign tasks or stories to other
      users and link back to the appropriate url in Rallyin an intelligent way (doubleclick?).
   </p>
        <p>
      Here are some screens to wet your appetite.
   </p>
        <p>
       
   </p>
        <img src="http://www.vitaminzproductions.com/blog/content/binary/Rally-Addin-Tab.Jpg" border="0" width="500" />
        <img src="http://www.vitaminzproductions.com/blog/content/binary/Rally-Addin-Floating.Jpg" border="0" width="500" />
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=1e0527d9-c139-46f5-b651-0b072ca74e61" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Estimates and Planning, how to adjust</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/02/16/Estimates+And+Planning+How+To+Adjust.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,8bb1d0e1-8b6d-480f-bb89-ee00cd03c8fb.aspx</id>
    <published>2007-02-15T16:57:35.772-08:00</published>
    <updated>2007-02-15T17:01:01.0695089-08:00</updated>
    <category term="Programming/Agile Development" label="Programming/Agile Development" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Today the Rentals.com team joined up with out RentClicks counterparts to estimate
      a joint project that was less the trivial in scope.  We started with a simple
      model of where we were and what needed to be changed, in what way, and then broke
      that down into digestable chunks.  We estimated each one as a team and I was
      surprised by how easy it was to have agreement with vague requirements.  We had
      a <em>feel</em> for what we needed to do and a <em>hunch</em> as to how long
      it would take.  Its fantastic to see the team operating as one with such efficiency.
   </p>
        <p>
      After we logged points for each story, I counted up the points and came up with what
      represented, according to our time to point conversion factor, 10 developer weeks. 
      A quandry came over me as I realized we'd landed two months late on our current release
      and began to wonder how to factor that into our planning.  It is not reasonable,
      after all, to assume the same thing would not happen again.  A suggestion was
      made to bloat the estimates with a fudge factor.  This is the traditional way
      to account for unforeseen circumstance when plannig a project.  <em>I think this
      would take 3 weeks so I'll add 30% to account for things that I haven't thought of.  </em>I
      used to do this myself with amazing accuracy.  I'd tack on 30% to all my estimates
      and I would almost always be right on the money.  Something didn't feel right,
      however, with that approach.  First, this was essentially just lying strategically. 
      We think it will take two days so we'll say three?  Considering the whole purpose
      for using points in place of time is that you can adjust point translation
      according to circumstance...  ah hah!  The amount of work you can accomplish
      per iteration is called <em>velocity</em>.  <em>Don't adjust the estimate,
      adjust the velocity!</em></p>
        <p>
      During our last project, we lost one developer and I was split between two independent
      products.  I was also distracted with unrelated initiatives that sucked most
      of my time and energy and effectively lost me to the team.  This contributed
      to our missed Dec 20 target date.  Missing that date introduced the holidays
      which pretty much eats a week.  Then a separate, unplanned release was inserted right
      in the middle that caused a slide in both schedule and scope.  None of these
      things were accounted for in our project plan.  When something impacts the
      project, its important to reflect that in some visible way against one of the vectors
      of the project projection.  Its either going to complete on some other date or
      scope myust be adjusted to accomodate the changes.  The preferred approach is
      to adjust scope.  I did not and therefore had no idea when things would wrap
      up until the project started to show a steate of completion.
   </p>
        <p>
      The appropriate thing to do would have been to subtract the scope of the developer
      who left and calculate the new velocity.  Then we should have reduced the scope
      of that iteration to meet the date planned for delivery or, if necessary, change the
      date.  
   </p>
        <p>
      Looking back, this is what makes the most sense going forward.  Rather then fudge
      the estimates in some arbitrary way, I've tried to calculate the impact of the lost
      developer and the holidays and factor in the intermediate release.  From there
      I think a 30% factor is appropriate for adjusting or plan.  Rather then bloat
      the estimates, I will reduce velocity for iteration planning by 30%.  This will
      visibly show that we are experiencing some inefficiencies that have reduced our productivity. 
      If this is concering to decision makers, its a great topic for conversation.  <em>Why
      have you reduced your velocity to 66 points per 2 week iteration?  ...well, our
      last release was off track and we're adjusting to reflect that something is slowing
      us down.  Our goal is to bring that back up to 80 points per week and we're activley
      seeking ways to accomplish that.  The reduced velocity will keep everyone aware
      of our present condition.  </em>That's not a bad way to talk about it. 
      Its a good measure to keep an eye on and set a goal against.  In fact, the two
      new developers on the team will only provide a fraction of their optimal velocity
      until they are through the HR hurdles, familiar with the product and work flow and
      have their environment configured.  Now its really making sense.  We have
      a logical way say, "this is a two week task but it will take us a little longer."
   </p>
        <p>
      Frankly, this was a good day
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=8bb1d0e1-8b6d-480f-bb89-ee00cd03c8fb" />
      </div>
    </content>
  </entry>
  <entry>
    <title>The daily Scrum, its not just for breakfast anymore...</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/02/14/The+Daily+Scrum+Its+Not+Just+For+Breakfast+Anymore.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,d60e7637-b09b-45f2-9229-bb8ee13c1397.aspx</id>
    <published>2007-02-14T12:02:20.617-08:00</published>
    <updated>2007-02-15T16:28:03.5382589-08:00</updated>
    <category term="Programming/Agile Development" label="Programming/Agile Development" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I've realized something valuable after reading <a href="http://martinfowler.com/articles/itsNotJustStandingUp.html">http://martinfowler.com/articles/itsNotJustStandingUp.html</a>. 
      A pattern emerged on my present team where people show up to work around 10am, usually. 
      Sometimes they call in to the scrum and lately, often really, we end up with more
      then one caller.  Frankly, more times then not, the caller is me.
   </p>
        <p>
      I have been curious as to why I have shifted my schedule unintentionally and why the
      whole team now works a later day.  We all have families so its unlikely that
      anyone is out partying late into the night.  The article pointed out that the
      daily stand-up either starts the day or it doesn't.  If your stand-up is in the
      morning, make it appropriately early so that it kicks of the core work hours. 
      If its not on by, say 9:30, move it to the afternoon.  Psychologically, the team
      will associate that meeting with the beginning of their day and they won't be motivated
      to begin any work until that commitment is behind them.  This is perfectly normal
      and makes sense in hindsight but it hadn't occurred to me until I read it.  I'm
      not advocating strict working hours or even suggesting that a later start is inherently
      bad, merely that one should be aware of scheduling impact.
   </p>
        <p>
      I believe there is tremendous value to starting the day with the daily stand up or
      "<em>scrum</em>".  Don't wait until its is convenient for everyone to be present. 
      Rather, schedule it at a reasonable time that everyone can agree to be ready. 
      9:30 for example.  The team should plan to be at work around 9, log in, check
      their email, reboot Windows 6 times, and fill their coffee.  Then, at 9:30, come
      together and hit it like gangbusters.  
   </p>
        <p>
      Granted, if the team is composed of a bunch of young punks who like to stay out late
      and prefer to start work at 10 am and work into the evening hours, there is nothing
      at all wrong with a 10:30 scrum.  Adjust accordingly but understand the impact
      of your kick off time.
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=d60e7637-b09b-45f2-9229-bb8ee13c1397" />
      </div>
    </content>
  </entry>
  <entry>
    <title>NUnit or MSTest unit test generator - generate unit tests!</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/02/06/NUnit+Or+MSTest+Unit+Test+Generator++Generate+Unit+Tests.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,4e512c89-d014-4d60-950d-489c98663eb8.aspx</id>
    <published>2007-02-06T08:56:22.98075-08:00</published>
    <updated>2007-02-06T08:56:22.98075-08:00</updated>
    <category term="Programming/.NET/C#" label="Programming/.NET/C#" scheme="dasBlog" />
    <category term="Programming/NUnit" label="Programming/NUnit" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I use NUnit extensively.  Since discovering the virtues of unit testing a couple
      of years ago, I will never turn back to unverified code.  However, that does
      not mean I do not have, nor sometimes write, unverified code.  There's all the
      legacy code (technical baggage) that you carry with you as well as the things you
      write in a rush when you just miss the test first philosophy.  I won't go into
      philosophy here and I understand that generating tests from existing code violates
      the very priciples of test driven purists.  duly noted...
   </p>
        <p>
      After the fact, I want the tests to be so easy to write that there just ain't
      no good excuse for not writing them.  <a href="http://jayflowers.com/joomla/index.php?option=com_content&amp;task=view&amp;id=13&amp;Itemid=39">Doubler
      to the rescue</a>!  Doubler has several features but I was most interested in
      unit test generation from concrete classes.
   </p>
        <p>
      Since I failed to make this work more then a year ago and still yearn for a tool like
      this, I tried again, this time with success.  It turns out to be an unexpected
      config requirement, possibly due to my old computer having three frameworks on it.
   </p>
        <p>
      If you don't have <a href="http://aisto.com/roeder/dotnet/">Reflector</a>, get it! 
      Next, download <a href="http://jayflowers.com/joomla/index.php?option=com_remository&amp;Itemid=33&amp;func=select&amp;id=4">Doubler</a>. 
      Unzip the dlls into a directory above Reflector.  I am not sure why this is necessary
      but it will fail to find references if you have it as a Reflector sub directory.
   </p>
        <p>
      Follow the <a href="http://jayflowers.com/joomla/index.php?option=com_content&amp;task=view&amp;id=15&amp;Itemid=40">Doubler
      installation video</a>.
   </p>
        <p>
      If Reflactor fails to load the add-in, double click on the failure message to see
      the exception details.  Read on if you see the following message: System.BadImageFormatException:
      The format of the file 
      <br />
      'ReflectorDouble.dll' is invalid. 
   </p>
        <p>
      from <a href="http://groups.google.com/group/DoublerUser/browse_thread/thread/d23aab39d20452ab/8382110f7515f2cc">here</a></p>
        <p>
      Create a config file for Reflector 
      <br />
      (Reflector.exe.config) and add 'supportedRuntime' elements to it so 
      <br />
      the .NET runtime will bind to the 2.0 framework <br />
      ReflectorDouble.dll will load successfully. The other two 
      <br />
      release versions are there to make the configuration more flexible for those who 
      <br />
      may need it. 
      <br /></p>
        <p>
      &lt;?xml version="1.0" encoding="utf-8" ?&gt; 
      <br />
      &lt;configuration&gt; 
      <br />
         &lt;startup&gt; 
      <br />
            &lt;supportedRuntime version="v2.0.50727"/&gt; 
      <br />
            &lt;supportedRuntime version="v1.1.4322"/&gt; 
      <br />
            &lt;supportedRuntime version="v1.0.3705"/&gt; 
      <br />
         &lt;/startup&gt; 
      <br />
      &lt;/configuration&gt; 
   </p>
        <p>
       
   </p>
        <p>
       
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=4e512c89-d014-4d60-950d-489c98663eb8" />
      </div>
    </content>
  </entry>
  <entry>
    <title>C# - TNS:could not resolve the connect </title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/01/24/C++TNScould+Not+Resolve+The+Connect+.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,d78ce439-23c9-46f7-92cc-727342ffdcf5.aspx</id>
    <published>2007-01-24T12:32:51.660125-08:00</published>
    <updated>2007-01-24T12:32:51.660125-08:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <category term="Programming/.NET/C#" label="Programming/.NET/C#" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font color="#ff0000">An unhandled exception of type 'System.Data.OracleClient.OracleException'
      occurred in System.Data.OracleClient.dll</font>
        </p>
        <p>
          <font color="#ff0000">Additional information: ORA-12154: TNS:could not resolve the
      connect identifier specified</font>
        </p>
        <p>
      I've gotten this before and its usually easy to resolve.  Check your TNSNames.ora
      and SQLNet.ora files in your "[Oracle Home]\network\ADMIN" directory and make sure
      your connection string is using the right values.  Try a TNSPing from the commandline
      to ensure that the database location is accessable.  
   </p>
        <p>
      This time however, I could connect using my database development tools, SQLPlus, even
      my local asp.net website using the same connection string.  When I tried to connect
      from the project in "C:\projects\Subversion\Rentals 1.0.2.1(feb 1)\Rentals", it failed.
   </p>
        <p>
      I then verified that the trunk version of the same project could connect.  Sure
      enough, successful connection.
   </p>
        <p>
      The code and connection string were identical.  The only difference was the location. 
      Was it permissions inside the directory?  Wait, was it the directory <em>name</em>?
   </p>
        <p>
      I copied the entire directory to a new location named:"C:\projects\Subversion\RentalsTest\Rentals",
      rebuilt and ran the project.
   </p>
        <p>
      Successful Connection!
   </p>
        <p>
      You're kidding me, right?!
   </p>
        <p>
      I then renamed the directory "C:\projects\Subversion\Rentals 1.0.2.1(no)\Rentals",
      rebuilt and ran.
   </p>
        <p>
          <em>failure!</em>
        </p>
        <p>
      OK.  No more parentesis in folder names.
   </p>
        <p>
      That sure was a waste of a day!
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=d78ce439-23c9-46f7-92cc-727342ffdcf5" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Dying-a-Slow-Death-Dell is a Northwood</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/01/24/DyingaSlowDeathDell+Is+A+Northwood.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,835c1ac9-5f56-4100-84e2-fa8f877c3120.aspx</id>
    <published>2007-01-24T05:03:19.269-08:00</published>
    <updated>2007-01-24T05:04:58.347625-08:00</updated>
    <category term="Computers" label="Computers" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I mentioned in my last post that I couldn't
   use the barebones case that Jason offered me.  I learned that the P4R8L in the
   Pundit case overheats unless you use the low power, low heat Northwood CPU. 
   (By the way, I thought it said "P4RB8" and had a heluva time finding information until
   I got that B switched to an 8).  
   <br /><br />
   This morning, I was benchmarking the HD and memory on that squeeky Dell when the memory
   analyzer reported my CPU details.  Intel, 1.8mhz, core: Northwood.<br /><br />
   Sweet?!  I think so.  Now I can shop for the faster Prescott core chip and
   move the Northwood to the p4r8l.  I think  the little pundit is a prime
   candidate for the BizZoo HeadQuarters Media Center.  At my rate of computer building
   progress, I should have it ready just about the time the dors open!<br /><br />
   ...ad the dell?   Let's just say I am not buying anymore Dells.  I'd
   be better off with a new barebones from TigerDirect then trying to salvage that cranky
   pile af junk.<br /><p></p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=835c1ac9-5f56-4100-84e2-fa8f877c3120" /></div>
    </content>
  </entry>
  <entry>
    <title>My media center project</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2007/01/24/My+Media+Center+Project.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,869286e4-66ae-4246-a14c-cb099b122a07.aspx</id>
    <published>2007-01-23T22:15:39.316-08:00</published>
    <updated>2007-01-23T22:19:31.566375-08:00</updated>
    <category term="Computers" label="Computers" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="FLOAT: left; MARGIN: 5px" src="http://www.vitaminzproductions.com/blog/content/binary/180SA.jpg" border="0" /> I've
      been putting together a PC for some time. I started the project more then six months
      ago.  As I can stand to spend a little money, I get a few more components. 
      I started out with a micro atx mother board and a few hard drives.  I believe
      I have over a terabyte of storage though I have to review the box full of parts. 
      When I purchased the motherboard, I decided to give AMD another try since I'd discovered
      that my failing AMD a few years ago turned out to be a bad IDE on the motherboard,
      not a bad cpu.  I wonder if my extreme overclocking had anything to do with that...  Until
      the IDE controller failed, the computer was very reliable and incredibly fast.  Gamers
      across America can't be wrong!
   </p>
        <p>
      I researched the system carefully in the beginning.  However, as the project
      dragged on, I started looking for a way to work within my means and get a great value. 
      I went with an AMD Athlon 64 4000+.   Apparently, this is good. 
      I have no idea.  I picked up the CPU at TigerDirect for around $80.  I also
      got a gig of PC3200 ram for $80.  My friend and business partner, Jason, let
      me have his old micro case.  Unfortuntely, the board I have is incompatable. 
      I was <em>still </em>unable to assemble my brain sucking device.  Jason is also
      the inspiration for this entire project.  His media center <em>freakin' rocks</em>!
   </p>
        <p>
          <img style="FLOAT: right; MARGIN: 5px" src="http://www.vitaminzproductions.com/blog/content/binary/blue-orb.jpg" border="0" />The TigerDirect
      order arrived and I realized only two things stood between me and my media center:
      a case and a cpu cooler.  I had taken notes long ago regarding what parts I had
      decided were best and searched for this document on my dying-a-slow-death Dell
      PC.  I am so glad I took the time to review my own notes.   The case
      you see here is quite sweet, ain't it?!  In addition to being easy to use, my
      wife will insist that it look pretty in the living room.  I think I can convince
      her to work with this.  The CPU cooler I'd selected was not in stock so I pulled
      the trigger on the "Blue Orb".  I'm not sure if it was the fact that it is the
      last required component or if I just lost my head but the blue light sold me. 
      I really need to grow up...
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=869286e4-66ae-4246-a14c-cb099b122a07" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Cross Domain Flash in IE bug – images cut off</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/12/11/Cross+Domain+Flash+In+IE+Bug++Images+Cut+Off.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,02096757-7dc2-42b6-bca7-a350f09de8a1.aspx</id>
    <published>2006-12-11T12:50:59.332-08:00</published>
    <updated>2006-12-11T12:58:00.5517065-08:00</updated>
    <category term="Programming/Web" label="Programming/Web" scheme="dasBlog" />
    <content type="html">&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; 
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;In IE, when trying to load a flash file on a page, the images
   get cut off after the first load using cross-domain resources.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
   &lt;o:p&gt;
      &lt;font face=Tahoma size=3&gt;&amp;nbsp;&lt;/font&gt;
   &lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;My webpage is at: &lt;/font&gt;&lt;font face=Tahoma color=#800080 size=3&gt;http://&lt;strong&gt;www.me&lt;/strong&gt;.rentals.com&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;The flash file it references is on &lt;/font&gt;&lt;font face=Tahoma color=#800080 size=3&gt;http://&lt;strong&gt;image.dev&lt;/strong&gt;.rentals.com&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;o:p&gt;
      &lt;font face=Tahoma size=3&gt;&amp;nbsp;&lt;/font&gt;
   &lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font size=3&gt;&lt;font face=Tahoma&gt;I’ve provided a crossdomain.xml file in my root directory
   to allow the flash from a different sub-domain communication with the hosting domain.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
   &lt;o:p&gt;
      &lt;font face=Tahoma size=3&gt;

&lt;/p&gt;
&lt;p&gt;
   &lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#006400&gt;&amp;lt;?xml
   version=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"1.0"&lt;/span&gt;?&amp;gt;&lt;br&gt;
   &amp;lt;cross-domain-policy&amp;gt;&lt;br&gt;
   &amp;lt;allow-access-from domain=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"*.rentals.com"&lt;/span&gt;/&amp;gt;&lt;br&gt;
   &amp;lt;allow-access-from domain=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"image.me.rentals.com"&lt;/span&gt;/&amp;gt;&lt;br&gt;
   &amp;lt;/cross-domain-policy&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&gt;&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;I then specified the “base” atrtribute to tell the flash
   file where to load its resources from. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;If
   you don’t, it’ll try to load relative to the hosting page (not what I’d expect).&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma color=#a52a2a size=2&gt;&amp;lt;param name="base" value="&lt;font style="BACKGROUND-COLOR: #e4e4e4" face="Courier New"&gt;image.me.rentals.com/flash&lt;/font&gt;"
   /&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;o:p&gt;
      &lt;font face=Tahoma size=3&gt;&amp;nbsp;&lt;/font&gt;
   &lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;When I load the page up for the first time, everything is
   fine.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;When I refresh the page or return to the page and the resources
   are served from browser cache, the image cuts off.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
   finally identified that the behavior only occurs when the sub-domains have more then
   one non-matching token. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;In other words, &lt;/font&gt;&lt;font face=Tahoma size=3&gt;www.me.rentals.com&lt;/font&gt;&lt;font face=Tahoma size=3&gt; works
   fine with image.me.rentals.com.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;They
   both match xxx.me.rentals.com.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;o:p&gt;
      &lt;font face=Tahoma size=3&gt;&amp;nbsp;&lt;/font&gt;
   &lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;Whether I specify wild cards or explicit urls has no curative
   effect.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;o:p&gt;
      &lt;font face=Tahoma size=3&gt;&amp;nbsp;&lt;/font&gt;
   &lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
   &lt;font face=Tahoma size=3&gt;In production, the respective urls will be &lt;/font&gt;&lt;a href="http://www.rentals.com/"&gt;&lt;font face=Tahoma size=3&gt;www.rentals.com&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=3&gt; and &lt;/font&gt;&lt;a href="http://www.rentals.com/"&gt;&lt;font face=Tahoma size=3&gt;image.rentals.com&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=3&gt;. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I’ve
   verified this to work correctly.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
   bug only bites me in the dev environment.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What
   a royal PAIN in the arse…&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   Image is supposed to look like this:
&lt;/p&gt;
&lt;p&gt;
   Flash image is supposed to look like this:
&lt;/p&gt;
&lt;p&gt;
   &lt;img src="http://www.vitaminzproductions.com/blog/content/binary/IE-FLash-Not-Cut-Off.gif" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
   but instead gets cut off after loading from browser cache
&lt;/p&gt;
&lt;p&gt;
   &lt;img src="http://www.vitaminzproductions.com/blog/content/binary/IE-FLash-Cut-Off.gif" border=0&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=02096757-7dc2-42b6-bca7-a350f09de8a1" /&gt;</content>
  </entry>
  <entry>
    <title>BizZOo</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/12/02/BizZOo.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,4e77c1b9-a7ec-4963-8048-61a3e4b843cb.aspx</id>
    <published>2006-12-01T19:16:42.4375-08:00</published>
    <updated>2006-12-01T19:16:42.4375-08:00</updated>
    <category term="Social/Computing" label="Social/Computing" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.BizZoo.net">BizZoo.Net</a> is a new website focused around providing
      e-commerce websites for folks who have a passion for something specialized. 
      Right now its in stealth mode but it looks to be the next ebay.  
   </p>
        <p>
      I'll update you when there's more information related to its development
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=4e77c1b9-a7ec-4963-8048-61a3e4b843cb" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Zarse 2.0</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/12/02/Zarse+20.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,e58856f3-9770-4445-b525-1c9fb90bf5c2.aspx</id>
    <published>2006-12-01T19:14:25.03125-08:00</published>
    <updated>2006-12-01T19:14:25.03125-08:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      With the recent development of <a href="http://www.rentals.com">Rentals.com</a>, I've
      learned a great deal about teams, capability and myself.  With a small team of
      fantastic people, a tremendous level of productivity was accomplished.  Next
      year, we plan to better that.  IT will be an immense challenge but I am excited
      for the opportunity.  Along with that opportunity came a promotion to Development
      Manager for Rentals.com and a new office space just across the parking lot from the
      old.  The move is to truly empower the small team to operate as one.  Up
      until now we've been trying very hard to work  within a medium company that behaves
      like a giant company.  I believe this is going to be a significant year for all
      involved, especially the competition.  
   </p>
        <p>
      In the last few months, I have received more employment opportunities then ever before. 
      Six months ago, I would have accepted the offers I've recently declined.  I love
      nothing more then to build things and there's nothing better then feeling a sense
      of ownership and responsibily for an outcome you are proud of.  I helped build <a href="http://www.apartmentguide.com">ApartmentGuide.com</a> over
      the years, not to mention <a href="http://www.NewHomeGuide.com">NewHomeGuide.com</a>, <a href="http://www.AutoGuide.com">AutoGuide.com</a> and
      a previous incarnation of RealEstate.com.  Each of these had varying levels of
      success and I played various roles and contributed on different levels at different
      times.  I am ecstatic to be intimately connected with this next venture.  
   </p>
        <p>
      I am looking for top notch developers in Atlanta.  We are based in Norcross. 
      We have a beautiful office building, updated workstations with dual lcd monitors,
      flexible schedules, casual dress and really, really sharp people.  We are going
      to be running a pure agile (scrum if you know it) development process to build an
      infant of a product to a $200,000,000 company in the next two years.  The parent
      company is stable and profitable, compensation top tier and work loads reasonable. 
      Sustainable pace, right?  Its all dot net 2.0 and we're finally going to start
      using SQL Server.  You'll have some opportunity to build your Oracle skills,
      however, if that floats your boat.
   </p>
        <p>
      So, please shoot an email to rzarse -at- consumersource -dot- com if you are 1) a
      fantastic dot net developer 2) highly motivated and a great team player 3) Bored at
      your current gig and looking for a fun, exciting challenge
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=e58856f3-9770-4445-b525-1c9fb90bf5c2" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Link back to Rome</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/30/Link+Back+To+Rome.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,31b4c929-7446-4915-8df1-f58e0e098532.aspx</id>
    <published>2006-08-29T20:59:41.4206574-07:00</published>
    <updated>2006-08-29T20:59:41.4206574-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <category term="Programming/.NET/C#" label="Programming/.NET/C#" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I've linked to <a href="http://www.mindfusioncorp.com/weblog">Keith Rome's Blog</a> after
      I foundmy old url on his blog.  Hey Keith, can you chnage <a href="http://vitaminzrecords.com/blog">http://vitaminzrecords.com/blog</a> to <a href="http://www.vitaminzproductions.com/blog">http://www.vitaminzproductions.com/blog</a>? 
      I'm really too lazy to add the wildcard domain entry to letthat url resolve. 
      We both know how well I manage domains, don't we?
   </p>
        <p>
      Keith made me jealous with his <a href="http://www.mindfusioncorp.com/weblog/2006/08/20/Back+Online.aspx">media
      center</a> and ashamed with his <a href="http://www.mindfusioncorp.com/">certifications</a>. 
      My company has driven me to read books on sociology, management and conflict resolution.  Last
      year I was devouring technical books, now I am reading all the process and methodology
      books I can get my hands on just so I can confirm my understanding of <a href="http://www.agilemanifesto.org">how
      software development should work</a>.
   </p>
        <p>
      I'm going to volunteer to present on CruiseControl.net and continuous integration
      at an upcoming c#group meeting.  I've been away too long and miss my geek peeps.  
   </p>
        <p>
      I'm looking forward to coding more in the near future.  Now I just have to figure
      out ...how.
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=31b4c929-7446-4915-8df1-f58e0e098532" />
      </div>
    </content>
  </entry>
  <entry>
    <title>DynDns LinkSys abuse - blocked then booted</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/28/DynDns+LinkSys+Abuse++Blocked+Then+Booted.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,dade5771-3b44-4406-81de-48fb31ecaf0e.aspx</id>
    <published>2006-08-27T17:14:08.761125-07:00</published>
    <updated>2006-08-27T17:14:08.761125-07:00</updated>
    <category term="Computers" label="Computers" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I had recently moved from a usb modem to an ethernet modem and was empowered to use
      my LynkSys as my Dynamic DNS updater.  After a couple of months, however, I received
      an email stating that I was being blocked due to update abuse.  I asked for more
      info regarding the situation and the DynDns support rep was happy to reply and inform
      me that my router was updating on a timer, which is not allowed.  Unfortunately,
      three days later, I received another email stating that my DynDns account had
      been removed due to continued abuse.  The service they provide for free is absolutely
      fantastic and I certainly cannot complain that they have no patience for slackers
      who fail to fix their problems immediately.  So I finally spent about an hour
      getting things straight tonight.  I've disabled my LinkSys and returned to using
      the DynDns updater.  I was pleasantly surprised to find it now runs as a windows
      service!
   </p>
        <p>
      If you're not famliar with Dynamic DNS and what DynDns provices, it allows you
      to point a url at your home computer that will allow you to access it from anywhere
      in the world as long as your computer tells the dns host what your ip address is every
      time it changes.  Simple but very powerful.  By installing a beacon service
      on your computer, you keep the DynDns server informed as to the address of your computer. 
      All requests are proxied through their server to allow access to your computer. 
      When your ISP changes your ip address, the beacon tells the DynDns server about the
      change.  You should never have to worry about it.  However, reboots can
      get tricky.  When I had a usb modem and the computer rebooted, my url would no
      longer connect to my computer until I physically logged in and established a connection. 
      I was very happy when I could use my router to update the server.  Too bad its
      an abusive piece of ...equipment.
   </p>
        <p>
      To get a dyn dns account, go here: <a href="https://www.dyndns.com">https://www.dyndns.com</a></p>
        <p>
      create an account, then add a host to dynamic dns.  It will detect your ip address
      right there.  I won't go into detail about setting up wireless
      routers and <a href="http://www.google.com/search?q=port+forwarding">port forwarding</a>.  You
      can tackle that elsewhere.
   </p>
        <p>
      Now download and install the preferred client: <a href="https://www.dyndns.com/support/clients/windows.html">DynDns
      Updating Client</a></p>
        <p>
      Set up an account that points to the domain you set up on DynDns.com.  
   </p>
        <p>
      Once it is updating and the icon turns green, go to options on the dynDns client properties
      window, deselect "start with windows"  and click "install service"
   </p>
        <p>
      Then exit the client by right clicking and selecting "exit"
   </p>
        <p>
      Go to control panel &gt; administrative tools &gt; Services 
   </p>
        <p>
      Find "DynDNS Updater Service" right click and chools "start"
   </p>
        <p>
      Leave a comment if you could use more information or some screen shots.  I'll
      add them.  I just wanted to illustrate how easy it is to set up remote access
      to your home or office computer if you don't have static ip addresses to work with.
   </p>
        <p>
       
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=dade5771-3b44-4406-81de-48fb31ecaf0e" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Open Mic Madness tonight</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/21/Open+Mic+Madness+Tonight.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,429e350b-161f-4c85-a962-6337f33b40d8.aspx</id>
    <published>2006-08-21T16:16:10.6745-07:00</published>
    <updated>2006-08-21T16:16:10.6745-07:00</updated>
    <category term="Music" label="Music" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I've been practicing for a year to play
   one silly little song!  Sorry for the $8 cover, I guess the crowd has grown enough
   to command pro ticket prices.  
   <br /><br />
   I'll be playing at 9:30 ish.  That means I might play at 9:15.  Anyone coming
   at 9:30 and finding themselves surprised that they completely missed me should be
   referred to this blog.  Don't come after 9:15 if you are coming to hear me. 
   However, all the other bands will be worth listening to as well and you can then hang
   out with me...  All for 8measly bucks!  wow<br /><br />
   so check out <a href="http://www.openmicmadness.com">open mic madness</a> in Atlanta
   and cheer me on.  Then boo the judges when I don't advance and throw empty water
   bottles at Josh Rifkin.<br /><br />
   peas<br /><p></p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=429e350b-161f-4c85-a962-6337f33b40d8" /></div>
    </content>
  </entry>
  <entry>
    <title>Spidering myself to death</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/19/Spidering+Myself+To+Death.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,a2e3113e-e95b-493e-aac6-80255a95f569.aspx</id>
    <published>2006-08-19T12:48:59.3382744-07:00</published>
    <updated>2006-08-19T12:48:59.3382744-07:00</updated>
    <category term="Programming/.NET/C#" label="Programming/.NET/C#" scheme="dasBlog" />
    <category term="Programming/Web" label="Programming/Web" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I'm taking the week off next week.  Today I was writing a spider to crawl a website
      and inspect the pages.  I wanted to finish this week with some analysis
      on my new website and then let the data gel for the rest of the week.  Unfortunately,
      a "Service Unavailable" event interfered with my plans.  I guess I'll blog my
      psuedo-failure and move on to vacation.
   </p>
        <p>
      The spider process starts at a given url and generates a request, retrieving the response
      from the site.  It then uses a regex to find all the href's, creates valid urls
      from each of those links, and queues each of the links for crawling.  Then it
      de-queues each of the links and crawls it if it hasn't already retrieved that
      page.  The whole thing repeats for each page sleeping for 1 full second in between
      requests, and stops when either the queue reaches zero links or the number of pages
      requested exceeds the maximum threshold.  At this time it is a single-threaded,
      simple app that closes its connections explicitly and makes requests very conservatively. 
      At least I thought so.  Does that description sound like it should crash a production
      website?  
   </p>
        <p>
      I ran it against a local test site several times.  Then I hit <a href="http://www.openmicmadness.com">http://www.openmicmadness.com</a>. 
      I then ran it against the beta rentals site.  Everything went fine, I discovered
      several things about the site that I wasn't aware of, and I wanted to see more. 
      So I bumped the max threshold to 2000 pages and let it run for a few minutes against
      beta Rentals.  I didn't think much of it as it can only request 1 page per second. 
      Unfortuntately, the beta site is now showing "Service Unavailable".  I've
      performed several load tests in the dev environment on the rentals site.  While
      I was able to load it to the point of incredibly slow response, I never witnessed
      a complete meltdown.  I suspect that its only hosted on one server in production
      and something went kah-blewy.  Since I am not given any access to tools in production,
      I can't diagnose the problem and since its not a production site but rather a beta,
      I can't justify escalating the failure.   
   </p>
        <p>
      OK, I just ran the thing against several local website applications and my blog. 
      None of them even hiccupped.  I think something definitely crashed on that server
      but I don't think it was anything special that I did.  I just happened to be
      the user(s) that got the error.  
   </p>
        <p>
      I think I'll follow Google's example and extend the spider to crawl just one level
      per session.  Rather then crawl the queued links, I'll serialize them to a data
      store and then load that back up to kick off a future session.  I'll also extend
      the error response to store the context of server errors, 404's and bad links.  
   </p>
        <p>
      Another realization I had during a crawl was how easy and useful it would be to set
      certain criteria to search for and then retrieve that content locally for later inspection. 
      For example, find all mp3's on a band site and store them in a folder.  Or you
      might want to scrape email addresses off of a website.  My initial purpose was
      to inspect pages for richness of content and compliance to html standards as well
      as accessibility compliance.  I've wanted to write a spider for various reasons
      for a very long time.  I even modified the spider example found <a href="http://www.codeproject.com/cs/internet/davwebspider.asp">here</a>, once
      upon a time, but lost that project when <a href="http://www.vitaminzproductions.com/blog/2005/12/15/NAnt+Delete+Dir+Holy+Crap.aspx">nAnt
      deleted my C: drive</a>.  I'm pleased to be back in the crawling game, the possibilities
      are endless!
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=a2e3113e-e95b-493e-aac6-80255a95f569" />
      </div>
    </content>
  </entry>
  <entry>
    <title>rentals.com beta is live</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/19/rentalscom+Beta+Is+Live.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,3c4f4ad2-650e-4139-a9b3-49a78fe7d937.aspx</id>
    <published>2006-08-18T18:14:37.171-07:00</published>
    <updated>2006-08-21T16:09:30.39325-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <category term="Programming/Web" label="Programming/Web" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <h1>
          <a href="http://beta.rentals.com/Georgia/Atlanta/Apartments">Atlanta apartments</a>
        </h1>
        <h1>
          <a href="http://beta.rentals.com/Georgia/Atlanta/Houses/">Atlanta Houses for Rent</a>
        </h1>
        <p>
      Its been a work in progress for about 4 months.  Yep, that's all.  Granted,
      there's some piggy backing on top of ApartmentGuide logic and there is no back-end
      content administration system (its entirely driven by a windows service that
      retrieves xml data feeds to create searchable Apartment listing data) but 4 months
      ain't bad.  In a few weeks you'll see some bad ass mapping functionality. 
      This site, however, is completely different from what we've done before.  Its
      designed for the user who sends leads, not the client who pays for them.  
   </p>
        <p>
      So have a look at my new <a href="http://beta.rentals.com">Houses and Apartments for
      Rent</a> site.  (google, looky here, please.  we're hoping you like us).
   </p>
        <p>
      The quick and dirty is that it was designed to be very intuitive and highly searchable. 
      We have embraced the Google gods as more the a search indexer and truly a driver of
      technological advancement.  Consistent navigation and content (no matter who
      you are) is important to bots so it is a core principle in the site design. 
      We' ve peppered in some slick ajax and then, despite me resistance, dumped some flash
      on the home page.  I'm very proud.
   </p>
        <p>
      COMMENTS WELCOME!
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=3c4f4ad2-650e-4139-a9b3-49a78fe7d937" />
      </div>
    </content>
  </entry>
  <entry>
    <title>a new kind of BM</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/15/a+New+Kind+Of+BM.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,713a21fe-415b-4b98-8380-a2f06dd01f7a.aspx</id>
    <published>2006-08-14T17:01:00.811625-07:00</published>
    <updated>2006-08-14T17:01:00.811625-07:00</updated>
    <category term="Programming/Web" label="Programming/Web" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      A bookmark is describes a static place in the world.  Its a place you wish to
      label for revisit.  Its somewhere you wish to come back because its properties
      still serve you some value.  I created a bookmark today that I should have been
      creating all along.  I bookmarked a Google search that had more results then
      I had time or energy to read.  
   </p>
        <p>
      Then it occurred to me that my url was actually a search instruction to the google
      machine and this bookmark was, in fact, a macro.  Gives me an interesting idea
      for automated testing...
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=713a21fe-415b-4b98-8380-a2f06dd01f7a" />
      </div>
    </content>
  </entry>
  <entry>
    <title>DotNet development tools you should not live without</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/05/DotNet+Development+Tools+You+Should+Not+Live+Without.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,42355130-fa63-4300-84c3-1328e108dfbd.aspx</id>
    <published>2006-08-05T12:30:44.354-07:00</published>
    <updated>2006-08-05T12:43:17.807875-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">These are tools that one should not be doing
   .net development without (in my opinion)  
   <br />
   most are free.  I'd like to take this opportunity to truly thank the contributors
   to each of these tools.  They are INCREDIBLE and I can't imagine going back to
   working without them.<br /><br /><br /><table id="toolsTable"><thead></thead><caption>Invaluable Tools for DotNet development</caption><tbody><tr><th>Title</th><th>Description</th><th>Purpose</th><th>Url</th><th>cost</th></tr></tbody><tbody><tr><td>
               Reflector</td><td>
               Lutz Roeder's tool for inspecting .net assemblies and reading the representative code</td><td>
               reverse engineering for the purpose of learning how something works or helping to
               diagnose the cause of some behavior</td><td><a target="_blank" href="http://www.aisto.com/roeder/dotnet/">Reflector</a></td><td>
               free</td></tr><tr><td>
               NUnit</td><td>
               Automated unint testing framework</td><td>
               ensuring quality software and enforce continued adherance to business requirements</td><td><a target="_blank" href="http://www.nunit.org/">http://www.nunit.org/</a></td><td>
               free</td></tr><tr><td>
               CruiseControl.net</td><td>
               continous build server and dashboard for .net</td><td>
               Identifying integration issues minutes after they are generated and compile/unit test
               confidence for all configured projects</td><td><a target="_blank" href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET">CruiseControl.NET</a></td><td>
               free</td></tr><tr><td>
               Fiddler</td><td>
               http request manipulation tool</td><td>
               Create explicit request contexts to test the behavior of your site at a low level</td><td><a target="_blank" href="http://www.fiddlertool.com/fiddler/">http://www.fiddlertool.com/fiddler/</a></td><td>
               free</td></tr><tr><td>
               TestDriven.net</td><td>
               Visual Studio plugin for Unit Testing</td><td>
               Integrates with NUnit to allow test exectution from within visual studio. Allows method
               invocation with no need for dummy form coding</td><td><a target="_blank" href="http://www.testdriven.net/">http://www.testdriven.net/</a></td><td>
               free personal edition</td></tr><tr><td>
               RegEx Workbench</td><td>
               Regular Expression editor / evaluator</td><td>
               Interactive execution and testing of regular expressions</td><td><a target="_blank" href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=c712f2df-b026-4d58-8961-4ee2729d7322">RegEx
               WorkBench</a></td><td>
               free</td></tr><tr><td>
               Enterprise Libraries</td><td>
               Framework based on Microsoft best practices</td><td>
               Well tested and thoughtfully designed frameworks for common business needs</td><td><a target="_blank" href="http://msdn.microsoft.com/library/?url=/library/en-us/dnpag2/html/EntLib2.asp">Enterprise
               Library .NET 2.0</a></td><td>
               free</td></tr></tbody></table>
   I'll try to keep this list updated and add items as I think of / discover / am told
   about them. Each of these represents a different aspect of enterprise development
   and, as a whole, reduce cost &amp; complexity while increasing consistency and quality.
   Pretty sweet for FOC!<br /><br />
   Now, if you have all of these, follow to <a href="http://www.hanselman.com/blog/ScottHanselmans2005UltimateDeveloperAndPowerUsersToolList.aspx">Scott
   Hanselman's Ultimate developer and power tool list</a> and have a ball.  It was
   his post that inspired me to officially post these.  That and the desire to consolodate
   my url list of downloadable tools.<br /><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=42355130-fa63-4300-84c3-1328e108dfbd" /></div>
    </content>
  </entry>
  <entry>
    <title>Bloggin again...</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/05/Bloggin+Again.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,eed2a7b5-bdf6-42b4-86d3-7e9538aa08e1.aspx</id>
    <published>2006-08-05T11:52:10.0735-07:00</published>
    <updated>2006-08-05T11:52:10.0735-07:00</updated>
    <category term="Blogging" label="Blogging" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">    It feels good.  
   <br /><p></p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=eed2a7b5-bdf6-42b4-86d3-7e9538aa08e1" /></div>
    </content>
  </entry>
  <entry>
    <title>ASP.Net 2.0 errors when writing the action attribute for the form element on google crawls</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/05/ASPNet+20+Errors+When+Writing+The+Action+Attribute+For+The+Form+Element+On+Google+Crawls.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,9bc663b6-1283-4b35-a87b-a18264ec1ad3.aspx</id>
    <published>2006-08-05T11:46:54.323-07:00</published>
    <updated>2006-08-05T11:50:14.66725-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Our problem was two fold.<br /><br />
   1) <a href="http://todotnet.com/archive/0001/01/01/7472.aspx">Sander Gerz</a> describes
   a <a href="http://todotnet.com/archive/0001/01/01/7472.aspx">Google related Context.Rewrite()
   bug in ASP.Net 2.0 </a>that occurs when the browser header User-Agent setting is Mozilla/
   5.0.  This happens to be the browser Google identifies itself as.  The error
   will result in your form failing when trying to write the action tag.  An Exception
   is thrown. Read the post to learn more about the specifics.<br /><br />
   2) We had a custom error page that used Server.Transfer to display a friendly message
   when an error was caught by the Page_Error event on a failing page.  Unfortunately,
   the developers did not explicitly set the response code to 500 so Google thought that
   we were a website all about "Errors have occurred...".  They got a 200 OK status,
   after all.  Lesson: set the response code to 500 when showing a pretty error
   page.  This will likely result in some browsers not displaying the content but
   it will trigger the appropriate escalation chain attached to error events.  Sending
   a regular page is the same as swallowing errors in an empty catch...  not good.<br /><br />
   So, read the post about <a href="http://todotnet.com/archive/0001/01/01/7472.aspx">rewritten
   paths and google in ASP.Net 2.0</a> and think carefully about how you handle errors. 
   It is a good idea to practice diagnosing a problem having a similar configuration
   to your target production environment so you can identify what you'll need when break
   down occurs.  That would include whatever restrictions your administrators place
   on you such as no machine or filesystem access or debugging.  Sometimes you really
   cannot recreate something in another context or environment until you'll identified
   the cause of a problem.<br /><br />
   Hint: use the <a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=295a464a-6072-4e25-94e2-91be63527327">Exception
   Handling Application block from the 2.0 Enterprise Libraries</a><br /><br /><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=9bc663b6-1283-4b35-a87b-a18264ec1ad3" /></div>
    </content>
  </entry>
  <entry>
    <title>Agile isn't easy to accomplish</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/04/Agile+Isnt+Easy+To+Accomplish.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,ee29bc68-d94a-4e6e-853d-b7d1d2ba5ae9.aspx</id>
    <published>2006-08-03T18:58:12.526-07:00</published>
    <updated>2006-08-03T19:04:19.839125-07:00</updated>
    <category term="Programming/Agile Development" label="Programming/Agile Development" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I've read and been told that a transition
   to Agile is not an easy undertaking.  I under-estimated the resistance I'd receive
   to documented techniques and practices when the organizational leaders announced that
   it was their intention and desire to: "abandon our heavy waterfall process and go
   Agile."  I'd convinced myself that this was something that would be easy to sell
   once it came from the top.  I've come to realize, appropriately, that change
   takes time, even good change.  If its worth doing, its worth doing right and
   if it were simple, it'd be done already.<br /><br />
   We recently had a meeting to discuss what documents wereto be authored, by who, who
   owned them and who the approvers or reviewers were.  A business counterpart of
   mine continues to ask about when "hand-offs" should occur.  Many insist that
   story cards are not adequate to convey requirements.  Business owners prefer
   a proxy from whom they channel all their communication with the team doing the work.  
   <br /><br />
   I work with a left handed individual. When I sit at his computer, I cross my right
   arm over my left and operate the mouse with my arms tangled over one another. 
   Two other techniques that work much better are either to move the mouse over to the
   right side of the computer (revert to previous process) or to use my left hand on
   the mouse (adopt a new, unfamiliar technique).  I've found I am perfectly capable
   with my left hand operating the mouse.  However, Its slightly uncomfortable. 
   So I find myself crossed and bound up thinking that something must be wrong with this
   left-handed programmer.  I know, however, that my natural habit is the real cause
   for challenge and with practice it would feel more natural.  I'll have to remember
   to be patient and considerate of these long-established habits.<br /><br />
   The ironic thing is that it was actually <i>easier </i>when everyone else stated that
   they were in favor of waterfall and I quietly and confidentially began researching
   how to manage a project with less ceremony and demonstrated the results of it in small,
   project by project, increments.  The first three projects lacked significant
   aspects of an Agile project but began to show the merits of the movement.  The
   most recent, http://preview.rentals.com,  lacked only frequent delivery to production. 
   We'd go as far as qa, then stop.  However, we were by no means fully implementing
   an Agile process.  We had facets of it: continuous integration, small iterations,
   automated unit testing, frequent communication, reflective review, collaboration,
   story card based development, just in time elaboration, pair programming, and others. 
   We still tested at the end of each iteration (not ideal) and some project contributors
   were outside the development process with little accountability.  We'd do sub-optimal
   things like extend dates to finish testing or fit a few extra features in.  Our
   review meetings would be postponed a week after the iteration was complete so that
   feedback from that review may affect work already completed.  I'm definitely
   learning as I go, we all are.  I am truly a fanatic about the change in approach. 
   However, there's a backslide happening lately...<br /><br />
   In a book by<a href="http://www.amazon.com/gp/redirect.html?link_code=ur2&amp;tag=vitaminzrecor-20&amp;camp=1789&amp;creative=9325&amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0553299611%2Fsr%3D8-1%2Fqid%3D1154655930%2Fref%3Dpd_bbs_1%3Fie%3DUTF8"> Robert
   Pirsig - Lila,</a> the author describes evolutionary change as having a ratcheting
   effect.  Things change, begin to fall back a bit, then they stabalize. 
   Then they change a little more, fall back a bit again, then stabalize again. 
   Stable patterns persist until mutation, or dynamic patterns, cause some change in
   the overall model.  If the new pattern has staying power, if it is superior,
   it will stick, and eventually become a static pattern.  If, however, it is unstable,
   it will fall back to the previous static pattern from which it evolved.  The
   static patterns are represented by the majority and the dynamic patterns are represented
   by the innovators and the rebels. Obviously, not all things persist.  Some good
   changes will be overtaken by a powerful competitive majority.  Sometimes several
   ratchets are needed to complete a massive redirection of behavior and sometimes people
   will have to fail before they will succeed.  Edison said that every failure is
   just one step closer to eventual success, or something like that.<br /><br />
   My last note is that eternal question of: <i>if there is no one in a forest who cares
   if trees stand or fall, should you bother to cut them down?  </i>...and if you
   do, should you do it your way or someone elses way?  ...and what the hell was
   I thinking getting into luberjacking in the first place?   I thought I was
   a guitar player<br /><p></p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=ee29bc68-d94a-4e6e-853d-b7d1d2ba5ae9" /></div>
    </content>
  </entry>
  <entry>
    <title>The did it that never made it....</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/04/The+Did+It+That+Never+Made+It.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,6987dbb8-7e1f-4c3a-b547-7698535e2aa0.aspx</id>
    <published>2006-08-03T18:17:28.651625-07:00</published>
    <updated>2006-08-03T18:17:28.651625-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Sorry folks, the brakes were slammed on
   at the last minute regarding rentals.com.  There is some strategy thought process
   going on that required a massive redirection of intent.  If you care to see it,
   have alook at http://preview.rentals.com.  However, it won't be released into
   the wild for some time (intentionally not linked).  I will, however, be positioning
   the site at beta.rentals.com  shortly.  When we do that, I'll link to it. 
   Hopefully that will be enough of a feeder to spark a google investigation.  When
   that happens, we'll see just how valuable content is and how valuable inbound links
   are!  That's one of the tenets of SEO, inbound links.  One needs links to
   a site to give it credibility.  Without them, content is just a bunch of text
   in cyber-space.  However, with links that say something is about something: <a href="http://www.google.com/search?q=miserable+failure&amp;start=0&amp;ie=utf-8&amp;oe=utf-8&amp;client=firefox-a&amp;rls=org.mozilla:en-US:official">like
   this</a>, you get the inferred vote from that external link that says, "this site
   is an authority"  Enough of those and you don't even need the specific word on
   your page!  
   <br /><br />
   I've intentionally gone off topic. I'm excited about the new site. I wish we could
   have launched it.  I'llkeep the world posted as to my progress but for now we
   are continuing as planned with rentals.com except for the actual releasing of it and
   focusing more attention on our new, refreshed <a href="http://www.apartmentguide.com/?partner=yomomma">ApartmentGuide.com</a> site. 
   We got a couple little things to tweak on that old salty dog.<br /><br />
   cheers!<br /><br /><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=6987dbb8-7e1f-4c3a-b547-7698535e2aa0" /></div>
    </content>
  </entry>
  <entry>
    <title>Wow - music!</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/08/01/Wow++Music.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,7065510c-9053-4456-8729-13549e80b3de.aspx</id>
    <published>2006-07-31T18:33:03.4375-07:00</published>
    <updated>2006-07-31T18:33:03.4375-07:00</updated>
    <category term="Music" label="Music" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font color="#008000">I found something interesting on my web stats today.  I
      had two hits on my mp3 @ <font color="#003300"><a href="http://www.vitaminzrecords.com/mp3/rusty/rusty%20-%20nothing.mp3">http://www.vitaminzrecords.com/mp3/rusty/rusty%20-%20nothing.mp3</a></font></font>
        </p>
        <p>
      They were followed by 5 hits @ http://www.vitaminzrecords.com/mainweb/calendar.asp?z=1&amp;PID=10&amp;z_xml=rusty.xml. 
      You'll notice there are no events scheduled.  For now there are no shows...
   </p>
        <p>
      The fantastic thing is that someone was checking out something I have practically
      forgotten about.  Even better, I've started pursuing musical interests again. 
      I am embarking on an acoustic duo with a new friend.  I played last weekend to
      a group of people I've been enjoying socializing with much more lately and I think
      it was mutually enjoyable.  I know I had a freakin' ball.  
   </p>
        <p>
      So I hope to play a few shows soon.  
   </p>
        <p>
       
   </p>
        <p>
      For one, yes <a href="http://www.openmicmadness.com">Open Mic Madness</a>!  I've
      been practicing more and this year I have no desire or hope to win it, I only plan
      to enjoy the hell out of it.  
   </p>
        <p>
       
   </p>
        <p>
      Anyone want to go to see <a href="http://www.openmicmadness.com">the best live music
      in Atlanta?!</a></p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=7065510c-9053-4456-8729-13549e80b3de" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Surf's UP</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/07/31/Surfs+UP.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,253911d4-8383-470f-ab7c-ec308daa1f83.aspx</id>
    <published>2006-07-30T20:16:54.359375-07:00</published>
    <updated>2006-07-30T20:16:54.359375-07:00</updated>
    <category term="Life" label="Life" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Life is like the ocean eternally washing the sandy shore.  A wave approaches,
      crests, crashes, then rolls up onto the beach to then gently release its energy and
      finally fall back into the tide, another right on its heels.  I find waves of
      intensity ebbing in my personal and professional life all the time.  Sometimes
      things are building up, gaining intensity, sometimes they are playing out on a turbulent
      ride toward completion.  
   </p>
        <p>
      The last four months I've been work-focused on designing and releasing a new Rentals.com. 
      It will be out Tuesday, August 1st if all goes perfectly.  If not, it will be
      shortly after.  Regardless, there will be a series of releases to increment the
      planned initial functionality.  The new site replaces a site that's been successful
      for a number of years but hasn't been allowed to reach its potential.  We're
      going to leverage the strong capabilities of the software that Phil Massum designed
      and drive a new website that I've adapted from the work of a recent redesign of ApartmentGuide.com. 
      For that project, I had collaborated (as architect) with Roman Pozdniakov (technical
      lead), Mark Stevens (project lead) and Blane Davis (data manager and seach guru) to
      leverage the capabilities of our Endeca search tool in order to satisfy the complicated
      business requirements surrounding large apartment community listing service. 
      Rentals.com will take advantage of an indirect client relationship to provide a more
      rich and valuable user experience with a focus on search indexable navigation.  
      We've designed the search engine spider bait and trap to be exactly the same thing,
      just like they've suggested.  I navigated the site using an alternative browser
      and I was surprised by how useful it actually is.  I was pleased by how terrible
      the competition was.  I can't wait to see what happens when its released into
      the wild.
   </p>
        <p>
      Its been a challenging and rewarding project and has lead to a promotion to product
      development manager.  I now oversee product and project development for
      all things apartments at consumer source inc.  That includes ApartmentGuide.com
      and Rentals.com as well as content management applications, support applications,
      integration and future new/aquired product.  I'm hoping to help coach teams to
      be self organizing, self managing and self motivated.  This move is outside my
      immediate comfort zone and represents the first time in a long time that I've
      taken on a new role that wasn't something I was infinitely trained for.  There's
      a lot of disfunction to resolve and I'll be learning on the fly, having to stretch
      my own capacity to accomplish my goals.  Its due time I stop resting on my laurels.
   </p>
        <p>
      We've been redefining our process to adhere to agile methodologies and principles
      and working toward more responsive, less cumbersome software development.  This
      is as exciting as the product itself and my passion for it has surprised me as much
      as my discovery a number of years ago that I LOVE database normalization and
      the inherent relationship of structured information.  These two concepts, adaptation
      and data relationships, take a new direction when considered independently and
      lead to ideas that are just beginning to reveal potential.  The crest of
      the Rentals.com release has just flattened onto the sand and the next one is beginning
      to swell.  
   </p>
        <p>
      On the subject of waves and beaches, I just returned from a weekend at Sea Pines on
      Hilton Head Island in South Carolina. The place is amazing.  Its very high end. 
      While I appreciated the wealth of the place, I found myself longing for the more personal
      Rosemary Beach.  I feel more at home away from home there then I did inside the
      security gate of the Sea Pines rich person compound.  There's nothing wrong with
      having money but I feel that it doesn't matter whether the uniformed guard waves you
      in or drags you in, you're no longer in the land of liberty and diversity; you're
      inside the prison wall. If you stay too long, you'll become institutionalized. 
      However, if you instead retreat inside yourself, and listen to the waves coming in rows,
      the waves all become one sound: like the wind but much louder.  You might realize
      that those waves are just ripples on top of some larger wave unfolding.  If you
      can focus on that wave and become curious as to how it might soon crest and play
      out, you might forget about walls all together.  You might realize that they
      are not a prison at all.  You might relax and enjoy the moment.  You might
      forget about the next wave swelling on the sand bar long enough to catch your breath
      and enjoy the ocean air.  I clearly need more vacations.  
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=253911d4-8383-470f-ab7c-ec308daa1f83" />
      </div>
    </content>
  </entry>
  <entry>
    <title>CruiseControl.net / CCTray webURL error and correction</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/06/20/CruiseControlnet++CCTray+WebURL+Error+And+Correction.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,ce83da38-c01e-428b-9c30-a55788da03d7.aspx</id>
    <published>2006-06-20T07:42:01.7985-07:00</published>
    <updated>2006-06-20T07:42:01.7985-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <category term="Programming/Agile Development" label="Programming/Agile Development" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I know this probably seems quite intuitive, and now that i've discovered the solution
      it is, but I still thought it worthy of blogging.
   </p>
        <p>
      When configuring CruisControl.net &lt;webURL&gt; node in ccnet.config, html encode
      the string value.  After all, its in an xml config document.  I was trying
      to url encode it, which didn't work, or include it raw, which violates xml rules.
   </p>
        <p>
      The correct config setting looks something like this:
   </p>
        <font color="#0000ff" size="2">
          <p>
      &lt;
   </p>
        </font>
        <font color="#800000" size="2">webURL</font>
        <font color="#0000ff" size="2">&gt;</font>
        <font color="#000000" size="2">ttp://buildbox.corp.mycompany.com/ccnet/default.aspx?_action_ViewProjectReport=true</font>
        <font color="#ff0000" size="2">&amp;amp;</font>
        <font color="#000000" size="2">server=BuildBox</font>
        <font color="#ff0000" size="2">&amp;amp;</font>
        <font color="#000000" size="2">project=MyCompany.Project1</font>
        <font color="#0000ff" size="2">&lt;/</font>
        <font color="#800000" size="2">webURL</font>
        <font color="#0000ff" size="2">&gt;
   <p></p></font>
        <p>
      The exceptiont that is raised in the cctray is bizarre.  At the moment, I can't
      even get it to blow up for me and I'm over messing with ccnet.config today.
   </p>
        <p>
      happy building
   </p>
        <font color="#000000">
        </font>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=ce83da38-c01e-428b-9c30-a55788da03d7" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Max Image Size in IE using JavaScript</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/06/09/Max+Image+Size+In+IE+Using+JavaScript.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,a2950936-c9b9-4846-94ee-8babe094c5f3.aspx</id>
    <published>2006-06-09T12:28:54.296875-07:00</published>
    <updated>2006-06-09T12:28:54.296875-07:00</updated>
    <category term="Programming/JavaScript" label="Programming/JavaScript" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Its been a long while since I've blogged
   code.<br /><br />
   I have dynamic images (photos to be precise) coming in.  They can be various
   sizes.  I have a limited width area on my web page in which to display the photo. 
   I don't want to stretch the small images but I don't want large images to mess up
   my layout.  I require a clientside solution for maximum image &lt;img&gt; width
   without affecting thos images that aren't violating the threshold.<br /><br />
                   &lt;script&gt;<br />
                  
   function maxImage(img, width){<br />
                       
   //copy to new image so it will work in ie<br />
                      
   var newImg = new Image();<br />
                      
   newImg.src = img.src;<br />
                      
   var iWidth = newImg.width;<br />
                      
   var iHeight = newImg.height;<br />
                      
   if( iWidth &gt; width ){<br />
                          
   var iRatio =  iWidth / width;<br />
                          
   img.width = width;<br />
                          
   img.height = iHeight / iRatio;<br />
                      
   }<br />
                  
   }<br />
                  
   &lt;/script&gt;<br /><br />
                  
   &lt;img border="0" src='&lt;%# Eval("SomeDynamicImageUrl") %&gt;' onload="maxImage(this,250);"/&gt;<br /><br />
   For years I have said, "can't be done."  Reinforces my philosophy: never say
   never<br /><p></p><img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=a2950936-c9b9-4846-94ee-8babe094c5f3" /></div>
    </content>
  </entry>
  <entry>
    <title>Unbinding SubVersion when ANKH goes wrong</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/05/06/Unbinding+SubVersion+When+ANKH+Goes+Wrong.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,b9463d34-0970-4089-a9a1-bbb88821ce54.aspx</id>
    <published>2006-05-06T12:12:09.875-07:00</published>
    <updated>2006-05-06T12:13:41.734375-07:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I am learning how to use <strong>SubVersion</strong> at the moment.  I am a very
      long time <em>VSS</em> user and have finally been convinced (by poor behavior from
      Visual Source Safe, not its opponents) that it is not adequate for source control.
   </p>
        <p>
      While attempting to migrate from VSS bindings in Visual Studio 2005*, I tried to "add
      solution to repository" but I navigated to the wrong place.  Fortunately, nothing
      happens on the server until you <strong>commit</strong>.  Win #1 for SubVersion.  
   </p>
        <p>
      ( *Visual Studio 2005 is a fantastic product, just to be impartial )
   </p>
        <p>
      Unfortunately, my folder was now a working directory for the root of my source control
      repository.  After failing to find easy instruction as to how I can "undo" my
      improper repository binding, I came to the assumption that deleting the magic _svn
      directory might cause subversion to forget what I had done.  I wouldn't recommend
      this in the midst of a project under source control but if you've added a project
      wrong and not yet commited, I see no risk.  So...
   </p>
        <ol>
          <li>
         Use windows search (or your favorite desktop search) to recursively locate all directories
         named "_svn" from the root of the windows directory you would like to disassociate
         from subVersion. </li>
          <li>
         When search returns with your list, delete every _svn directory shown.  Make
         sure you are locating hidden files, these directories are marked hidden.</li>
        </ol>
        <p>
      It worked!  The little icons all disappeard from the folders and I could open
      the project in Visual Studio with no issues.  
   </p>
        <p>
      Time to try again!
   </p>
        <p>
      I entered the url to the correct directory in my subVersion repository and checked
      the "create sub directory" check box.
   </p>
        <p>
      An error!  It can't find the folder it created.  Repeat step1.  I think
      I'll try another approach...  more to come
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=b9463d34-0970-4089-a9a1-bbb88821ce54" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Costco's iPod docking station recommendations</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/04/30/Costcos+IPod+Docking+Station+Recommendations.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,3c1c7dc3-a6cc-45cc-abfc-b43a4fa5b2c9.aspx</id>
    <published>2006-04-30T13:02:35.593-07:00</published>
    <updated>2006-04-30T13:04:18.78125-07:00</updated>
    <category term="Life/House" label="Life/House" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <h3>
          <a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&amp;tag=vitaminzprodu-20&amp;camp=1789&amp;creative=9325&amp;path=external-search%3Fsearch-type=ss%26index=blended%26keyword=B0006SD4PE%20">JBL
      - OnStage </a>
          <img height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=vitaminzprodu-20&amp;l=ur2&amp;o=1" width="1" border="0" /> vs.
      Harmon Kardon - iHome
   </h3>
        <p>
      My plan was to give a comparison between these two iPod Docking players.  The
      iHome is also a clock radio with a tuner and a remote control.  The JBL is small
      and easy to take with you on vacations, to work, etc.  I bought both at Costco
      to take home and try side-by-side.  
   </p>
        <p>
      There really is <em>no</em> comparison.  The JBL sound a thousand times better. 
      It actually sounds so good its surprising.  The Harmon Kardon sounds decent for
      a clock radio but, for $100, it ought to sound a little better.
   </p>
        <img class="floatLft" src="http://www.vitaminzproductions.com/blog/content/binary/jbl%20onStage.jpg" border="0" /> The
   JBL is tiny compared to the iHome.  It makes it apparent that the JBL is intended
   to give you the ability to use your iPod on the go where ever you are.  However,
   the iHome is for your nightstand table.  If that's where you intend it, its great. 
   If you want something more generally useful, my advice is really, really simple. 
   Get the JBL!<img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=3c1c7dc3-a6cc-45cc-abfc-b43a4fa5b2c9" /></div>
    </content>
  </entry>
  <entry>
    <title>Disabling default (casini) web server and using IIS for visual studio 2005 debugging</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/04/19/Disabling+Default+Casini+Web+Server+And+Using+IIS+For+Visual+Studio+2005+Debugging.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,2970b86a-0fe3-4a5d-afed-91a0455b4d74.aspx</id>
    <published>2006-04-19T10:26:02.671875-07:00</published>
    <updated>2006-04-19T10:26:02.671875-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      A friend asked how to do this.  Since I was curious myself and figured others
      probably are as well, I've posted it here.
   </p>
        <ul>
          <li>
         right click on your web project</li>
          <li>
         choose "property pages"</li>
          <li>
         choose "start options"</li>
          <li>
         change the Server setting from "use default Web server" to "use custom server"</li>
          <li>
         configure your "Base URL" to the root of your website.<br />
         note: I received an error: <em>"Unable to start debugging on the web server. Logon
         failure: unknown user name or bad password."</em> when attempting to open a local
         url using host headers (http://www.me.rentals.com).   Using localhost with
         a virtual directory worked fine (<a href="http://localhost/csi.rentals.web">http://localhost/csi.rentals.web</a>).</li>
        </ul>
        <p>
       
   </p>
        <p>
          <img src="http://www.vitaminzproductions.com/blog/content/binary/web-project-property-pages-start-options.jpg" border="0" />
        </p>
        <p>
      Now, when you &lt;F5&gt;, you'll launch your website like we used to in VS 2003.  
   </p>
        <p>
       
   </p>
        <p>
      If you want to use a host header, I'd look into Internet Options/security settings
      in Internet explorer (check "automatically log on with current username and password)
      as well as the user configured for your asp.net application.  Documentation suggests
      that the debugging user must be an administrator.  I'd use SysInternals RegMon
      and FileMon to see what access might be failing but this is outside of the scope of
      what I was trying to accomplish.   Good luck!
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=2970b86a-0fe3-4a5d-afed-91a0455b4d74" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Let's talk agile, shan't we</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/04/11/Lets+Talk+Agile+Shant+We.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,43f92aaa-66ec-4293-bdca-f2d0291dbca0.aspx</id>
    <published>2006-04-10T20:50:54.625-07:00</published>
    <updated>2006-04-10T20:55:44.28125-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      What if someone told you that your job could be <em>fun</em> again?  What if
      they said you could learn at the rate you did when you were green?  What if they
      told you that you could reduce your process related documentation and red tape by
      massive factors and that you could deliver your product faster and of higher quality? 
      What if they told you that you could write code twice as fast with half the keyboards
      that you currently use on your team?  And if they said you would be able to massively
      redesign systems with ease after all these gains in delivery were realized? 
      Now what if they claimed that deployment, configuration and testing were easier? 
      All this sounds like a pipe dream.  It sounds like someone trying to sell something
      to you.  Actually, they (we) are just trying to sell you on something. 
      And its <em>free.</em></p>
        <p>
      There is plenty of literature on agile methodologies.  I am just getting started
      digesting them.   One of my favorite articles, <a href="http://www.martinfowler.com/articles/newMethodology.html">The
      New Methodology</a> by Martin Fowler, is a great place to start.  It lays
      the ground work for why we need to consider a different approach.  From there
      you can just about launch in a million directions.  He does a good job of describing
      some of the various <em>flavors</em> of Agile.
   </p>
        <p>
      Why?  What is the magic of Agile?  Its small, controlled movements. 
      Its like snowboarding.  If you want to be sure you won't fall down, you might
      visit the mountain in the summer to survey the landscape (early business requirements
      gathering and analysis).  You'd make a map of the trails and get some measurements
      for how steep the inclines are and what trails are most likely to provide the safest,
      most enjoyable decent.  Then you'd return a few months before your first run. 
      You'd talk about how you plan to go down the hill with experts and interested parties. 
      Everyone would evaluate the plan.  You'd have to compile a document with definitions
      and reference for those who aren't intimately familiar with snowboarding.  This
      would be when you'd provide your functional analysis and high level design document. 
      Pundits  would make their critique and help revise the document so their concerns
      were met.  Once you'd gotten sign off, you might actually walk some of the trails
      to prove your early estimations and expectations.  Once you had a very clear
      idea of which trail you'd be taking, how fast, what kind of board, at what time of
      day and under what specific weather conditions (detailed design document) and had
      it signed off by the experts and decision makers, you'd ride the lift to the chosen
      trail, jump off, and engage the mountain exactly as you'd planned to do.  Chances
      are you'd find some variance from your evaluation.  New equipment might have
      become popular but you hadn't included it in your spec so you aren't at liberty to
      use it.  You might even realize you have no idea how to snowboard and hurt yourself
      really, really bad.  You say, "I know <em>exactly </em>what I am doing!" 
      If you knew exactly, you'd not need to evaluate and plan.  You'd just pick up
      the time cards from the last time you did it and be right on the money.  Regardless,
      in the event of disaster, as long as you adhered to your document then you could
      reference the detailed specifications that were signed off upon and you would not
      be responsible for your folly.  You'd still be in massive pain but it would be
      someone else's fault.
   </p>
        <p>
      Now consider how life really works in an unpredictable environment.  You'd strap
      on the board that the most knowledgeable expert you could find recommends.  You'd
      ride the chair lift to the bunny hill and you'd watch the six year olds tearing up
      the trail.  You'd fall. You'd fall alot.   However, they would be slow,
      controlled falls.  Each small stumble teaches you what to do next.  If you're
      smart, you'll get the knowledge you need to avoid the common mistakes that can be
      prevented with acquired skills and appropriate planning.  For example, you might
      enlist the assistance of a more experience boarder.  She would have to slow down
      a little while you work your way through the basics but she'd learn in the process
      of teaching you.  She'd identify quickly the things that would provide the quickest
      gains and help avoid the bad habits you might develop without advice.  After
      a short time, and with a few reviews of your technique by experts and sponsors, you'd
      move up to the intermediate hills. At this point you have some stable experience
      and technique to leverage and you can build up quickly.  At any point that anyone
      realizes you have taken the wrong path and are in trouble, you can quickly adjust
      to recover safety and security.  After a while, you'll be showing other newbies
      how to take on the powder.  Every step of this learning and growing process happens
      to be fun as well.
   </p>
        <p>
      Its a silly analogy but it has merit.  Planning is important but planning is
      not the end goal.  The end goal is results.  Planning should be specifically
      focused to accomplish results.  Process should get you to the desired end point,
      not provide a scape goat should things not come out smelling of roses.  
   </p>
        <p>
      In my professional world, I find a unit test is like a helmet.  I don't
      plan to hit a tree but if I zig when I should have zagged or some other skier clips
      my toes and I head butt a tall pine, my unit test will protect my product from a costly
      concussion.  Pair programming is like taking a run that's a little beyond your
      means with someone who could carve it like a thanksgiving turkey.  You're mere
      presence keeps the hotshot cautious and attentive while their expertise is training
      in process.  Both of you come out less bruised and having had more fun. 
      When its software, there are fewer bugs and better code structure overall.  Lastly,
      having frequent delivery and reflective review of both product and process likens
      to showing off your mad skills to your peers and constituents as you get better and
      better.
   </p>
        <p>
       
   </p>
        <p>
        </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=43f92aaa-66ec-4293-bdca-f2d0291dbca0" />
      </div>
    </content>
  </entry>
  <entry>
    <title>The work Rusty the last few months</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/03/14/The+Work+Rusty+The+Last+Few+Months.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,6ccaea62-1627-496b-a888-2ffdc9156387.aspx</id>
    <published>2006-03-14T16:09:41.765-07:00</published>
    <updated>2006-03-14T16:12:48.328125-07:00</updated>
    <category term="Blogging" label="Blogging" scheme="dasBlog" />
    <category term="Life" label="Life" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      If you don't care, skip this post!
   </p>
        <h3>Busy, busy, soooo busy
   </h3>
        <p>
      A lot has been going on lately!  Most of my time is spent working.  That
      is both good and bad.  Its good because I have been enjoying my work.  Its
      bad because no one should work that much.  I've helped drive some really needed
      change in my IT organization to a more agile development approach and made some significant
      stride forward.  I am currently working on a brand new project as the product
      producer.  The title is certainly not official but I have been given budget,
      hiring capability, leadership and technical decision making authority and a very,
      very short deadline.  I had three projects in the works that I was providing
      architectural support for as well as the general messes that required my attention. 
      At one point a couple weeks ago I was informally offered the dev manager position
      but last week I was formally declined.  Long story.  Its all for the better. 
      I need to focus on my current project.  
   </p>
        <h3>The good things I've accomplished
   </h3>
        <h4>New Brains
   </h4>
        <p>
      First, I brought some really incredible talent in through the door.  <a href="http://www.dotnetworkaholic.com/">Paul
      Lockwood </a>and <a href="http://www.datagridgirl.com/">Marcie Robillard</a> have
      joined our team.  Paul has already been thrown in the fray.  I hope we fdon't
      scare him off too quickly!  There is so much going on right now its difficult
      to see what is actually going on!  Marcie starts shortly.
   </p>
        <h4>New Tools
   </h4>
        <p>
      I've successfully integrated NAnt and MSBuild with cruiseControl.net to build our
      dot net 1.1 and 2.0 projects across the entire enterprise.  There are some non-current
      projects not on the server but I've mastered the process such that it isn't much effort
      to bring a new (or old) project online.  I've got 27 individual projects under
      continuous integration executing a nice introductory sample of NUnit tests.
   </p>
        <p>
      It took some time to get people to value the cctray and the little green icon. 
      Eventually, the tables turned and people began to really engage the tool and verify
      their checkins.  No more, "hey buddy, you broke my project!"  
   </p>
        <p>
      I then brought the small spattering of NUnit tests into the fold and they broke the
      build.  Hmm, you'd think that would be bad, right?  No Way!  When I
      showed the new development manager, he was elated!  So was I and a few other
      key developers.  We all immediately saw how that smallish effort will pay off
      really big.  
   </p>
        <h4>New Way
   </h4>
        <p>
      A few months ago, I was effecting a bit of a <em>coup</em>.  I was, quite frankly,
      fed up with the heavy, restrictive, disabling process that surrounded our development
      endeavors.  
   </p>
        <p>
      I revolted and began working in a psuedo-agile way.  I failed to meet some of
      the core facets of Agile development and had a struggle during that first project
      when I abandoned the accepted waterfall process.  The first project was a significant
      success.  We made our deadline, the project sponsor was happy and we had fewer
      defects then usual.  I came in after the project was underway with a horrible
      function req doc (that wasn't ), a rediculous tradeshow deadline and
      I had to improvise.  The unexpected result was a company-wide realization that
      process-for-process-sake is generally bad.
   </p>
        <p>
      The other project on my trial run is still under way.  It is in danger of cancellation
      since the newly appointed lead has just been re-appointed and he may not be physically
      capable of delivering both products in the two month window alotted.  However,
      a great deal was learned about how to develop software without documenting your anscetral
      lineage prior to the colonization of America.  
   </p>
        <p>
      The point is, after the first project, everyone cheered, "yeah!  we're agile." 
      Yet we weren't.  Still, the whole organization looked around confused that something
      that looked to them like a crap shoot was actually very controlled and delivered something
      better then origianlly conceived of.  My coup ended and the IT management led
      the charge to convert our team from waterfall to agile.  They aren't really sure
      what that means but every one of us is reading verosiously.  We brought in the
      Menlo Institute to school us.  I breathed a breath of fresh air and moved on
      to my next mountain.
   </p>
        <h4>New Project
   </h4>
        <p>
      My successes leading recent projects have landed me a very exciting opportunity to
      truly lead the development of a new product from conception to delivery.  I am
      very overwhelmed with work but I feel electrified to be so empowered.  I've had
      my kickoff meeting with business executives and it went splendidly (to quote Thomas). 
      I am now scoping the feature set and ready to start rockin in the free world! 
      The initial realease will be tiny.  The impact, in my little world and its market,
      will be like the introduction of the railroad into industry.  That's my plan,
      anyhow.
   </p>
        <p>
      that's enough mindless blogging for now.  I live in an eternal state of intensely
      opposite forces.  All the things mentioned above are the good things going on. 
      The disappointing things don't deserve face time.  I've learned to focus on what
      I want and lead with purpose rather then to focus on what I don't want and run from... 
      well, you get the point.  
   </p>
        <p>
      Perhaps when this is through, I'll look back and laugh at how naive I was.  Or,
      perhaps I'll say, "that was when everything started to happen for me," professionally
      anyhow
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=6ccaea62-1627-496b-a888-2ffdc9156387" />
      </div>
    </content>
  </entry>
  <entry>
    <title>What's going on?</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/03/14/Whats+Going+On.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,ee6603d2-ad11-47a3-b845-c365d8dd9766.aspx</id>
    <published>2006-03-13T19:26:55.015625-07:00</published>
    <updated>2006-03-13T19:26:55.015625-07:00</updated>
    <category term="Blogging" label="Blogging" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Is it possible that someone has called me spam?  I just searched on terms that
      I should rock for and got nothing!  My website isn't even on the list. 
      Years old posts on unassuming forums are ranking higher on my name then I do.
   </p>
        <p>
      Two possibilities occur to me.  One: vitaminzrecords is a very bad name for a
      personal music and blog site.  Two: vitaminz used as part of my own
      monacre is a violating someone's perception of their trademark and they bitched. 
      Three: my domain going down last year pulled me off the index for good.
   </p>
        <p>
      I'd like to know which is the culprit.  If the name is killing me, I'd like
      to know now.  This is the name I came up with for my record label. 
      It is the last vitamin you'll ever need, baby.  However, if it is boycotted
      from Google, I'd rather have my content accessible and would acquiesce to change my
      domain name to something else.
   </p>
        <p>
      cheers
   </p>
        <p>
       
   </p>
        <p>
      Rusty Zarse
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=ee6603d2-ad11-47a3-b845-c365d8dd9766" />
      </div>
    </content>
  </entry>
  <entry>
    <title>positions still available</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/03/14/positions+Still+Available.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,416144da-8794-4ca5-8424-85bd7a028004.aspx</id>
    <published>2006-03-13T17:09:06.812-07:00</published>
    <updated>2006-03-14T08:35:08.3125-07:00</updated>
    <category term="Programming/.Net" label="Programming/.Net" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <pre style="FONT-SIZE: small; COLOR: black; FONT-FAMILY: Courier New , Courier, Monospace; BACKGROUND-COLOR: #ffffff">
          <span style="COLOR: #0000ff">using</span> AgileDevelopmentMethodologies; <span style="COLOR: #0000ff">using</span> ASP.Net2.0; <span style="COLOR: #0000ff">using</span> VisualStudio2005; <span style="COLOR: #0000ff">using</span> NUnit; <span style="COLOR: #008000">///
   &lt;summary&gt;</span><span style="COLOR: #008000">/// This individual will crank
   out high-quality, high-performance application logic </span><span style="COLOR: #008000">///
   to further enhance the absolute industry-dominance for their employer.</span><span style="COLOR: #008000">///
   The product is the leading provider in its market vertical and seeks to broaden</span><span style="COLOR: #008000">///
   their target market. It's an exciting and challenging opportunity. </span><span style="COLOR: #008000">///
   The website itself is a public facing, high volume, user-centric, high profile brand</span><span style="COLOR: #008000">///
   and a valuable product to consumers</span><span style="COLOR: #008000">/// </span><span style="COLOR: #008000">///
   Highly competive rate for competent individuals. Position immediately available. </span><span style="COLOR: #008000">///
   &lt;/summary&gt;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">class</span> SeniorDeveloper
   : ExperiencedWebApplicationDeveloper { <span style="COLOR: #0000ff">string</span> _employmentType
   = <span class="str">"Contract/Contract to Perm"</span>; <span style="COLOR: #0000ff">int</span> _immediateDotNetTeamSize
   = 3; <span style="COLOR: #0000ff">int</span> _organizationTeamSize = 20; <span style="COLOR: #008000">//appx</span><span style="COLOR: #0000ff">int</span> _growthOpportunity
   = <span style="COLOR: #0000ff">int</span>.MaxValue; <span style="COLOR: #008000">//TODO:
   consider refactoring to use larger datatype</span><span style="COLOR: #008000">//
   developer must be able to work on a team yet complete tasks independently</span><span style="COLOR: #008000">//
   skills needed are all facets of web development as related to high-traffic, </span><span style="COLOR: #008000">//
   public websites. Think http://www.apartmentguide.com</span><span style="COLOR: #0000ff">public</span> SeniorDeveloper()
   { <span style="COLOR: #0000ff">bool</span> requirementsMayBeChanging = <span style="COLOR: #0000ff">true</span>; <span style="COLOR: #008000">//
   requirements changes are expected and embraced. </span><span style="COLOR: #008000">//
   If they should change, impact to project development must be minimal. </span><span style="COLOR: #008000">//
   Short iterations enable flexible project focus</span><span style="COLOR: #0000ff">while</span>(
   requirementsMayBeChanging ) { <span style="COLOR: #008000">// turn business ideas
   into functional feature sets</span> AnalyzeRequirements(); <span style="COLOR: #008000">//
   elaborate on the above</span> CommunicateWithBusinessSponsors(); <span style="COLOR: #008000">//
   estimate the work required to implement</span> EstimateFeatureDevelopmentCost(); <span style="COLOR: #008000">//
   independently productive and organized. Aware of issues early and able to communicate
   risk</span> ManagePeronalResponsibilitiesAndHelpManageProjectStatus(); <span style="COLOR: #008000">//
   commitment to quality and zero defects (*required)</span> WriteUnitTests(); <span style="COLOR: #008000">//
   keep the logic out of the interface, keep the html out of the class library. </span><span style="COLOR: #008000">//
   if any feature or function cannot be unit tested, it is a poor design. refactor!</span> ImplementStrongObjectOrientedPractices(); <span style="COLOR: #008000">//
   IE 5+, FireFox 1.0+, mac and windows</span> SupportCrossBrowserUserInterface(); <span style="COLOR: #008000">//
   check in code that compiles</span><span style="COLOR: #008000">// Write unit tests
   that verify code-complete</span><span style="COLOR: #008000">// strive for zero defects</span> WorkOnATeamUsingContinuousIntegrationAndAutomatedUnitTesting(); <span style="COLOR: #008000">//
   work closely with qa to provide a rich test plan </span><span style="COLOR: #008000">//
   that extends upon the quality offering of developer authored unit tests</span><span style="COLOR: #008000">//
   be production ready with every short iteration</span> DeployShortIterativeReleasesToQualityAssuranceTeam(); <span style="COLOR: #008000">//
   occassionally, defects pop up. Troubleshoot, isolate, write test(s) and resolve</span> TroubleshootAndResolveDefects(); <span style="COLOR: #008000">//
   the product's market performance drives the enhancement and extension of the website</span><span style="COLOR: #008000">//
   if the product ceases to deliver business value, the product is not worth continued
   investment</span><span style="COLOR: #0000ff">if</span>( ProductIsMeetingSuccessFactors()
   ) { <span style="COLOR: #008000">// feedback from user response will help to make
   the product even better. </span><span style="COLOR: #008000">// New features will
   be requested!</span> requirementsMayBeChanging = BusinessSponsorHasAquiredNewData();
   } <span style="COLOR: #0000ff">else</span> { <span style="COLOR: #008000">// isolated
   failure is only an opportunity to improve even more but continued failure is a problem</span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #0000ff">new</span> NotMeetingObjectivesException( <span class="str">"Time
   to reconsider the current product direction"</span> ); } } } } </pre>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=416144da-8794-4ca5-8424-85bd7a028004" />
      </div>
    </content>
  </entry>
  <entry>
    <title />
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/03/10/.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,8bfc27fa-1a5f-4770-8db1-7346ee7cba48.aspx</id>
    <published>2006-03-10T09:34:16.109375-08:00</published>
    <updated>2006-03-10T09:34:16.109375-08:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <category term="Programming/Web" label="Programming/Web" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      First I will point out that I've been tellin' this cat to blog for a year now! 
      I've tried to enlighten him on the potential Google-Juice that an active blogger can
      generate.  However, like any organic farmer will proclaim, "sometimes you just
      have to figure things out for yourself <em>the hard way</em>."
   </p>
        <p>
      Slim is an <a href="http://seogarden.blogspot.com/">SEO Guru</a> who handles
      all of our Search Engine Optimization initiatives.  He has managed to create
      a culture where designing for both index-ability and usability are key concerns. 
      We've tried to trick the Google bots, gotten slapped, tried again, got smacked again... 
      Finally, everyone looks to him to tell us how to structure our sites so that people
      using the internet can find us without purchasing the traffic click by click. 
      Novel idea, eh?
   </p>
        <img width="0" height="0" src="http://www.vitaminzproductions.com/blog/aggbug.ashx?id=8bfc27fa-1a5f-4770-8db1-7346ee7cba48" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Common intellectual goals, different educational paths</title>
    <link rel="alternate" type="text/html" href="http://www.vitaminzproductions.com/blog/2006/03/10/Common+Intellectual+Goals+Different+Educational+Paths.aspx" />
    <id>http://www.vitaminzproductions.com/blog/PermaLink,guid,811cab86-0e59-4c5f-855c-ab381b91af71.aspx</id>
    <published>2006-03-10T05:42:15.703-08:00</published>
    <updated>2006-03-10T05:44:19.578125-08:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <category term="Progr