Friday, April 27, 2007
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. 

so, without further adu...

Rusty's New Blog

http://www.vitaminzproductions.com/technology-blog

please update you feeds!

4/27/2007 6:53:56 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback
Wednesday, April 18, 2007
I'm not sure how far back this feature goes but I just discovered it yesterday, thanks to Michal Talaga.

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...

WOW, check out what is available when you write a method that doesn't exist!



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. 

Try it out and see if you don't also feel it was the missing piece of your TDD puzzle.
4/18/2007 3:43:48 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback
Monday, April 16, 2007
http://www.savenetradio.org/

Save Internet Radio


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 support, 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...

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. 

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.

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.

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 http://www.pandora.com if you haven't already.  Type in your favorite artist and see what great new music they find for you.

I've recently created my first levous myspace band profile: have a listen if you like and please don't let rock and roll die!


 

4/16/2007 10:19:54 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback
Tuesday, April 03, 2007
LoaderExceptions:
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)

The code is now available from googlecode as open source (thanks Jay Flowers!)

Found the latest, working version here: http://code.google.com/p/doubler/

4/3/2007 6:51:38 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback
Saturday, March 10, 2007
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"

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. 

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.

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

is a buggy, little, nasty critter

.Net | C#
3/10/2007 12:17:23 AM (GMT Standard Time, UTC+00:00)  #    Comments [1]  |  Trackback
Friday, February 23, 2007
This is far from complete but it is working and that is where I wanted to get it before letting others have a look.

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.

Currently it only supports a user story workspace and you can only update certain fields on stories and tasks. 

I'll be updating this regularly.  Eventually, I plan to post this on sourceforge but for now you can download it from me bloggernaut.

RallyDev.VSAddIn

RallyDev.zip (download) note:
note: there is an error in the "RallyDev.VSAddIn.AddIn" file found in your "My Documents\Visual Studio 2005\Addins" directory.  Please open "RallyDev.VSAddIn.AddIn" in notepad and change the line <Assembly>RallyDev.VSAddIn.dll</Assembly>
to
<Assembly>RallyDev.VSAddIn\RallyDev.VSAddIn.dll</Assembly>

I'll fix it later but my wife is hovering over me wishing me to stop working on this for a moment!
2/23/2007 12:46:43 AM (GMT Standard Time, UTC+00:00)  #    Comments [1]  |  Trackback
Monday, February 19, 2007

I'm writing an Add-In that provides a Rally Agile Project Management Software interface inside Visual Studio.  I was feeling a little jealous of the people using Microsoft Team Foundation Server 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. 

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.

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?).

Here are some screens to wet your appetite.

 

2/19/2007 5:05:40 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback
Friday, February 16, 2007

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 feel for what we needed to do and a hunch as to how long it would take.  Its fantastic to see the team operating as one with such efficiency.

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.  I think this would take 3 weeks so I'll add 30% to account for things that I haven't thought of.  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 velocity.  Don't adjust the estimate, adjust the velocity!

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.

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. 

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.  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.  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."

Frankly, this was a good day

2/16/2007 12:57:35 AM (GMT Standard Time, UTC+00:00)  #    Comments [2]  |  Trackback

Theme design by Jelle Druyts

Pick a theme: