May 2007 - Posts

How To Build A Team Foundation Virtual Server

I've had to put this off for far too long, but it is finally complete: How To Build A Team Foundation Virtual Server!

Free registration is required to access the site. The site's been active 18 months and I've sent out two mass emails. In the future, I plan a newsletter - not sure of the frequency or content.

This tutorial on building your own Team Foundation Virtual Server starts with building a virtual machine in Microsoft Virtual PC 2007, and ends with testing the installation by building a Team Project.

All the software is available free from Microsoft - either completely free (as in beer) or in 180-day trial versions.

I've used these very setup instructions to build Production TFS servers. I've also converted the 180-day trial versions to fully-licensed versions. In Team Foundation Server, this is pretty simple: after you obtain your license key simply open Add/Remove Programs, select Microsoft Team Foundation Server, and click the Change button. One of the Team Foundation Server setup options is Upgrade - how cool is that?

My next project is similar - I'll be building a new Team Foundation Virtual Server for a pre-release version of TFS Orcas!

:{> Andy

Technorati Tags: Team Foundation Server Virtual Server Team Foundation Virtual Server

Surface

If you have any interest in User Interfaces, you must watch - immediately.

, a coffee-table shaped computer with some unique UI characteristics. The coolest of these is the ability to respond to multiple "touches" simultaneously.

The obvious question is: How long before this screen technology makes its way to other touch-based devices (handhelds and tablets)?

:{> Andy

Technorati Tags: Microsoft Surface coffee-table computer GUI User Interface

TFS Guide Beta 1

Check out J.D. Meier's post on the TFS Guide Beta 1!

This is a cool document!

J. D. describes it as Microsoft's playbook for TFS. That's a fair assessment. The document is part of the Patterns and Practices Library, and it certainly belongs there.

From the document:
Why We Wrote This Guide
From our own experience with Team Foundation Server and through conversations with customers and Microsoft employees who work in the field, we determined there was demand for a guide that would show how to use Team Foundation in the real world. While there is information in the product documentation, in blog posts and in forums, there has been no single place to find proven practices for the effective use of Team Foundation Server in the context of a development project under real world constraints.

Required reading for anyone using or considering using Team Foundation Server!

:{> Andy

Technorati Tags: Team Foundation Server TFS Guide

On Getting Older

Maybe I should title this post "On Growing Up"... but I don't think I've grown up yet, so I will let it stand.

I am getting older. The Christian Apostle Paul wrote "When I was a little child I talked and felt and thought like a little child. Now that I am a man my childish speech and feeling and thought have no further significance for me." (1 Corinthians 13:11, Phillips). My (44th) birthday's not for a couple months so I don't know why I'm thinking about this now. But I bet Paul figured this out before he reached my age...

I remember telling a good friend in high school (circa 1979) we would know we were getting old when Rush albums were sold by K-Tel Records.. That happened about a decade ago, so there's now plenty of evidence to convict me in a court of law of "oldness".

But the oddest thing about it is - it's all good. I don't feel bad about getting older at all. Today I'm pondering why...

I entered my 30s all full of piss and vinegar - ready to take on the world and thinking "Finally I've arrived." I now think that thinking "Finally I've arrived" is an indication of trouble ahead. So I don't feel that way about anything any more.

My 30s are second only to my teens on the list of Worst Decades Of My Life (So Far). Don't get me wrong - things weren't that bad, it's just the other decades were much better.

Surprisingly, my 40s have already blown the doors off all the other decades combined in the coolness category. Why?

  • If all goes as planned in a couple months, my beautiful bride Christy is going to give birth to our second son, "Wee" Leonard.
  • Classical music is cool, but so is Van Zant.
  • Sleep is optional. I've caught myself slipping into alternate universes to avoid contact with melatonin molecules.
  • I'm patient.
  • I'm a better planner.
  • I can still learn new things. The current new thing is (WPF).
  • Landscaping is bunches of fun. I've been truncating trees, decorating bush classes with mulch descriptors, and instantiating new grass objects.

Ok, I seemed to have confused my last two items there... but you get the point.

Life is good at 43 and I'm thankful. I hope your life is good too.

:{> Andy

Technorati Tags: Life Love The Universe Children Getting Older Van Zant Classical music friends Rush

Testing With Powershell

I caught this article on by in this month.

The article, combined with Kevin Hazzard's recent presentations at Richmond Code Camp and the Richmond .Net Users Group, piqued my interest in .

Unlike other scripting shells, Powershell works with .Net objects. It exposes all parts of the .Net framework, but truly exercises reflection.

This makes Powershell ideal for quick, interface-free testing.

:{> Andy

Technorati Tags: Powershell Testing

MSDN's New Look

Frank caught the update a few days ago - I like it!

:{> Andy

Technorati Tags: MSDN Update

Managing The Thing You Cannot Touch

Yesterday I wrote about The Thing You Cannot Touch. Today I'm going to tell you some ways to manage the situation.

First, try to determine why You Cannot Touch The Thing. This is invaluable information in charting the waters ahead - especially if you're consulting.

Second, accept the fact that there's better than a 90% chance that you will not, in fact, be allowed to Touch The Thing. In my experience, three things must be true for you to overcome the business friction imposed by The Thing:

  • You have to try everything else first.
  • Everything else must fail to sufficiently address the issue.
  • The source of the issue must be mission-critical.

Regardless, your best knee-jerk reaction is acceptance. This is tough for a professional. In your heart of hearts you know what it takes to solve the real issue. And yet, you've been told You Cannot Touch It.

The good news? There's also a better than 90% chance you can find a way to solve the issue - or at least alleviate the client's pain - without Touching The Thing.

Modern enterprise applications are comprised of lots of moving parts. The Thing is probably not the sole source of pain. Addressing other bottlenecks may do the trick - at least for now.

And, if you're the person they called last time they had an issue and you solved it (and weren't "difficult" to work with), you'll likely get the call next time.

How cool is that?

:{> Andy

Technorati Tags: Consulting Software Development Satisfying The Customer Leveraging New Business

The Thing You Cannot Touch

I have this theory about consulting. I call it The Thing You Cannot Touch. Since a few friends have found it amusing I thought I'd share. It goes like this:

A potential client contacts your firm. A conference call is arranged to discuss the issue. During the call, the issue is defined. Resolution theories and attempts to date are shared, along with their results. The current status is explained - along with

The Thing You Cannot Touch.

Sometimes an attempt at justification accompanies the announcement: "We know it can't possibly be _______ so we're not going to waste any time looking at it."

Other times, it's just put out there for what it is: "You can't touch _______."

My experience has shown the heart of the issue almost always lies with The Thing You Cannot Touch. It needs to be fixed but someone, somewhere, for some reason does not believe it to be so - and so it Cannot Be Touched.

Sometimes it's political - It's someone's "baby". They built this application just ten short years ago - worked nights and weekends and toiled and sweated and bled to make it work - and rode it all the way to CIO, after all. Who are you, lowly consultant, to tell them VB 6 code should be re-written in this new fad known as .Net? Doesn't Vista support VB 6 until the mid-20-teens?

Sometimes the decision-maker doesn't understand the differences in the technologies.

Sometimes it's a purely market-driven business decision - and the decision-maker is right and justified in choosing to keep hands off The Thing. It's not all about technology folks... it's sometimes about what I like to describe as the (little "s") software (big "B") Business.

If you find yourself on a consulting conference call and The Thing You Cannot Touch comes up, pay attention. Tomorrow I tell you how to Manage The Thing You Cannot Touch.

:{> Andy

Technorati Tags: Consulting Software Development Thing You Cannot Touch Old Code Outdated Code VB 6

Benefits of 64-bit SQL Server

There's an interesting post out at the SQL Programmability & API Development Team Blog about 64-bit performance enhancements entitled Will 64-bit increase the performance of my SQL Server application?

Interesting stuff - a recommended read.

:{> Andy

Technorati Tags: SQL Server 2005 64-bit performance improvement

SSIS Design Pattern - Incremental Loads Post Now Live at ABI

The latest in my SSIS Design Patterns series - SSIS Design Pattern - Incremental Loads - is now live at Applied Business Intelligence!

:{> Andy

Technorati Tags: SSIS Design Patterns Incremental Load Business Intelligence ETL BI

Raleigh Code Camp 2

A bunch of good people in the Triangle area are hosting their second Code Camp!

:{> Andy

Technorati Tags: Code Camp Triangle NC Developer Community

Popfly

Microsoft Popfly looks more like an experiment than a website that allows you to build websites with little or no programming skills. Maybe it's a little of both.

I like the concept - a lot - and encourage you to check it out. You have to register to play and you need a Microsoft Passport account to register (but seriously, who doesn't have an MS Passport account these days?).

Something to note: Adam Nathan, author of one the coolest new books about WPF () is one of the members of the development team.

Also note the domain extension ".ms" belongs to the island Montserrat, famous for Beatles producer George Martin's recording studios until a volcano closed the capital, docks, and aforementioned studio in 1995 (I love wikipedia!).

:{> Andy

Technorati Tags: Popfly Microsoft Nathan Developer Community

Looking Back...

In the spirit of an earlier post about growing as a developer...

If I look back on code I authored six months ago and feel all well and good about the job I did, I re-examine my skills upgrade in the last six months. I have to tell you - I look back regularly and cringe. But I think that's a good indication that my skills have improved and evolved past where I was at the time.

Mind you, I also look back and see concepts and principles in my old code that were great - some even ahead of their time. But those experiences are outnumbered by the former experiences.

:{> Andy

Technorati Tags: Old Code Skillset Update

posted Monday, May 21, 2007 12:01 AM by andy with 0 Comments

Requirements

Eric Sink has a great post about Requirements.

I particularly like the way he covers Missing Requirements and Anti-Requirements. Very informative and true to life.

:{> Andy

Technorati Tags: Eric Sink Requirements Project Management

Frank About VB6

Frank La Vigne, Tablet PC MVP has something to say in an interesting post about Microsoft's decision to provide support for VB6 runtime through 2017. In my attempts to verify the new date, I found runs until 14 Jan 2014. Perhaps the site is out of date.

I have mixed emotions about Microsoft's decision to support any form of VB6 into the mid-2010's. Perhaps the best of all scenarios is this: a company depends on an application written in VB6 to continue operations. If support for VB6 dies, the company dies along with it. If this is the case, I have some phrases I urge you consider: "single point of failure" and "fault tolerance".

Software development is, at its heart, an engineering discipline - despite the fact that it's sometimes (most times, probably) not treated as such. I can accept there are businesses cases for keeping an application coded in VB 6.0 in 2007, but my acceptance dwindles with each passing day.

Software maintenance is like every other kind of maintenance - it costs money, time, and effort. The money part is pretty obvious - someone has to be paid to maintain the code, make changes, patches, and add the occasional feature. It takes time and effort to maintain an application - time for iterations to develop and test, pilot time, deployment time, and sometimes downtime. But this is a necessary part of the Software Development Life Cycle. Stuff gets old - beyond the patch and add phase - and needs to be replaced.

If you disagree, hop into your Model T, drive on over to Farmville, and we can discuss the matter face-to-face. ;)

Frank makes the point that this extension will give the development platform a 20-year life cycle: "which in the technology world equates to several eons." I've often said software compares to cars, except that 1 software year is roughly equivalent to 10 car years. If that analogy holds, this is like stretching support of a car model to 200 years.

This is nothing against Visual Basic. I happen to love the language - even today. But it's changed from when I started keying hexadecimal from the pages of Byte magazine one summer almost 32 years ago - it's changed a lot. I rode the changes through GWBasic and started using VB 1 right before VB 2.0 was released. I made the switch when VB 4.0 introduced classes and 32-bit support. The jump to .Net was simply the latest change.

I understand folks not enjoying the process of learning a new platform. I think there's a place for maintenance coders in our industry, but it's not the same place as cutting-edge developers. I don't think many people will have a problem with that last statement, so here's one sure to stir the pot: I don't think the pay should be near the same for maintenance coding compared to cutting edge developers.

I think maintenance coding is a great place to vet recent graduates or people otherwise new to the software development industry. It could also be a place for those who choose to not upgrade their skills for whatever reason.

I've said it before and I will say it again: There are careers out there that you can just learn once and do forever, but those jobs do not exist in the software development arena. If you're not willing to dedicate 25% of the time you spend coding improving your skillset, you are in the wrong business.

:{> Andy

Technorati Tags: VB6 support developer community

Signs It's Been a Tough Week...

It's been one of those weeks. I finished up a large project and both books I've been working on moved into editing (which is another way of saying I stayed up a lot writing to get them ready for editing).

The books are (Wrox) and ().

I could tell you about the project, but then I'd have to kill you.

I can tell I've been working a lot. I keep asking questions like "What day is it?" and "Shouldn't I be doing something right now?" I also feel guilty for only working 9 hours or so each day. It's just... weird.

It's nice to have a normal workload again - and a little boring. I get to used to doing stuff all the time and I don't know how to stop.

Enter Christy - my beautiful bride. She's scheduled a week away from it all (well, most of a week anyway). The place doesn't even have internet access.

Gosh I love that woman!

:{> Andy

Technorati Tags: Writing Visual Studio Testing Training Kit Microsoft Press MSPress Wrox Wiley Getting Away From It All

Updating the Virtual Team Foundation Server document

Talk about overdue... I'm finally updating the Virtual Team Foundation Server documentation at VSTeamSystemCentral.com.

There are 163 pages out there now that demonstrate the procedure I use to build a vTFS but they were written for the December 2005 CTP of TFS. A couple things changed - not much mind you: I think the biggest change is less permissions (not a member of local administrators) for the TFSReports and TFSService accounts. This means the document is ok as far as functionality is concerned, but it's always best to follow the principle of least privilege.

I'm finishing up and a project in the next couple weeks. Adding some content to my blogs and VSTeamSystemCentral.com is one priority. I have about 35 blog posts in my \Andy\Blogs\Primordial folder just waiting to be posted - most of them at Applied Business Intelligence in a series I'm calling SSIS Design Patterns.

I really enjoy having too much work to do - I like it a lot more than the alternative. But I'm also looking forward to doing more work around the house as Wee's birth approaches.

:{> Andy

Technorati Tags: Team System Team Foundation Server SSIS Design Patterns Business Intelligence Wee Leonard

Business Communications in May 2007

A couple more interesting tidbits to file under "On the Software Business" came in yesterday. One from a friend we'll call "Joe", another from another person we'll call "Mary".

These are their stories...


Joe's an expert in his field. Joe worked for a company last year and received an invitiation to a conference in his area of expertise. He also received free admission. He's that good.

Joe decided to pay his own airfare and hotel out of pocket - and this wasn't cheap. He attended and learned cool stuff, which he planned to implement in a new practice at his place of employ.

But when Joe was attending the conference, all heck broke out back at the office. Crises - some real, others imagined - had folks peppering Joe with all sorts of emails and demands for his immediate response. Joe did the best he could. When one crisis arose, Joe even responded from inside the convention hall from a digitized device using handwriting.

This caused a ruckus at the office. Folks accused him of being unprofessional. It got worse from there. But the gist of the entire matter is Joe found another job and moved on.

Fast forward one year: Joe is speaking at the same conference this year. And not only is his (new) office supporting him, they're actually congratulating him and wishing him well. They're proud to have someone of Joe's caliber working for them. They realize Joe can bring in business on reputation alone, and they're willing to encourage him to attend.

Granted, I am over-simplifying (and obfuscating) the facts to make a point. Two points actually. To be clear my points are: Some businesses don't know how to market industry recognition; and some companies do not understand the return on investment of happy employees - especially if said employees are over-achievers (or experts in their field).


Mary is a supervisor at a technical services company. She's sometimes asked to go above and beyond the call of duty, and regularly complies with these requests.

She's been promised a promotion for months now, but no promotion has materialized. When she asked about it a couple months ago, she was promised she'd be allowed to go to training - something she's applied for in the past.

It's been months and Mary is the only person concerned about the promotion or the training opportunity. When she asks about it, she's told "Yes, yes - we will get to that." But it hasn't happened yet. Mary's beginning to suspect it never will.

She regularly does the work of co-workers / managers who then turn in her work as their own. Mary's getting ticked and looking for another job.

It's likely, when Mary turns in her resignation, that she will be asked "Why are you leaving?" by the people denying her requests, taking her for granted, and taking credit for her work. Why would anyone want to leave that job?


And so I ask you, dear Reader, why do companies treat individuals like this? What possible benefit could managers derive from such petty dictatorship? Perhaps Scott Adams has the answer...

:{| Andy

Technorati Tags:

UnSending Email

This post is definitely in the category: "On the software business." It's about lessons I've learned the hard way.

There are times when an email demands an immediate response. Servers are down, important files are inaccessible, the business is hemorrhaging cash. It's times such as these that separate the professionals from the crowd.

How does the professional handle these situations? I like Douglas Adams' advice: Don't panic.

If you panic, you now have at least two problems to manage: the original issue and your emotional state.

Panic will cause knees to jerk and later-regrettable emails to be sent. Always remember: You cannot UnSend email.

:{> Andy

Technorati Tags: Software Business email panic

Visualizing Change - TFS in Action

Mario Rodriguez, a program manager for Team Foundation Server, blogs about a cool Channel 9 video: Using Team Foundation Server to Visualize Change.

Really cool stuff and worth 20 minutes to catch a glimpse of the future of TFS.

This is software evolution in progress, and it's such a welcome sight! This is one of the promises of Team-enabling software - the ability to visualize the state of application releases almost instantly.

As Mario states, the TFS data is already in SQL Server, all we need to do is mine it and display it in an easily understandable way.

This is Business Intelligence about your software development process methodology. How cool is that?

:{> Andy

Technorati Tags: Team Foundation Server Team System Visualizing Change

posted Sunday, May 06, 2007 1:10 PM by andy with 0 Comments

The Heart of Virginia Festival 2007

We attended the 25th annual Heart of Virginia Festival in Farmville earlier today and had a great time!

They close off some streets downtown for the day-long festival each year.

There's a race, bands, hand- and face-painting, and lots of good food!

Stevie and Emma enjoyed the hand-painting - both got "boogs" painted on their little right hands.

They also rode the bears...

Emma smiled a lot...

... and gave her Mama kisses.

Here's a video (10.6 MB) we shot with our digital camera (I don't know how to embed video controls yet...).

A good time was had by all. :)

:{> Andy

Technorati Tags:

posted Saturday, May 05, 2007 11:58 PM by andy with 0 Comments

Geekette's Blogette

Robin Edwards wrote a nice post about Richmond Code Camp 3.

Robin is president of the Roanoke Valley .Net Users Group and a regular fixture / volunteer at all Richmond Code Camps. Check out her blog!

:{> Andy

Technorati Tags: Developer Community Robin Edwards Roanoke Valley .Net Users Group Richmond Code Camp

Lanham on Code Quality

Brian Lanham writes about Code Quality in a recent post. Brian makes several good points about the software business - it's well worth a read.

Brian is one of the authors of .

:{> Andy

Technorati Tags: Software Business Brian C. Lanham Code Quality

"Live From MEDC in Las Vegas, Nevada..."

"... heeeeeeeeeeeeeere's Frank!"

Frank La Vigne, Tablet PC MVP is having a blast at MEDC in Las Vegas. He even scored an interview with Mike Hall, Windows Embedded Guru.

:{> Andy

Technorati Tags: Developer Community MEDC blogger live Frank La Vigne